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

MI 2003/7 - 1 Az egyesítési algoritmus Minden kapitalista kizsákmányoló. Mr. Smith kapitalista. Mr. Smith kizsákmányoló.

Hasonló előadás


Az előadások a következő témára: "MI 2003/7 - 1 Az egyesítési algoritmus Minden kapitalista kizsákmányoló. Mr. Smith kapitalista. Mr. Smith kizsákmányoló."— Előadás másolata:

1 MI 2003/7 - 1 Az egyesítési algoritmus Minden kapitalista kizsákmányoló. Mr. Smith kapitalista. Mr. Smith kizsákmányoló.

2 MI 2003/7 - 2 Formálisan A1.  x (Kap(x)  Kizs(x)) A2. Kap(Mr. Smith) B. Kizs(Mr. Smith) x/Mr. Smith helyettesítés (illesztés)

3 MI 2003/7 - 3 Az  = { 1 /t 1, …, n /t n } halmazt helyettesítésnek nevezzük, ha 1, …, n egymástól különböző változók, t 1, …, t n termek és t i  i (1  i  n). Vigyázat, kvantorok jelenléte esetén a hatáskörökre is tekintettel kell lenni - megengedett helyettesítés

4 MI 2003/7 - 4 Legyen  = { 1 /t 1, …, n /t n } egy helyettesítés, A egy logikai formula. Az A  formulát az A egy példányának nevezzük, és úgy képezzük, hogy az A-ban a 1, …, n változók minden előfordulását egyidejűleg rendre t 1, …, t n -nel helyettesítjűk. Példa: A = P(x,f(x),y),  = {x/y, y/g(a)}

5 MI 2003/7 - 5 Helyettesítések kompozíciója Az  = {x 1 /t 1, …, x n /t n } és  = {y 1 /v 1, …, y m /v m } helyettesítések  kompozícióját úgy kapjuk, hogy az {x 1 /t 1 , …, x n /t n , y 1 /v 1, …, y m /v m } halmazból töröljük mindazokat a x i /t i  elemeket, amelyekre x i =t i , és azokat az y j /v j elemeket, amelyekre y i megegyezik az x 1, …, x n valamelyikével. Példa:  = {x/f(y), y/z},  = {x/a, y/b, z/y}

6 MI 2003/7 - 6 Az A 1, A 2, …, A n formulák egyesíthetők, ha van olyan  helyettesítés, amelyre A 1  = A 2  = …= A n . Az A 1, A 2, …, A n legáltalánosabb egyesítőjének nevezünk egy  egyesítő helyettesítést, ha bármely  egyesítő előállítható  -ból egy alkalmas he- lyettesítéssel:  -hoz van olyan  ’, hogy  =  ’ (nevektől eltekintve egyértelmű).

7 MI 2003/7 - 7 Az A 1, A 2, …, A n formulák különbségi halmazát úgy kapjuk meg, hogy először meghatározzuk balról jobbra az első olyan pozíciót, amelyen nem egyezik meg az összes A 1, A 2, …, A n formula, majd vesszük az összes különböző részformulát, amelyek ezen a pozíción kezdődnek. Példa: P(x,g(f(y,z),x), P(x,g(a,g(y,z))), P(x,g(a,b)) {f(y,z),a}

8 MI 2003/7 - 8 A legáltalánosabb egyesítő meghatározása: 1. Legyen kezdetben  az üres helyettesítés. 2. Amíg a formulák nem válnak azonossá, vagy HIBA nincs, addig

9 MI 2003/7 - 9 a. Képezzük a formulák D különbségi halmazát. b. Ha D-ben van olyan olyan változó, és t term, hogy nem szerepel t-ben, akkor - a kifejezésekre alkalmazzuk a { /t} helyettesítést, -  -ra is alkalmazzuk ezt a { /t} helyettesítést, különben HIBA.

10 MI 2003/7 - 10 Példa: A1 = Q(f(a),g(x)), A2 = Q(y,y) HIBA Példa: A1 = P(x,u,f(g(x))), A2 = P(a,y,f(y)) Eredmény: P(a,g(a),f(g(a)))

11 MI 2003/7 - 11 A rezolúció (alapelv változatlan): 1. Az A 1, A 2, …, A n,  B formulákat hozzuk klózformára (kiindulási klózhalmaz). 2. Amíg az üres klózhalmaz nem eleme a klózhalmaznak, a következő lépések: a. Válasszunk két rezolválható klózt, b. Képezzük a két klóz rezolvensét, c. Adjuk a rezolvens klózt a halmazhoz.

12 MI 2003/7 - 12 Lényeges különbség a rezolválhatóság megállapításánál és a rezolvensnél (egyesítés)!!! Egy klózban egy literál többször is előfordulhat. A C 1 és C 2 klózokat akkor mondjuk rezolválhatónak, ha található bennük olyan komplemens literálpár (pl. C 1 -ben P, C 2 -ben  P), hogy a klózokat

13 MI 2003/7 - 13 C 1 = P(t 11, …, t 1n ) ...  P(t r1, …, t rn )  C 1 ’ C 2 =  P(u 11, …, u 1n ) ...   P(u s1, …, u sn )  C 2 ’ alakba írva, a P(t 11, …, t 1n ),…, P(t r1, …, t rn ), P(u 11, …, u 1n ), …, P(u s1, …, u sn ) formulák egyesíthetők. Ha  a legáltalánosabb egyesítő, akkor a rezolvens: mindkét klózból elhagyjuk az egyesítésben résztvevő literálokat, a megmaradókat pedig a  alkalmazása után diszjunkcióval kapcsoljuk. 

14 MI 2003/7 - 14 A rezolvens tehát: C 1 ’   C 2 ’  Példa: C 1 =  P(x 1,a)   P(x 1, y 1 )   P(y 1, x 1 ) C 2 = P(x 2,f(x 2 ))  P(x 2,a)

15 MI 2003/7 - 15 A rezolúciós algoritmus nemdeterminisztikus: - Melyik két klózt rezolváljuk? - Két klózban több komplemens literálpár szerepelhet, melyiket? - Két klóznak több rezolvense is lehet (C 1 ’ és C 2 ’ is tartalmazhatja P-t) Parciálisan eldönthető Rövidítések (tiszta változó, tautológia…)

16 MI 2003/7 - 16 Gyakran kérdésekre kell választ adni, pl.: - Van-e olyan puli, amelyik nem harap? - Ki Péter barátnője? - Melyik folyó mellett van Olaszország fővárosa? - Milyen mozgássorozat oldja meg a Hanoi tornyai problémát?

17 MI 2003/7 - 17 Kérdés-felelet probléma. Általános megoldás: egy olyan x elem meghatározása a cél, amelyik kielégít egy bizonyos B(x) állítást. A kérdésből ekkor egy  xB(x) bizonyítandó állítást képezünk, és megpróbáljuk belátni, hogy ez következménye az axiómáknak.

18 MI 2003/7 - 18 Ha ez sikerült, akkor a rezolúció során alkalmazott egyesítő helyettesítésekből megkapható a keresett elem. Néha nehéz. Jobb: válaszadó eljárás. Itt a célállítás negáltjából származó klózokat kiegészítjük saját negáltjukkal, és így követjük végig az eredeti rezolóciót - a gyökérben megkapjuk a keresett elemet.

19 MI 2003/7 - 19 Példa Ha Leona mindenhova követi Jánost, és János a tanyán van, akkor hol van Leona? H(y,x): y az x helyen van (predikátum) 1.  x(H(János,x)  H(Leona,x)) 2. H(János,tanya) Kérdés:  xH(Leona,x)

20 MI 2003/7 - 20 Példa Ha x szülője y-nak, és y szülője z-nek, akkor x nagyszülője z-nek. Mindenkinek van szülője. Kérdés: van-e olyan x és z személy, hogy x nagyszülője z-nek? 1.  x  y  z ((S(x,y)  S(y,z)  N(x,z)) 2.  y  x S(x,y) 3.  x  z N(x,z)

21 MI 2003/7 - 21 Elsőrendű predikátumkalkulus alkalmazása: PROLOG nyelv. Logikai program elemei: P1.  P2.  1  2 ...  n  , n  1 alakú állítások, valamint P3. ?  1  2 ...   m, m  1 alakú kérdés, ahol ,  1,  2,...  n, ,  1,  2,...  m nemnegált atomi formulák, P1 és P2 változói univerzálisan, P3 változói egzisztenciális kvantáltak. P1, P2 az axiómák, P3 a bizonyítandó állítás.

22 MI 2003/7 - 22 Példa: 1. Az A tárgy kisebb, mint a B tárgy. 2. A B tárgy kisebb, mint a C tárgy. 3. Az A a C mögött van. 4. Ha az x tárgy kisebb, mint az y tárgy, és x takarva van y- nal, akkor x láthatatlan. 5. Ha az u tárgy a v tárgy mögött van, akkor u takarva van v- vel. 6. Van láthatatlan tárgy?

23 MI 2003/7 - 23 Logikai program “futása” (interpretálása): Adott a célok egy  1,  2,...,  m listája, ezeket egyesével megpróbáljuk levezetni a P1 és P2 premisszák segítségével.

24 MI 2003/7 - 24 Definíció. Horn-klóz: legfeljebb egy pozitív literál (nem-negált). Lehetséges alakjai: H1.   1  2 ...   n, n  0, H2.  1  2 ...   m, m  1, ahol ,  i,  j pozitív literálok. Itt H1 n  1-re P2-vel, n = 0 -ra P1-el, H2 pedig P3 negáltjával ekvivalens.

25 MI 2003/7 - 25

26 MI 2003/7 - 26

27 MI 2003/7 - 27


Letölteni ppt "MI 2003/7 - 1 Az egyesítési algoritmus Minden kapitalista kizsákmányoló. Mr. Smith kapitalista. Mr. Smith kizsákmányoló."

Hasonló előadás


Google Hirdetések