Föreläsning 15. Logik med tillämpningar

Relevanta dokument
Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

FUZZY LOGIC. Christopher Palm chrpa087

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

MA2047 Algebra och diskret matematik

1 Suddig logik och gitter

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

Fuzzy Logic Linköpings Universitet

LINKÖPINGS UNIVERSITET. Fuzzy Logic. Johan Brage 9/16/2012

En introduktion till logik

FUZZY LOGIC. - Var går gränsen? Lovisa Rönmark lovro

Varför är logik viktig för datavetare?

MATEMATIKENS SPRÅK. Avsnitt 1

Semantik och pragmatik (Serie 3)

Registerforskning Oktober 2018, Stockholm City Conference Centre. Möjligheter med Artificiell Intelligens inom registerforskningen

Grundläggande logik och modellteori

7, Diskreta strukturer

Logik och kontrollstrukturer

Fuzzy control systems

Logik. Dr. Johan Hagelbäck.

Hornklausuler i satslogiken

Logik: sanning, konsekvens, bevis

Semantik och pragmatik

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Fuzzy logic. Julia Birgersson, julbi

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

Grundläggande logik och modellteori

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

William Hernebrink

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt, lära oss

de var svåra att implementera och var väldigt ineffektiva.

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

Tänk på följande saker när du skriver tentan:

7, Diskreta strukturer

Fördjupningsarbete HT 2012 FUZZY LOGIC

ANDREAS REJBRAND NV3ANV Matematik Matematiskt språk

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

729G06 Logik FÖRELÄSNING 1 ANDERS MÄRAK LEFFLER IDA/HCS

K2 Något om modeller, kompakthetssatsen

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Innehållsförtekning Sida. Inledning 3 Vad är fuzzy logic? 3 Mängder 3 Medlemsfunktioner 5 Operationer 6 Fuzzification 8 Litteraturförteckning 9

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Lite om bevis i matematiken

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

Molly Lundberg 729G43 Kognitionsvetenskap mollu341 Artificiell Intelligens Linköpings Universitet. Fuzzy Logic. Vad är det och hur fungerar det?

AI FÖR FRAMTIDENS VÄLFÄRD. Caroline Andersson

Linköpings universitet

Övningshäfte 1: Logik och matematikens språk

Digital- och datorteknik

SF1901: Sannolikhetslära och statistik Föreläsning 2. Betingad sannolikhet & Oberoende

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

Datorrepresentation av vårdriktlinjer

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Om semantisk följd och bevis

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Formell logik Kapitel 7 och 8. Robin Stenwall Lunds universitet

Resonemang under osäkerhet. Bayes Certainty factors Dempster-Schafer Fuzzy logic

Grundläggande logik och modellteori (5DV102)

10. Mängder och språk

Grundläggande logik och modellteori (5DV102)

Sanningens paradoxer: om ändliga och oändliga lögnare

Föreläsningsanteckningar och övningar till logik mängdlära

DD1350 Logik för dataloger

Kap. 7 Logik och boolesk algebra

Föreläsning 5. Deduktion

Induktion och rekursion

2. (a) Skissa grafen till funktionen f(x) = e x 2 x. Ange eventuella extremvärden, inflektionspunkter

Medicinsk Informatik VT 2005

SF1901: Sannolikhetslära och statistik Föreläsning 2. Betingad sannolikhet & Oberoende

Optimera, inte eliminera, den mänskliga hjärnan genom AI. Anna-Karin Edstedt Bonamy, MD, PhD Chief Medical Officer, Doctrin AB

Fuzzy Logic: Den oskarpa skarpheten

Semantik och pragmatik (Serie 4)

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

Artificiell Intelligens

5B1134 Matematik och modeller

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

Fuzzy Logic. Ellinor Ihs Håkansson, ellih

Oskarp logik - en flervärdeslogik för framtiden? Karl Bruno Linköpings universitet

SF1901: Sannolikhetslära och statistik Föreläsning 2. Betingad sannolikhet & Oberoende

Artificiell Intelligens II, 729g11 Linköpings universitet Fuzzy logic

Probabilistisk logik 1

Regression med Genetiska Algoritmer

Formell logik Kapitel 5 och 6. Robin Stenwall Lunds universitet

1 Föreläsning Implikationer, om och endast om

Algoritmer, datastrukturer och komplexitet

Institutionen för datavetenskap vid Helsingfors universitet

PYTHON SNABBREPETITION MEN FÖRST LITE ALLMÄNT OM PROGRAMMERING 729G04 PYTHON 2. Dagens Python

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

MA 11. Hur starkt de binder. 2 Reella tal 3 Slutledning 4 Logik 5 Mängdlära 6-7 Talteori 8 Diofantiska ekvationer 9 Fördjupning och kryptografi

Induktion och rekursion

Logik och modaliteter

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Bilaga 5 till rapport 1 (5)

C R M. Crew Resource Management. Vad visste Chesley Sullenberger när han i januari 2009 landade Cactus 1549 i Hudsonfloden?

Framtidens vårdinformationsstöd FVIS 12 OKTOBER 2017

Transkript:

Föreläsning 15 Logik med tillämpningar 00-05-22

Innehåll Exempel på expertsystem Eliza Min forskning Vad är ett beslutsstöd? Exempel på byggda beslutsstöd The production line för beslutsstöd. Extraktionsfasen Analysfasen Neurala nätverk, Fuzzylogik Syntesfasen Fuzzylogik

Expertsystem Ska härma en mänsklig expert och fatta de beslut hon skulle ha gjort. Kan likna ett expertsystem med en svart låda. Vi skickar in ett antal input och vill få ett (el. flera) svar. Hur fyller man lådan på bästa sätt? Logiska regelbaser, fuzzy logik, artificiella neurala nätverk, statistiska formler m.m. En tillämpning inom AI - Artificiell Intelligens och eller KI - Komputationell intelligens.

Några andra tillämpningar inom AI Behandling av naturligt språk Teorembevisning Robotar Automatisk programmering Kombinatoriska och schemaläggningsproblem Perception - syn, hörsel etc

Turingtestet En utmaning: Kan man programmera en dator så att den beter sig som en människa? eller Kan manseskillnadpåendatorskonversationoch en människas? Alan Turing, 1950. (Innan begreppet AI fanns!) En fråga får två svar via terminal ett av dator och ett av människa. Vilket är vilket? Brister med testet...

Eliza Joseph Weizenbaum skrev ett program som skulle härma en psykoterapeuts sätt att närma sig en patient. (Och lura Turingtestet!) Referens: Weizenbaum: Eliza - A computer program for the study of natural langauage communication between man and machine. Communications of the ACM, Volym 9, Nummer 1, Januari 1966. Finns implementerad i Emacs som kommandot doctor Lyckades för bra! Weizenbaum lämnade forskningen inom AI! What I had not realized is that extremely short exposures to a relatively simple computer program could induce powerful delusional thinking in quite normal people.

Exempel på dialog: Iamunhappy. How long have you been unhappy? Six months. Can you help me? What makes you think I can help you? You remind me of my father and brother. Please tell me more about father

Hur fungerar Eliza? Matcha det som ges som input mot ett mönster som bildar ett standardsvar. Ex. I am (*). How long have you been (*)? I like (*). Does anyone else in your family like (*)? (*) you (**) me. What makes you think I (**) you?

1989: MNL 1991: Började som amanuens 1994: Filosofie magister 1995: Forskarutbildningen Min bakgrund 1998: Filosofie licentiat 2001? Doktorsexamen

160 poäng Forskarutbildning: 80p teori och 80p avhandling Licentiatexamen: 40p teori och 40p avhandling Doktorandtjänst bra finansiering 80% forskning + 20% undervisning (> 33% ) Vad gör man? Läser in nytt material/hålla sig uppdaterad med fronten Utför experiment/skapar program/testkörningar Skriver artiklar/rapporter/papers/konferensbidrag Informerar om sin forskning (tredje uppgiften) MÅLET: Ta fram ny och god kunskap

Mitt forskningsområde Medicinsk informatik: Användandet av information och IT (informationsteknologi) inom hälso- och sjukvården i praktik, undervisning och forskning. Beslutsstöd för diagnos av sjukdomar Utveckla analysmetoder Neurala nätverk Fuzzylogik Hybrider

Vad är ett beslutsstöd? Datorbaserat system som tar fram fakta och information. Ska hjälpa och stötta vid beslutsfattande. Systemet bör kunna beskriva hur det resonerar. Kan basera sig på Läkarens kunskaper i form av regler Befintliga datamassor (journaler).

Läkarens kunskaper i form av regler Svårt formulera regler, ofta sitter kunskapen i ryggmärgen. Regler kan vara motsägande. Svårt dra gränser. Regler föråldras. Internationella guidelines finns. Fuzzylogik gör beslutsstöden bättre?

Skärmdump 1 och 2

Hur används befintliga fakta? Relevanta fakta om en sjukdom från många journaler tillsammans med diagnosen (facit). Samlaenmängdmeddatafrånfriskaochsjuka patienter. Använd olika matematiska metoder för att få systemet att lära sig ställa rätt diagnos.

Ett exempel på ett beslutsstöd dg Decision Maker Läkaren front-end Ett system somfor sköter navigering navigation mot en diagnos. towards diagnosis I C D dg dg... dg

Skärmdumpar

Domain expert... Support Systems Synthesis Analysis Extraction Data... Information Bank Automatiserad produktion av beslutsstöd. Ska kunna användas av domänexperten (läkaren) utan inblandning av datavetare. Ett enda programsystem istället för flera.

Den svarta lådan y f(x 1,x 2,...,x n )... x 1 x 2 x 3 x 4 x n

Den svarta lådan Om feber < 37.5 och sänkan < 5 så... Om feber > 39 och sänkan > 15 så... Logisk modell 0.999373 + e 16.2395 + (0.286 * (AGE 0.5)) 1: LR * (0.000627 + e 16.2395 + (0.286 * (AGE 0.5)) ) y Statistisk modell y f(x 1,x 2,...,x N )... x 1 x 2 x 3 x 4 x N Neural modell y Hybridmodell x 1 x 2 x 3 x 1 x 2 x 3

Statistiska metoder y 0.999373 + e 16.2395 + (0.286 * (AGE 0.5)) 1: LR * (0.000627 + e 16.2395 + (0.286 * (AGE 0.5)) )... x 1 x 2 x 3 x 4 x n

Logiska metoder y Om feber < 37.5 och sänkan < 5 så... Om feber > 39 och sänkan > 15 så...... x 1 x 2 x 3 x 4 x n

Perceptronen y w 1 w 2 w 3 w 4... w n... x 1 x 2 x 3 x 4 x n

Multi-layer perceptroner (MLP) y......... x 1 x 2 x 3 x 4 x n

Träning av neurala nätverk Backpropagationalgoritmen populär Bygger på gradient-descent algoritmen. Kan fastna i lokala minima Algoritmen: ❶Upprepa ett lämpligt antal gånger: ❶Kör en omgång data genom nätet. ❷Jämför nätets svar med facit ❸Räkna ut felen, skicka dem bakåt i nätet och uppdatera vikterna. Samma idé vid träning av hybridnätverk

Preprocessande perceptronen y......... x 1 x 2 x 3 x 4 x n

Sigmoiden g(x) Olika analysmetoder 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 The s igm oid Slope at inflexion point beta/4 = 2.5 In fle x io n p o in t alpha = 0.5 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x g [ α, β]( x) = β( x α) 1+ e 1

Ett (fuzzy)logiskt synsätt... Hur kommer läkaren fram till sin diagnos? Kombinera fakta med befintliga kunskaper och sedan härleda en lösning. Varje symptom bidrar till diagnosen med en viss grad av osäkerhet. x w i i o Alla dessa implikationer vägs samman på något sätt för att nå en slutsats. Använd fuzzylogiska konnektiv för att hantera detta.

Den generaliserade preprocessande perceptronen o N = i = [ υ ] ( ϕ [ ψ ]( w, g [ ω ]( x ))) Φ 1 i i i i i i

Den svarta lådan Om feber < 37.5 och sänkan < 5 så... Om feber > 39 och sänkan > 15 så... Logisk modell 0.999373 + e 16.2395 + (0.286 * (AGE 0.5)) 1: LR * (0.000627 + e 16.2395 + (0.286 * (AGE 0.5)) ) y Statistisk modell y f(x 1,x 2,...,x N )... x 1 x 2 x 3 x 4 x N Neural modell y Hybridmodell x 1 x 2 x 3 x 1 x 2 x 3

Infoga det nya systemet När analysfasen är klar har man stommen till ett färdigt beslutstödssystem klart. Denna stomme ska automatiskt infogas i det gamla systemet. Viktigt att information finns: Vem har byggt systemet? Vilka data ligger till grund för det? När är det byggt? Hur använder man det och tolkar resultaten? Hur säkert är systemet?

µ A ( x) Fuzzy logik I klassisk logik är saker antingen sanna (1) eller falska (0). Fuzzy logik generalisering av klassisk logik där sanningsvärdet ligger i intervallet [0, 1]. Tillhörigheten av x i en mängd A definieras i klassisk mängdlära av: = 1, 0, x x A A

Fuzzymängder Sanningsvärdet för påståendet x finns i A bestäms av (x, µ A (x)). Zadeh, 1965: En fuzzymängd A definieras på ett liknande sätt. Andra komponentens värden kan tas från hela intervallet I = [0, 1]. µ A (x) : X I Sanningsvärdena representerar då en grad av tillhörighet. 0 - icke-tillhörighet ( helt falskt ) 1 - fullständig tillhörighet ( helt sant )

Fuzzymängd A ( nära 4 ) A = {(1, 0.0), (2, 0.2), (3, 0.6), (4, 1.0), (5, 0.6), (6, 0.2), (7, 0.0)}

Oftast beskrivs µ A som en funktion Lättare att utföra matematiska beräkningar på en funktion. Exempel: Normal rumstemperatur: µ A ( x) = 0, ( x 16)/ 2, 1, ( 24 x)/ 2, 0, x < 16 16 x 18 18 < x 22 22 < x 24 x > 24 15 0 16 0 17 0.5 18 1 119 1 20 1 21 1 22 1 23 0.5 24 0 25 0 0 15 17 19 21 23 25

Vanliga tillhörighetsfunktioner: 1 1 α β α γ β 1 1 α β α β γ δ

En mängd av tillhörighetsfunktioner bildar en fuzzyfamilj. Fuzzylogiska mängdoperationer och konnektiv uttrycks som funktioner som arbetar på [0,1]- intervallet. µ µ µ A B = max{ A, B}

Sanningstabeller? Fungerar inte eftersom vi har ett kontinuerligt intervall [0, 1]. Vi får se varje operation som en funktion från [0,1] 2 =[0,1] (eller [0,1] =[0,1] för negation). Funktionerna kan variera (måste dock följa vissa regler ) Om φ är en sats och [[φ]] dess sanningsvärde så brukar negationen oftast definieras som [[φ]]===1= =[[φ]]

Olika sätt att definiera disjunktion (eller) Unionen mellan två fuzzymängder max(a, b) a+b-a*b min{a+b,1} min{[a p +b p ] 1/p, 1}, p>0 Zadeh Produktkonnektiv Lukasiewicz Yager

Olika sätt att definiera konjunktion (och) Snittet mellan två fuzzymängder min(a, b) Zadeh 1965 a*b Produktkonnektiv max{0, a+b-1} Lukasiewicz 1-min{[(1-a) p +(1-b) p ] 1/p,1}, Yager p>0

Fuzzymängd a och b

a =b

a =b

De Morgans lagar gäller fortfarande Tack vare villkoren som ställs på funktionstyperna [[φ]] =[[φ]] = [[φ]] och [[φ]] =[[φ]] = [[φ]] endast om min används för och max för. Implikationen kan också uttryckas med olika typer av funktioner. Uttryck som är ekvivalent i klassisk logik behöver inte vara det i fuzzy logik eftersom uttrycken sträcker över hela intervallet.

Sammanfattning Beslutsstöd inom hälso- och sjukvården kan skapas på flera sätt: System som bygger på regler (Blodtryck) System som bygger på befintliga fakta (Polycystic ovary syndrome) Viktigt att ett beslutstöd kan beskriva hur resultatet kommit fram. Fortfarande läkaren som tar det avgörande beslutet!

En fuzzy controller knowledge base fuzzification interface fuzzy decision logic fuzzy defuzzification interface not fuzzy measured values controlled system controller output not fuzzy

Inverterade pendeln Problem: Balansera en påle på en vagn som kan röra sig i två riktningar. Indata: Hastigheten på vagnen Vinkeln mellan pålen och vagnen Vinkelhastigheten Utdata: Ändring av vagnhastigheten

Tillhörighetsfunktioner

Regler If angle is zero and angular velocity is zero then speed shall be zero. If angle is zero and angular velocity is pos. low then speed shall be pos. low. Angle Angular velocity Speed NH NL Z PL PH NH NH NL NL Z Z NH NL Z PL PH PL Z PL PH PH

Hur får man ett output utifrån givna input? Titta på varje regel för sig och beräkna till vilken grad man kan tillämpa den. De värden man får fram används sedan för att skära topparna av resultatgrafen. Resultatgrafen måste sedan omvandlas till ett värde som inte är fuzzifierat. Vanligaste sättet är att välja ett av de värden som ger ett maximalt värde i grafen.

If angle is zero and angular velocity is zero then speed shall be zero.

Bara tre regler till ger ett resultat: If angle is zero and angular velocity is neg. low then speed is neg. low. If angle is pos. low and angular velocity is zero then speed is pos. low. If angle is pos. low and angular velocity is neg. low then speed is zero.

Sammanfattning av alla regler: