Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Вниз

Еще задачка. Почему нельзя казнить. 


McSimm   (2002-02-05 11:51) [0]

Задачка - парадокс.
Преступнику был вынесен смертный приговор. Способ приведения приговора к исполнению был избран такой:
Преступника должны повесить на рассвете любого дня следующей недели, но с условием, что знать о дне казни заранее он не должен (например чтобы ему лучше спалось).
После вынесения приговора адвокат со счастливым лицом объявил, что этот приговор невозможно привести к исполнению и объяснил почему. Чем привел в полное замешательство представителей обвинения.

Так можно или нельзя? Вот в чем вопрос.



Виктор Щербаков   (2002-02-05 11:59) [1]

...на рассвете любого дня следующей недели...
В воскресенье не получится.



VictorT   (2002-02-05 12:04) [2]

>В воскресенье не получится.
Я так понял что, тут получается рекурсия. Исключив из возможных дней воскресенье, по аналогичным соображениям исключается субота, ну дальше вроде ясно...
Я прав?



Виктор Щербаков   (2002-02-05 12:05) [3]

Да.



Merlin   (2002-02-05 12:13) [4]

Но придя к такому мнению, перступник довольный уляжется спать и на след. утро его казнят не нарушая приговора ;)



McSimm   (2002-02-05 12:17) [5]

>Merlin © (05.02.02 12:13)
Именно поэтому я озаглавил задачку как парадокс. Нельзя казнить ни в один из дней. Но нельзя во все дни одинаково, поэтому вроде бы можно...
Кроме воскресенья, естественно...
Ну и субботы...
...

:)



VictorT   (2002-02-05 12:29) [6]

Может еще каких задачек подбросите?



Юрий Федоров   (2002-02-05 12:39) [7]

Господа, может, мы туповаты, но сидим всем офисом и не понимаем,
объясните:
Почему нельзя в воскресение?



Виктор Щербаков   (2002-02-05 12:41) [8]

Потому, что в если его не казнили в субботу, то он будет знать, что казнь назначена на воскресенье, что не вяжется с утверждением "...знать о дне казни заранее он не должен..."



McSimm   (2002-02-05 12:41) [9]

Вот старенькая, о коллективном мышлении.

Один, допустим, падишах попросил приезжего мудреца проверить его визирей на мудрость.
Приезжий приказал сделать следующее. В тронном зале собрали всех визирей (10). Каждому дали шкатулку, после чего процедура проистекала так. Каждый визирь (по очереди) выходил из комнаты и в его шкатулку на виду у всех остальных ложили либо рубин, либо алмаз. Было объявлено, что хотя-бы один алмаз будет положен.
После заполнения шкатулок приезжий обратился к визирям:
"Преподнесите алмазы вашему правителю"
Но никто не двинулся с места.
Тогда он повторил фразу.
Опять безрезультатно.
Но после нескольких повторений все визири с алмазами в шкатулке подошли к падишаху.
И приезжий поздравил падишаха с отличным составом советников.

Как они это сделали? Никакими сигналами они не пользовались.

Как вариант - можно и без условия наличия хотя-бы одного алмаза



McSimm   (2002-02-05 12:44) [10]

P.S.
В этом случае (если были положены только рубины) все визири встали и просто поклонились своему правителю, но никто не поднес рубина.



Юрий Федоров   (2002-02-05 12:46) [11]

>Виктор Щербаков
Ну а в субботу-то можно. И в любой другой день кроме воскресения?
Вроде, рекурсии нет.



McSimm   (2002-02-05 12:52) [12]

Зная, что в воскресенье казнить невозможно, будучи оставленным в живых в пятницу можно понять, что день казни - суббота.
И т.д.
:)



McSimm   (2002-02-05 12:53) [13]

Так как насчет коллективного мышления? (задачка о визирях)



Юрий Федоров   (2002-02-05 12:57) [14]

>McSimm
function CanPutToDeath(Now, ExecutionDay : byte): boolean;
begin
if now = 6 then result:=false
else result:=true;
end;

Все-таки передается два параметра. ИМХО.



Андрей Сенченко   (2002-02-05 12:58) [15]

>> Юрий Федоров © (05.02.02 12:46)
>> Виктор Щербаков
>> Ну а в субботу-то можно. И в любой другой день кроме
>> воскресения? Вроде, рекурсии нет.

В субботу нельзя потому, что в восресенье УЖЕ нельзя потому что будет знать. Вроде как типовая рекурсия.
С другой стороны в субботу можно потому что осталось два дня ... в этом парадокс



VictorT   (2002-02-05 12:59) [16]

Я так понимаю, что отталкиваться надо от того, что после просьбы принести алмазы, визирь видевший, кому положили алмаз, может сделать вывод, что тот, кому положили алмаз, не видел, как кому-то ещё ложили алмаз.



McSimm   (2002-02-05 13:04) [17]

>Андрей Сенченко © (05.02.02 12:58)
>С другой стороны в субботу можно потому что осталось два дня
Осталось то два, но казнить можно только в один из них и никак во второй - однозначность! Значит условие будет нарушено.
:)

>VictorT (05.02.02 12:59)
Я конкретизирую вопрос:
Допустим после 4х воззваний приезжего все визири с алмазами подошли к правителю. Сколько было алмазов?



McSimm   (2002-02-05 13:06) [18]

P.S.
Именно: Каждый знает что у других, но никто не знает что у него в шкатулке



VictorT   (2002-02-05 13:20) [19]

>Я так понимаю, что отталкиваться надо от того, что после просьбы принести алмазы, визирь видевший, кому положили алмаз, может сделать вывод, что тот, кому положили алмаз, не видел, как кому-то ещё ложили алмаз.

Я хотел сказать, что он как-раз видел, что кому-то ещё ложили алмаз



Юрий Федоров   (2002-02-05 13:21) [20]

>McSimm
Если визирей 5, а алмазов 2, то решение простое.
А в общем виде как-то сложно.
Именно 10 визирей? Или любое число?



McSimm   (2002-02-05 13:25) [21]

Не важно сколько визирей и сколько алмазов, важно чтобы все советники были достаточно мудры. Только коллективная мудрость способна безошибочно решить задачку приезжего.

А то ведь за поднесенный рубин могут и голову срубить, у них с этим строго :)



VictorT   (2002-02-05 13:30) [22]

Вроде догнал. Пусть я один из визирей (так мне легче выразить свою мысль). Я знаю, что N алмазов лежит в шкатулках кроме моей. Поcле N воззваний я буду знать, что в моей шкатулке лежит алмаз. Так?



Wonder   (2002-02-05 13:31) [23]

>VictorT Ты ведь не знаешь сколько всего алмазов.

Если известно заранее кол-во алмазов, то решение простое при любом кол-ве визерей. А вот при произвольном кол-ве алмазов я и для 5 визерей не могу придумать как...



McSimm   (2002-02-05 13:36) [24]

>VictorT (05.02.02 13:30)
Так.
У одного моего знакомого падишаха есть вакансия. Могу порекомендовать :)

>All
Так то оно так, но как ???



VictorT   (2002-02-05 13:36) [25]

2 Wonder
Я знаю количевство алмазов не заранее, а после того, как видел, что кому положили (кроме меня), тоесть погрешность в один алмаз -её то мне и надо определить и тогда я знаю есть у меня алмаз или нет.



Wonder   (2002-02-05 13:38) [26]

Пусть 2 визира и 1 алмаз. Один из визиров видит как кладут алмаз другому. Поэтому при взывании падишаха стоит на месте, а другой не долго думая идет к падишаху. Тут все понятно. А вот 2 алмаза и 2 визира...
Один видит как кладут другому, но не знает сколько всего алмазов.
И чего ему делать?



VictorT   (2002-02-05 13:39) [27]

>У одного моего знакомого падишаха есть вакансия. Могу порекомендовать :)
А зарплата алмазами и рубинами? :)



Wonder   (2002-02-05 13:41) [28]

Аааа :)))
Оба остаются на месте, а на следующий приказ падишаха идут оба :)
Ведь не сказано сколько приказов падишах отдал...



Юрий Федоров   (2002-02-05 13:41) [29]

На N-ное воззвание шагнули те, которые видели N алмазов у других.
Так?



Murad   (2002-02-05 13:44) [30]

Самая суть в том, что они должны были догадаться установить соответствие между виденными ими чужими алмазами и числом возваний - дальше дело техники. Я прав ?



McSimm   (2002-02-05 13:53) [31]

>Murad © (05.02.02 13:44)
Не совсем. Никакой договоренности.

Каждый визирь должен был рассуждать так:
Допустим есть 1 алмаз:
Тогда тот у кого он лежит, знает, что больше нет ни у кого. И на первый же зов с чистой совестью идет на поклон.

Теперь представим что положены 2 алмаза:
Первый зов. У меня алмаз. Я видел, что у кого-то есть алмаз, но он не подошел к падишаху. Значит, (если он достаточно мудр), он тоже видел положенный кому-то алмаз, иначе сразу же пошел бы.

Аналогично рассматриваются 3й зов и далее. Я видел 2 алмаза, но они не пошли, значит они тоже видели 2 алмаза - значит 3й у меня.

Если же не положено ни одного алмаза, вся толпа встанет, но поняв в чем дело, поклонятся властителю и сядут на место :)



McSimm   (2002-02-05 13:56) [32]

>Юрий Федоров © (05.02.02 13:41)
Да.
См. выше, насчет вакансии :)



Юрий Федоров   (2002-02-05 14:03) [33]

>McSimm
Мы с Мурадом сидим в одной комнате.
Так что лучше не надо, а то голову отрубят :)



McSimm   (2002-02-05 14:04) [34]

>VictorT (05.02.02 13:39)
Оплата да, но не забывай о строгих требованиях
(см. McSimm © (05.02.02 13:25))



Murad   (2002-02-05 14:07) [35]

А вот другое решение - чем-то похожее.

Визири решили для себя (без договоренности - они же мудрые) выходить на тот зов, который равен количеству алмазов виденному им(визирем) у других. По этой логике первые выйдут те, кто видел алмазов меньше других -т.е. еще один алмаз в его шкатулке - т.е. выходят именно люди с алмазами. Но сначала выходят, конечно те, кто вообще не видел алмазов. :)))). Мне кажется, что и такое решение верное.



Judith   (2002-02-05 14:09) [36]

Нет, визири выходят на повторение, равное количеству виденных алмазов +1.



McSimm   (2002-02-05 14:10) [37]

>Murad © (05.02.02 14:07)
Решение правильное. Просто другая логика рассуждений.



McSimm   (2002-02-05 14:12) [38]

>Judith © (05.02.02 14:09)
Нет. Если положен один алмаз, зачем его держателю ждать второго приглашения. Так он всю бригаду подведет под топор :)



McSimm   (2002-02-05 14:14) [39]

>Judith
Сорри, невнимательно прочел. Действительно виденных + 1.
Т.е. общему кол-ву алмазов.



Merlin   (2002-02-05 14:45) [40]

Под топор! Всех под топор!!! :)))



Виктор Щербаков   (2002-02-05 14:49) [41]

to Merlin ©
Надеюсь под виртуальный :)



McSimm   (2002-02-05 14:51) [42]

:)))



Judith   (2002-02-05 15:13) [43]

Дело в том, что визири ни о чем не договаривались и может возникнуть такая ситуация.
Допустим положили n алмазов, n визирей видели n-1 алмазов. Если визирь выходит на повторение, равное количеству виденных алмазов, то на n-1 повторение выходит n-1 визирей с n-1 алмазами, а n-ный визирь решил, что у него рубин, он видел n-1 положенных алмазов, вышло n-1 визирей и считает, что все так и должно быть. Опять оговорюсь, визири не договаривались между собой.



Merlin   (2002-02-05 15:25) [44]

В задаче явно не сказано, но подразумевалось, чтот после того, как визирь вышел и в его шкатулку что-то положили, то оно возвращается назад и выходит другой.

А теперь усложняем задачу, один из визирей самый умный, но он же и самый старый и со слабым зрением... ? ;)



VictorT   (2002-02-05 15:30) [45]

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



Shaman_Naydak   (2002-02-05 15:37) [46]

А мне кажется, что казнить можно и воскресенье.
Объясню почему:
В субботу вечером преступник ляжет спать в полной уверенности,
что завтра его уже не могут казнить (ход рассуждений см. в предыдущих письмах),
и естесственно, будет просто ошарашен, когда его поведут казнить!



Merlin   (2002-02-05 16:19) [47]

Исходя из этого, он гроомогласно объявляет каждое утро: "Блин! Вот и настал мой последний день!!! Именно сегодня меня и казнят!!!" ну и прочую чушь :) И таким способом уберегает себя от казни ;)



Wonder   (2002-02-05 17:04) [48]

http://golovolomka.hobby.ru/books/gardner/surprize.shtml



McSimm   (2002-02-05 17:29) [49]

>Wonder © (05.02.02 17:04)
Здорово. Мне понравилось. :)



Merlin   (2002-02-05 17:34) [50]

Здорово-то здорово, но нифига не объясняет :)



McSimm   (2002-02-05 17:36) [51]

Зато крышу ведет!!!
На пять баллов



panov   (2002-02-05 18:05) [52]

Мне кажется, что задачка в топике имеет другое решение:

Ключевой, как мне кажется, является словосочетание следующей недели, а условие лишь попытка завуалировать решение.

Т.е. казнь всегда должна состояться на следующей неделе...



McSimm   (2002-02-05 18:12) [53]

>panov © (05.02.02 18:05)
Нет, возможно я некорректно это сформулировал. В один из дней конкретной недели.
А вообще - почитайте статью по ссылке приведенной выше. Впечатляет.



lel   (2002-02-05 18:47) [54]

Ерунда, глупые американцы, надо было вешать в любой день недели...кроме субботы, все равно он потом ничего не докажет , мертвые не потеют 8))
Вообще само по себе бесмысленно...Я утверждаю, что я всегда говорю ложь, можно ли мне верить ???
желаю удачи в темных делах.
С уважением Алексей.




Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.82 MB
Время: 0.028 c
1-66931           Михаил123             2002-03-06 18:19  2002.03.21  
Как в Delphi сделать DLL с функциями возвращаемыми VOID


1-66891           Vacheslav             2002-03-05 19:09  2002.03.21  
Как обработать событие перекрытия компонентов?


14-66957          BWG                   2002-01-19 19:53  2002.03.21  
ICQ Mastak Active list


3-66797           Ross                  2002-02-23 15:32  2002.03.21  
Варианты передачи данных в Word


3-66761           AndrewK               2002-02-20 17:22  2002.03.21  
DBGrid