Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ЗАВДАННЯ 3





 

Розробити автоматизовану СПР, яка вирішить задачу Ейнштейна.

Умова задачі: На одній вулиці розташовано 5 будинків різного кольору (синього, білого, жовтого, зеленого і червоного). В цих будинках живе 5 людей різних національностей (швед, данець, англієць, німець та норвежець), які п'ють 5 різних видів напоїв (пиво, кава, чай, вода, молоко), курять 5 різних марок цигарок(Dunhill, Marlboro, Rothmans, Pall Mall та Phillip Morris) та розводять 5 різних тваринок (коні, птахи, рибки, коти та собаки).

1. Норвежець живе в 1 будинку.

2. Англієць живе в червоному будинку.

3. Зелений будинок знаходиться зліва від білого.

4. Данець п'є чай.

5. Хто курить Rothmans, живе біля того, хто розводить котів.

6. Хто живе в жовтому будинку, курить Dunhill.

7. Німець курить Marlboro.

8. Хто живе в центральному будинку, той п'є молоко.

9. Сусід того, хто курить Rothmans, п'є воду.

10. Хто курить Pall Mall, розводить пташок.

11. Швед розводить собак.

12. Норвежець живе біля синього будинку.

13. Хто розводить коней, живе в синьому будинку.

14. Хто курить Phillip Morris, п'є пиво.

15. В зеленому будинку п'ють каву.

Запитання: хто розводить рибок?

 

 

Лістинг 3.1 – Код для вирішення задачі Ейнштейна

houses([ house(first, _, _, _, _, _), house(second, _, _, _, _, _), house(third, _, _, _, _, _), house(forth, _, _, _, _, _), house(fifth, _, _, _, _, _)]). right_of(A, B, [B, A | _]).right_of(A, B, [_ | Y]):- right_of(A, B, Y). next_to(A, B, [A, B | _]).next_to(A, B, [B, A | _]).next_to(A, B, [_ | Y]):- next_to(A, B, Y). mymember(X, [X|_]).mymember(X, [_|Y]):- mymember(X, Y). print_houses([]).print_houses([A|B]):- write(A), nl, print_houses(B). where_fish(H):-houses(H), mymember(house(_,red,english,_,_,_),H), mymember(house(_,_,swedish,dog,_,_),H), mymember(house(_,_,datman,_,tea,_),H), right_of(house(_,green,_,_,_,_), house(_,white,_,_,_,_),H), mymember(house(_,green,_,_,coffe,_),H), mymember(house(_,_,_,bird,_,pallmall),H), H=[_,_,house(_,_,_,_,milk,_),_,_], mymember(house(_,yellow,_,_,_,dunhill),H), mymember(house(first,_,norway,_,_,_),H), next_to(house(_,_,_,_,_,marlboro), house(_,_,_,cat,_,_),H), next_to(house(_,_,_,horse,_,_), house(_,_,_,_,_,dunhill),H), mymember(house(_,_,_,_,bear,winfield),H), next_to(house(_,_,norway,_,_,_), house(_,blue,_,_,_,_),H), mymember(house(_,_,denmark,_,_,rothmans),H), next_to(house(_,_,_,_,_,marlboro), house(_,_,_,_,water,_),H), print_houses(H).:-where_fish(_).

 

Запускаємо пошук рішення задачі Ейнштейна рисунок 3.1.

 

Рисунок 3.1 – Результат роботи вирішення задачі Ейнштейна

 

Отже, при вирішенні задачі Ейнштейна визначили, що Данець розводить рибок.

 

ВИСНОВОК

 

Згідно завданню лабораторної роботи, виконала необхідні завдання. Основними поняттями в мові Пролог є факти, правила логічного висновку і запити, що дозволяють описувати бази знань, процедури логічного висновку і прийняття рішень.

Факти в мові Пролог описуються логічними предикатами з конкретними значеннями. Правила в Пролозі записуються у формі правил логічного висновку з логічними висновками і списком логічних умов.

Факти в базах знань на мові Пролог представляють конкретні відомості (знання). Узагальнені відомості та знання в мові Пролог задаються правилами логічного висновку (визначеннями) і наборами таких правил виводу (визначень) над конкретними фактами і узагальненими відомостями.

Програма Prolog складається з пропозицій. Кожна пропозиція закінчується точкою.

 







Дата добавления: 2015-06-15; просмотров: 399. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

Studopedia.info - Студопедия - 2014-2025 год . (0.014 сек.) русская версия | украинская версия