Dirbtiniame intelekte grandinės sujungimas pirmyn ir atgal yra viena iš svarbių temų, tačiau prieš suprasdami grandinėjimą pirmyn ir atgal, pirmiausia suprasime, iš kur kilo šie du terminai.
langas.atidaryti
Išvadų variklis:
Išvadų variklis yra dirbtinio intelekto intelektualios sistemos komponentas, kuris žinių bazei taiko logines taisykles, kad iš žinomų faktų padarytų naują informaciją. Pirmasis išvadų variklis buvo ekspertų sistemos dalis. Išvadų variklis paprastai veikia dviem režimais, kurie yra:
Raginė sąlyga ir apibrėžtoji sąlyga:
Raginis sakinys ir apibrėžtasis sakinys yra sakinių formos, leidžiančios žinių bazei naudoti ribotą ir efektyvesnį išvadų algoritmą. Loginių išvadų algoritmai naudoja pirmyn ir atgal grandinės metodus, kuriems reikalingas KB pirmos eilės apibrėžtasis sakinys .
Apibrėžta sąlyga: Sąlyga, kuri yra pažodinių žodžių disjunkcija su lygiai vienas teigiamas pažodžiui yra žinomas kaip apibrėžtas sakinys arba griežtas raginis sakinys.
Ragas sąlyga: Sąlyga, kuri yra pažodinių žodžių disjunkcija su daugiausia vienas teigiamas pažodžiui yra žinomas kaip rago sąlyga. Taigi visi apibrėžtieji sakiniai yra raginiai sakiniai.
Pavyzdys: (¬ p V ¬ q V k) . Jis turi tik vieną teigiamą pažodinį k.
Jis atitinka p ∧ q → k.A. Priekinė grandinė
Pirmyn grandinė taip pat žinomas kaip išankstinis išskaičiavimas arba išankstinio samprotavimo metodas, kai naudojamas išvadų variklis. Pirmyn grandininis yra samprotavimo forma, kuri prasideda atominiais sakiniais žinių bazėje ir taiko išvadų taisykles (Modus Ponens) pirmyn, kad gautų daugiau duomenų, kol bus pasiektas tikslas.
Forward-chaining algoritmas prasideda nuo žinomų faktų, suaktyvina visas taisykles, kurių prielaidos tenkinamos, ir prideda savo išvadas prie žinomų faktų. Šis procesas kartojamas tol, kol problema bus išspręsta.
Sujungimo į priekį ypatybės:
- Tai metodas žemyn, kai juda iš apačios į viršų.
- Tai išvados, pagrįstos žinomais faktais ar duomenimis, sudarymo procesas, pradedant nuo pradinės būsenos ir pasiekiama tikslo būsena.
- Į priekį nukreiptas požiūris taip pat vadinamas duomenimis pagrįstas, kai pasiekiame tikslą naudojant turimus duomenis.
- „Forward-chaining“ metodas dažniausiai naudojamas ekspertų sistemoje, pvz., CLIPS, verslo ir gamybos taisyklių sistemose.
Apsvarstykite šį garsų pavyzdį, kurį naudosime abiem būdais:
Pavyzdys:
„Pagal įstatymus, amerikiečiui yra nusikaltimas parduoti ginklus priešiškoms valstybėms. Šalis A, Amerikos priešas, turi keletą raketų, o visas raketas jai pardavė Robertas, kuris yra Amerikos pilietis.
Įrodyk tai – Robertas nusikaltėlis.
Norėdami išspręsti aukščiau pateiktą problemą, pirmiausia paversime visus aukščiau pateiktus faktus į pirmos eilės apibrėžtuosius sakinius, o tada naudosime į priekį nukreiptą algoritmą, kad pasiektume tikslą.
Faktų konvertavimas į FOL:
- Amerikiečiui parduoti ginklus priešiškoms tautoms yra nusikaltimas. (Tarkime, p, q ir r yra kintamieji)
Amerikietiškas (p) ∧ ginklas(q) ∧ parduoda (p, q, r) ∧ priešiškas(r) → kriminalinis(p) ...(1) - Šalis A turi keletą raketų. ?p Priklauso (A, p) ∧ Raketa (p) . Jį galima parašyti dviem apibrėžtais sakiniais, naudojant egzistencinį egzistavimą, įvedant naują konstantą T1.
Priklauso (A, T1) ......(2)
Raketa (T1) .......(3) - Visas raketas į šalį A pardavė Robertas.
?p Raketos(p) ∧ Priklauso (A, p) → Parduoda (Robertas, p, A) ......(4) - Raketos yra ginklai.
Raketa (p) → Ginklai (p) .......(5) - Amerikos priešas žinomas kaip priešiškas.
Priešas (p, Amerika) → Priešiškas (p) .......(6) - Šalis A yra Amerikos priešas.
Priešas (A, Amerika) ......(7) - Robertas yra amerikietis
amerikietis (Robertas). .......(8)
Pirmyn grandinės įrodymas:
1 žingsnis:
Pirmiausia pradėsime nuo žinomų faktų ir pasirinksime sakinius, kurie neturi reikšmės, pavyzdžiui: Amerikietis (Robertas), priešas (A, Amerika), savieji (A, T1) ir raketa (T1) . Visi šie faktai bus pateikti taip, kaip nurodyta toliau.
2 žingsnis:
Antrame žingsnyje pamatysime tuos faktus, kurie išplaukia iš turimų faktų ir su patenkintomis prielaidomis.
Taisyklė-(1) netenkina prielaidų, todėl ji nebus įtraukta per pirmąją iteraciją.
Taisyklė (2) ir (3) jau pridėta.
Taisyklė-(4) tenkina pakeitimą {p/T1}, taip parduoda (Robertas, T1, A) pridedamas, o tai daroma iš 2 ir 3 taisyklių jungties.
Taisyklė (6) yra patenkinta pakeitimu (p/A), todėl pridedamas priešiškas (A), kuris daro išvadą iš (7) taisyklės.
3 veiksmas:
3 veiksme, kaip galime patikrinti, taisyklė-(1) yra patenkinta pakeitimu {p/Robert, q/T1, r/A}, todėl galime pridėti kriminalinį (Robert) kuri leidžia daryti išvadą apie visus turimus faktus. Taigi mes pasiekėme savo tikslą.
Taigi įrodyta, kad Robertas yra nusikaltėlis, naudodamas pirmyn grandinės metodą.
B. Atgalinės grandinės:
Atgalinės grandinės naudojimas taip pat žinomas kaip atgalinis išskaičiavimas arba atgalinio samprotavimo metodas, kai naudojamas išvadų variklis. Atbulinės grandinės algoritmas yra tam tikra samprotavimų forma, kuri prasideda nuo tikslo ir veikia atgal, pereinant pagal taisykles, siekiant rasti žinomus faktus, patvirtinančius tikslą.
Atgalinės grandinės savybės:
- Jis žinomas kaip metodas iš viršaus į apačią.
- Atgalinė grandinė yra pagrįsta modus ponens išvados taisykle.
- Atgalinės grandinės atveju tikslas yra suskirstytas į antrąjį tikslą arba antrinius tikslus, siekiant įrodyti, kad faktai yra teisingi.
- Jis vadinamas tikslu orientuotu metodu, nes tikslų sąrašas nusprendžia, kurios taisyklės pasirenkamos ir naudojamos.
- Atgalinės grandinės algoritmas naudojamas žaidimų teorijoje, automatizuotuose teoremų įrodinėjimo įrankiuose, išvadų varikliuose, patikrinimo asistentuose ir įvairiose AI programose.
- Atgalinės grandinės metodas dažniausiai naudojamas a giluminė paieška įrodymo strategija.
Pavyzdys:
Vykdydami atgalinę grandinę, naudosime tą patį aukščiau pateiktą pavyzdį ir perrašysime visas taisykles.
Priklauso (A, T1) .......(2)
Atgalinės grandinės įrodymas:
Atgalinėje grandinėje pradėsime nuo tikslo predikato, kuris yra Nusikaltėlis (Robertas) , tada nustatykite kitas taisykles.
1 žingsnis:
Pirmajame žingsnyje atsižvelgsime į tikslo faktą. Ir iš tikslo fakto padarysime išvadą apie kitus faktus ir galiausiai įrodysime, kad tie faktai yra teisingi. Taigi mūsų tikslas yra „Robertas yra nusikaltėlis“, todėl toliau pateikiamas jo predikatas.
2 žingsnis:
Antrame žingsnyje mes padarysime išvadą apie kitus faktus iš tikslo fakto, kuris atitinka taisykles. Taigi, kaip matome 1 taisyklėje, tikslo predikatas Kriminalinis (Robertas) yra su keitimu {Robert/P}. Taigi visus jungiamuosius faktus pridėsime žemiau pirmojo lygio ir p pakeisime Robertu.
Čia matome, kad amerikietis (Robertas) yra faktas, todėl čia jis įrodytas.
3 veiksmas: t 3 veiksme mes išskirsime papildomus faktus apie raketą (q), kurie daro išvadas iš ginklo (q), nes atitinka taisyklę (5). Ginklas (q) taip pat teisingas, kai q pakeičiama konstanta T1.
4 veiksmas:
4 veiksme galime daryti išvadą, kad raketa (T1) ir nuosavybė (A, T1) sudaro pardavimą (Robertas, T1, r), o tai atitinka Taisyklė - 4 , vietoj r pakeičiant A. Taigi šie du teiginiai čia yra įrodyti.
5 veiksmas:
5 veiksme galime padaryti išvadą Priešas (A, Amerika) iš Priešiškas (A) kuri tenkina taisyk- 6. Vadinasi, visi teiginiai įrodomi teisingi naudojant atgalinę grandinę.