Читаем Как сдвинуть гору Фудзи? Подходы ведущих мировых компаний к поиску талантов полностью

Если бы в деревне был только один неверный муж, его жена должна была убить его в тот день, когда королева сделала свое объявление (назовем этот день первым). Так как в этом случае все женщины знали бы об этом единственном неверном муже за исключением его жены. Она была бы единственной женщиной, которой бы не было известно о неверном муже. Поэтому объявление королевы было бы для нее как удар грома. Поскольку она не знала ни о каких неверных мужьях, этот «по крайней мере» один неверный муж должен быть ее собственным мужем. Она должна была бы убить его в тот самый день, как предписано законом. Конечно, в том случае, если бы в деревне был всего один неверный муж.

Вместо этого настает утро второго дня — и все мужчины живы. Это информирует всех жителей в деревне о том, что неверных мужей более одного. И это, и безупречность королевы подразумевает, что неверных мужей должно быть по крайней мере два.

И если неверных мужей было бы только два, их жены убили бы их на второй день, а если бы их было три — жены бы убили их на третий день, и т. д. И если бы их было сорок восемь — их сорок восемь жен убили бы их на сорок восьмой день.

Сегодня уже сорок девятый день, и Моника, которая знает о сорока восьми неверных мужьях, должна быть удивлена тому, что в предыдущий день не произошло массового убийства. Единственное возможное объяснение (это все еще размышления Эдны о том, что должна была подумать Моника) — муж Моники как раз и есть сорок девятый герой адюльтера.

Таким образом, Эдна должна прийти к заключению, что всегда безупречно логичная Моника должна убить Макса к полуночи сорок девятого дня. Эдна может прийти к подобному же заключению относительно всех остальных женщин деревни. «Да, — думает Эдна, — на сорок девятый день произойдет кровавая баня».

И вот настал сорок девятый день, и все еще ничего не произошло. Единственное возможное объяснение теперь — это то, что Моника (и все остальные женщины) знали о сорок девятом неверном муже. Это не мог быть Макс. Это мог быть только один мужчина: собственный муж Эдны Эдгар!

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

Ответ на головоломку — ничего не произойдет в первые сорок девять дней, а на пятидесятый день все пятьдесят жен убьют своих мужей.

Это шедевр среди логических головоломок. Однако нельзя с уверенностью утверждать, что эта задача также хороша как инструмент при отборе кандидатов на работу. Первое известное упоминание об этой головоломке в печати — опубликованная в 1958 году книга физика Джорджа Гамоу и математика Марвина Стерна Puzzle — Math («Математические головоломки»). [157] В их версии речь шла о неверных женах. С тех пор эта головоломка широко использовалась. К 1980-м годам речь уже идет о неверных мужьях, и головоломка становится темой исследования одной из научных лабораторий IBM.[158] Джон Аллен Паулос дал в книге Once upon a Number («Жило-было число»), опубликованной в 1998 году, версию, так похожую на ту, что используется Microsoft, что, возможно, корпорация использовала именно этот источник.[159]

Я подозреваю, что типичный читатель этой книги прочитал головоломку, подумал о ней немного, не придя ни к какому выводу, и заглянул в ответ: «Вот это да! Какая замечательная головоломка!» Потом, возможно, загадал ее двум-трем друзьям, которые также не сумели ее решить, но согласились, что у нее потрясающее решение, когда узнали о нем. Популярность логической головоломки никак не зависит от того, может кто-то ее решить или нет.

Это становится проблемой только если кто-то пытается использовать данную головоломку для отбора кандидатов на работу. Хотя в причудливой «рекурсивной» логике, используемой для решения этой задачи, можно найти определенные параллели с программированием, эту головоломку очень трудно решить людям, которые понимают поведение реальных людей (а это полезное качество даже для программиста). Когда они не могут ее решить, это обычно происходит из-за того, что они приходят к верному заключению, что если уж ничего не происходит сразу после заявления королевы, то с течение времени драматизм ситуации будет только ослабевать. Обычно это вполне разумный вывод, если речь идет не о решении логических головоломок.

Злобный демон поймал много гномов (их точное количество неизвестно).

Какие выводы может сделать в этой ситуации безупречно логичный гном? Наверное, никаких. Скорее всего типичный гном видит других гномов с зелеными или красными камнями. Он все еще ничего не знает о том, какого цвета камень у него на лбу.

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT