logo

Forward Chaining og backward Chaining i AI

Innen kunstig intelligens er kjeding fremover og bakover et av de viktige temaene, men før vi forstår lenking fremover og bakover, la vi først forstå hvor disse to begrepene kom fra.

datatyper i java

Inferensmotor:

Inferensmotoren er komponenten i det intelligente systemet innen kunstig intelligens, som bruker logiske regler på kunnskapsbasen for å utlede ny informasjon fra kjente fakta. Den første inferensmotoren var en del av ekspertsystemet. Inferensmotoren fortsetter vanligvis i to moduser, som er:

    Foroverlening Lenking bakover

Hornklausul og bestemt klausul:

Hornklausul og bestemt setning er setningsformene som gjør det mulig for kunnskapsbasen å bruke en mer begrenset og effektiv slutningsalgoritme. Logiske inferensalgoritmer bruker forover- og bakoverkjedemetoder, som krever KB i form av førsteordens bestemt klausul .

Bestemt klausul: En klausul som er en disjunksjon av bokstaver med nøyaktig en positiv bokstavelig er kjent som en bestemt klausul eller streng hornklausul.

Hornklausul: En klausul som er en disjunksjon av bokstaver med høyst en positiv bokstavelig er kjent som hornklausul. Derfor er alle de bestemte leddsetningene hornklausuler.

Eksempel: (¬ p V ¬ q V k) . Den har bare én positiv bokstavelig k.

Det tilsvarer p ∧ q → k.

A. Forward Chaining

Forward chaining er også kjent som en forward deduction eller forward resonnementmetode når du bruker en inferensmotor. Forward chaining er en form for resonnement som starter med atomsetninger i kunnskapsbasen og bruker slutningsregler (Modus Ponens) i retning fremover for å trekke ut mer data til et mål er nådd.

Forward-chaining-algoritmen starter fra kjente fakta, utløser alle regler hvis premisser er oppfylt, og legger deres konklusjon til de kjente faktaene. Denne prosessen gjentas til problemet er løst.

Egenskaper for forward-chaining:

  • Det er en ned-opp-tilnærming, da den beveger seg fra bunn til topp.
  • Det er en prosess for å lage en konklusjon basert på kjente fakta eller data, ved å starte fra starttilstanden og nå måltilstanden.
  • Forward-chaining tilnærming kalles også som datadrevet når vi når målet ved hjelp av tilgjengelige data.
  • Forward-chaining-tilnærming brukes ofte i ekspertsystemet, for eksempel CLIPS, forretnings- og produksjonsregelsystemer.

Tenk på følgende kjente eksempel som vi vil bruke i begge tilnærminger:

Eksempel:

«I henhold til loven er det en forbrytelse for en amerikaner å selge våpen til fiendtlige nasjoner. Land A, en fiende av Amerika, har noen missiler, og alle missilene ble solgt til det av Robert, som er amerikansk statsborger.'

Bevis det 'Robert er kriminell.'

For å løse problemet ovenfor, vil vi først konvertere alle de ovennevnte faktaene til førsteordens bestemte klausuler, og deretter vil vi bruke en foroverlenende algoritme for å nå målet.

Faktakonvertering til FOL:

  • Det er en forbrytelse for en amerikaner å selge våpen til fiendtlige nasjoner. (La oss si at p, q og r er variabler)
    Amerikansk (p) ∧ våpen(q) ∧ selger (p, q, r) ∧ fiendtlig(r) → Kriminell(p) ...(1)
  • Land A har noen missiler. ?p eier(A, p) ∧ Missil(p) . Det kan skrives i to bestemte klausuler ved å bruke eksistensiell instansiering, og introdusere nye Constant T1.
    Eier(A, T1) ......(2)
    Missil(T1) .......(3)
  • Alle missilene ble solgt til land A av Robert.
    ?p Missiler(p) ∧ Eier (A, p) → Selger (Robert, p, A) ......(4)
  • Missiler er våpen.
    Missil(p) → Våpen (p) .......(5)
  • Enemy of America er kjent som fiendtlig.
    Fiende(p, Amerika) → Fiendtlig(p) ........(6)
  • Land A er en fiende av Amerika.
    Fiende (A, Amerika) .........(7)
  • Robert er amerikansk
    Amerikansk (Robert). ..........(8)

Forward chaining proof:

Trinn 1:

I det første trinnet starter vi med kjente fakta og velger setningene som ikke har implikasjoner, for eksempel: Amerikansk (Robert), Enemy (A, Amerika), Owns (A, T1) og Missile (T1) . Alle disse faktaene vil bli representert som nedenfor.

Forward Chaining og backward Chaining i AI

Steg 2:

På det andre trinnet vil vi se de fakta som utledes fra tilgjengelige fakta og med tilfredsstilte premisser.

Regel-(1) tilfredsstiller ikke premisser, så den vil ikke bli lagt til i den første iterasjonen.

Regel-(2) og (3) er allerede lagt til.

Regel-(4) tilfredsstille med erstatningen {p/T1}, så selger (Robert, T1, A) legges til, som utledes fra sammenhengen av regel (2) og (3).

Regel-(6) er tilfreds med erstatningen(p/A), så Fiendtlig(A) er lagt til og som utledes fra regel-(7).

Forward Chaining og backward Chaining i AI

Trinn-3:

På trinn-3, som vi kan sjekke, er regel-(1) fornøyd med byttet {p/Robert, q/T1, r/A}, så vi kan legge til Criminal(Robert) som utleder alle tilgjengelige fakta. Og dermed nådde vi målet vårt.

Forward Chaining og backward Chaining i AI

Derfor er det bevist at Robert er kriminel ved å bruke foroverlent tilnærming.

B. Kobling bakover:

Bakoverlenking er også kjent som en bakovertrekk eller bakoverresonneringsmetode når du bruker en inferensmotor. En baklengs kjedealgoritme er en form for resonnement, som starter med målet og jobber bakover, lenker gjennom regler for å finne kjente fakta som støtter målet.

Egenskaper for bakoverlenking:

  • Det er kjent som en ovenfra-ned-tilnærming.
  • Bakoverlenking er basert på modus ponens slutningsregel.
  • Ved kjetting bakover blir målet delt inn i delmål eller delmål for å bevise at fakta er sanne.
  • Det kalles en måldrevet tilnærming, da en liste over mål avgjør hvilke regler som velges og brukes.
  • Bakoverkjedealgoritme brukes i spillteori, automatiserte teorembevisende verktøy, slutningsmotorer, bevisassistenter og forskjellige AI-applikasjoner.
  • Den bakoverlenkede metoden brukte for det meste en dybde-første søk strategi for bevis.

Eksempel:

I bakoverlenking vil vi bruke samme eksempel ovenfor, og vil omskrive alle reglene.

    Amerikansk (p) ∧ våpen(q) ∧ selger (p, q, r) ∧ fiendtlig(r) → Kriminell(p) ...(1)
    Eier(A, T1) ........(2) Missil (T1) ?p Missiler(p) ∧ Eier (A, p) → Selger (Robert, p, A) ......(4) Missil(p) → Våpen (p) .......(5) Fiende(p, Amerika) → Fiendtlig(p) ........(6) Fiende (A, Amerika) .........(7) Amerikansk (Robert). ..........(8)

Bakoverkjedebevis:

I Backward chaining vil vi starte med vårt målpredikat, som er Kriminell (Robert) , og deretter utlede ytterligere regler.

Trinn 1:

På det første trinnet vil vi ta målfakta. Og fra målfaktumet vil vi utlede andre fakta, og til slutt vil vi bevise at disse faktaene er sanne. Så målet vårt er 'Robert er kriminell', så følgende er predikatet for det.

Forward Chaining og backward Chaining i AI

Steg 2:

På det andre trinnet vil vi utlede andre fakta fra målfakta som tilfredsstiller reglene. Så som vi kan se i regel-1, er målpredikatet Criminal (Robert) tilstede med substitusjon {Robert/P}. Så vi vil legge til alle konjunktive fakta under det første nivået og erstatte p med Robert.

Her kan vi se at amerikansk (Robert) er et faktum, så det er bevist her.

Forward Chaining og backward Chaining i AI

Trinn-3: t På trinn-3 vil vi trekke ut ytterligere faktamissil(q) som utledes fra Weapon(q), ettersom det tilfredsstiller regel-(5). Våpen (q) er også sant med substitusjon av en konstant T1 ved q.

Forward Chaining og backward Chaining i AI

Trinn-4:

På trinn-4 kan vi utlede fakta Missile(T1) og Owns(A, T1) fra Sells(Robert, T1, r) som tilfredsstiller Regel - 4 , med erstatning av A i stedet for r. Så disse to påstandene er bevist her.

Forward Chaining og backward Chaining i AI

Trinn-5:

På trinn 5 kan vi utlede faktum Enemy (A, Amerika) fra Fiendtlig (A) som tilfredsstiller regel 6. Og derfor er alle utsagnene bevist sanne ved å bruke baklengs kjetting.

Forward Chaining og backward Chaining i AI