De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Automatisch redeneren en stellingen bewijzen Introductie: logica in AI Automatisch redeneren: ResolutieUnificatieNormalizatie.

Verwante presentaties


Presentatie over: "Automatisch redeneren en stellingen bewijzen Introductie: logica in AI Automatisch redeneren: ResolutieUnificatieNormalizatie."— Transcript van de presentatie:

1 Automatisch redeneren en stellingen bewijzen Introductie: logica in AI Automatisch redeneren: ResolutieUnificatieNormalizatie

2 Introductie: Motiverend voorbeeld Automatisch redeneren Logica:Syntax Model semantiek Logisch gevolg

3 3 Het AI droombeeld anno ‘60:  In logica kan je vrijwel alles ‘formeel’ uitdrukken.  Ook kan je in logica “stellingen” bewijzen uit gegeven informatie.  Kunnen we dit uitbaten om een automatische redenerend systeem te bouwen ??

4 4 Onderliggende premisses:  Logica is de ‘assembler’ van de kennis + ligt heel dicht bij natuurlijke taal.  Als computers kennis moeten verwerken dan moet die kennis formeel en ondubbelzinnig verwoord zijn.  Logische deductie laat toe om op systematische manier nieuwe kennis uit bestaande kennis af te leiden Vrijwel elke vorm van kennis kan je formeel en ondubbelzinnig uitdrukken in logica. Deductie automatiseren ??

5 5 Een voorbeeld:  Gegeven kennis in natuurlijke taal: 1. Marcus was een man. 2. Marcus was Pompeier. 3. Alle Pompeiers waren Romeinen. 4. Cesar was een heerser. 5. Alle Romeinen waren ofwel loyaal aan Cesar of haatten hem. 6. Iedereen is loyaal aan iemand. 7. Mensen proberen alleen heersers te vermoorden waar ze niet loyaal aan zijn. 8. Marcus probeerde Cesar te vermoorden.  Hoe kunnen we automatische vragen beantwoorden als:  Was Marcus loyaal aan Cesar?  Haatte Marcus Cesar?

6 6 Conversie naar eerste orde logica:  Feiten representatie: 1. Marcus was een man. man(Marcus) 2. Marcus was Pompeier. Pompeier(Marcus) 4. Cesar was een heerser. heerser(Cesar) 8. Marcus probeerde Cesar te vermoorden. probeervermoord(Marcus, Cesar)

7 7 Conversie naar eerste orde logica (2):  Algemene representaties (regel representaties): 3. Alle Pompeiers waren Romeinen.  x Pompeier(x)  Romein(x) 5. Alle Romeinen waren ofwel loyaal aan Cesar of haatten hem.  x Romein(x)  loyaalaan(x,Cesar)  haat(x,Cesar) 6. Iedereen is loyaal aan iemand. ( )  ~(loyaalaan(x,Cesar)  haat(x,Cesar)) XOR  x  y loyaalaan(x,y) 7. Mensen proberen alleen heersers te vermoorden waar ze niet loyaal aan zijn.  x  y mens(x)  heerser(y)  probeervermoord(x,y)  ~loyaalaan(x,y)

8 8 Bewijs dat hij het was: De “stelling” ? Was Marcus loyaal aan Cesar? Haatte Marcus Cesar? haat(Marcus,Cesar) Probeer bijvoorbeeld te bewijzen dat hij het niet was: ~loyaalaan(Marcus,Cesar)

9 9 Een bewijs door backward- reasoning probleem-reductie: ~loyaalaan(Marcus,Cesar)  x  y mens(x)  heerser(y)  probeervermoord(x,y)  ~loyaalaan(x,y) + substitutie: x/Marcus y/Cesar y/Cesar mens(Marcus)  heerser(Cesar)  probeerver- moord(Marcus,Cesar)  ~loyaalaan(Marcus,Cesar) + Modus ponens mens(Marcus) heerser(Cesar) AND probeervermoord(Marcus, Cesar) Klaar! 4. Klaar! 8. Extra regel:  x man(x)  mens(x)  mens(x) man(Marcus) Klaar!1.

10 10 Problemen: 1) kennisrepresentatie:  Natuurlijke taal is imprecies / ambigu  zie “Mensen proberen alleen …”  Evidente informatie wordt gemakkelijk vergeten.  zie man mens  Sommige informatie is moeilijker voor te stellen in logica.  Vb.: “misschien …”, “mogelijk…”, “waarschijnlijk…”, “45% kans dat …”,  Logica is niet handig vanuit ‘software engineering’ perspectief.  te ‘fine-grained’ (assembler-achtig?)

11 11 Problemen: 2) Problem solving:  Alle trade-offs die we bij toestandruimte representatie zoekmethodes hadden:  backward/forward, boom/grafe, OF-boom/EN-OF, controle aspecten,...  Welke deductieregels zijn in het algemeen nodig?  Vb.: bewijs “ haat(Marcus,Cesar) “  x Romein(x)  loyaalaan(x,Cesar)  haat(x,Cesar) Enige toepasbare regel is: Modus ponens???  Hoe behandelen we  x en  y ?

12 12 Problemen: 2) Problem solving (2):  Hoe bereken je in het algemeen de substituties ?  x  y mens(x)  heerser(y)  probeervermoord(x,y)  ~loyaalaan(x,y) + substitutie: x/Marcus y/Cesar y/Cesar In het algemeen: veel complexer  Van welke taak start je?  Vb: loyaalaan(Marcus,Cesar) of ~loyaalaan(Marcus,Cesar)  Hoe behandel je gelijkheid van objecten?  Probleem: combinatorische explosie van afgeleide gelijkheden (reflexiviteit, symmetrie, transitiviteit, …)  Hoe garanderen we correctheid/volledigheid?

13 De formele model semantiek van Logica Wat betekent de notie “Logisch gevolg”?

14 Propositie logica

15 15 Het alphabet:  Basis concepten: In propositie logica: In propositie logica: weer_is_regenachtig jos_draagt_paraplu Atomaire proposities   ~ connectieven ( )punctuaties Correct-gevormde formules: jos_draagt_paraplu  weer_is_regenachtig ~ weer_is_regenachtig Notatie: p, q, r : atomaire proposities.

16 16 Semantiek (betekenis)  Algemeen (voor elk kennisrepresentatie formalisme):  2 aanpakken voor het vastleggen van semantiek: 1. Intuitieve (natuurlijke) semantiek:  Beschrijf de betekenis in termen van natuurlijke taal  Vbn. (propositie logica):   : “impliceert”  ~ : “niet zo dat”   : “of”  p  q : “p als en slechts als q”  ~ p  r : “niet p en r”  elk symbool en elke correct-gevormde formule krijgt betekenis door geassocieerde natuurlijke-taal

17 17 Semantiek (2) 2. Transformationele semantiek:  Beschrijf de betekenis door omzetting naar een geassocieerd “mathematisch” object  In propositie logica :  de verzameling van alle propositie symbolen die logisch gevolg zijn van de gegeven formules: q p rpqpr q r pq r Logische gevolgen p  ~ q p q  r

18 18 Maar hoe definieren we dan “logisch gevolg” ?  NIET als:  Alles wat we kunnen afleiden uit de formules  WANT:  Op dit ogenblik weten we nog niet:  “wat is een volledig stel van afleidingsregels”  Dat is net wat we in Automatisch Redeneren willen gaan vastleggen !  WEL door:  Interpretaties  Modellen

19 19 Interpretatie: = een functie die aan elke “atomaire” formule een waarheidswaarde toekent = een functie die aan elke “atomaire” formule een waarheidswaarde toekent Geeft dan ook onrechtstreeks een waarheids- waarde aan elke correct-gevormde formule pq~p p  q p  q p  q p  q TT TF FT FF FTTTT FFTFF TFTTF TFFTT Waarheidstabel

20 20 Model  Gegeven een stel formules S: een model is een interpretatie die alle formules in S waar maakt p  ~ q p q  r S Voorbeeld: p  ~q q  r TTTp pqr TFTModel:

21 21 Logische gevolg:  Gegeven een stel formules S en een formule F: F is logisch gevolg van S ( S |= F ), als elk model van S maakt ook F waar. p  ~ q p q  r S Voorbeeld: F: F: r  p pqr TFT (enige) Model: r  p T

22 Predicaten logica

23 23 Het alphabet:  variabelenx y z constantenYvonne Yvette functie symbolen gf h predicaat symbolen q p  ~ connectieven ( )punctuaties, quantoren Termen: Yvonney f(x, g(Yvette)) Correct-gevormde formules: p(Yvonne) p(x)  ~q(x)  z p(z)  x  y p(x)  q(y)  p(f(Yvonne, Yvette)

24 24 Formeler:  Een alphabet bestaat uit variabelen, constanten, functie symbolen, predicaatsymbolen (allen gebruikers-gedefinieerd) en uit connectoren, punctuaties en quantoren.  Termen zijn ofwel:  variabelen,  constanten,  functie symbolen voorzien met termen als argumenten, zoveel als het functie symbool argumenten verwacht.  Correct-gevormde formules worden geconstrueerd uit predicaat symbolen, voorzien met termen als argumenten, en uit connectoren, quantoren en punctuaties - dit volgens de regels die connectoren opleggen.

25 25 Concreet voorbeeld:  Alphabet: { {0}, {x,y}, {s}, {odd,even}, Con, Pun, Quan}  Termen: { 0, s(0), s(s(0)), s(s(s(0))), … x, s(x), s(s(x)), s(s(s(x))), … x, s(x), s(s(x)), s(s(s(x))), … y, s(y), s(s(y)), s(s(s(y))), … } y, s(y), s(s(y)), s(s(s(y))), … }  Correct-gevormde formules: odd(0), even(s(0)), … odd(x), odd(s(y)), … odd(x)  even(s(s(x))), …  x ( odd(x)  even(s(x)) ), … odd(y)   x (even( s(x))),...

26 26 Interpretatie: = een verzameling D (het domein), en A0 s x y odd Voorbeeld: D = N  een functie die constanten in D afbeeldt, en  een functie die functie symbolen op functies: D -> D afbeeldt, en  een functie die predicaat symbolen op predicaten: D -> boole afbeeldt. boole true false “even”

27 27 Toekenning van waarheidswaarden: 1. Aan gegronde atomaire formules:  vorm: p(f(a), g(a,b)) Voorbeeld: I( odd( s ( s( 0 ) ) ) ) ) = ? = I (odd) ( I(s) ( I(s) ( I(0) ) ) ) = “even” ( succ ( succ ( 0 ) ) ) = “even” ( succ ( 1 ) ) = “even” ( 2 ) = true

28 28 Toekenning van waarheidswaarden (2): 2. Voor gesloten correct-gevormde formules: (= geen niet-gequantificeerde variabelen)   x F(x) is waar als:  voor alle d  D: I( F(d) ) = true   x F(x) is waar als:  er een d  D bestaat zodat: I( F(d) ) = true  verder: gebruik van waarheidstabellen. Voorbeeld: I(x odd( s ( x ) )  odd(x) ) = ? I(  x odd( s ( x ) )  odd(x) ) = ? = true als voor alle d in N: I (odd( s (d) )  odd(d) ) = true I (odd( s (d) )  odd(d) ) = true = “even” ( succ(d) )  “even” (d) Neem: d = 0, dan: = false  true Waarheidstabellen: false !

29 29 Semantiek / Logisch gevolg:  Net zoals voor propositie logica !  Gegeven een stel formules S: een model is een interpretatie die alle formules in S waar maakt.  Gegeven een stel formules S en een formule F: F is logisch gevolg van S ( S |= F ), als elk model van S maakt ook F waar.  Bijkomend: inconsistentie:  Gegeven een stel formules S: S is inconsistent als S geen enkel model heeft. Voorbeeld: S = { p(a), ~p(a)}

30 30 Marcus voorbeeld: x y V Marcus Cesar CA F =  man mensheerser Romein Pompeier haat loyaalaan probeervermoord P D = wereld van ~40 VC. “Marcus” “Cesar” “Intended” interpretatie: Is een model ALS ALLE FORMULES CORRECT ZIJN boole true false “was_pompeier” boole true false “was_heerser”

31 31 Marcus voorbeeld: x y V Marcus Cesar CA F =  man mensheerser Romein Pompeier haat loyaalaan probeervermoord P N4 3 I(man) = I(mens)= I(Romein) = “natuurlijk getal” I(Pompeier) = “even getal” I(heerser) = “priemgetal” I(probeervermoord) = “ > ” I(loyaalaan) = “deelt” I(haat) = “deelt niet”

32 32 Model ?? 1. Marcus was een man. 4 is een natuurlijk getal 2. Marcus was Pompeier. 4 is een even getal 4. Cesar was een heerser. 3 is een priemgetal 8. Marcus probeerde Cesar te vermoorden. 4 > 3 3. Alle Pompeiers waren Romeinen. Even getallen zijn natuurlijk. 5. Alle Romeinen waren ofwel loyaal aan Cesar of haatten hem. Een getal deelt 3 of deelt 3 niet. 6. Iedereen is loyaal aan iemand. Elk getal is deler van een getal. 7. Mensen proberen alleen heersers te vermoorden waar ze niet loyaal aan zijn. Een natuurlijk getal dat groter is dan een priemgetal deelt het priemgetal niet. JA !

33 33 “Logic is all form, no content” mens(x)  sterfelijk(x) mens(Socrates) sterfelijk(Socrates) januari(x)  koud(x) januari(21/1/01) koud(21/1/01) P(x)  Q(x) P(A) Q(A) Alleen de onderlinge structuur van een stel logische formules is bepalend voor de conclusies! (Op isomorfisme van de namen na) Maar vanuit een kennisrepresentatie-perspectief is ook de ‘content’ belangrijk.

34 Relatie ten opzichte van andere cursussen:

35 35 Cursus logica (1e Kan Inf.) Propositie logica Eerste-orde predicaten logica Formele semantiek Beslisbaarheid Bewijzen maken met de hand

36 36 Cursus Declaratieve Talen (1e Lic. Inf./2 CW.) Propositie logica Eerste-orde predicaten logica Formele semantiek Beslisbaarheid Bewijzen maken met de hand Programmeertalen gebasseerd op logica (Prolog/CLP)

37 37 Artificiele Intelligentie / Kennis-gebaseerde systemen Propositie logica Eerste-orde predicaten logica Formele semantiek Beslisbaarheid Bewijzen maken met de hand Programmeertalen gebasseerd op logica (Prolog/CLP) Technieken voor automatisch redeneren Representeren van problemen in Logica Overwegend in oefeningen

38 38 Methodologie voor kennisrepresentatie?  Erg complex. Weinig eenvoudige richtlijnen.  Basis:  Selecteer een alphabet dat toelaat alle objecten en relaties uit het probleemgebied voor te stellen:  Wat zijn de basis objecten, functies en relaties in je probleemdomein ? – Ontology: representeer alleen de RELEVANTE informatie  Kies constanten, functie- en predicaat symbolen om deze te representeren.  Vertaal elke natuurlijke taal zin in een (of meerdere) corresponderende logische formule.


Download ppt "Automatisch redeneren en stellingen bewijzen Introductie: logica in AI Automatisch redeneren: ResolutieUnificatieNormalizatie."

Verwante presentaties


Ads door Google