Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Отчет по лабораторной работе ’2 по курсу Системы Искусственного Интеллекта Исполни.html

Работа добавлена на сайт samzan.net: 2016-01-17

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 16.5.2024

по курсу «Системы Искусственного Интеллекта»

Исполнитель,

студ. гр. ИУ 6-71 ___________ Д.Ю. Моисеев

студ. гр. ИУ 6-71 ___________ Ф.М. Карасев

Преподаватель,

___________ Е.К. Пугачев

2007

Задание:

17

5

Механизм логического вывода.

Тема 5. Консультирующая экспертная система для выбора породы собаки.

Основными входными фактами (данными) являются:

шерсть (длинная, короткая);

окрас (черная, белая и т.п.);

рост;

хвост (низкопосаженный и т.п.);

уши (длинные, короткие и т.п.);

характер;

вес;

для каких целей.

Например,

Английский бульдог (короткая шерсть, рост меньше 22 дюймов, низкопосаженный хвост, хороший характер и т.д.);

Гончая (короткая шерсть, рост меньше 22 дюймов, длинные уши, хороший характер и т.д.);

Дог (короткая шерсть, рост меньше 30 дюймов, длинные уши, хороший характер, вес более 100 фунтов и т.д.);

Американская гончая (короткая шерсть, низкопосаженный хвост, длинные уши, хороший характер и т.д.);

Коккер-спаниэль (длинная шерсть, рост меньше 22 дюймов, низкопосаженный хвост, длинные уши, хороший характер и т.д.);

Ирландский сеттер (длинная шерсть, рост меньше 30 дюймов, длинные уши и т.д.);

Колли (длинная шерсть, рост меньше 22 дюймов, , низкопосаженный хвост, хороший характер и т.д.);

Сенбернар (длинная шерсть, низкопосаженный хвост, хороший характер, вес более 100 фунтов и т.д.) и т.д.

В качестве модели представления данных была выбрана продукционная модель.

В данной модели использовались правила (продукции) следующего вида:

R is <i,P,AB>,

где R – знак правила;

I – имя правила;

Р – условие применимости ядра продукции;

АВ – ядро продукции.

В данном конкретном случае:

i:

  •  «определение роста»
  •  «определение породы»

Р:

  •  рост собаки введен
  •  есть правила и активные факты

AB:

  •  Если (S>=0 и S<=40), то В1, иначе (Если (S>40 и S<=60), то В2, иначе В3)
  •  Если  (Fi-rulej=Fai или Fai= -1), то В4.

В1  - N=1

B2 – N=2

B3 – N=3

B4 – Порода=Породаrulej

Текст программы:

Domains

 i=integer

s=string

list=integer*

Database-f

wopr(i,s)

tail(i,s)

ears(i,s)

coat(i,s)

color(i,s)

cher(i,s)

zel(i,s)

Database-rul

rule(i,i,list,i,list,list,list,s)

Database

act_rule(s)

tail_act(i)

ears_act(i)

coat_act(i)

color_act(i)

cher_act(i)

zel_act(i)

size(i)

quit

buf(i,s)

facts(s)

Predicates

start

rost(i,i)

interface

wout(i)

in_facts(i)

formact (i)

asform(i,s)

repeat

zak

outzakl

readmy(s)

anedit(i,s,s)

analiz(i,i,i,i,i,i,i)

in_list(i,list)

compi(i,i)

compl(list,i)

 

Goal

start.

 

Clauses

 start:-makewindow(1,1,7,"ЭС определения породы собак (Выход-Esc...)",0,0,25,80),

       makewindow(2,27,47,"Перечислите возможные ответы",5,10,15,59),

       interface.

       

interface:-retractall(_),wout(1),not(quit),

    formact(1),repeat, zak, fail.

interface:-quit, cursor(5,10), write("Работа завершена..."),

    readchar(_), removewindow, removewindow,exit.

 interface:-interface.

/* Интерфейс с пользователем */

 wout(K):-wopr(K,S),makewindow(3,54,27,S,10,14,4,50),in_facts(K),

         not(quit),K1=K+1,removewindow,wout(K1),!.

wout(K):-quit,removewindow,!.

wout(K).

 

in_facts(K):-readmy(S),assert(buf(K,S)),!.

readmy(S):-editmsg("",Sout,"F10 - ввод вопроса Esc - отказ","","",0,"",U),

    anedit(U,Sout,S).

anedit(U,Sout,S):-U=0,S=Sout,!.

anedit(U,Sout,S):-U=1,S="",assert(quit),!.

 

/* Логический вывод */

formact(N):-buf(N,S),asform(N,S),N1=N+1,

     formact(N1),fail.

formact(N).

 

asform(N,S):-N=1,tail(M,S),not(tail_act(M)),

      assert(tail_act(M)),fail.

asform(N,S):-N=1,not(tail(_,S)),assert(tail_act(-1)),fail.

asform(N,S):-N=2,ears(M,S),not(ears_act(M)),

      assert(ears_act(M)),fail.

asform(N,S):-N=2,not(ears(_,S)),assert(ears_act(-1)),fail.

asform(N,S):-N=3,coat(M,S),not(coat_act(M)),

      assert(coat_act(M)),fail.

asform(N,S):-N=3,not(coat(_,S)),assert(coat_act(-1)),fail.

asform(N,S):-N=4,color(M,S),not(color_act(M)),

      assert(color_act(M)),fail.

asform(N,S):-N=4,not(color(_,S)),assert(color_act(-1)),fail.

asform(N,S):-N=5,S<>"",str_int(S,M),rost(M,K),

      not(size(K)),assert(size(K)),fail.

asform(N,S):-N=5,S="",assert(size(-1)),fail.

asform(N,S):-N=6,cher(M,S),not(cher_act(M)),

      assert(cher_act(M)),fail.

asform(N,S):-N=6,not(cher(_,S)),assert(cher_act(-1)),fail.

asform(N,S):-N=7,zel(M,S),not(zel_act(M)),

      assert(zel_act(M)),fail.

asform(N,S):-N=7,not(zel(_,S)),assert(zel_act(-1)),fail.

asform(N,S).

repeat:-tail_act(T),ears_act(E),coat_act(C),

 color_act(Clr),size(S),cher_act(Ch),

 zel_act(Z),analiz(T,E,C,Clr,S,Ch,Z),!.

repeat.

 

analiz(T,E,C,Clr,S,Ch,Z):-

 rule(T1,E1,C_l,S1,Ch_l,Clr_l,Z_l,Prd),

 compi(T1,T),compi(E1,E),compl(C_l,C),

 compi(S1,S),compl(Ch_l,Ch),

 compl(Clr_l,Clr),compl(Z_l,Z),

 not(act_rule(Prd)),assert(act_rule(Prd)),fail.

analiz(T,E,C,Clr,S,Ch,Z).  

compi(A,B):-B<>-1,A=B.

compi(A,B):-B=-1.

compi(A,B):-fail.

 

compl(L1,A):-A<>-1,in_list(A,L1).

compl(L1,A):-A=-1.

compl(L1,A):-fail.

in_list(M,[A|B]):-M=A,!.

in_list(M,[A|B]):-not(B=[]),in_list(M,B).

 

zak:-act_rule(_),

 makewindow(4,32,47,"Выводы:",3,4,17,70),

 outzakl, readchar(_),removewindow,!.

zak:-not(act_rule(_)),

 makewindow(4,32,47,"Извините!",3,4,17,70),

 cursor(5,10),write("Трудно что-нибудь вывести по данным фактам."),

 readchar(_),removewindow,!.

zak.

 

outzakl:-act_rule(S),write(S),nl,fail.

 outzakl.

 

/* Вопросник*/

wopr(1,"Какой хвост?").

wopr(2,"Какие уши?").

wopr(3,"Какая шерсть?").

wopr(4,"Окрас шерсти?").

wopr(5,"Рост (см):").

wopr(6,"Характер?").

wopr(7,"Для какой цели?").

 

/* База фактов интерфейса с пользователем */

tail(1,"маленький"). tail(1,"короткий").

tail(2,"средний").   tail(2,"небольшой").

tail(3,"длинный").   tail(3,"большой").

 

ears(1,"короткие"). ears(1,"маленькие").

ears(2,"средние").  ears(2,"небольшие").

ears(3,"длинные").  ears(3,"большие").

 

coat(1,"короткая").

coat(2,"средняя").

coat(3,"длинная").

 

color(1,"черный"). color(2,"белый").

color(3,"рыжий").  color(4,"оранжевый").

color(5,"коричневый").

color(6,"серый").  color(7,"кремовый").

color(8,"бурый").  color(9,"золотистый").

 

cher(1,"миролюбивый"). cher(2,"не агрессивный").

cher(3,"добродушный"). cher(4,"дружелюбный").

cher(5,"не нервный").  cher(6,"грубый").

cher(7,"агрессивный"). cher(8,"внимательный").

cher(9,"верный").      cher(10,"игривый").

cher(11,"уравновешенный"). cher(12,"спокойный").

cher(13,"рассудительный"). cher(14,"подвижный").

cher(15,"уверенный"). cher(16,"привязчивый").

cher(17,"преданный"). cher(18,"любящий").

 

zel(1,"охота"). zel(1,"для охоты").

zel(2,"перевозка"). zel(2,"для перевозки").

zel(3,"служебная"). zel(3,"для службы").

zel(4,"сторожевая"). zel(4,"для охраны").

zel(5,"ищейка"). zel(5,"для розыска").

zel(6,"спасатель"). zel(6,"для спасения").

zel(7,"проводник"). zel(7,"поводырь").

 

/* База фактов заключений */

 rost(S,N):-S>=0,S<=40,N=1,!.

rost(S,N):-S>40,S<=60,N=2,!.

rost(S,N):-N=3,!.

rost(S,N).

 

rule(3,3,[1],1,[1,2],[1,2,3],[1],"Гончая").

rule(2,2,[3],2,[3,4],[1,4,5],[1],"Легавая").

rule(2,3,[1],1,[2,4,5],[1,3,5],[1],"Такса").

rule(3,1,[3],3,[6,7],[1,2,6],[1],"Борзая").

 rule(3,1,[2],2,[3,4,8],[2,7],[2],"Самоед").

rule(3,2,[2],3,[4,9,10],[1,5,6],[2],"Маламут").

rule(3,2,[2],3,[11,12,13],[1,3,8],[3,6,7],"Немецкая овчарка").

rule(3,2,[1],3,[9,14],[1,3,6],[4],"Кане-руссо").

rule(3,2,[1,3],3,[12,15],[1,2,3,6],[4],"Среднеазиатская овчарка").

rule(3,3,[1],1,[1,2,16],[1,2,3],[5],"Бассет").

rule(2,2,[2],2,[12,17,18],[1,6],[5],"Шнауцер").

rule(3,2,[3],2,[2,4],[1,8,9],[7],"Колли").

 




1. это работа связанная с выполнением какихто услуг или производственной деятельностью
2. как почему и какой в этом смысл Три вопроса как три координатные оси- на первые два отвечает скажем у
3. 2 Развитие способности выражать себя и получать обратную связь Развитие способности к синергетическому
4. Предмет трудового права
5. Считаем время выполнения скрипт
6. Безопасность российской семьи и перспективы развития социальной работы
7. Методы оценки инвестиционного проекта
8. Вариант заданий типа А с выбором ответа из предложенных вариантов Обведите один правильный
9. Харьковский политехнический институт ИСТОРИЯ УКРАИНСКОЙ КУЛЬТУРЫ Учебное пособ.html
10. Так интересно жить теперь Страдать на острие иглы
11. Пока дышу надеюсь
12. тематически пропускающих учебные занятия по неуважительным причинам
13. Байрон, Джордж Гордон
14. ТЕМА подготовки КАЗАЧЕГО БОЯ
15. Введение9
16. Статья- Социальная квазиреальность или виртуальная реальность
17.  Экономическое содержание и функции прибыли
18. тематика Отчет по выполнению лабораторной работы N3
19. ТЕМА- АРХИТЕКТУРА КИЕВСКОЙ РУСИ Руководитель
20. Реферат на тему- Этические аспекты электронных изданий Выполнила студентка 412 Д групп