AI Kaleidoscoop College 6: • Deel 1:Expert systemen • Deel 2: Onzekerheid in redeneren Leeswijzer: 8.0-7.1 + 5.2 + 9.2.1 AI6 1 Deel II: Redeneren met onzekerheid • Onzekerheid is aanwezig in alle KBS systemen • Bronnen van onzekerheid: Kennis – incomplete domein theorie (geneeskunde) – foute domein theorie (geneeskunde) – vage begrippen (psychiatrie) – complete theorie wel beschikbaar maar te duur of te inefficient (ramp-alarm systeem) Data – Data zijn niet precies bekend (meetinstrumenten) – Data zijn helemaal niet bekend (te duur of onmogelijk om te meten) AI6 2 Redeneren met onzekerheid • Zeer veel verschillende formalismen beschikbaar: – waarschijnlijkheidstheory (Bayes’ rule) – certainty factors (MYCIN) – fuzzy logic – possibility theory (Zadeh) – evidence theory (Dempster/Schaefer) – plausability theory – incidence calculus (Bundy) • Sommigen zijn wiskundig incorrect, anderen zijn duur om te berekenen • Keuze hangt af van toepassing.... AI6 3 Waarschijnlijkheidstheorie • Elke primitieve gebeurtenis A heeft een waarschijnlijkheid p(A) • Combinatie regels voor waarschijnlijkheid van samengestelde gebeurtenissen: p( A B ) p( A ) p( B ) p( A B ) p( A ) p( B ) p( A B ) p( A ) 1 p( A ) Voor onafhankelijk gebeurtenissen A en B!! AI6 4 Afhankelijke gebeurtenissen: • A = kruis, p(A)=0.5 B = munt, p(B)=0.5 0 p( A B) p( A ) p( B) 0.25 p( A B) p( A ) p( B) p( A B) 0.75 • Regel van Bayes: 1 p(B) = kans dat B gebeurt, onafhankelijk van andere gebeurtenissen p(B|A) = kans dat B gebeurt, gegeven dat A gebeurt (= conditionele kans) AI6 p( B A ) p(A|B) p(B) p( B| A ) p( A ) p(A) 5 Regel van Bayes (Vb) p( h b ) Wil weten p( hartinfarct| borstpijn) = p(b) Maar p(h b) is meestal onbekend Regel van Bayes: p( b| h ) p( h ) p( h| b ) p( b ) en p(b|h) is wel bekend AI6 6 Problemen met regel van Bayes • Vereist alle paren van conditionele kansen • Voorbeeld: – medisch specialist kent 2000 ziekten – 1-ziekte diagnose: 1 miljoen getallen – 5-ziekte diagnose: 1030 getallen !! • Oplossing: – neem aan dat alle symptomen onafhankelijk zijn Maar: meestal niet waar – verdeel symptomen in groepen, met onafhankelijkheid tussen de groepen. Vb: mechanische problemen + electrische problemen AI6 Maar: soms moeilijk (vb: geneeskunde) 7 Zekerheids-factoren (MYCIN) • -1 CF 1 CF = 1 : zeker waar CF = -1: zeker onwaar CF = 0 : weet niet • Elke gebeurtenis krijgt een CF • Combinatie-regels voor complexe gebeurtenissen: CF( A B) min{CF( A ), CF( B)} CF( A B) max{CF( A ), CF( B)} AI6 8 Zekerheidsfactoren met regels: • Geef een CF aan elke regel: IF cond1 AND cond2 AND cond3 THEN concl (with CF=0.8) • CF(conclusie)=CF(conditie) CF(regel) • Voorbeeld: CF(cond1)=1.0 CF(cond2)=0.7 CF(cond3)=0.6 Dan: CF(concl)=min{1.0, 0.7, 0.6} 0.8 = 0.48 AI6 9 Zekerheidsfactoren met regels (2) Wat te doen bij meerdere regels met zelfde conclusie? Vb: R1 en R2 concluderen beiden C Bereken CF met regel R1: CF1(C)=X Bereken CF met regel R2: CF2(C)=Y Combineer: als X,Y>0 X+Y-XY X+Y+XY als X,Y<0 CF( C ) XY 1 min(| X|,| Y| ) AI6 anders 10 Problemen met Certainty Factors • Geen wiskundig correct model (strijdig met waarschijnlijkheidsleer) • Uitkomst kan afhangen van de volgorde • Getallen moeilijk van menselijke experts te krijgen • Is alleen korrekt voor korte redeneer-ketens AI6 11 Historische ontwikkeling in AI • Jaren ‘60: Zoek-systemen – Weinig kennis – Algemene zoekmethoden • Jaren ‘70: Kennis systemen (“Expert systems”) – Systemen met veel kennis over • gespecialiseerde domeinen • gespecialiseerde taken AI6 12 Stappen in KBS ontwikkeling (1) Probleem Identificatie Kennis Conceptualisatie Kennis Formalisatie Implementatie Validatie & Testen AI6 13 Stappen in KBS ontwikkeling (2) • Probleem identificatie – vastleggen van functionaliteit – gebruik interviews, boeken Conceptueel model • Conceptualisatie – begrippen-lijsten – verschillende typen kennis – structuur van kennis – relaties tussen begrippen – redeneervormen • Formalisatie – Logische analyse • Implementatie AI6 – Keuze van representatie taal 14 Rol van conceptueel model • abstract model van kennis niet precies genoeg voor computer wel begrijpelijk voor domein expert conceptueel model Expertise Code IF .... THEN... IF ... THEN ... AI6 15 Architectuur voor KBS knowledge-base editor User Interface: • menus • commands • graphics AI6 Inference Engine explanation system Knowledge Base 16 Architectuur voor KBS (2) knowledge-base editor User Interface: • menus • commands • graphics Inference Engine Knowledge Base explanation system Scheiding van kennis & inferentie: • Hergebruik zelfde kennis voor andere inferenties (auto’s repareren of auto’s ontwerpen) • Hergebruik zelfde inferenties met andere kennis (auto’s repareren of schepen repareren) AI6 17 Kennissysteem Vb: MYCIN • Domein: Infectie ziekten • Taak: – Beslis of de patient een infectie heeft – Bepaal het infectie organisme – Bepaal toepasbare medicijnen – Kies meest geschikte medicijnen • Motivatie: – Medische procedures zijn duur – Medische kennis groeit snel – Medische kennis is slecht geografisch verspreid – Medische experts zijn druk bezet AI6 18 Kennissysteem Vb: MYCIN • Productie-regels: Conditie: (AND (= gram GRAMNEGATIVE) (= morphology ROD) (= aerobic YES)) Actie: (CONCLUDE class ENTEROBACTERIA) • Uitleg: ALS (1) De stam is gramnegatief, en (2) de bacterie is staafvorming, en (3) de bacterie gebruikt zuurstof DAN Is er aanwijzing voor een bacterie van de classe ENTEROBACTERIA AI6 19 Vb van Complexiteit van MYCIN: parameters(1) (AND (= gram GRAMNEGATIVE) (= morphology ROD) (= aerobic YES)) • Drie typen parameters: – Binair: ja/nee “Heeft de patient brandwonden?” – Enkelwaardig: grote verzameling uitsluitende waarden “Wat is de leeftijd van de patient?” – Meerwaardig: grote verzameling niet uitsluitende waarden “Wat zijn de symptomen?” AI6 20 MYCIN, parameters (2): attributen per parameter Verwachte waarde: leeftijd [0,100] Vraag-tekst: “wat is de leeftijd van de patient?” Presentatie-tekst: “De leeftijd van de patient is” Labdata: meten in test, of afleiden door redeneren. • Gebruiks-regels: alle regels die de parameter in conditie noemen • Afleidings-regels: alle regels die de parameter in conclusie noemen • Uitsluiting: niet vragen in bepaalde omstandigheden: zwangerschap van mannen • • • • AI6 21 MYCIN: uitleg faciliteiten • WAAROM vragen: “Waarom wil het systeem deze parameter weten?” • HOE vragen: “Hoe gaat het systeem deze parameter bepalen?” Implementatie van uitlegfaciliteiten: • Onthoud zoekboom van regels • WAAROM vragen: – Zoek omhoog in de boom waarom je dit wilt weten • HOE vragen: – Zoek omlaag in de boom hoe je dit kunt gaan bepalen AI6 goal data 22 Hoe goed is MYCIN? • Ongeveer 200 regels • Consultatie-sessie: 20 minuten • Kwaliteit van diagnose: – test-gevallen door MYCIN – test-gevallen door experts (op papier) – beide antwoorden beoordeeld door andere expert (blind) MYCIN Arts 1 Arts 2 Arts 3 Arts 4 65 Score: (max = 100) AI6 62 60 60 58 23 Toepassingen van Kennissystemen • • • • • • • • • zelf-diagnose van auto’s verzekerings acceptatie credit-card fraude-detectie toepassen van sociale wetgeving ontwerpen van gebitsprothesen waterkracht centrales in Nepal gezondheidszorg in Zuid-Afrika beheren van kankerbehandelingen toekennen van strafmaat AI6 24 Volgende keer Hoofdstuk 6.0-6.3 AI6 25