Студопедия — ЗАВДАННЯ 3
Студопедия Главная Случайная страница Обратная связь

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

ЗАВДАННЯ 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; просмотров: 377. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

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

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

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

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

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