Kedja framåt

Forward chaining (eller framåtresonemang ) är en av de två huvudmetoderna för resonemang när man använder en inferensmotor och kan logiskt beskrivas som upprepad tillämpning av modus ponens . Forward chaining är en populär implementeringsstrategi för expertsystem , affärs- och produktionsregelsystem . Motsatsen till kedja framåt är kedja bakåt .

Forward chaining börjar med tillgänglig data och använder slutledningsregler för att extrahera mer data (från en slutanvändare, till exempel) tills ett mål uppnås. En inferensmotor som använder framåtkedjning söker igenom slutledningsreglerna tills den hittar en där antecedenten ( If- satsen) är känd för att vara sann. När en sådan regel hittas kan motorn dra slutsatsen, eller dra slutsatsen, den efterföljande ( Then -satsen), vilket resulterar i att ny information läggs till i sina data.

Inferensmotorer kommer att iterera genom denna process tills ett mål uppnås.

Exempel

Anta att målet är att komma fram till färgen på ett husdjur som heter Fritz, med tanke på att han kväkar och äter flugor, och att regelbasen innehåller följande fyra regler:

  1. Om X kväkar och X äter flugor - är X en groda
  2. Om X kvittrar och X sjunger - är X en kanariefågel
  3. Om X är en groda - är X grönt
  4. Om X är en kanariefågel - är X blått

Låt oss illustrera framåtkedjan genom att följa mönstret för en dator när den utvärderar reglerna. Antag följande fakta:

  • Fritz kväkar
  • Fritz äter flugor

Med framåtriktad resonemang kan slutledningsmotorn härleda att Fritz är grön i en serie av steg:

1. Eftersom grundfakta indikerar att "Fritz kväkar" och "Fritz äter flugor", uppfylls föregångaren till regel #1 genom att ersätta X med Fritz, och slutledningsmotorn drar slutsatsen:

Fritz är en groda

2. Föregången till regel #3 uppfylls sedan genom att X ersätter Fritz, och slutledningsmotorn drar slutsatsen:

Fritz är grön

Namnet "forward chaining" kommer från det faktum att inferensmotorn börjar med datan och resonerar sig fram till svaret, i motsats till bakåtkedja , som fungerar tvärtom. I härledningen används reglerna i motsatt ordning jämfört med bakåtkedja . I det här exemplet användes inte regler #2 och #4 för att fastställa att Fritz är grön.

Eftersom datan bestämmer vilka regler som väljs och används kallas denna metod för datadriven , i motsats till måldriven bakåtkedjeinferens . Framåtkedjemetoden används ofta av expertsystem , såsom CLIPS .

En av fördelarna med framåtkedja framför bakåtkedjning är att mottagandet av ny data kan utlösa nya slutsatser, vilket gör motorn bättre lämpad för dynamiska situationer där förhållandena sannolikt kommer att förändras.

Se även

externa länkar