dinamikus Database
Dinamikus adatbázis - részben a program, amelyben a tények nem lehet hozzáadni vagy rakodják egy fájl a merevlemezen a program során, vagy eltávolítható. Tények leíró adatbázis állítmányt is kell kezelni, mint egy közönséges Prolog predikátum.
Másrészt, lehet értelmezni Prolog adatbázis egyfajta globális változót. Ez az értelmezés nagyon kényelmes: bármely eljárás írhat neki az eredmény, mely elérhető lesz bármely más eljárással, amit a köztük levő távolság nem volt összhangban a dinamikus hívásokat.
22. Egy példa a dinamikus adatbázis.
Adatbázis - db1% nevű adatbázis db1
Adatbázis - DB2 adatbázis% nevű DB2
Cél rettactall (fact1 (X, Y, [_, 2 | Z]))% távolítsa el a tények a minta
Cél retractall (DB2)% eltávolításához nevű adatbázis
23. Besorolás Program. Itt tartjuk a kérdés-válasz rendszer, amely egy példa egy kis szakértői rendszer abban az értelemben, hogy a program változik a lekérdezési folyamat, a körülményektől függően; ráadásul ott a minimális kérdések száma.
Az alapja az adatbázis egy ilyen program egy döntési fa egy tartomány. A mi esetünkben például egy fa lenne a minősítési rendszer az állatok. Az összes állat vannak osztva az emlősök, madarak és halak. Az emlősök közül a ragadozók és patások. Ragadozók, különösen a tigris és a gepárd.
Itt bemutatunk egy példát a változat a program a visszacsatolási lánc érvelés, mert ez közelebb áll a beépített Prolog kiadási mechanizmus. Program közvetlen érvelés megtalálható [1].
A szerkezet a változat hátoldalán érvelés az előrejelzések bevezetését magas szintű szabályokat. Minden ilyen szabály leírja az állat, például:
Pozitív ( "a", "fekete foltok").
Pozitív ( "a", "vörös szín"),
pozitív ( "a", "fekete csíkok").
pozitív ( "a", "fekete-fehér").
Hasonló szabályokat kell valamennyi állat kell besorolni programot.
Minden szabály tartjuk a következő alacsonyabb szinten van, az alárendelt predikátumok:
Pozitív ( "a", "szemét előrefelé").
Munkaprogramját kezdődik Felhasználási feltételek
write ( "fogant te állat", X).
A rendszer ezután megkísérli létrehozni az igaz vagy hamis voltát a magas szintű szabályok egy időben, azaz találni olyan jelöltet, aki képes arra, hogy ellenőrizze a megfelelést az állítmány animal_is.
Érvényességének meghatározására Ez a szabály azzal megvizsgáltak minden fa alárendelt tényeket és bizonyítékokat, amelyek igaznak kell lennie annak érdekében, hogy erősítse meg az alapvető következtetést. Ahogy haladunk lefelé a fán a helyzettől függően a program megkérdezi a megfelelő kérdéseket a megfelelő időben, hogy a hiányzó információkat, így a viselkedése ésszerűnek tűnik. Sok a munka pozitív és negatív szabályok xpositive és xnegative. Hozzá vannak szokva, hogy ellenőrizze sajátos tulajdonságaival állatok, amelyek megtalálhatók a párbeszéd folyamatában, és az adatbázisban rögzített.
Itt van szó a mechanizmus a kérdéseket és válaszokat, ezért meg kell vizsgálni ezeket a szabályokat be részletesen. A következő fontos része a programnak.
pozitív (X, Y): -% pozitív választ detektáltunk
xpositive (X, Y). % -a az adatbázisban
pozitív (X, Y): - xnegative (X, Y). nem. % A nemleges válasz megtalálható
pozitív (X, Y): -% kérdezni, amelyre
nem (xnegative (X, Y)),% várható pozitív választ
levelet (X, "jelentése", Y, '\ n'),
ans_pos (X, Y, Válasz).
ans_pos (X, Y, 'n'): - assertz (xnegative (X, Y)). nem.
Amikor a mechanizmus visszavonás eléri azt a pontot, ahol szeretné megtudni, hogy az állat egyik attribútum, akkor az pozitív értelemben és negatív. (Itt adtam állítmány pozitív, ami a pozitív attribútum értékének. A hasonló munkát neki negatív állítmány szimmetrikusan kell elszámolni.)
Minden, ami a program helyek az adatbázisban mindig a forma egy pár álló ige és tulajdonságait, például:
Ezért könnyű létrehozni egy nyelvtanilag helyes mondat keresztül a felhasználót helyezi a „ő” szó között az ige és a tulajdon. A felhasználó valószínűleg be karakterek „y” vagy „n”, válaszul a kérelmet, és a memória általában hozza az információt az adatbázisban egy két predikátumok:
Tehát, ha azt szeretnénk, hogy indítsa újra a programot, akkor először meg kell szüntetnie az adatbázis válaszok által feltett kérdésekre magatartása az utolsó párbeszéd. Ők továbbra is az adatbázisban, és hatással lesz a következő eredményeket, ha nem távolítja el.