270 likes | 371 Views
MI 2003/7 - 1. Az egyesítési algoritmus Minden kapitalista kizsákmányoló. Mr. Smith kapitalista. Mr. Smith kizsákmányoló. 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). MI 2003/7 - 3.
E N D
MI 2003/7 - 1 • Az egyesítési algoritmus Minden kapitalista kizsákmányoló. Mr. Smith kapitalista. Mr. Smith kizsákmányoló.
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)
MI 2003/7 - 3 • Az = {1/t1, …, n/tn} halmazt helyettesítésnek nevezzük, ha 1, …, n egymástól különböző változók, t1, …, tn termek és ti i(1 i n). Vigyázat, kvantorok jelenléte esetén a hatáskörökre is tekintettel kell lenni - megengedett helyettesítés
MI 2003/7 - 4 • Legyen = {1/t1, …, n/tn} 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 t1, …, tn-nel helyettesítjűk. • Példa: A = P(x,f(x),y), = {x/y, y/g(a)}
MI 2003/7 - 5 • Helyettesítések kompozíciója Az = {x1/t1, …, xn/tn} és = {y1/v1, …, ym/vm} helyettesítések kompozícióját úgy kapjuk, hogy az {x1/t1, …, xn/tn, y1/v1, …, ym/vm} halmazból töröljük mindazokat a xi/ti elemeket, amelyekre xi=ti, és azokat az yj/vjelemeket,amelyekreyi megegyezik az x1, …, xn valamelyikével. Példa: = {x/f(y), y/z}, = {x/a, y/b, z/y}
MI 2003/7 - 6 • Az A1, A2, …, An formulák egyesíthetők, ha van olyan helyettesítés, amelyre A1 = A2 = …= An. Az A1, A2, …, Anlegá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ű).
MI 2003/7 - 7 • Az A1, A2, …, An 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 A1, A2, …, An 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}
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
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.
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)))
MI 2003/7 - 11 • A rezolúció (alapelv változatlan): 1. Az A1, A2, …, An, 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.
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 C1 és C2 klózokat akkor mondjuk rezolválhatónak, ha található bennük olyan komplemens literálpár (pl. C1-ben P, C2-ben P), hogy a klózokat
MI 2003/7 - 13 C1= P(t11, …, t1n)... P(tr1, …, trn) C1’ C2= P(u11, …, u1n)... P(us1, …, usn) C2’ alakba írva, a P(t11, …, t1n),…,P(tr1, …, trn), P(u11, …, u1n), …, P(us1, …, usn) 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.
MI 2003/7 - 14 • A rezolvens tehát: C1’ C2’ • Példa: C1 = P(x1,a) P(x1, y1) P(y1, x1) C2 = P(x2,f(x2)) P(x2,a)
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 (C1’és C2’ is tartalmazhatja P-t) • Parciálisan eldönthető • Rövidítések (tiszta változó, tautológia…)
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?
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.
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.
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)
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. xyz ((S(x,y)S(y,z)N(x,z)) 2. yxS(x,y) 3. xzN(x,z)
MI 2003/7 - 21 • Elsőrendű predikátumkalkulus alkalmazása: PROLOG nyelv. Logikai program elemei: P1. P2. 12...n , n 1 alakú állítások, valamint P3. ? 12... 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.
MI 2003/7 - 22 • Példa: 1. Az A tárgy kisebb, mint a B tárgy. 2. A Btá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?
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.
MI 2003/7 - 24 • Definíció. Horn-klóz: legfeljebb egy pozitív literál (nem-negált). Lehetséges alakjai: H1. 12... n , n 0, H2. 12... m , m 1, ahol , i, jpozitív literálok. • Itt H1 n 1-re P2-vel, n= 0 -ra P1-el, H2 pedig P3 negáltjával ekvivalens.