Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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]

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



Страницы: 1 2 вся ветка

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

Наверх





Память: 0.54 MB
Время: 0.006 c
6-66944
netter
2002-01-07 13:29
2002.03.21
Workgroup обычно


14-66974
Alibaba
2002-02-06 17:25
2002.03.21
Простая страничка


1-66866
dolmat
2002-03-05 16:27
2002.03.21
Печатать подобно DOS


1-66870
MaxSit
2002-03-04 20:32
2002.03.21
MDIChild в DLL


14-66980
Yuri Btr
2002-02-07 10:39
2002.03.21
Знатоки Clipperа!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский