Ugrás a tartalomhoz

backward chaining

A Wikiszótárból, a nyitott szótárból


Főnév

backward chaining (tsz. backward chainings)

  1. (informatika, mesterséges intelligencia) Backward chaining (magyarul: visszafelé láncolás vagy visszafelé következtetés) egy logikai következtetési módszer, amelyet szabályalapú rendszerekben és mesterséges intelligenciában használnak. A cél az, hogy bizonyítsuk vagy cáfoljuk egy célállítás (cél-tétel, goal) igazságát, visszafelé haladva a szabályok és ismert tények mentén.



🧠 Lényege

A backward chaining a céltól indul, és megpróbálja megkeresni azokat a szabályokat és tényeket, amelyekből a cél logikailag levezethető.

Ez top-down megközelítés:

  • Kezdjük egy céllal
  • Megkeressük azokat a szabályokat, ahol a cél a konklúzió
  • Ezekhez a szabályokhoz tartozó premisszákat új célként kezeljük
  • Addig ismételjük, amíg el nem jutunk ismert tényekhez (adatbázis) vagy zsákutcába



🔄 Összehasonlítás: backward chaining vs forward chaining

Tulajdonság Backward chaining Forward chaining
Irány Céltól → adatok felé Adatoktól → cél felé
Kontroll logikája Kérdésvezérelt Adatvezérelt
Példarendszer Prolog, szakértői rendszerek Drools, CLIPS
Alkalmazás Diagnosztika, kérdés-válasz rendszerek Szimuláció, automatizált szabályok



🔧 Példa

Szabályok:

  1. Ha valaki ember, akkor halandó
  2. Szókratész ember

Cél:

Bizonyítsuk, hogy

Lépések (backward chaining):

  1. Cél:
  2. Van egy szabály: → új cél:
  3. Ez egy ismert tény ⇒ igaz
  4. Következik: igaz



📘 Formális nézet (propozíciós logika)

Például szabályok:

wet_grass :- rained.
wet_grass :- sprinkler_on.
rained.

Cél: wet_grass

  1. wet_grass célként jelenik meg
  2. Két szabály kínálja:
    • rained ⇒ wet_grass
    • sprinkler_on ⇒ wet_grass
  3. Próbáljuk meg rained-et bizonyítani: ismert tény ⇒ siker
  4. Ezért: wet_grass igazolva



🛠 Implementációs technika: Depth-first search (DFS)

A visszafelé következtetés gyakran mélységi keresést alkalmaz a szabálygráfban:

  • Minden célhoz rekurzívan keresünk szabályokat
  • Ha elakad, visszalép és más szabályt próbál

Ez jól illeszkedik rekurzív logikai nyelvekhez, például Prologhoz.



🧩 Felhasználási területek

  • 🩺 Diagnosztikai rendszerek – betegségek meghatározása tünetekből
  • 🧠 Kérdés-válasz rendszerek – intelligens asszisztensek, chatbotok
  • 🤖 Szakértői rendszerek – döntéstámogatás
  • 🔍 Tényellenőrzés és magyarázat – „miért igaz valami?”



📈 Előnyök

  • Célorientált: nem pazarol időt irreleváns szabályokra
  • Hatékony kis célhalmaz esetén
  • Magyarázható levezetési útvonalak (induktív okfejtés)



⚠️ Hátrányok

  • Nem látja előre a globális következményeket
  • Zsákutcába kerülhet, ha nem talál érvényes szabályláncot
  • Nehezen skálázható sok cél és szabály esetén



🔁 Kombináció forward chaininggel

Egyes rendszerek (pl. rete-alapú motorok) képesek vegyesen használni forward és backward chaininget, a kontextustól függően.



🧩 TL;DR

Backward chaining egy célvezérelt következtetési stratégia, ahol a rendszer egy kívánt következtetésből kiindulva visszafelé halad a szabályokon, míg eljut az ismert tényekig. Alapja logikai szabályok láncolása és rekurzív ellenőrzés.