Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

LOGIKA (LOGIC). LOGIKA 2 TUDÁSREPREZENTÁCIÓ ÉS KÖVETKEZTETÉS Analógia Hogyan oldunk meg egy problémát hagyományos programozással? Hogyan bírható rá egy.

Hasonló előadás


Az előadások a következő témára: "LOGIKA (LOGIC). LOGIKA 2 TUDÁSREPREZENTÁCIÓ ÉS KÖVETKEZTETÉS Analógia Hogyan oldunk meg egy problémát hagyományos programozással? Hogyan bírható rá egy."— Előadás másolata:

1 LOGIKA (LOGIC)

2 LOGIKA 2 TUDÁSREPREZENTÁCIÓ ÉS KÖVETKEZTETÉS Analógia Hogyan oldunk meg egy problémát hagyományos programozással? Hogyan bírható rá egy számítógép, hogy megoldjon egy intelligenciát igénylő problémát? Melyek a legnehezebb lépések? Mi a tudásreprezentáció? pótlék (inkább következtetünk, mint tevékenykedünk) (erős) szemüveg médium mely lehetővé teszi a hatékony számítást az emberi kifejezést (töredékes) elmélet arról, hogy mit nevezünk intelligens gondolkodásnak

3 LOGIKA 3 TUDÁSREPREZENTÁCIÓ ÉS KÖVETKEZTETÉS Mit várunk el egy reprezentációs nyelvtől? kifejező, tömör egyértelmű hatékony következtetést enged meg Felhasználási cél is fontos! (pl. osztás arab/római számmal) programozási nyelvek, természetes nyelvek, logika

4 LOGIKA 4 A LOGIKA, MINT REPREZENTÁCIÓS NYELV LOGIKA ELEMEI szintaxis nyelv szimbólumai (kifejezések, amelyekkel bánni tudunk) hogyan lehet mondatokat formálni szemantika a mondatok a világ mely tényeire vonatkoznak a mondatok jelentése következtetés adott szintaxis és szemantika mellett új mondatok származtatása (mechanikus eljárások alkalmazásával)

5 ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

6 LOGIKA 6 ÍTÉLETKALKULUS – SZINTAXIS jelkészlet elválasztó jelek: ( ) logikai műveleti jelek:      ítéletváltozók (logikai változók): p, q, r,... ítéletkonstansok: T, F szintaxis szabályai atomi formula (atom) minden ítéletkonstans atomi formula minden ítéletváltozó atomi formula formula minden atomi formula egyben formula is ha A és B formulák, akkor (  A), (A  B), (A  B), (A  B), (A  B) kifejezések is formulák a formulaképzés szabálya rekurzív

7 LOGIKA 7 ÍTÉLETKALKULUS – PÉLDA állítások: A1: Ha süt a nap, akkor Péter strandra megy. A2: Ha Péter strandra megy, akkor úszik. A3: Péternek nincs lehetősége otthon úszni. A4: Ha süt a nap, akkor Péter nem marad otthon. A1, A2, A3 állításokból következik-e A4? atomok (atomi formulák): p: süt a nap q: Péter strandra megy r: Péter úszik s: Péter otthon marad eredeti állítások szerkezetét tükrözi formulák: F1: p  q F2: q  r F3:  (s  r) F4: p   s

8 LOGIKA 8 ÍTÉLETKALKULUS – SZEMANTIKA logikai formula (wff): szabályos szimbólumsorozat – igazságértéke ad jelentést (szemantika szabályai szerint) formula interpretációja minden ítéletváltozóhoz igaz (T) vagy hamis (F) érték rendelése minden lehetséges módon interpretált formula kiértékelése műveleti jelek szemantikája alapján (igazságtáblák) pq ppp  qp  qp  qp  q TTFTTTT TFFFTFF FTTFTTF FFTFFTT

9 LOGIKA 9 IMPLIKÁCIÓ p  q Ha a-disznók-repülnek akkor 2=1.  T   F F hamis előtagból bármi következik? Értelmezés lehet: „Ha p igaz, akkor azt állítom, hogy q is igaz, egyébként q-ról nem állítok semmit.” p  q   p  q

10 LOGIKA 10 FORMULÁK INTERPRETÁCIÓJA Formula: G: (p  q)  (r   s) Lehetséges interpretációk (összesen 2 4 ): I 1 : (p, q, r, s) = (T, T, F, F) I 2 : (p, q, r, s) = (F, T, T, F) G formula igazságértéke I 1 és I 2 interpretációban: G(I 1 ) = F G(I 2 ) = T I 2 interpretáció kielégíti G formulát, I 2 modellje G-nek

11 LOGIKA 11 ALAPVETŐ TULAJDONSÁGOK ÉS RELÁCIÓK Igazság Egy formula igaz, ha az, amit leír, valóban előfordul a világban. Egy formula igazsága függ a világ állapotától, és az interpretációtól (szemantikától) Érvényes formula (tautológia) A formula igazsága nem függ sem a világ állapotától, sem a szemantikától. minden interpretációban igaz, minden modellben benne van T x Kielégíthetetlen formula Kielégíthetetlen egy formula, ha a világ soha nem olyan, mint amilyennek leírja. minden interpretációban hamis, nincs modellje x F

12 LOGIKA 12 ALAPVETŐ TULAJDONSÁGOK ÉS RELÁCIÓK Kielégíthető formula van olyan interpretációja, amelyben igaz az értéke, van modellje Kapcsolat a 3 formulaosztály között: x érvényes   x kielégíthetetlen x érvényes  x kielégíthető  Logikai kifejezések modellje (x  y)  M  x  M és y  M (x  y)  M  x  M vagy y  M  x  M  x  M

13 LOGIKA 13 FORMULÁK EKVIVALENCIÁJA Két formula ekvivalens, ha minden interpretációban ugyanaz a logikai értékük. Nevezetes ekvivalenciák, logikai törvények: 1.A  B = (A  B)  (B  A) 2.A  B =  A  B 3.A  B = B  Akommutatív A  B = B  A 4.(A  B)  C = A  (B  C) (A  B)  C = A  (B  C)asszociatív 5.A  (B  C) = (A  B)  (A  C) A  (B  C) = (A  B)  (A  C)disztributív

14 LOGIKA 14 FORMULÁK EKVIVALENCIÁJA Logikai törvények 6.A  F = A A  T = A 7.A  T = T A  F = F 8.A   A = T A   A = F 9.  (  A) = Akettős tagadás 10.  (A  B) =  A   B  (A  B) =  A   BdeMorgan 11.A  (A  B) = A A  (A  B) = Aabszorpció, elnyelés A  A = A A  A = Aidempotencia

15 LOGIKA 15 LOGIKAI KÖVETKEZMÉNY A W W formula A formulának logikai következménye, ha W igaz minden olyan interpretációban, amelyben A igaz. MI-ben:A 1,..., A n W bizonyos formulákról tudjuk, hogy igazak (A 1,..., A n ) ha W ezek logikai következménye, W is igaz esetek végignézése nélkül hogy lehet eldönteni?? a  (a  b) b ab a  ba  (a  b) TTTT TFFF FTTF FFTF

16 LOGIKA 16 LOGIKAI KÖVETKEZMÉNY Logikai következmény fogalmának értelmezése az érvényesség fogalmával: Tétel: A 1,..., A n W iff(A 1 ...  A n )  W érvényes. Bizonyítás: (  ):ha A 1,..., A n W def.  A i  M, W  M  (A 1 ...  A n )  W igaz (  ):ha (A 1 ...  A n )  W igaz def.  M: A 1 ...  A n  M de W  M (implikáció igazságtáblája) Logikai következmény fogalmának értelmezése a kielégíthetetlenség fogalmával: Tétel:A1,..., An W iffA1 ...  An  W kielégíthetetlen. Bizonyítás:  (A 1 ...  A n  W) =  (  (A 1 ...  A n )  W) =  (  A 1 ...   A n  W) =  (a  b) =  a   b (A 1 ...  A n )   W = A 1 ...  A n   W

17 LOGIKA 17 LOGIKAI KÖVETKEZMÉNY Elnevezések: (A1 ...  An)  Wtétel A1 ...  Antétel axiómái, feltételei Wkövetkezmény, konklúzió

18 LOGIKA 18 TÉTELBIZONYÍTÁS IGAZSÁGTÁBLÁVAL F1: p  q F2:  q F3:  p ?: F1  F2 F3 lehetőségek: a. beláthatjuk, hogy minden olyan interpretációban, amelyben F1  F2 igaz, igaz F3 is b. bebizonyíthatjuk, hogy F1  F2  F3 érvényes c. beláthatjuk, hogy F1  F2  F3 kielégíthetetlen pqF1F1 F2F2 F1F2F1F2 F3F3 F1F2F3F1F2F3 F 1  F 2  F 3 TTTFFFTF TFFTFFTF FTTFFTTF FFTTTTTF  abc

19 LOGIKA 19 TÉTELBIZONYÍTÁS QUINE ALGORITMUSSAL a formula egy változójának interpretálása (T, F)  két új formula eljárás folytatása mindaddig, míg a bináris fa levelein csak igazságértékek találhatók ha minden levél T, érvényes a formula (((p  q)  r)  (p  q))  (p  r) ((q  r)  q)  r T r  r T T p=Tp=F q=Tq=F r=Tr=F

20 LOGIKA 20 TÉTELBIZONYÍTÁS FORMÁLIS LEVEZETÉSSEL Formula formális levezetése egy axiómahalmazból axiómahalmaz (egyszerű, érvényes formulák) levezetési (következtetési) szabályok (érvényes formulákból érvényes formulát hoznak létre) p q Kleen:A  (B  A) (A  (B  C))  ((A  B)  (A  C)) (  A  B)  ((  A   B)  A) levezetési szabály: modus ponens Modus ponens: A, A  BBA  B A B Ha az A és az A→B formula érvényes, akkor a B formula is érvényes.

21 LOGIKA 21 LEVEZETÉSI SZABÁLYOK Érvényes kártyák: mássalhangzó magánhangzó és páros szám Modus ponens: A  B, A B(K, E) Modus tollens: A  B,  B  A(7) mássalhangzó  érvényes magánhangzó  páros  érvényes magánhangzó  érvényes  páros

22 LOGIKA 22 a  b a,a  b b levezetési szabályok? Helyes következtetés: Def. Ha p q,akkor p q az előállított formula logikai következmény legyen a  b bnem helyes (igazságtáblából) a  b a, modus ponenshelyes (igazságtáblából) Teljes következtetés: Def. Ha p q,akkorp q mindent előállítson, ami logikailag következik modus ponensnem teljes a  b a  s b  s s ?? LEVEZETÉSI SZABÁLYOK ab a  b TTT TFF FTF FFF ab a  b TTT TFT FTT FFF ab a  b TTT TFF FTT FFT

23 LOGIKA 23 Rezolúció: a  b  a  b c  a  c  a c  b  c  b a 1 ...  a m  b 1 ...  b k c 1 ...  c n  d 1 ...  d l ahol d j = a i a 1 ...  a i ...  a m  c 1 ...  c n  b 1 ...  b k  d 1 ...  d j ...  d l  a 1 ...   a m  b 1 ...  b k  c 1 ...   c n  d 1 ...  d l ahol d j = a i  a 1  …   a i  …   a m   c 1 ...   c n  b 1 ...  b k  d 1 ...  d j ...  d l LEVEZETÉSI SZABÁLYOK

24 LOGIKA 24 Rezolúciós eljárás: cáfoló eljárás (ellentmondással történő bizonyítás), mellyel egy konjunktív normálforma ill. egy klózhalmaz kielégíthetetlenségét bizonyítjuk. Konjunktív normálforma: speciális részformulák (klózok) konjunkciója klóz: literálok diszjunkciója ill. egy literál literál: egy ítéletváltozó vagy annak negáltja (  p  q)  (  q  r)  (  s   r)  p  s Implikációs normálforma: speciális részformulák (klózok) konjunkciója klóz: implikáció – bal oldalon atomok konjunkciója, jobb oldalon atomok diszjukciója (p  q)  (q  r)  (s  r  F)  (T  p)  (T  s) TÉTELBIZONYÍTÁS REZOLÚCIÓVAL

25 LOGIKA 25 minden formula átalakítható normálformára Transzformációs szabályok: a) A  B = (A  B)  (B  A)(  kiküszöbölése) b) A  B =  A  B(  kiküszöbölése) c)  (A  B) =  A   B(  hatáskörének redukálása) d)  (A  B) =  A   B(  hatáskörének redukálása) e)  A = A(  hatáskörének redukálása) f) A  (B  C) = (A  B)  (A  C)(klózok konjunkciójának létrehozása)  (((p  q)  (q  r)   (s  r))  (p   s))  (  ((  p  q)  (  q  r)   (s  r))  (  p   s))b.)  (  (  p  q)   (  q  r)  (s  r)  (  p   s))d.) (  p  q)  (  q  r)   (s  r)   (  p   s)c.) e.) (  p  q)  (  q  r)  (  s   r)  p  sc.) d.) e.) TÉTELBIZONYÍTÁS REZOLÚCIÓVAL

26 LOGIKA 26 klóz alak, klóz halmaz: C1:  p  q C2:  q  r C3:  s   r C4: p C5: s Lássuk be, hogy C1... C5 klózhalmaz kielégíthetetlen indirekt bizonyítás: tfh létezik modellje (minden klóz igaz) C4 igaz, ha p = T C5 igaz, ha s = T C1 igaz, ha q = T (mivel  p = F, C4-ből) C3 igaz, ha r = F (mivel  s = F, C5-ből) C2 igaz, ha q = F (mivel r = F, C3- és C5-ből) TÉTELBIZONYÍTÁS REZOLÚCIÓVAL ellentmondás!

27 LOGIKA 27 A bizonyítási eljárás szemléltetése: C1:  p  q C2:  q  r C3:  s   r C4: p C5: s rezolúciós gráf, cáfolati gráf új klóz előállítása: rezolúcióval  p  q  s   r  q  rq p s  r  q q  r  qNIL TÉTELBIZONYÍTÁS REZOLÚCIÓVAL q rr qq NIL

28 LOGIKA 28 A 1, A 2, …, A n B ?? A 1  A 2  …  A n   B kielégíthetetlen igazolása rezolúciós eljárással A rezolúciós eljárás lépései: Cél tagadása, az axiómákhoz való hozzáadása Az A 1  A 2  …  A n   B formula klóz formára hozása (kiindulási klózhalmaz) Az üres klóz (NIL) előállításáig: a klózhalmazból két rezolválható klóz választása, a kiválasztott klózok rezolvensének képzése, a rezolvens klóz hozzáadása a klózhalmazba. TÉTELBIZONYÍTÁS REZOLÚCIÓVAL

29 LOGIKA 29 rezolválható klózok: komplemens literálpárt tartalmaznak komplemens literálpár: egy logikai változó és a negáltja együtt rezolvens klóz: komplemens literálok elhagyása után maradó részek diszjunkcióval összekapcsolva üres klóz: NIL, minden reprezentációban hamis rezolúció tulajdonságai: algoritmusa nemdeterminisztikus C1:  p  q  p  r C2:  q  r  p   s C3:  s   r  s C4: p NIL C5: s helyes (logikai következmény) teljes (minden logikai következmény belátható rezolúcióval) TÉTELBIZONYÍTÁS REZOLÚCIÓVAL

30 PREDIKÁTUMKALKULUS (ELSŐRENDŰ LOGIKA)

31 LOGIKA 31 PREDIKÁTUMKALKULUS Alapok: az elsőrendű logika felosztja a világot objektumokra, az objektumok tulajdonságaira, az objektumok közti relációkra. igaz vagy hamis állítások reprezentálása a kijelentések egy alaphalmaz elemeire vonatkoznak konstansok, változók, függvények, predikátumok minden, létezik

32 LOGIKA 32 PREDIKÁTUMKALKULUS - SZINTAXIS jelkészlet elválasztó jelek:, ( ) logikai műveleti jelek:      kvantorok:   objektumváltozók, változók: x, y, z,... objektumkonstansok, konstansok: a, b, c,... függvényszimbólumok: f, g, h,... ítéletváltozók (logikai változók): p, q, r,... ítéletkonstansok: T, F predikátumszimbólumok: P, Q, R,...

33 LOGIKA 33 PREDIKÁTUMKALKULUS - SZINTAXIS szintaxis szabályai term minden objektumkonstans term minden objektumváltozó term ha f n-argumentumú függvényszimbólum és t 1,...,t n termek, akkor f(t 1,...,t n ) is term atomi formula minden ítéletkonstans atomi formula minden ítéletváltozó atomi formula ha P n-argumentumú predikátumszimbólum és t 1,...,t n termek, akkor P(t 1,...,t n ) atomi formula

34 LOGIKA 34 PREDIKÁTUMKALKULUS - SZINTAXIS szintaxis szabályai formula (jól formált formula, wff) minden atomi formula egyben formula is ha A és B formulák, akkor a  A, (A  B), (A  B), (A  B), (A  B) kifejezések is formulák ha A egy formula és x egy változó, akkor a  x A,  x A kifejezések is formulák wff? szereti(Kati, kutyája(Kati)  macskája(Kati)) szereti(Kati,  f drága(f)) szereti(Kati, x)  x szereti(Kati, x)  x szereti(Kati, x)  x [P(x, y)   y Q(x, y)]

35 LOGIKA 35 PREDIKÁTUMKALKULUS - PÉLDA állítások: A1: Van olyan páciens, aki minden doktorban megbízik. A2: A kuruzslókban egyetlen páciens sem bízik meg. A3: Egyetlen doktor sem kuruzsló. A1 és A2 állításokból következik-e A3? predikátumok: P(x):x egy páciens D(y):y egy doktor K(z):z egy kuruzsló M(x,y):x megbízik y-ban formulák: F1:  x {P(x)   y [D(y)  M(x,y)]} F2:  x {P(x)   y [K(y)   M(x, y)]} vagy F2:  x  y {[P(x)  K(y)]   M(x, y)} F3:  x [D(x)   K(x)]

36 LOGIKA 36 PREDIKÁTUMKALKULUS - SZEMANTIKA interpretáció értelmezés alaphalmazának megválasztása (U   ) hozzárendelések: minden konstans szimbólumnak egy elem megfeleltetése U-ból minden n-argumentumú függvényszimbólumhoz egy U n  U leképezés rendelése minden n-argumentumú predikátumszimbólumnak egy U n  {T, F} leképezés megfeleltetése Példa:  x [P(f(x,x),a)  P(x,a)] U: természetes számok a: 1 f(x,x): x 2 P(x,y): x=y  x [(x 2 =1)  (x=1)]

37 LOGIKA 37 PREDIKÁTUMKALKULUS - SZEMANTIKA kiértékelés ha A, B formulák igazságértéke ismert, akkor  A, (A  B), (A  B), (A  B), (A  B) formulák igazságértékének meghatározása (igazságtábla)  x A igazságértéke T, ha A formula minden x  U esetén T, egyébként F  x A igazságértéke T, ha A formula legalább egy x  U esetén T, egyébként F

38 LOGIKA 38 PREDIKÁTUMKALKULUS - SZEMANTIKA Kielégíthető formula: van modellje.  x [(x 2 = 1)  (x = 1)] U: természetes számok  modellje U: egész számok  nem modellje Érvényes formula (tautológia): minden modellben benne van.  x p(x)   y  p(y) Kielégíthetetlen formula (ellentmondás): nincs modellje.  x p(x)   y  p(y) formulák kiértékelése az összes lehetséges interpretációban???

39 LOGIKA 39 FORMULÁK EKVIVALENCIÁJA Logikai törvények:. 12.Qx A(x)  B = Qx (A(x)  B)Q:  vagy  Qx A(x)  B = Qx (A(x)  B) 13.  (  x A(x)) =  x  A(x)  (  x A(x)) =  x  A(x) 14.  x A(x)   x B(x) =  x (A(x)  B(x))  x A(x)   x B(x) =  x (A(x)  B(x)) 15.Qx A(x)  Qx B(x) = Qx Qy (A(x)  B(y)) Qx A(x)  Qx B(x) = Qx Qy (A(x)  B(y)) (14)  x A(x)   x B(x)   x (A(x)  B(x))!!  x A(x)   x B(x) =  x A(x)   y B(y) =  x  y (A(x)  B(y)) - (15)  x A(x)   x B(x)   x (A(x)  B(x))!!  x A(x)   x B(x) =  x A(x)   y B(y) =  x  y (A(x)  B(y)) - (15)

40 LOGIKA 40 LOGIKAI KÖVETKEZMÉNY F1:  x (P(x)  Q(x)) F2: P(a) F3: Q(a) F1 és F2 formulákból következik-e F3? Logikai következmény definíciója alapján: F1 igaz minden x-re, speciálisan a-ra is F2 igaz  F3 is igaz (implikáció) Cáfoló módszer (kielégíthetetlenség): F1  F2   F3 kielégíthetetlen

41 LOGIKA 41 TÉTELBIZONYÍTÁS REZOLÚCIÓVAL  a 1 ...   a m  b 1 ...  b k  c 1 ...   c n  d 1 ...  d l ahol d j = a i  a 1 ..   a i ..   a m   c 1 ..   c n  b 1 ..  b k  d 1 ..  d j ..  d l Problémák: normálformára hozás kvantorok kezelése egyesítés

42 LOGIKA 42 NORMÁLFORMÁRA HOZÁS a) A  B = (A  B)  (B  A)(  kiküszöbölése) A  B =  A  B(  kiküszöbölése) b)  (A  B) =  A   B(  hatáskörének redukálása)  (A  B) =  A   B  A = A  x A(x) =  x  A(x)  x A(x) =  x  A(x) c) változók standardizálása - változók átnevezése, hogy az egyes kvantorok által lekötött változók különbözzenek (nem csak formulán belül!)  x (P(x)   x Q(x))  x (P(x)   y Q(y))

43 LOGIKA 43 NORMÁLFORMÁRA HOZÁS d) egzisztenciális kvantorok kiküszöbölése  x P(x)  h háza(h, János) P(a)háza(Sk_1, János) Skolem konstans  x  y P(x,y)  sz  h háza(h, sz)  x P(x, g(x))  sz háza(Sk_2(sz), sz)  x 1,...,x n  y P(y)  x 1,...,x n P(g(x 1,...,x n )) Skolem függvény  y  x P(x, y)  h  sz háza(h, sz)  x P(x, b)  sz háza(Sk_3, sz) Skolem konstans

44 LOGIKA 44 NORMÁLFORMÁRA HOZÁS e) prenex formára hozás csak  -k maradtak (a változókat standardizáltuk)  kiemelése  x 1...  x n A(x 1,...,x n ) f) univerzális kvantorok elhagyása g) klózok kialakítása csak  és  műveletek A  (B  C) = (A  B)  (A  C) klózok konjunkciójának létrehozása h) konjunkciók elhagyása (klózhalmaz)

45 LOGIKA 45 EGYESÍTÉS/UNIFIKÁCIÓ  x szereti(Fifi, x)  y szereti(y, alma) szereti(Fifi, alma) kötési/helyettesítési lista: véges  halmaz, amelyben minden v i változó, minden t i term és v i -k különbözőek  = {v 1  t 1,..., v n  t n }  = {x  alma, y  Fifi} kötés/helyettesítés: p   p formula helyettesítése  -val S(x, g(x, y))  {x  1, z  345} = S(1, g(1, y)) p és q egyesíthető  -val: p   = q   legáltalánosabb egyesítő: legrövidebb kötési lista, amely egyesít 2 formulát

46 LOGIKA 46 EGYESÍTÉSI ALGORITMUS H = { P(x, u, f(g(x))), P(a, y, f(y)) } x, y, u: változók, a: konstans, f, g: függvény szimbólum, P: predikátum szimbólum különbségi halmaz: D 1. D = { x, a }  = { x  a } H = { P(a, u, f(g(a))), P(a, y, f(y)) } 2. D = { u, y }  = { x  a, u  y } H = { P(a, y, f(g(a))), P(a, y, f(y)) } 2. D = { g(a), y }  = { x  a, u  y, y  g(a) } H = { P(a, g(a), f(g(a))), P(a, g(a), f(g(a))) } x = f(x) ??? f(f(f….OCCUR CHECK – ELŐFORDULÁS-ELLENŐRZÉS

47 LOGIKA 47 TÉTELBIZONYÍTÁS REZOLÚCIÓVAL  a 1 ...   a m  b 1 ...  b k  c 1 ...   c n  d 1 ...  d l ahol d j   = a i   [  a 1 ...   a i ...   a m   c 1 ...   c n  b 1 ...  b k  d 1 ...  d j ...  d l ]   bináris rezolúció: a rezolválandó literálnak csak 1-1 előfordulását választjuk ki mindkét szülő klózból tulajdonságai: helyes nem teljes nemdeterminisztikus

48 LOGIKA 48 TÉTELBIZONYÍTÁS REZOLÚCIÓVAL K 1 : P(x)  P(a) K 2 :  P(y)   P(a) K 1 mindkét és K 2 első literáljának egyesítése: H =  P(x), P(a), P(y)  =  x  a, y  a  K 3 :  P(a) K 1 első és K 2 mindkét literáljának egyesítése: H =  P(x), P(a), P(y)  =  x  a, y  a  K 4 : P(a) K 3 és K 4 klózok rezolválása:NIL bináris rezolúcióval: K 1 – 1, K 2 – 1, x|yK 3 : P(a)   P(a) tautológia (törölhető) K 1 – 2, K 2 – 1, y|a K 4 : P(x)   P(a) K 1 – 2, K 2 – 2K 5 : P(x)   P(y) K 1 – 1, K 2 – 2, x|a K 6 : P(a)   P(y) … NIL nem érhető el

49 LOGIKA 49 TÉTELBIZONYÍTÁS REZOLÚCIÓVAL FAKTORIZÁCIÓ bináris rezolúció teljessé tehető faktorizációval C klóz egy faktora: C| , (  egy legáltalánosabb egyesítő helyettesítés, amely C két vagy több literálját azonossá teszi) klóz faktorizációja: klóz összes faktorának előállítása klózhalmaz faktorizációja: klózhalmaz összes klózának faktorizációja faktorhalmaz: faktorizáció műveletével kibővített klózhalmaz

50 LOGIKA 50 TÉTELBIZONYÍTÁS REZOLÚCIÓVAL P(x, a)  P(y, z)  P(z, x) klóz összes faktora: P(y, a)  P(a, y)(1. és 2. literál egyesítése,  = {x|y, z|a}) P(a, a)  P(y, a)(1. és 3. literál egyesítése,  = {z|x, x|a})) P(x, a)  P(x, x)(2. és 3. literál egyesítése,  = {y|z, z|x})) P(a, a)(1., 2. és 3. literál egyesítése,  = {x|y, z|y, y|a})) K 1 : P(x)  P(a) K 2 :  P(y)   P(a) K 1 ’: P(a) K 2 ’:  P(a)

51 LOGIKA 51 TÉTELBIZONYÍTÁS REZOLÚCIÓVAL A 1 : Van olyan páciens, aki minden doktorban megbízik. A 2 : A kuruzslókban egyetlen páciens sem bízik meg. A 3 : Egyetlen doktor sem kuruzsló. F 1 :  x {P(x)   y [D(y)  M(x,y)]} F 2 :  x {P(x)   y [K(y)   M(x, y)]} F 3 :  x [D(x)   K(x)] F 3 negáltja:  x [D(x)   K(x)] klóz forma: K 1 : P(a) K 2 :  D(y)  M(a, y) K 3 :  P(x)  K(y)  M(x, y) K 4 : D(b) K 5 : K(b) F 1 -ből, a: skolem konstans F 2 -ből  F 3 -ból, b: skolem konstans

52 LOGIKA 52 TÉTELBIZONYÍTÁS REZOLÚCIÓVAL P(a)  D(y)  M(a,y)  P(x)  K(y)  M(x,y) D(b) K(b) x|a y|b  K(y)  M(a,y) M(a,b)  M(a,b) NIL

53 LOGIKA 53 VÁLASZADÁS REZOLÚCIÓVAL ítéletkalkulus: válaszadással nincs probléma (T, F) predikátumkalkulus:  x W(x) – T, F  x W(x)– T, F x ?? válasz kialakításának automatizálása ?? kérdés-felelet probléma válasz meghatározása logikai következtetést igényel

54 LOGIKA 54 VÁLASZADÁS REZOLÚCIÓVAL  x h(János, x)  h(Fifi, x)  h(János, x)  h(Fifi,x)h(János, park)  x h(Fifi, x)  h(Fifi, x)  h(Fifi,x)  h(János, x)  h(János, x)  h(Fifi,x) NIL h(János, park) cáfolati gráf  h(Fifi,x)  h(Fifi,x)  h(János, x)  h(Fifi,x) NIL  h(Fifi,park) h(János, park) bizonyítási gráf

55 LOGIKA 55 VÁLASZADÁS REZOLÚCIÓVAL A VÁLASZADÁSI ELJÁRÁS célállítás negálásából származó klózokat kiegészítjük tautológiává (diszjunkcióval saját negáltját hozzáfűzzük – ez a helyettesítésben igen, a rezolválásban nem vesz részt) cáfolati gráffal azonos szerkezetű bizonyítási gráfot hozunk létre a bizonyítási gráf gyökérelemében találjuk a választ

56 LOGIKA 56 VÁLASZADÁS REZOLÚCIÓVAL Ha a válaszban Skolem konstans vagy Skolem függvény van ?? A 1 : Minden x, y és z személyre, ha x szülője y-nak és y szülője z-nek, akkor x nagyszülője z-nek. A 2 : Mindenkinek van szülője. A 3 : Van-e olyan x és z személy, hogy x nagyszülője z-nek? F 1 :  x  y  z (S(x,y)  S(y,z))  N(x,z)K 1 :  S(x,y)   S(y,z)  N(x,z) F 2 :  x  y S(y,x)K 2 : S(g(w),w) F 3 :  x  z N(x,z)K 3 :  N(u, v)  N(u, v)  N(u, v)  S(x, y)   S(y, z)  N(x, z)  S(u, y)   S(y, v)  N(u, v)S(g(w), w)  S(u, g(v))  N(u, v)S(g(w), w) NIL  N(g(g(v)), v)

57 LOGIKA 57 VÁLASZADÁS REZOLÚCIÓVAL Ha univerzálisan kötött változók a célállításban: negáció során  -ból  lesz (Skolem konstans vagy Skolem függvény a válaszban) A 1 : Mindenki gyermeke szülőjének. A 2 : Ha x gyermeke y-nak, akkor y szülője x-nek. A 3 : Ki egy tetszőleges x-nek a szülője? F 1 :  x G(x, s(x))K 1 : G(x, s(x)) F 2 :  x  y G(x, y)  S(y, x)K 2 :  G(z, y)  S(y, z) F 3 :  x  y S(y, x)K 3 :  S(u, a) a: Skolem konstans  S(u, a)  S(u, a)  G(z, y)  S(y, z)  G(a, u)  S(u, a)G(x, s(x)) NIL  S(s(a), a)

58 LOGIKA 58 VÁLASZADÁS REZOLÚCIÓVAL F 1 : P(z, u, z)  P(a, u, u) F 2 :  x  z  y P(x, z, y) K 1 : P(z, u, z)  P(a, u, u) K 2 :  P(x, g(x), y) g: Skolem függvény (változóval helyettesíthető, de az egyesítés során ez nem helyettesíthető)  P(x, w, y)  P(x, w, y)P(z, u, z)  P(a, u, u) P(z, w, z)  P(a, w, w) NIL  P(z, w, z)  P(a, w, w)

59 REZOLÚCIÓS STRATÉGIÁK

60 LOGIKA 60 REZOLÚCIÓ HATÉKONYSÁGÁNAK NÖVELÉSE a rezolúció nemdeterminisztikus stratégiák a bizonyítás irányába történő kereséshez K 1 :  P(x)  Q(x) K 2 :  R(y)   Q(y) K 3 : R(a) K 4 : U(a) K 5 :  U(z)  P(z) cáfolati gráf üres klóz egy levezetése része a teljes rezolúciós gráfnak NIL R(a)  R(a)  U(z)  P(z) U(a) P(a)  P(x)  Q(x) Q(a)  R(y)   Q(y)

61 LOGIKA 61 REZOLÚCIÓ HATÉKONYSÁGÁNAK NÖVELÉSE teljes rezolúciós gráf: kiindulási klózhalmaz elemei + minden lehetséges rezolvens klóz véges vagy végtelen üres klóz többször lehet U(a)  U(z)  P(z)  P(x)  Q(x)  R(y)   Q(y) R(a) P(a)  U(z)  Q(z)  P(y)   R(y)  Q(a) Q(a)  R(a) Q(a)  U(z)  R(z)  U(z)  R(z)  P(a)  U(a)... NIL...  R(a)... NIL... teljes rezolúciós gráf részlete

62 LOGIKA 62 REZOLÚCIÓ HATÉKONYSÁGÁNAK NÖVELÉSE rezolúció algoritmusa nemdeterminisztikus melyik két klózt rezolváljuk kiválasztott klózpárban több illeszthető komplemens literálpár esetén melyiket rezolváljuk milyen egyesítési listát használjunk rezolúciós stratégia korlátozza a rezolvensképzésre választható klózpárok halmazát és/vagy szabályozza a rezolvensképzés sorrendjét

63 LOGIKA 63 REZOLÚCIÓ SZÉLESSÉGI KERESÉSSEL 1. szintű rezolvensek (kiindulási klózhalmaz rezolvensei) 2. szintű rezolvensek (kiindulási klózhalmaz + 1. szintű rezolvensek rezolvensei)... szabályozza a rezolvensképzés sorrendjét legrövidebb cáfolati gráfok egyike teljes memóriaigény!

64 LOGIKA 64 TÁMOGATÓ HALMAZ STRATÉGIA támogató halmaz: a bizonyítandó célállítás negáltjából származó klózok és ezek leszármazottai korlátozza a rezolvensképzésre választható klózpárok halmazát teljes  U(z)  P(z) U(a)  P(x)  Q(x)  R(y)   Q(y) R(a) P(a)  U(z)  Q(z) Q(a)  U(z)  R(z) Q(a)  R(a)  U(a)  R(a)  R(a) NIL

65 LOGIKA 65 LINEÁRIS INPUT STRATÉGIA korlátozó feltétel: a rezolvensképzésben részt vevő klózok legalább egyike a kiinduló klózhalmazból való U(a)  U(z)  P(z)  P(x)  Q(x)  R(y)   Q(y) R(a) P(a)  U(z)  Q(z)  P(y)   R(y)  Q(a) Q(a) Q(a)  U(z)  R(z)  U(z)  R(z)  P(a)  R(a)  R(a)  U(a)  U(a) NIL

66 LOGIKA 66 LINEÁRIS INPUT STRATÉGIA nem teljes K 1 :  Q(x)   P(x) K 2 :  Q(y)  P(y) K 3 : Q(z)   P(z) K 4 : Q(w)  P(a) Prolog (Horn klózok körében teljes)

67 LOGIKA 67 ŐSRE KORLÁTOZOTT STRATÉGIA korlátozó feltétel: a rezolvensképzésben részt vevő egyik klóz a kiinduló klózhalmazból való vagy a másik klóz egy őse (lineáris input stratégia "gyengített" változata) teljes NIL  Q(x)   P(x) Q(w)  P(a)  Q(y)  P(y) Q(z)   P(z) (  )  P(x)  Q(y) P(a)

68 LOGIKA 68 EGYSÉGKLÓZ STRATÉGIA egységklóz: egy literálból áll a rezolvensképzésben előnyben részesíti az egységklózt (legalább az egyik szülő egységklóz) rövidebb rezolvens klóz – legalább egy literállal csökkenti a másik szülő klóz hosszát a...   a ... aa...  a ...

69 LOGIKA 69 EGYSÉGKLÓZ STRATÉGIA nem teljes javítás: mélységi korlátig egységklóz stratégia mélységi korlát után más stratégiára áttérés mélységi korlát?? U(a)  U(z)  P(z)  P(x)  Q(x)  R(y)   Q(y) R(a) P(a)  Q(a) Q(a)  P(a) NIL  U(a)  R(a) NIL NIL

70 LOGIKA 70 EGYSZERŰSÍTŐ STRATÉGIÁK klózhalmaz méretének csökkentése: klózok elhagyása a klózhalmazból literálok elhagyása a klózból ha az eredeti klózhalmaz kielégíthetetlen volt, egyszerűsítés után is kielégíthetetlen marad 1. Tautológiák elhagyása p(x)  b(y)   b(y) p(f(x))  q(y)   p(f(x)) p(x)   p(y) !!

71 LOGIKA 71 EGYSZERŰSÍTŐ STRATÉGIÁK 2. Befoglaló klózok elhagyása D a C befoglaló klóza, ha létezik  helyettesítés úgy, hogy C|  része D-nek. p(x)p(y)  q(z) p(x)p(a) p(x)  q(a)p(f(a))  q(a)  r(y) p(x)  p(x)  p(f(x)) befoglaló klózok 3. Idegen literált tartalmazó klózok elhagyása idegen literál: nem lehet rezolválni...  a    a ... nincs az adatbázisban klóz törlése  új törlések

72 LOGIKA 72 REZOLÚCIÓ - PÉLDA V-t meggyilkolták gyanúsítottak: X, Y, Z X:"ártatlan vagyok"ártatlan(X)  ártatlan(X) "Y barátja V-nek"ártatlan(X)  barát(Y, V)(1) "Z gyűlölte V-t"ártatlan(X)   szereti(Z, V)(2) Y:"nem voltam a városban"ártatlan(Y)   városban(Y)(3) "nem ismerem V-t"ártatlan(Y)   ismeri(Y, V)(4) Z:"ártatlan vagyok„ártatlan(Z)  ártatlan(Z) "X és Y V-vel volt"ártatlan(Z)  vele(X, V)(5) ártatlan(Z)  vele(Y, V)(6)

73 LOGIKA 73 REZOLÚCIÓ - PÉLDA "V-t a városban ölték meg"vele(gy, V)  városban(gy)(7) "barát  ismeri"barát(i, j)  ismeri(i, j) (8) "szereti  ismeri"szereti(i, j)  ismeri(i, j) (9) mindenki igazat mond a gyilkos hazudhat ártatlan(X)  ártatlan(Y)(10) ártatlan(X)  ártatlan(Z)(11) ártatlan(Y)  ártatlan(Z)(12) Kérdés:  ártatlan(gy) ártatlan(gy)   ártatlan(gy)(13)

74 LOGIKA 74 REZOLÚCIÓ - PÉLDA  á(X)  b(Y,V)  b(i, j)  i(i,j)  á(Z)  ve(Y,V)  ve(gy,V)  vá(gy)  á(X)  i(Y,V)  á(Y)   i(Y,V)  á(Z)  vá(Y)  á(Y)   vá(Y)  á(X)   á(Y) á(X)  á(Z)  á(Z)   á(Y)  á(Y)  á(Z)  á(Y) á(gy)  á(gy) NIL   á(Y)


Letölteni ppt "LOGIKA (LOGIC). LOGIKA 2 TUDÁSREPREZENTÁCIÓ ÉS KÖVETKEZTETÉS Analógia Hogyan oldunk meg egy problémát hagyományos programozással? Hogyan bírható rá egy."

Hasonló előadás


Google Hirdetések