U umjetnoj inteligenciji, ulančavanje prema naprijed i unatrag jedna je od važnih tema, ali prije razumijevanja ulančavanja prema naprijed i unatrag, prvo ćemo shvatiti odakle ova dva pojma dolaze.
podcrtavanje teksta css-om
Motor za zaključivanje:
Stroj za zaključivanje komponenta je inteligentnog sustava u umjetnoj inteligenciji, koji primjenjuje logička pravila na bazu znanja za izvođenje novih informacija iz poznatih činjenica. Prvi mehanizam za zaključivanje bio je dio ekspertnog sustava. Stroj za zaključivanje obično radi u dva načina, a to su:
Hornova klauzula i definitivna klauzula:
Hornova klauzula i definitivna klauzula oblici su rečenica, što bazi znanja omogućuje korištenje ograničenijeg i učinkovitijeg algoritma zaključivanja. Algoritmi logičkog zaključivanja koriste pristupe ulančavanja unaprijed i unatrag, koji zahtijevaju KB u obliku određena rečenica prvog reda .
Određena klauzula: Klauzula koja je disjunkcija literala sa točno jedan pozitivan literal poznata je kao definitivna klauzula ili stroga klauzula o rogu.
Horn klauzula: Klauzula koja je disjunkcija literala sa najviše jedan pozitivan literal poznata je kao klauzula o rogu. Stoga su sve definitivne rečenice rogove.
Primjer: (¬ p V ¬ q V k) . Ima samo jedan pozitivni literal k.
To je ekvivalentno p ∧ q → k.A. Lančano prosljeđivanje
Ulazno ulančavanje također je poznato kao unaprijedna dedukcija ili metoda unaprijed zaključivanja kada se koristi mehanizam za zaključivanje. Ulančavanje prema naprijed oblik je zaključivanja koji započinje atomskim rečenicama u bazi znanja i primjenjuje pravila zaključivanja (Modus Ponens) u smjeru prema naprijed kako bi izvukao više podataka dok se ne postigne cilj.
Algoritam za ulančavanje unaprijed polazi od poznatih činjenica, pokreće sva pravila čije su premise zadovoljene i dodaje svoj zaključak poznatim činjenicama. Ovaj proces se ponavlja dok se problem ne riješi.
Svojstva ulančavanja prema naprijed:
- To je pristup prema dolje prema gore, jer se kreće odozdo prema gore.
- To je proces donošenja zaključaka na temelju poznatih činjenica ili podataka, polazeći od početnog stanja do ciljnog stanja.
- Pristup lančanog usmjeravanja također se naziva i pristup vođen podacima jer dolazimo do cilja koristeći dostupne podatke.
- Pristup lančanog povezivanja obično se koristi u ekspertnim sustavima, kao što su CLIPS, poslovni i proizvodni sustavi pravila.
Razmotrimo sljedeći poznati primjer koji ćemo koristiti u oba pristupa:
Primjer:
'Prema zakonu, Amerikanac je zločin prodati oružje neprijateljskim nacijama. Država A, neprijatelj Amerike, ima neke projektile, a sve projektile prodao joj je Robert, koji je američki državljanin.'
Dokaži to 'Robert je kriminalac.'
Kako bismo riješili gornji problem, prvo ćemo pretvoriti sve gore navedene činjenice u definitivne klauzule prvog reda, a zatim ćemo upotrijebiti algoritam za ulančavanje prema naprijed da postignemo cilj.
Pretvorba činjenica u FOL:
- Za Amerikanca je zločin prodavati oružje neprijateljskim nacijama. (Recimo da su p, q i r varijable)
Amerikanac (p) ∧ oružje(q) ∧ prodaje (p, q, r) ∧ neprijateljski(r) → Kriminalac(p) ...(1) - Zemlja A ima nekoliko projektila. ?p Posjeduje(A, p) ∧ Projektil(p) . Može se napisati u dvije određene rečenice korištenjem egzistencijalne instancije, uvodeći novu konstantu T1.
Posjeduje (A, T1) ......(2)
Projektil (T1) .......(3) - Robert je sve projektile prodao zemlji A.
?p Projektili(p) ∧ Posjeduje (A, p) → Prodaje (Robert, p, A) ......(4) - Rakete su oružje.
Projektil(p) → Oružje (p) .......(5) - Neprijatelj Amerike poznat je kao neprijateljski raspoložen.
Neprijatelj(p, Amerika) →Neprijatelj(p) ........(6) - Država A je neprijatelj Amerike.
Neprijatelj (A, Amerika) .........(7) - Robert je Amerikanac
Amerikanac (Robert). ..........(8)
Dokaz za ulančavanje naprijed:
Korak 1:
U prvom koraku krenut ćemo s poznatim činjenicama i odabrati rečenice koje nemaju implikacije, kao što su: Amerikanac (Robert), Neprijatelj (A, Amerika), Vlasnik (A, T1) i Projektil (T1) . Sve ove činjenice bit će prikazane kako slijedi.
Korak 2:
U drugom koraku ćemo vidjeti one činjenice koje proizlaze iz dostupnih činjenica i sa zadovoljenim premisama.
Pravilo-(1) ne zadovoljava premise, pa neće biti dodano u prvoj iteraciji.
Pravilo-(2) i (3) su već dodana.
Pravilo-(4) zadovoljava zamjenom {p/T1}, pa prodaje (Robert, T1, A) dodaje se, što proizlazi iz spoja pravila (2) i (3).
Pravilo-(6) je zadovoljno zamjenom (p/A), pa je dodan Neprijateljski(A), što proizlazi iz Pravila-(7).
Korak-3:
U koraku-3, kao što možemo provjeriti je li Pravilo-(1) zadovoljno zamjenom {p/Robert, q/T1, r/A}, tako da možemo dodati Criminal(Robert) koji zaključuje sve dostupne činjenice. I tako smo postigli naš cilj.
Stoga je dokazano da je Robert kriminalac koristeći pristup ulančavanja naprijed.
B. Ulančavanje unazad:
Ulančavanje unatrag poznato je i kao metoda dedukcije unatrag ili rezoniranja unatrag kada se koristi mehanizam za zaključivanje. Algoritam ulančavanja unatrag oblik je rezoniranja koji počinje s ciljem i radi unatrag, ulančavajući pravila kako bi se pronašle poznate činjenice koje podupiru cilj.
Svojstva ulančavanja unatrag:
- Poznat je kao pristup odozgo prema dolje.
- Ulančavanje unazad temelji se na pravilu modus ponens zaključivanja.
- U ulančavanju unatrag, cilj se dijeli na podcilj ili podciljeve kako bi se dokazala istinitost činjenica.
- Naziva se pristupom usmjerenim na cilj jer popis ciljeva odlučuje koja će se pravila odabrati i koristiti.
- Algoritam ulančavanja unazad koristi se u teoriji igara, automatiziranim alatima za dokazivanje teorema, mehanizmima za zaključivanje, pomoćnicima za dokazivanje i raznim AI aplikacijama.
- Metoda ulančavanja unatrag uglavnom koristi a dubinsko pretraživanje strategija za dokazivanje.
Primjer:
U ulančavanju unazad, koristit ćemo isti gornji primjer i ponovno ćemo napisati sva pravila.
Posjeduje (A, T1) ........(2)
Dokaz za ulančavanje unatrag:
U ulančavanju unazad, počet ćemo s našim predikatom cilja, koji je Kriminalac (Robert) , a zatim zaključite daljnja pravila.
Korak 1:
U prvom koraku uzet ćemo činjenicu cilja. A iz činjenice cilja, zaključit ćemo druge činjenice, i na kraju ćemo dokazati da su te činjenice istinite. Dakle, činjenica našeg cilja je 'Robert je kriminalac', pa je predikat toga slijediti.
Korak 2:
U drugom koraku ćemo izvesti druge činjenice iz činjenice cilja koja zadovoljava pravila. Dakle, kao što možemo vidjeti u Pravilu-1, predikat cilja Kriminalac (Robert) prisutan je sa zamjenom {Robert/P}. Stoga ćemo dodati sve konjunktivne činjenice ispod prve razine i zamijenit ćemo p s Robert.
Ovdje možemo vidjeti da je Amerikanac (Robert) činjenica, pa je to ovdje dokazano.
Korak-3: t U koraku-3, izdvojit ćemo daljnju činjenicu Missile(q) koja se izvodi iz Weapon(q), budući da zadovoljava Pravilo-(5). Oružje (q) je također istinito sa zamjenom konstante T1 na q.
Korak-4:
U koraku 4, možemo zaključiti činjenice Missile(T1) i Owns(A, T1) iz oblika Sells(Robert, T1, r) koji zadovoljava Pravilo - 4 , sa zamjenom A umjesto r. Dakle, ove dvije tvrdnje su ovdje dokazane.
Korak-5:
U koraku 5 možemo zaključiti činjenicu Neprijatelj (A, Amerika) iz Neprijateljski (A) što zadovoljava Pravilo-6. I stoga se sve tvrdnje dokazuju istinitima korištenjem ulančavanja unazad.