..по мотивам сказок Льюиса Кэрролла?
Сегодня наткнулся на одну детскую книжку Рэймонда М.Смаллиана " Алиса в стране смекалки", и чють мозг не сломал)))
Вот кое что оттуда.
- Как сейчас, помню, рассказывали мне как-то раз об одном судебном процессе, - начал Белый Рыцать. -
Подсудимых было трое.Каждый обвинял одного из двух других, и первый подсудимый говорил правду. К сожалению Бармаглот ничего не сказал мне о том, лгал или говорил правду второй подсудимый, но зато сообщил мне, лгал ли или говорил правду третий подсудимый.Эта информация не позволила мне установить
виновного.Тогда Бармаглот сообщил мне, кого обвинял третий посудимый, и я сразу смог определить, кто из троих виновен. К сожалению, я не помню ни того, говорил ли третий подсудимый правду или лгал, ни того, кого он обвинял.
Вопрос:Кто из подсудимых виновен?
обвинял одного из двух других, и первый подсудимый говорил правду
виновен либо второй либо третий:-)
Цитата: От пользователя: Cергей NE ON
сообщил мне, лгал ли или говорил правду третий
подсудимый
Цитата: От пользователя: Cергей NE ON
кого обвинял третий посудимый
3 -> 2 or 3->1
and
это правда или нет:
2 варианта
3 обвиняет 1 и это правда = 3 обвиняет 2 и это ложь
3 обвиняет 2 и это правда = 3
обвиняет 1 и это ложь
3 -> 2 or 3->1
and
это правда или нет:
2 варианта
3 обвиняет 1 и это правда = 3 обвиняет 2 и это ложь
3 обвиняет 2 и это правда = 3 обвиняет 1 и это ложь
Еще пока никто не сломал...
Так:
1. (каждый обвиняет одного из двух других) & (1 говорит правду)
=> (виновен 2 или 3)
2. (что сказал 3, правду или ложь, - не дало ответа на
вопрос, кто виновен)
=>
предположим (3 сказал правду)
=> (ой... тогда точно виновен 2),
но раз мы ничо точно сказать не можем, значит (3 солгал)
3. эээ... кого обвинил 3?
если 3 обвинил 1, то ничо нам это не дает
=> значит обвинил 2
=> значит 1 невиновен, потому что невиновен, 2 невиновен, потому что на него указал 3, но известно, что 3 лжет
=> виновен 3.....
:-d
Так оно) Довольно все просто. Но там (в книге)есть еще задачка с решением на несколько страниц, вот с помощью неё точно можно мозг сломать.У этой решение в несколь строк укладывается.
Я чувствую, что если на Прологе все это описать - машина дат ответ. Беда в том, что шампанского на старый НОВЫЙ год выпито много и язык программирования (логического) Пролог я двадцать лет как забыл! (а сколько было надежд на Лисп и Проло - предикаты, блин, и все такое)
Ключевые звенья:
a) 3-й должен был солгать... чтобы не указать однозначно на 2-го;
б) 3-й должен был обвинить 2-го... чтобы БР смог определить виновного.
Вариации в стиле Мартина Гарднера на тему "из если A, то B, не следует если не A, то не B".
Знающие теорию
конечных автоматов хотя бы в пределах "пятёрки" могут быстренько заполнить матрицу истинности функции выходов.
Внимание! сейчас Вы не авторизованы и не можете подавать сообщения как зарегистрированный пользователь.
Чтобы авторизоваться, нажмите на эту ссылку (после авторизации вы вернетесь на
эту же страницу)