- •Лекція 4.21. Логічні задачі
- •1. Проблема мавпи
- •2. Проблема фермера
- •3. Проблема слідчого
- •4. Поліцейська проблема
- •6. Маскарад
- •7. Таблиця велосипедних змагань
- •8. Студенти на велосипедах
- •10. Проблема мешканців острова
- •11. Проблема зебри.
- •12. Числовий ребус.
- •13. Ігрові програми. Гра "бики й корови" (видатний розум)
- •Висновки.
Висновки.
Для розв'язку задач у логічному програмуванні застосовується метод породження й перевірок.
Насправді будь-який доказ так чи інакше використовує цей метод.
При цьому проміжні етапи перевірки відтинають подальші гілки від повного дерева перебору, реалізуючи метод гілок і границь.
Те, наскільки багато гілок відтинається, визначає ефективність розв'язку задач.
При розв'язку практичних задач важливо
Вибрати зручне подання стану задачі.
Побудувати перебір методу гілок і границь, щоб відтинати найбільш об'ємні гілки дерева.
Іноді неявний перебір і правильний вибір способу подання знань дозволяє розв'язати задачу в чисто декларативному стилі.
Завдання для самостійної роботи
1. Троє хлопців вийшли гуляти із собакою, кішкою й хом'ячком. Відомо, що Петя не любить кішок і живе в одному під'їзді з господаркою хом'ячка. Лена дружить із Танею, що гуляє з кішкою. Визначити, з якою твариною гуляв кожний з дітей?
2. Вітя, Юра й Миша сиділи на скамейці. У якому порядку вони
сиділи, якщо відомо, що:
Юра сидів ліворуч від Миші й праворуч від Віті.
3. П'ять піонерів Алик, Боря, Вітя, Лена й Даша приїхали в табір з 5 різних міст: Харкова, Умані, Полтави, Слов'янська й Краматорська. Є 4 вірних твердження:
1) Якщо Алик не з Умані, то Боря із Краматорська.
2) Або Боря, або Вітя приїхали з Харкова.
3) Якщо Вітя не зі Слов'янська, те Лена приїхала з Харкова.
4) Або Даша приїхала з Умані, або Лена із Краматорська.
Хто звідки приїхав?
4. Чотири чоловіки грають у доміно. Їхні прізвища Кузнєцов, Токарєв, Слесарев і Резчиков. Професія кожного гравця відповідає прізвищу одного з інших гравців. Вірними є три твердження:
Навпроти Кузнєцова сидить слюсар.
Навпроти Резчикова сидить різьбяр.
Праворуч від Слесарева сидить токар.
Хто сидить ліворуч від коваля?
5. В одній школі уроки по історії, математиці, біології, географії, англійській і французькій мові вели три вчителі - Морозов, Васильєв і Токарєв. Кожний з них викладав два предмети.
Географ і вчитель французької мови - сусіди по будинку.
Учитель біології старший за вчителя математики. Морозов - наймолодший.
У понеділок перший урок за розкладом у Токарєва, у біолога й у вчителя французької мови.
У неділю Морозов, математик і вчитель англійської були на риболовлі.
Які предмети викладає кожен учитель?
6. Є чотири боксери: Томас Герберт, Герберт Френсис, Френсис Джеймс і Джеймс Томас.
Герберт набагато сильніше за Томаса.
Френсис сильніший і за Томаса, і за Герберта. Герберт слабший за Джеймса, але сильніший за Френсиса.
У якому порядку потрібно розташувати боксерів від слабшого до найсильнішого?
7. Є чотири кошеня - Дружок, Єлисей, Фантик і Мурлика й чотири хлопчики - Миша, Максим, Льоня й Дмитрик. Кожен хлопчик узяв собі кошеняти улюбленого кольору.
При цьому:
1) Фантик - не рудий Мурлика - не сірий
2) Дружок - не білий Єлисей - не сірий
3) У Миші - чорне кошеня У Максима - Мурлика
4) У Льоні – Єлисей У Дмитрика - біле кошеня
5) Дмитрик не взяв Фантика Дружок - не сірий
Одне із цих п'яти тверджень помилкове.
У якого хлопчика яке кошеня?
