logo

Dopředné řetězení a zpětné řetězení v AI

V umělé inteligenci je dopředné a zpětné řetězení jedním z důležitých témat, ale než porozumíme řetězení dopředu a dozadu, musíme nejprve pochopit, odkud tyto dva pojmy pocházejí.

beran herec

Inferenční stroj:

Inferenční engine je součástí inteligentního systému umělé inteligence, který aplikuje logická pravidla na znalostní bázi k odvození nových informací ze známých faktů. První inferenční stroj byl součástí expertního systému. Inferenční stroj běžně probíhá ve dvou režimech, kterými jsou:

    Dopředné řetězení Zpětné řetězení

Klauzule o rohu a definitivní klauzule:

Klauzule rohu a určitá klauzule jsou formy vět, které umožňují znalostní bázi používat omezenější a efektivnější algoritmus odvození. Algoritmy logické inference používají přístupy dopředného a zpětného řetězení, které vyžadují KB ve formě určovací doložka prvního řádu .

Definitivní klauzule: Klauzule, která je disjunkcí literálů s přesně jeden pozitivní doslov je známá jako určitá klauzule nebo klauzule s přísným rohem.

Klauzule o rohu: Klauzule, která je disjunkcí literálů s maximálně jeden kladný doslov je známá jako klauzule rohu. Všechny určité věty jsou tedy větné členy rohové.

Příklad: (¬ p V ¬ q V k) . Má pouze jedno kladné doslovné k.

Je ekvivalentní p ∧ q → k.

A. Dopředné řetězení

Dopředné řetězení je také známé jako dopředná dedukce nebo metoda dopředného uvažování při použití inferenčního motoru. Dopředné řetězení je forma uvažování, která začíná atomickými větami ve znalostní bázi a aplikuje pravidla odvození (Modus Ponens) v dopředném směru k extrahování více dat, dokud není dosaženo cíle.

Algoritmus Forward-chaining vychází ze známých faktů, spouští všechna pravidla, jejichž premisy jsou splněny, a přidává jejich závěr ke známým faktům. Tento proces se opakuje, dokud není problém vyřešen.

Vlastnosti dopředného řetězení:

  • Je to sestupný přístup, protože se pohybuje zdola nahoru.
  • Je to proces vytváření závěru na základě známých faktů nebo dat, přičemž se začíná od počátečního stavu a dosahuje se cílového stavu.
  • Přístup dopředného řetězení je také nazýván jako přístup založený na datech, když dosáhneme cíle pomocí dostupných dat.
  • Přístup dopředného řetězení se běžně používá v expertních systémech, jako jsou CLIPS, obchodní a produkční systémy pravidel.

Zvažte následující slavný příklad, který použijeme v obou přístupech:

Příklad:

'Podle zákona je pro Američana zločinem prodávat zbraně nepřátelským zemím.' Země A, nepřítel Ameriky, má nějaké rakety a všechny rakety jí prodal Robert, který je americkým občanem.“

Dokázat to 'Robert je zločinec.'

Abychom vyřešili výše uvedený problém, nejprve převedeme všechna výše uvedená fakta na určité klauzule prvního řádu a poté použijeme dopředný řetězový algoritmus k dosažení cíle.

Fakta Převod na FOL:

  • Pro Američana je zločin prodávat zbraně nepřátelským zemím. (Řekněme, že p, q a r jsou proměnné)
    Američan (p) ∧ zbraň(q) ∧ prodává (p, q, r) ∧ nepřátelský(r) → Kriminální(p) ...(1)
  • Země A má nějaké rakety. ?p Vlastní(A, p) ∧ Missile(p) . Může být zapsán ve dvou určitých klauzulích pomocí Existential Instanciation, zavedením nové konstanty T1.
    Vlastní(A, T1) ......(2)
    Střela(T1) ........(3)
  • Všechny rakety prodal Robert do země A.
    ?p Střely(p) ∧ Vlastní (A, p) → Prodává (Robert, p, A) ......(4)
  • Rakety jsou zbraně.
    Střela(p) → Zbraně (p) .......(5)
  • Nepřítel Ameriky je známý jako nepřátelský.
    Nepřítel(p, Amerika) →Nepřátelský(p) ........(6)
  • Země A je nepřítelem Ameriky.
    Nepřítel (A, Amerika) .........(7)
  • Robert je Američan
    Američan (Robert). ...........(8)

Důkaz dopředného řetězení:

Krok 1:

V prvním kroku začneme známými fakty a vybereme věty, které nemají žádné důsledky, jako například: American (Robert), Enemy (A, America), Owns (A, T1) and Missile (T1) . Všechny tyto skutečnosti budou uvedeny níže.

Dopředné řetězení a zpětné řetězení v AI

Krok 2:

Ve druhém kroku uvidíme ty skutečnosti, které vyvozují z dostupných faktů a se spokojenými předpoklady.

Pravidlo-(1) nesplňuje předpoklady, takže nebude přidáno v první iteraci.

Pravidlo (2) a (3) je již přidáno.

Pravidlo-(4) uspokoj se substitucí {p/T1}, tak prodává (Robert, T1, A) se přidává, což vyplývá ze spojení pravidla (2) a (3).

Pravidlo-(6) je se substitucí (p/A) spokojeno, takže je přidáno nepřátelské (A) a vyvozuje se z pravidla-(7).

Dopředné řetězení a zpětné řetězení v AI

Krok 3:

V kroku 3, jak můžeme zkontrolovat, je pravidlo-(1) se substitucí spokojeno {p/Robert, q/T1, r/A}, takže můžeme přidat Criminal (Robert) který vyvozuje všechna dostupná fakta. A tím jsme dosáhli našeho cíle.

Dopředné řetězení a zpětné řetězení v AI

Je tedy dokázáno, že Robert je zločinec pomocí dopředného řetězení.

B. Zpětné řetězení:

Zpětné řetězení je také známé jako zpětná dedukce nebo metoda zpětného uvažování při použití inferenčního motoru. Algoritmus zpětného řetězení je forma uvažování, která začíná cílem a pracuje zpětně, řetězí se přes pravidla, aby nalezla známá fakta, která cíl podporují.

Vlastnosti zpětného řetězení:

  • Je známý jako přístup shora dolů.
  • Zpětné zřetězení je založeno na pravidle odvození modus ponens.
  • Při zpětném řetězení je cíl rozdělen na dílčí cíle nebo dílčí cíle, aby se prokázala pravdivost faktů.
  • Říká se tomu cílově řízený přístup, protože seznam cílů rozhoduje o tom, která pravidla budou vybrána a použita.
  • Algoritmus zpětného řetězení se používá v teorii her, automatizovaných nástrojích pro dokazování teorémů, inferencích, asistentech důkazů a různých aplikacích umělé inteligence.
  • Nejčastěji se používá metoda zpětného řetězení a hloubkové hledání strategie pro důkaz.

Příklad:

Při zpětném řetězení použijeme stejný výše uvedený příklad a přepíšeme všechna pravidla.

    Američan (p) ∧ zbraň(q) ∧ prodává (p, q, r) ∧ nepřátelský(r) → Kriminální(p) ...(1)
    Vlastní(A, T1) ........(2) Střela (T1) ?p Střely(p) ∧ Vlastní (A, p) → Prodává (Robert, p, A) ......(4) Střela(p) → Zbraně (p) .......(5) Nepřítel(p, Amerika) →Nepřátelský(p) ........(6) Nepřítel (A, Amerika) .........(7) Američan (Robert). ...........(8)

Důkaz zpětného řetězení:

V Backward chaining začneme naším predikátem cíle, což je Zločinec (Robert) a poté odvodit další pravidla.

Krok 1:

V prvním kroku si vezmeme cílový fakt. A z cílové skutečnosti vyvodíme další fakta a nakonec tato fakta prokážeme jako pravdivé. Naším cílem je tedy 'Robert je zločinec', takže následující je jeho predikát.

Dopředné řetězení a zpětné řetězení v AI

Krok 2:

Ve druhém kroku odvodíme další skutečnosti z cílové skutečnosti, která pravidlům vyhovuje. Jak tedy můžeme vidět v pravidle-1, je přítomen gólový predikát Criminal (Robert) se substitucí {Robert/P}. Takže přidáme všechna konjunktivní fakta pod první úroveň a nahradíme p Robertem.

Tady vidíme, že Američan (Robert) je fakt, takže je to tady dokázáno.

Dopředné řetězení a zpětné řetězení v AI

Krok 3: t V kroku 3 extrahujeme další skutečnost Missile(q), která vyplývá z Weapon(q), protože splňuje pravidlo-(5). Zbraň (q) je také pravdivá se substitucí konstanty T1 v q.

Dopředné řetězení a zpětné řetězení v AI

Krok 4:

V kroku 4 můžeme odvodit fakta Missile(T1) a Owns(A, T1) z Sells(Robert, T1, r), která splňuje Pravidlo - 4 , s nahrazením A na místě r. Takže tato dvě tvrzení jsou zde prokázána.

Dopředné řetězení a zpětné řetězení v AI

Krok 5:

V kroku 5 můžeme odvodit skutečnost Nepřítel (A, Amerika) z Nepřátelský(A) což splňuje pravidlo 6. A proto jsou všechna tvrzení dokázána jako pravdivá pomocí zpětného řetězení.

Dopředné řetězení a zpětné řetězení v AI