V umelej inteligencii je reťazenie dopredu a dozadu jednou z dôležitých tém, ale pred porozumením reťazenia dopredu a dozadu najprv pochopte, odkiaľ tieto dva pojmy pochádzajú.
pole objektov v jave
Inferenčný mechanizmus:
Inferenčný stroj je súčasťou inteligentného systému v umelej inteligencii, ktorý aplikuje logické pravidlá na vedomostnú základňu na odvodenie nových informácií zo známych faktov. Prvý inferenčný stroj bol súčasťou expertného systému. Inferenčný mechanizmus bežne prebieha v dvoch režimoch, ktorými sú:
Klauzula o rohu a určitá klauzula:
Klauzula rohu a určitá klauzula sú formy viet, ktoré umožňujú znalostnej báze používať obmedzenejší a efektívnejší algoritmus odvodzovania. Logické inferenčné algoritmy využívajú dopredné a spätné reťazenie, ktoré vyžadujú KB vo forme určitá doložka prvého poriadku .
Definitívna klauzula: Klauzula, ktorá je disjunkciou literálov s presne jeden pozitívny doslov je známa ako určitá klauzula alebo klauzula s prísnym rohom.
Klauzula o rohu: Klauzula, ktorá je disjunkciou literálov s nanajvýš jeden pozitívny doslov je známa ako klauzula rohu. Preto sú všetky určité vety rohové vety.
Príklad: (¬ p V ¬ q V k) . Má len jedno kladné doslovné k.
Je ekvivalentné p ∧ q → k.A. Dopredné reťazenie
Dopredné reťazenie je tiež známe ako dopredná dedukcia alebo metóda dopredného uvažovania pri použití inferenčného nástroja. Dopredné reťazenie je forma uvažovania, ktorá začína atómovými vetami v znalostnej báze a uplatňuje pravidlá vyvodzovania (Modus Ponens) v smere dopredu na extrahovanie ďalších údajov, kým sa nedosiahne cieľ.
Algoritmus Forward-chaining vychádza zo známych faktov, spúšťa všetky pravidlá, ktorých premisy sú splnené, a pridáva ich záver k známym faktom. Tento proces sa opakuje, kým sa problém nevyrieši.
Vlastnosti Forward-Chaining:
- Je to prístup zdola nahor, pretože sa pohybuje zdola nahor.
- Je to proces vytvárania záverov na základe známych faktov alebo údajov, pričom sa začína od počiatočného stavu a dosahuje sa cieľový stav.
- Prístup dopredného reťazenia sa nazýva aj prístup založený na údajoch, keď dosiahneme cieľ pomocou dostupných údajov.
- Prístup dopredného reťazenia sa bežne používa v expertných systémoch, ako sú CLIPS, obchodné a výrobné pravidlá.
Zvážte nasledujúci slávny príklad, ktorý použijeme v oboch prístupoch:
Príklad:
„Podľa zákona je pre Američanov zločin predávať zbrane nepriateľským štátom. Krajina A, nepriateľ Ameriky, má nejaké rakety a všetky rakety jej predal Robert, ktorý je americkým občanom.“
Dokáž to 'Robert je zločinec.'
Aby sme vyriešili vyššie uvedený problém, najprv prevedieme všetky vyššie uvedené skutočnosti na definitívne vety prvého rádu a potom použijeme algoritmus dopredného reťazenia na dosiahnutie cieľa.
Fakty Konverzia na FOL:
- Pre Američana je zločin predávať zbrane nepriateľským štátom. (Povedzme, že p, q a r sú premenné)
Američan (p) ∧ zbraň(q) ∧ predáva (p, q, r) ∧ nepriateľský(r) → Criminal(p) ...(1) - Krajina A má nejaké rakety. ?p Vlastní(A, p) ∧ Missile(p) . Môže byť napísaný v dvoch určitých klauzulách pomocou existenciálnej inštancie, ktorá zavádza novú konštantu T1.
Vlastní(A, T1) ......(2)
Raketa(T1) ........(3) - Všetky rakety predal do krajiny A Robert.
?p Rakety(p) ∧ Vlastní (A, p) → Predáva (Robert, p, A) ......(4) - Rakety sú zbrane.
Raketa(p) → Zbrane (p) .......(5) - Nepriateľ Ameriky je známy ako nepriateľský.
Nepriateľ(p, Amerika) →Nepriateľ(p) ........(6) - Krajina A je nepriateľom Ameriky.
Nepriateľ (A, Amerika) .........(7) - Robert je Američan
Američan (Robert). ...........(8)
Dôkaz dopredného reťazenia:
Krok 1:
V prvom kroku začneme známymi faktami a vyberieme vety, ktoré nemajú žiadny význam, ako napríklad: American (Robert), Enemy (A, America), Owns (A, T1) and Missile (T1) . Všetky tieto skutočnosti budú uvedené nižšie.
Krok 2:
V druhom kroku uvidíme tie skutočnosti, ktoré vyvodzujú z dostupných faktov a so spokojnými predpokladmi.
Pravidlo-(1) nespĺňa predpoklady, takže nebude pridané v prvej iterácii.
Pravidlo (2) a (3) je už pridané.
Pravidlo (4) vyhovuje so substitúciou {p/T1}, So Sells (Robert, T1, A) sa pridáva, čo vyplýva zo spojenia pravidla (2) a (3).
Pravidlo -(6) je spokojné so substitúciou (p/A), takže sa pridáva nepriateľstvo (A) a odvodzuje sa z pravidla (7).
Krok 3:
V kroku 3, ako môžeme skontrolovať, pravidlo (1) je so striedaním spokojné {p/Robert, q/T1, r/A}, takže môžeme pridať Criminal (Robert) ktorý vyvodzuje všetky dostupné fakty. A tak sme dosiahli náš cieľ.
Preto je dokázané, že Robert je zločinec pomocou dopredného reťazenia.
B. Spätné reťazenie:
Spätné reťazenie je tiež známe ako spätná dedukcia alebo metóda spätného uvažovania pri použití inferenčného mechanizmu. Algoritmus spätného reťazenia je forma uvažovania, ktorá začína cieľom a funguje spätne, reťazením pravidiel, aby sa našli známe fakty, ktoré podporujú cieľ.
Vlastnosti spätného reťazenia:
- Je známy ako prístup zhora nadol.
- Spätné reťazenie je založené na pravidle odvodzovania modus ponens.
- Pri spätnom reťazení sa cieľ rozdelí na čiastkové alebo čiastkové ciele, aby sa preukázala pravdivosť faktov.
- Nazýva sa to prístup založený na cieľoch, pretože zoznam cieľov rozhoduje o tom, ktoré pravidlá sa vyberú a použijú.
- Algoritmus spätného reťazenia sa používa v teórii hier, automatizovaných nástrojoch na dokazovanie teorémov, inferenčných nástrojoch, asistentoch dôkazov a rôznych aplikáciách AI.
- Metóda spätného reťazenia sa väčšinou používa a hĺbkové vyhľadávanie stratégia pre dôkaz.
Príklad:
Pri spätnom reťazení použijeme rovnaký príklad vyššie a prepíšeme všetky pravidlá.
Vlastní(A, T1) ........(2)
Dôkaz spätného reťazenia:
V spätnom reťazení začneme našim cieľovým predikátom, ktorý je Zločinec (Robert) a potom vyvodiť ďalšie pravidlá.
Krok 1:
V prvom kroku si vezmeme cieľ. A z cieľovej skutočnosti vyvodíme ďalšie skutočnosti a nakoniec tieto skutočnosti potvrdíme. Naším cieľom je teda „Robert je zločinec“, takže predikát je nasledujúci.
Krok 2:
V druhom kroku z cieľovej skutočnosti vyvodíme ďalšie skutočnosti, ktoré spĺňajú pravidlá. Takže ako vidíme v Pravidle 1, je prítomný gólový predikát Criminal (Robert) so striedaním {Robert/P}. Takže pridáme všetky konjunktívne fakty pod prvú úroveň a nahradíme p Robertom.
Tu vidíme, že Američan (Robert) je fakt, takže je to tu dokázané.
Krok 3: t V kroku 3 extrahujeme ďalšiu skutočnosť Missile(q), ktorá vyplýva zo zbrane(q), pretože spĺňa pravidlo-(5). Zbraň (q) platí aj so substitúciou konštanty T1 na q.
Krok 4:
V kroku 4 môžeme odvodiť fakty Missile(T1) a Owns(A, T1) z Sells(Robert, T1, r), ktoré spĺňajú Pravidlo - 4 , so zámenou A na mieste r. Takže tieto dve tvrdenia sú tu dokázané.
Krok 5:
V kroku 5 môžeme vyvodiť skutočnosť Nepriateľ (A, Amerika) od Nepriateľský(A) čo spĺňa pravidlo 6. A teda všetky tvrdenia sú dokázané ako pravdivé pomocou spätného reťazenia.