Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу задача Искусственный интеллект
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
uuuu uuuu вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 05.12.2017
По умолчанию задача Искусственный интеллект - 05.12.2017, 08:44

Рыцари и дамы. Поиск в глубину с ограничением глубины до 16

Рыцари и дамы
На берег реки приезжают 3 рыцаря, каждый со своей дамой. В их распоряжении имеется лодка, способная вместить не более 2-х человек. Как смогут перебраться на другой берег рыцари со своими дамами, если требуется выполнить условие: ни одна дама не может остаться без своего рыцаря в обществе других рыцарей - она тут же подвергается насилию (нравы "рыцарей" не слишком-то изменились с тех пор). Лошади переплывают реку сами, дамы гребут веслами, как и рыцари, лодка может пересекать реку сколько угодно раз.
Указания к решению. Удобно рыцарей обозначать атомами a, b и c и их
соответствующих дам тоже теми же атомами. Различные состояния этой задачи задаются информацией, на каком берегу находятся лодка и списком рыцарей и дам, находящихся же на этом берегу. Поэтому структура state(НаКакомБерегуЛодка, СписокРыцарейНаТомБерегуГдеЛодка,
СписокДамНаТомБерегуГдеЛодка) полностью описывает состояние. Возможные значение первого аргумента:атомы west (западный берег) и east (восточный берег). Второй и третий аргументы - списки из элементов a, b и c. В этой задаче списки рыцарей и дам
нужно рассматривать как множества, т. е. не учитывать порядок перечисления и поэтому воспользоваться специальными предикатами для операций с множествами. Удобно, для отладки, так написать программу, чтобы список рыцарей (а, следовательно, дам) задавался фактом knight([a,b,c]); в этом случае легко будет менять число рыцарей для тестирования.
Начальное состояние: state(east,X,Y), где выполнено условие knight(M) и X и Y равны как множества списку M.
Конечное состояние: state(west, M,M), где выполнено условие knight(M).
Ответить с цитированием
  (#2 (permalink)) Старый
uuuu uuuu вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 05.12.2017
По умолчанию 05.12.2017, 08:45

Помогите решить!
Ответить с цитированием
  (#3 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 05.12.2017, 12:34

Решений на форуме много.
Например Рыцари и оруженосцы, поиск в ширину, Out of local stack
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по С++ sot147 Задания за деньги 4 30.01.2016 01:03
Задача VBA bucha20 Задания за деньги 0 25.05.2013 17:26
задача по С++ nemesises Вопросы начинающих программистов 0 01.11.2011 16:21
Искусственный Интелект как создать команду Bal'tazar Некоммерческие проекты 5 10.08.2011 14:21
Помогите, задача по прологу, срочно...задача с высказываниями 4ixOn Prolog 6 10.07.2011 23:29
Помогите, задача по прологу, срочно...задача о станках 4ixOn Prolog 3 09.07.2011 22:48
Решение задачки на исскуственный интеллект Pet Prolog 0 10.01.2011 18:38
Создан искусственный костный мозг, производящий кровь sezam Наука 5 08.10.2010 14:29
Задача bumercs Delphi 3 30.09.2010 02:00
задача ars87 Prolog 1 24.05.2010 20:28
Искусственный интеллект (психиатр) Herold Prolog 3 19.03.2007 15:57



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов