ПредишенСледващото

Dynamic Database

Динамична база данни - частта от програмата, в която фактите могат да се добавят или заредени от файл на диска по време на програмата или извадени от него. Факти, описващи предиката на базата данни, също може да се счита за обикновена Prolog предикати.

От друга страна, може да се тълкува база данни Prolog като един вид глобална променлива. Това тълкуване е много удобно: всяка процедура да пише в нея резултат, който ще бъде на разположение на всяка друга процедура, независимо от разстоянието между тях не е в съответствие с техните динамични разговори.

22. Пример за динамична база данни.

База данни - db1% на база данни на име db1

База данни - DB2 Database% кръстен DB2

Цел rettactall (fact1 (X, Y, [_, 2 | Z]))% отстраняване на фактите пробата

Цел retractall (db2)% премахнете име на база данни

23. Програма Класификация. Тук ние считаме, системата за въпроси и отговори, което е пример за малка експертна система, в смисъл, че програмата варира избирателният процес, в зависимост от обстоятелствата; Освен това, той може да определи минималния брой въпроси.

В основата на базата данни на такава програма е дърво на решенията на един домейн. В нашия случай, такова дърво би било система за класификация на животните. Всички животни са разделени на бозайници, птици и риби. Сред бозайниците са месоядни и копитни животни. За хищници, по-специално, тигър и леопард.

Представяме тук пример за версия на програмата с обратна връзка верига на разсъждения, защото тя е по-близо до вградения изход механизъм Prolog. Програма с директна линия на мотиви могат да бъдат намерени в [1].

Структурата на версията на задната линия на разсъждение се очаква въвеждане на правила на високо равнище. Всеки такъв правило описва животното, например:

положителни ( "а", "черни точки").

положителни ( "а", "червено"),

положителни ( "а", "черни ивици").

положителен ( "а", "черно и бяло").

Подобни правила следва да са за всички животни, за да бъдат класифицирани програма.

Всички правила се поддържат по време на следващата по-ниското ниво, някои от подчинените предикати:

положителни ( "а", "очи, насочени напред").

Неговата работна програма започва с Условията за ползване

пиша ( "Замислена ви животно", X).

След това системата се опитва да установи истинността или неистинността на правилата на високо равнище в даден момент, т.е. намери кандидат, който е в състояние да се проверява за съответствие с animal_is предикатното.

Определяне на валидността на това правило налага проверка на всички дървесни подчинените факти и доказателства, които трябва да са истински, за да се потвърди, основният извод. Тъй като ние се движат надолу по дървото в зависимост от ситуацията на програмата задава правилните въпроси в точното време, за да осигури липсващата информация, така че поведението й изглежда разумно. Голяма част от работата, извършвана положителни и отрицателни правилата, xpositive и xnegative. Те се използват за проверка на конкретни характеристики на животни, които могат да бъдат открити в процеса на диалог и се записват в базата данни.

Тук става дума за механизма на въпроси и отговори, така че ние трябва да се помисли тези правила в детайли. По-долу е съответната част от програмата.

положителен (X, Y): - открити% положителен отговор

xpositive (X, Y). % От база данни

положителен (X, Y): - xnegative (X, Y). провалят. % Отрицателният отговор е намерена

положителни (X, Y): -% зададете въпрос, за който

не (xnegative (X, Y)),% очаква положителен отговор

напиши (X, "е", Y, "\ Н"),

ans_pos (X, Y, Отговор).

ans_pos (X, Y, "N"): - assertz (xnegative (X, Y)). провалят.

Когато механизмът за оттегляне достигне точката, в която искате да разберете дали животното определен атрибут, тя използва положителна и отрицателна. (Тук сме дали предикат положително, което съответства на положителната стойност на атрибут. Подобна работа за него отрицателен предикат се записва симетрично.)

Всичко това места по програмата в базата данни винаги е под формата на двойка, състояща се от глагол и свойства, например:

Затова е лесно да се създаде граматически правилно изречение за представяне на потребителя чрез въвеждане на думата "го" между глагола и имуществото. Потребителят може да въведе знака "Y" или "N" в отговор на искането, както и паметта като цяло ще доведе до информация в базата данни с помощта на един от двата предикати:

Така че, ако искате да рестартирате програмата, първо трябва да изчисти базата данни на отговорите на въпроси, поставени от поведението на последния диалог. Те продължават да са в базата данни и ще се отрази на следните резултати, ако те не са отстранени.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!