Отчет по лабораторной работе №2 по дисциплине «системы искусственного интеллекта»
Автор: drug | Категория: Прочее | Просмотров: | Комментирии: 0 | 03-11-2013 12:01

 

СКАЧАТЬ:  asoi-538-2-laboratornaya-sii.zip [98,36 Kb] (cкачиваний: 14)

 

 

 

 

Отчет

по лабораторной работе №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"),!.

 

/* Конец программы */

 

Скриншоты:

 

 

 

 

Вывод: в ходе данной лабораторной работы был изучен процесс построения экспертной системы и успешно написана программа на языке Турбо Пролог.

Сочинения курсовыеСочинения курсовые