49917

Разработка элементов систем искусственного интеллекта с использованием логической модели представления знаний

Курсовая

Информатика, кибернетика и программирование

По заданию было построено дерево родственных отношений, составлено 19 фактов и 13 правил, которые описывают родственные связи в моей семье. Используя язык логического программирования Prolog, написана программа, в которой отображаются все родственные отношения с помощью заданных правил и фактов. Использовались такие предикаты, как parent(string, string), man(string), woman(string), married(string ,string).

Русский

2014-01-12

320.9 KB

6 чел.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ОБРАЗОВАНИЮ И НАУКЕ

УФИМСКИЙ ГОСУДАРСТВННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Пояснительная записка к курсовому проекту

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

на тему:

«Разработка элементов систем искусственного интеллекта с использованием логической модели представления знаний»

Вариант 25

Специальность     230102 – Автоматизированные системы обработки информации и управления

Факультет  информатики и робототехники

Кафедра            автоматизированных систем управления

Курс   5

Семестр            9

         Оценка ________________                             Исполнитель:

Консультант:                                            студ. гр. АСОИ-537

                         (зач. кн.075746)

 ___________Алыпов Ю.Е.                           _________Хисаев Р.М.

«___» ____________ 2012 г.             «___» ___________ 2012» г.

Уфа 2012

Задание 1

Задание:

Используя предикаты parent(symbol,symbol), man(symbol), woman(symbol), married(symbol,symbol), записать факты, описывающие Вашу семью. Записать 8 правил вывода для любых родственных отношений в Вашей (или вымышленной)семье (например: мать, отец, сестра, брат, племянница, племянник, тетя, дядя, внучка, внук, бабушка, дедушка, двоюродная сестра, двоюродный брат и т.д.).

Описание родственных связей:

13 вариант моя задача,20

Рис. 1. Дерево родственных отношений

Исходный текст:

predicates
parent(string,string)
man(string)
woman(string)
married(string,string)
plem(string,string)
mother(string,string)
father(string,string)
grandma(string,string)
grandfa(string,string)
son(string,string)
dauther(string,string)
brother(string,string)
sister(string,string).
print

clauses
man("Ravil").
man("Farit").
man("Gamil").
man("Anvar").

woman("Mynavara").
woman("Roza").
woman("Hariza").
woman("Aigul").


parent("Ravil","Farit").
parent("Ravil","Gamil").
parent("Mynavara","Farit").
parent("Mynavara","Gamil").
parent("Farit","Anvar").
parent("Roza”,"Anvar").
parent("Gamil","Aigul").
parent("Hariza","Aigul").

married("Ravil"," Mynavara").
married("Farit"," Roza").
married("Gamil","Hariza").

mother(X,Y):-parent(X,Y),woman(X).
father(X,Y):-parent(X,Y),man(X).
son(X,Y):-man(Y),parent(X,Y).
dauther(X,Y):-woman(Y),parent(X,Y).

grandma(X,Z):-parent(X,Y),parent(Y,Z),woman(X).
grandfa(X,F):-parent(X,Y),parent(Y,F),man(X).

brother(X,Y):-parent(Z,X),parent(Z,Y),man(X),X<>Y.
sister(X,Y):-parent(Z,X),parent(Z,Y),woman(X),X<>Y.  

plem(X,F):-parent(Z,F),man(F),parent(P,X),parent(P,Z),Z<>X. 

print:-mother(X,Y),write(X,"-mother-",Y),nl,fail.
print:-father(X,Y),write(X,"-father-",Y),nl,fail.
print:-son(X,Y),write(Y,"-son-",X),nl,fail.
print:-grandma(X,Z),write(X,"-grandma-",Z),nl,fail.
print:-grandfa(X,F),write(X,"-grandfa-",F),nl,fail.
print:-dauther(X,Y),write(Y,"-dauther-",X),nl,fail.
print:-brother(X,Y),write(X,"-brother-",Y),nl,fail.
print:-plem(X,F),write(F,"-plemannik-",X),nl,fail.
print.
GOAL
print,readln(I).

Результат работы программы:

Выводы: 

По заданию было построено дерево родственных отношений, составлено 19 фактов и 13 правил, которые описывают родственные связи в моей семье. Используя язык логического программирования Prolog, написана программа, в которой отображаются все родственные отношения с помощью заданных правил и фактов. Использовались такие предикаты, как  parent(string, string), man(string), woman(string), married(string ,string).

2 задание(6 задача).

Вычислить произведение двух целых положительных чисел (используя суммирование).

Исходный текст:

Пролог

PREDICATES

p(real,integer,real)

CLAUSES

p(_,0,0):-!.

p(A,B,C):-B1=B-1,p(A,B1,C1),C=C1+A.

goal

   write("A*B"),nl,

   write("A: "),readint(A),

write("B: "),readint(B),

   p(A,B,C),

   write("A*B: ",C).

Си++

#include <iostream>

using namespace std;

typedef unsigned short USHORT;

typedef unsigned short ULONG;

ULONG GetPower(USHORT n1, USHORT n2);

int main()

{

USHORT n1,n2;

   ULONG answer;

cout << "n1: " << endl;

cin >> n1;

cout << "n2:" << endl;

cin >> n2;

answer=GetPower(n1,n2);

cout<<n1<<"to the"<<n2<< "th power is" <<answer<<endl;

system("pause");

return 0;

}

2 задание(6 задача).

:  Написать программу, реализующую авиасправочник. В справочнике содержится следующая информация о каждом рейсе: номер рейса, пункт назначения, цена билета. Реализовать вывод всей информации из справочника, поиск пункта назначения по номеру рейса. Реализовать поиск по пункту назначения с указанием максимально возможной цены билета (должны быть выведены все рейсы, цена билета на которые ниже указанного значения). Для удобства работы реализовать меню с соответствующими пунктами.

Исходный текст:

                                                             Задание 3 (3)

У Ивана машина красная, у Петра – не черная, не синяя, не голубая, у Максима – черная и синяя. У Александра есть машины любого цвета (из перечисленных), у Бориса машины белого и синего цветов. У кого какого цвета машины, если все водители ехали на машинах разных цветов?

Исходный текст программы:

domains

s=symbol

slist=s*

predicates

colour(s)

colour_or_colour(s,s,s) % два цвета 

solve(s,s,s,s,s) % решить

print

clauses

colour("krasnii").

colour("chernii").

colour("goluboi").

colour("sinii").

colour("belii").

colour_or_colour(A,B,C):-C=A;C=B.

solve(Ivan,Petr,Maxim,Sacha,Boris):-Ivan=" krasnii ",                    

colour(Petr),Petr<>Ivan,Petr<>"chernii",Petr<>"sinii",Petr<>"goluboi",

colour_or_colour("chernii","sinii",Maxim),Maxim <>Ivan,Maxim<>Petr,    

colour(Sacha),Sacha<>Ivan,Sacha<>Petr,Sacha<>Maxim,colour_or_colour("belii","sinii",Boris),

Boris<>Ivan,Boris<>Petr,Boris<>Maxim,Boris<>Sacha.

print:-solve(Ivan,Petr,Maxim,Sacha,Boris),

write("Ivan car - ",Ivan,"\n","Petr car - ",Petr,"\n"," Maxim car - ", Maxim,"\n","Sasha car - ",Sacha,"\n","Boris car - ",Boris,"\n"),nl.

%-если убрать fail,то посчитает только один вариант! Если поставить то все возможныеgoal

goal

print

4 задача

Разработать программу поиска решения, предметная область произвольная, например, выбор сотового телефона, покупка автомобиля и т.п. В качестве примера можно использовать следующую программу на естественном языке  

Предметная область: Экспертная система породы дерева.

domains

database

xpositive(symbol,symbol)

xnegative(symbol,symbol)

predicates

do_expert_bird.

do_consulting

ask(symbol,symbol)

tree_is(symbol)

positive(symbol,symbol)

negative(symbol,symbol)

remember(symbol,symbol,symbol)

clear_facts

goal

do_expert_bird.

clauses

do_expert_bird:-

 makewindow(1,7,7,"Expert System",1,3,22,71),

 nl,write(" ---------------------------------------------------"),

 nl,write(" A Tree Expert "),

 nl,write("   "),

nl,write(" Please answer the questions 'yes' or 'no'."),

nl,write(" ---------------------------------------------------"),

nl,nl,

do_consulting,

write("Press space bar."),nl,

readchar(_),

removewindow,

exit.

do_consulting:-

tree_is(X),!,nl,

write("Tree ",X,"."),nl,

clear_facts.

do_consulting:-

nl,write("Sorry !"),

clear_facts.

ask(X,Y):-

write(" expert> ",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.

tree_is("Dub"):-

positive(tree,"Listvennaia"),

positive(tree,"Tverdaia"),

positive(tree,"Sero-Korichnevau"),

positive(tree,"Melkaia textura"),!.

tree_is("Buk"):-

positive(tree,"Listvennau"),

positive(tree,"Tverdaia"),

positive(tree,"Svetlo-Korichnevaia"),

positive(tree,"Krupnaia textura"),!.

tree_is("Osina"):-

positive(tree,"Listvennaia"),

positive(tree,"Mugkaia"),

positive(tree,"Svetlaia"),

positive(tree,"Melkaia textura"),!.

tree_is("Tis"):-

positive(tree,"Listvennaia"),

positive(tree,"Ochen tverdaia"),

positive(tree,"Temnaia"),!.

tree_is("El"):-

positive(tree,"Hvoinaia"),

positive(tree,"Mugkaia"),

positive(tree,"Svetlaia"),

positive(tree,"Smolistaia"),!.

tree_is("Sosna"):-

positive(tree,"Hvoinaia"),

positive(tree,"Mugkaia"),

positive(tree,"Svetlaia"),

positive(tree,"Ochen smolistaia"),!.

tree_is("Stolb"):-

positive(tree,"Ne derevo"),

positive(tree,"Ochen tverdii"),!.

Список литературы.:

  1.  И. Братко Программирование на языке Пролог для искусственного интеллекта: Пер. с англ.-М.: Мир, 1990.- 560 с.
  2.  Ин Ц., Соломон Д. Использование Турбо-Пролога. – М.: Мир, 1993. – 608 С.
  3.  Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог. – М.: Мир, 1990. – 235 с. 

 

А также другие работы, которые могут Вас заинтересовать

21219. Психология цвета: Теория и практика 1.36 MB
  ; Психология цвета: Теория и практика Б.; Психология цвета: Теория и практика; Изд:Речь 2005 ISBN 5926803632 Цвет и психика В монографии освещаются различные аспекты взаимосвязи цвета и психики человека. Описывается психофизиологическое и психологическое воздействие цвета на человека. Когдато цвета считались чуть ли не божествами но объективная наука доказала что цвет лишь субъективное ощущение возникающее при воздействии на зрительный анализатор электромагнитной волны определенной длины.
21220. Психология цвета. Книга 832.5 KB
  Последние три главы посвящены цветолечению в них описываются особенности заболеваний людей с разными цветовыми типами поведения и цветомедитация метод который автор разрабатывает в течение последних десяти лет. Последние три главы посвящены цветолечению в них описываются особенности заболеваний людей с разными цветовыми типами поведения и цветомедитация метод который автор разрабатывает в течение последних десяти лет. СИМВОЛИЧЕСКОЕ ЗНАЧЕНИЕ ЦВЕТА СЕМАНТИЧЕСКИЕ ПОЛЯ ЦВЕТОВ СПЕКТРА Цвета ахроматической оси Цвета хроматического круга...
21221. Система планов предприятия и их взаимоувязка 64.5 KB
  Все виды планов на предприятии могут быть систематизированы по таким основным классификационным признакам, как содержание планов, уровень управления, методы обоснования, время действия, сфера применения, стадии разработки, степень точности и др.
21222. Психология цвета 871.5 KB
  Бехтерев Цвет в рекламе понятие святое. Начиная серию публикаций о цвете мы осознаем что тема это сложна и обширна. Вашему вниманию предлагается первая часть темы: психология восприятия цвета.
21223. Психология цвета. Символика цвета. Цвет и характер. Цвет и работоспособность 94 KB
  Символика цвета. Цвет и характер. Цвет и работоспособность.
21224. Цвет влияет на принятие решений 84.5 KB
  Эксперты советуют чаще использовать зеленый утверждения зеленого цвета вызывают согласие. По заказу компании НР была проанализирована возможность влиять на отношение аудитории к напечатанным утверждениям используя различные цвета печати. Результаты этого исследования должны помочь компаниям лучше понять каким образом различные группы реагируют на цвет и в свою очередь дадут им возможность проанализировать и улучшить использование цвета во внутренних и внешних коммуникациях. Согласно исследованию использование зеленого цвета оказалось...
21225. Психология цвета в одежде 43 KB
  Вам хотелось бы знать как цвет одежды влияет на того кто ее носит и как воспринимаются определенные цвета окружающими Посмотрите одну из существующих классификаций воздействия цвета. Цвет Эмоциональное воздействие Символическое значение Желтый теплый Стимулирует веселит бодрит оживляет Солнце благодарность Желтый холодный Тошнота отвращение бред Ревность зависть измена Оранжевый Радует ободряет активирует Солнце радость богатство мощь роскошь торжество Краснооранжевый Возбуждает дразнит подстрекает Любовь гордость мощь...
21226. Психология цвета в рекламе 61 KB
  Цвета обращаются к чувствам а не к логике человека. Цвета обращаются к чувствам а не к логике человека а именно: вызывают психологическую реакцию: подчеркивают качество настроение чувство; создают теплую или холодную среду; отражают времена года и т. Как показывают специальные исследования 80 цвета и света поглощаются нервной системой и только 20 зрением.
21227. Педагогическая психология 22.98 KB
  Если в дидактике Каменского Песталлоци психологическая сторона образовательного процесса разработана еще не достаточно то начиная с работ Дистервейка и Ушинского поднимается вопрос о необходимости изучения психологии ученика и психологии учителя разработка психологического подхода к рассмотрению образовательного процесса как совокупности обучения и воспитания с конца 19до начала 80х годов 20 века оформленея педагогической психологии в самостоятельную отрасль появление первых экспериментальных работ в этой области. характеризуется...