Отчет по лабораторной работе №2 по дисциплине «системы искусственного интеллекта» | |
Автор: drug | Категория: Прочее | Просмотров: | Комментирии: 0 | 03-11-2013 12:01 |
СКАЧАТЬ:
Отчет
по лабораторной работе №2
по дисциплине
«системы искусственного интеллекта»
Цель работы: изучение процесса построения экспертной системы (ЭС) с помощью языка Турбо Пролог.
Ход работы:
Выберем вид животного:
Хищные:
- Лев
- Волк
- Гепард
Травоядные:
- Зебра
- Бизон
- Кролик
Дерево целей
Описание работы программы:
Для поиска нужной породы животного нужно отвечать да или нет на поставленные вопросы.
Пользователь данной программы должен примерно знать какие характеристики принадлежат виду желаемого животного. Например: семейство, окрас, вес.
Листинг программы:
/* Программа: эксперт по животным */
/* Это продукционная система, базирующаяся на правилах*/
database
xpositive(symbol,symbol)
xnegative(symbol,symbol)
predicates
do_expert_job
do_consulting
ask(symbol,symbol)
dog_is(symbol)
it_is(symbol)
positive(symbol,symbol)
negative(symbol,symbol)
remember(symbol,symbol,symbol)
clear_facts
goal
do_expert_job .
clauses
/* Систесма пользовательского интерфейса */
do_expert_job :-
nl,write(" * * * * * * * * * * * * * * * * * * * * * "),
nl,write(" DOBRO POJALOVAT! "),nl,nl,
nl,write(" Stand by. Indefication of animal "),nl,nl,
nl,write(" Please, answer, 'yes' or 'no' "),
nl,write(" na voprosi, animal kotoroyi "),
nl,write(" Vi hotite opredelit "),
nl,write(" * * * * * * * * * * * * * * * * * * * * * * "),
nl,nl,do_consulting,write("Press any key"),
nl, readchar(_).
do_consulting :- dog_is(X), !, nl, write("Veroyatno animal - ",X,"."),
nl,clear_facts.
do_consulting :- nl, write("Izvinite, ya ne smogu Vam pomoch!"),
clear_facts.
ask(X,Y) :- write(" ?:- ",X, " ",Y, " ? "), readln(Reply),
remember(X,Y,Reply).
/* Механизм вывода */
positive(X,Y) :- xpositive(X,Y),!.
positive(X,Y) :- not(negative(X,Y)),!,ask(X,Y).
negative(X,Y) :- xnegative(X,Y),!.
remember(X,Y,yes) :- asserta(xpositive(X,Y)).
remember(X,Y,no) :- asserta(xnegative(X,Y)),fail.
clear_facts :- retract(xpositive(_,_)), fail.
clear_facts :- retract(xnegative(_,_)), fail.
/* Продукционные правила */
dog_is("Lev") :-
it_is("Hunter"),
positive("semeistvo","kochachi"),
positive("imeet","yellow okras"),
positive("ves","bolee 100 kg"),!.
dog_is("gepard") :-
it_is("Hunter"),
positive("semeistvo","kochachi"),
positive("imeet","yellow-orange"),
positive("ves","do 40 kg"),!.
dog_is("Wolf") :-
it_is("Hunter"),
positive("semeistvo","sobachi"),
positive("imeet","grey okras"),
positive("ves","bolee 40 kg"),!.
dog_is("rabbit") :-
it_is("travoidni"),
positive("semeistvo","grizun"),
positive("imeet","white or grey"),
positive("ves","do 5 kg"),!.
dog_is("zebra") :-
it_is("travoidni"),
positive("semeistvo","kopitnoe"),
positive("imeet","effect doplera"),
positive("ves","do 100 kg"),!.
dog_is("bizon") :-
it_is("travoidni"),
positive("semeistvo","kopitnoe"),
positive("imeet","temno koricheviu"),
positive("ves","do 500 kg"),!.
it_is("Hunter") :-
positive("Ono","kuchaet miaso"),!.
it_is("travoidni") :-
positive("Ono","kuchaet travy"),!.
/* Конец программы */
Скриншоты:
Вывод: в ходе данной лабораторной работы был изучен процесс построения экспертной системы и успешно написана программа на языке Турбо Пролог.
- Отчет по лабораторной работе №2 по предмету «Моделирование процессов и объектов»
- КУРСОВАЯ РАБОТА по курсу «ООП»
- ИЗУЧЕНИЕ НОРМИРУЮЩЕГО ПРЕОБРАЗОВАТЕЛЯ ТЕМПЕРАТУРЫ YTA 110-EA20B Отчет по лабораторной работе № 1
- Описать последовательность работы с программой GammaCFG
- Отчет по лабораторной работе № 2 РЕАЛИЗАЦИЯ СИСТЕМЫ РЕГУЛИРОВАНИЯ температуры С ИСПОЛЬЗОВАНИЕМ РСУ CENTUM CS3000R И ИССЛЕДОВАНИЕ ЕЕ СТАТИЧЕСКИХ И ДИНАМИЧЕСКИХ ХАРАКТЕРИСТИК