A mesterséges intelligenciában az előre és hátra láncolás az egyik fontos téma, de mielőtt megértené az előre és hátra láncolást, először is értsük meg, honnan származik ez a két kifejezés.
szórt fák
Következtető motor:
A következtetési motor a mesterséges intelligencia intelligens rendszerének összetevője, amely logikai szabályokat alkalmaz a tudásbázisra, hogy az ismert tényekből új információkra következtessen. Az első következtetési motor a szakértői rendszer része volt. A következtetési motor általában két üzemmódban működik, amelyek a következők:
Kürtzáradék és határozott záradék:
A kürtmondat és a határozott záradék a mondatok formája, amely lehetővé teszi a tudásbázis számára, hogy korlátozottabb és hatékonyabb következtetési algoritmust használjon. A logikai következtetési algoritmusok előre és hátra láncolási megközelítéseket használnak, amelyek KB-t igényelnek a elsőrendű határozott tagmondat .
Határozott kitétel: Egy záradék, amely a literálok elválasztása pontosan egy pozitív literál határozott záradékként vagy szigorú kürtmondatként ismert.
Horn záradék: Egy záradék, amely a literálok elválasztása legfeljebb egy pozitív szó szerinti kürtzáradékként ismert. Ezért az összes határozott tagmondat kürtmondat.
Példa: (¬ p V ¬ q V k) . Csak egy pozitív literális k van benne.
Ez ekvivalens p ∧ q → k.A. Előre láncolás
Következtetési motor használatakor az előre láncolást előremenő levezetésnek vagy előre gondolkodási módszernek is nevezik. Az előre láncolás az érvelés egy olyan formája, amely atommondatokkal kezdődik a tudásbázisban, és következtetési szabályokat (Modus Ponens) alkalmaz előrefelé, hogy több adatot nyerjen ki a cél eléréséig.
A Forward-chaining algoritmus ismert tényekből indul ki, kiváltja az összes olyan szabályt, amelynek premisszái teljesülnek, és az ismert tényekhez hozzáadja a következtetéseit. Ez a folyamat addig ismétlődik, amíg a probléma meg nem oldódik.
Az előre láncolás tulajdonságai:
- Ez egy lefelé irányuló megközelítés, mivel alulról felfelé halad.
- Ez egy olyan folyamat, amelynek során az ismert tények vagy adatok alapján következtetést vonunk le, a kezdeti állapotból indulva és elérve a célállapotot.
- Az előre láncolt megközelítést adatvezéreltnek is nevezik, mivel a rendelkezésre álló adatok felhasználásával elérjük a célt.
- Az előre láncolt megközelítést gyakran használják a szakértői rendszerekben, például a CLIPS-ben, az üzleti és a termelési szabályrendszerekben.
Tekintsük a következő híres példát, amelyet mindkét megközelítésben használni fogunk:
Példa:
„A törvény szerint bűncselekmény, ha egy amerikai fegyvert ad el ellenséges nemzeteknek. Az A országnak, Amerika ellenségének van néhány rakétája, és az összes rakétát Robert adta el neki, aki amerikai állampolgár.
Bizonyítsd – Robert bűnöző.
A fenti probléma megoldásához először az összes fenti tényt alakítjuk át elsőrendű határozott klózokká, majd egy előre láncoló algoritmussal érjük el a célt.
Tények átalakítása FOL-ba:
- Bűn, ha egy amerikai fegyvert ad el ellenséges nemzeteknek. (Tegyük fel, hogy p, q és r változók)
Amerikai (p) ∧ fegyver(q) ∧ elad (p, q, r) ∧ ellenséges(r) → Bűnügyi(p) ...(1) - Az A országnak van néhány rakétája. ?p Tulajdonos(A, p) ∧ Rakéta(p) . Két határozott tagmondatban írható fel az egzisztenciális példányosítással, bevezetve az új T1 konstanst.
Tulajdonosok (A, T1) ......(2)
Rakéta (T1) .......(3) - Robert az összes rakétát eladta A országnak.
?p Rakéták(p) ∧ Tulajdonos (A, p) → Elad (Robert, p, A) ......(4) - A rakéták fegyverek.
Rakéta(p) → Fegyverek (p) .......(5) - Amerika ellenségét ellenségesnek nevezik.
Ellenség(p, Amerika) →Hostile(p) .......(6) - Az A ország Amerika ellensége.
Ellenség (A, Amerika) .........(7) - Robert amerikai
amerikai (Robert). .......(8)
Előre láncolási bizonyíték:
1. lépés:
Első lépésben az ismert tényekkel kezdjük, és kiválasztjuk azokat a mondatokat, amelyeknek nincs következménye, mint pl. Amerikai (Robert), Enemy (A, Amerika), Owns (A, T1) és Rakéta (T1) . Mindezek a tények az alábbiak szerint kerülnek bemutatásra.
2. lépés:
A második lépésben azokat a tényeket fogjuk látni, amelyek a rendelkezésre álló tényekből és elégedett premissziókkal következtetnek.
Az (1) szabály nem felel meg a premisszáknak, ezért nem kerül hozzáadásra az első iterációban.
A (2) és (3) szabály már hozzáadásra került.
A (4) szabály kielégíti a {p/T1} helyettesítést, így eladó (Robert, T1, A) hozzáadódik, ami a (2) és (3) szabály összefüggéséből következtet.
A (6) szabály megelégszik a helyettesítéssel (p/A), így a Hostile (A) hozzáadódik, és ez a (7) szabályból következtet.
3. lépés:
A 3. lépésben, amint azt ellenőrizhetjük, az (1) szabály elégedett a helyettesítéssel {p/Robert, q/T1, r/A}, így hozzáadhatjuk a Criminal(Robert) amely az összes rendelkezésre álló tényre következtet. És ezzel elértük a kitűzött célt.
Ennélfogva bebizonyosodott, hogy Robert bűnöző az előre láncolási megközelítést alkalmazva.
B. Visszafelé láncolás:
Következtetési motor használatakor a visszafelé láncolást visszafelé történő levezetésnek vagy visszamenőleges érvelési módszernek is nevezik. A visszafelé láncoló algoritmus az érvelés egy olyan formája, amely a céllal kezdődik, és visszafelé működik, szabályokon keresztül láncolva, hogy megtalálja a célt alátámasztó ismert tényeket.
A visszafelé láncolás tulajdonságai:
- Ez felülről lefelé irányuló megközelítésként ismert.
- A visszafelé láncolás a modus ponens következtetési szabályon alapul.
- A visszafelé láncolásnál a célt részcélokra vagy részcélokra bontják, hogy igazolják a tényeket.
- Célvezérelt megközelítésnek nevezik, mivel a célok listája dönti el, hogy mely szabályokat kell kiválasztani és használni.
- A visszafelé láncoló algoritmust játékelméletben, automatizált tételbizonyító eszközökben, következtetési motorokban, bizonyítási asszisztensekben és különféle AI-alkalmazásokban használják.
- A visszafelé láncolásos módszert többnyire a mélységi keresés bizonyítási stratégia.
Példa:
A visszafelé láncolásnál a fenti példát fogjuk használni, és minden szabályt átírunk.
Tulajdonosok (A, T1) .......(2)
Visszafelé láncolt bizonyíték:
A Backward láncolásnál a cél predikátumunkkal kezdjük, ami az Bûnözõ (Robert) , majd következtethet további szabályokra.
1. lépés:
Az első lépésben a cél tényét vesszük figyelembe. A céltényből pedig más tényekre is következtetünk, és végül be fogjuk bizonyítani ezeket a tényeket. Tehát a célunk az, hogy „Robert bűnöző”, tehát a következő ennek predikátuma.
2. lépés:
A második lépésben a szabályoknak megfelelő céltényekből más tényekre következtetünk. Tehát amint az 1. szabályban láthatjuk, a Criminal (Robert) gól predikátuma jelen van {Robert/P} cserével. Tehát az összes kötőszót hozzáadjuk az első szint alá, és a p-t Robertre cseréljük.
Itt láthatjuk, hogy az amerikai (Robert) tény, tehát itt bebizonyosodik.
3. lépés: t A 3. lépésben kivonjuk a rakéta(q) további tényeket, amelyek a Fegyver(q)-ből következtetnek, mivel az megfelel az (5) szabálynak. A (q) fegyver egy T1 konstans q-ben való helyettesítésével is igaz.
4. lépés:
A 4. lépésben a tények Missile(T1) és Owns(A, T1) Sells(Robert, T1, r) képletből következtethetünk, ami kielégíti a Szabály - 4 , az r helyett A helyettesítéssel. Tehát ez a két állítás itt bizonyítást nyer.
5. lépés:
Az 5. lépésben következtethetünk a tényre Ellenség (A, Amerika) tól től Ellenséges (A) amely kielégíti a szabály- 6. És ennélfogva minden állítás igaznak bizonyul visszafelé láncolás segítségével.