logo

Voorwaartse ketening en achterwaartse ketening in AI

Bij kunstmatige intelligentie is forward en backward chaining een van de belangrijke onderwerpen, maar voordat we forward en backward chaining begrijpen, moeten we eerst begrijpen waar deze twee termen vandaan komen.

schakelmethode java

Inferentiemachine:

De inferentie-engine is het onderdeel van het intelligente systeem in kunstmatige intelligentie, dat logische regels toepast op de kennisbasis om nieuwe informatie uit bekende feiten af ​​te leiden. De eerste gevolgtrekkingsengine maakte deel uit van het expertsysteem. De inferentie-engine werkt gewoonlijk in twee modi, namelijk:

    Voorwaartse ketening Achterwaartse ketening

Hoornclausule en bepaalde clausule:

Hoornclausule en definitieve clausule zijn de vormen van zinnen, waardoor de kennisbank een beperkter en efficiënter gevolgtrekkingsalgoritme kan gebruiken. Logische inferentie-algoritmen maken gebruik van voorwaartse en achterwaartse ketenbenaderingen, waarvoor KB nodig is in de vorm van de bepaalde bepaling van de eerste orde .

Bepaalde clausule: Een clausule die een disjunctie is van letterlijke woorden met precies één positieve letterlijke staat bekend als een bepaalde clausule of een strikte hoornclausule.

Hoornclausule: Een clausule die een disjunctie is van letterlijke woorden met hoogstens één positieve letterlijke staat bekend als hoornclausule. Daarom zijn alle bepaalde clausules hoornclausules.

Voorbeeld: (¬ p V ¬ q V k) . Het heeft slechts één positieve letterlijke k.

Het is equivalent aan p ∧ q → k.

A. Voorwaartse ketening

Forward chaining wordt ook wel een voorwaartse deductie- of voorwaartse redeneermethode genoemd bij gebruik van een inferentie-engine. Forward chaining is een vorm van redeneren die begint met atomaire zinnen in de kennisbank en inferentieregels (Modus Ponens) toepast in de voorwaartse richting om meer gegevens te extraheren totdat een doel is bereikt.

Het Forward-chaining-algoritme vertrekt van bekende feiten, activeert alle regels waarvan de premissen zijn vervuld, en voegt hun conclusie toe aan de bekende feiten. Dit proces herhaalt zich totdat het probleem is opgelost.

Eigenschappen van Forward-Chaining:

  • Het is een neerwaartse benadering, omdat het van onder naar boven gaat.
  • Het is een proces waarbij een conclusie wordt getrokken op basis van bekende feiten of gegevens, door te beginnen bij de begintoestand en de doeltoestand te bereiken.
  • Een forward-chaining-aanpak wordt ook wel datagedreven genoemd, omdat we het doel bereiken met behulp van de beschikbare gegevens.
  • De forward-chaining-aanpak wordt vaak gebruikt in het expertsysteem, zoals CLIPS-, bedrijfs- en productieregelsystemen.

Beschouw het volgende beroemde voorbeeld dat we in beide benaderingen zullen gebruiken:

Voorbeeld:

'Volgens de wet is het voor een Amerikaan een misdaad om wapens te verkopen aan vijandige landen. Land A, een vijand van Amerika, beschikt over een aantal raketten, en alle raketten zijn eraan verkocht door Robert, die Amerikaans staatsburger is.'

Bewijs dat 'Robert is een crimineel.'

Om het bovenstaande probleem op te lossen, zullen we eerst alle bovenstaande feiten omzetten in definitieve clausules van de eerste orde, en vervolgens zullen we een forward-chaining-algoritme gebruiken om het doel te bereiken.

Feiten conversie naar FOL:

  • Het is een misdaad voor een Amerikaan om wapens te verkopen aan vijandige landen. (Laten we zeggen dat p, q en r variabelen zijn)
    Amerikaans (p) ∧ wapen(q) ∧ verkoopt (p, q, r) ∧ vijandig(r) → Misdadig(p) ...(1)
  • Land A beschikt over enkele raketten. ?p Bezit(A, p) ∧ Raket(p) . Het kan in twee bepaalde zinnen worden geschreven door gebruik te maken van existentiële instantiatie, waarbij de nieuwe constante T1 wordt geïntroduceerd.
    Bezit(A, T1) ......(2)
    Raket(T1) .......(3)
  • Alle raketten zijn door Robert aan land A verkocht.
    ?p Raketten(p) ∧ Bezit (A, p) → Verkoopt (Robert, p, A) ......(4)
  • Raketten zijn wapens.
    Raket(p) → Wapens (p) .......(5)
  • Vijand van Amerika staat bekend als vijandig.
    Vijand(p, Amerika) →Vijandig(p) ........(6)
  • Land A is een vijand van Amerika.
    Vijand (A, Amerika) .........(7)
  • Robert is Amerikaans
    Amerikaan (Robert). ..........(8)

Voorwaarts ketenbestendig:

Stap 1:

In de eerste stap beginnen we met de bekende feiten en kiezen we de zinnen die geen implicaties hebben, zoals: Amerikaan (Robert), vijand (A, Amerika), eigenaar (A, T1) en raket (T1) . Al deze feiten zullen worden weergegeven zoals hieronder.

Voorwaartse ketening en achterwaartse ketening in AI

Stap 2:

Bij de tweede stap zullen we die feiten zien die afleiden uit beschikbare feiten en met bevredigende premissen.

Regel(1) voldoet niet aan de premissen en wordt dus niet toegevoegd in de eerste iteratie.

Regel (2) en (3) zijn al toegevoegd.

Regel-(4) voldoen aan de substitutie {p/T1}, dus verkoopt (Robert, T1, A) wordt toegevoegd, wat voortvloeit uit de combinatie van Regel (2) en (3).

Regel-(6) is tevreden met de vervanging(p/A), dus wordt Vijandig(A) toegevoegd en dit wordt afgeleid uit Regel-(7).

Voorwaartse ketening en achterwaartse ketening in AI

Stap 3:

Zoals we kunnen controleren, is Regel (1) bij stap 3 tevreden met de vervanging {p/Robert, q/T1, r/A}, dus we kunnen Criminal(Robert) toevoegen die alle beschikbare feiten afleidt. En daarmee bereikten we onze doelstelling.

Voorwaartse ketening en achterwaartse ketening in AI

Daarom is bewezen dat Robert een crimineel is door gebruik te maken van een voorwaartse ketenbenadering.

B. Achterwaartse ketening:

Achterwaartse ketening wordt ook wel een achterwaartse deductie- of achterwaartse redeneermethode genoemd bij gebruik van een inferentie-engine. Een achterwaarts ketenalgoritme is een vorm van redeneren die begint met het doel en vervolgens achteruit werkt, waarbij regels worden doorlopen om bekende feiten te vinden die het doel ondersteunen.

Eigenschappen van achterwaartse ketening:

  • Het staat bekend als een top-down benadering.
  • Backward-chaining is gebaseerd op de modus ponens-inferentieregel.
  • Bij achterwaartse ketening wordt het doel opgedeeld in subdoelen of subdoelen om te bewijzen dat de feiten waar zijn.
  • Het wordt een doelgerichte aanpak genoemd, omdat een lijst met doelen bepaalt welke regels worden geselecteerd en gebruikt.
  • Backward-chaining-algoritme wordt gebruikt in speltheorie, geautomatiseerde tools voor het bewijzen van stellingen, inferentie-engines, bewijsassistenten en verschillende AI-toepassingen.
  • De achterwaartse ketenmethode gebruikte meestal a diepte-eerst zoeken strategie voor bewijs.

Voorbeeld:

Bij backward-chaining gebruiken we hetzelfde bovenstaande voorbeeld en herschrijven we alle regels.

    Amerikaans (p) ∧ wapen(q) ∧ verkoopt (p, q, r) ∧ vijandig(r) → Misdadig(p) ...(1)
    Bezit(A, T1) ........(2) Raket (T1) ?p Raketten(p) ∧ Bezit (A, p) → Verkoopt (Robert, p, A) ......(4) Raket(p) → Wapens (p) .......(5) Vijand(p, Amerika) →Vijandig(p) ........(6) Vijand (A, Amerika) .........(7) Amerikaan (Robert). ..........(8)

Achterwaarts ketenbestendig:

Bij Backward Chaining beginnen we met ons doelpredicaat, namelijk Misdadiger (Robert) en daaruit verdere regels afleiden.

Stap 1:

Bij de eerste stap nemen we het doelfeit. En uit het doelfeit zullen we andere feiten afleiden, en uiteindelijk zullen we bewijzen dat die feiten waar zijn. Ons doelfeit is dus 'Robert is crimineel', dus het volgende is het predikaat ervan.

Voorwaartse ketening en achterwaartse ketening in AI

Stap 2:

In de tweede stap zullen we uit het doelfeit andere feiten afleiden die aan de regels voldoen. Zoals we in Regel 1 kunnen zien, is het doelpuntpredicaat Misdadig (Robert) aanwezig met wissel {Robert/P}. We voegen dus alle conjunctieve feiten onder het eerste niveau toe en vervangen p door Robert.

Hier kunnen we zien dat Amerikaan (Robert) een feit is, dus het wordt hier bewezen.

Voorwaartse ketening en achterwaartse ketening in AI

Stap 3: Bij stap 3 zullen we verdere feiten Missile(q) extraheren die afleiden uit Weapon(q), aangezien het voldoet aan Regel-(5). Wapen (q) is ook waar met de vervanging van een constante T1 bij q.

Voorwaartse ketening en achterwaartse ketening in AI

Stap 4:

Bij stap 4 kunnen we de feiten Missile(T1) en Owns(A, T1) afleiden uit Sells(Robert, T1, r) die voldoen aan de Regel- 4 , met de vervanging van A in plaats van r. Deze twee uitspraken worden hier dus bewezen.

Voorwaartse ketening en achterwaartse ketening in AI

Stap 5:

Bij stap 5 kunnen we dit feit concluderen Vijand (A, Amerika) van Vijandig(A) wat voldoet aan Regel 6. En daarom wordt bewezen dat alle uitspraken waar zijn met behulp van achterwaartse ketening.

Voorwaartse ketening en achterwaartse ketening in AI