задача-хамелеон

Sep 30, 2007 18:52

Некоторое время назад я обещал подвести итоги забавы по "озвучиванию" числовых ребусов, а также написать нечто вроде обзора по обсуждению логического парадокса отсюда. Из-за крайней (и неожиданной для меня) загруженности на "службе" реализация несколько подзадержалась. Однако я "проапдейтил" пост по первой ссылке, приведя там некоторые из вариантов составления ребусов, и желающие могут это дело посмотреть. Что касается логической задачи, то я сейчас намерен сделать следующее.

1) Повторить в целях удобства постановку самой задачи.
2) Указать несколько иную интерпретацию её условия -- более простую, нежели раньше.
3) Показать, как незначительные модификации условия могут привести к противоположным ответам.
4) Высказаться по поводу хода обсуждения задачи и предлагавшихся аргументов.

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

1) Воспроизвожу условие задачи из более раннего поста. Сразу же предостерегаю читателей от буквальных, формальных и "наивных" трактовок. Логические задачи почти всегда обладают той особенностью, что их трактовка и перевод на язык формул -- это процесс "неформальный" уже хотя бы по причине использования естественной речи в формулировках. Поэтому я хотел бы предостеречь от попыток напирать на то, что в условии задачи непременно подразумевается вот это вот, и ничего более. "Доказать" в этом вопросе в принципе ничего нельзя. Можно лишь сказать: а давайте попробуем рассмотреть такую-то и такую трактовку. Это совершенно разумный подход. Если при этом получается задача, в которой ответ не виден сходу, то отчего бы и не рассмотреть. Итак, вот условие:

В воскресенье судья выносит приговор преступнику.

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

-- Я точно не буду знать до шести утра дня казни, когда меня повесят? Это обязательное условие приговора?

-- Да. Это обязательное условие приговора.

-- И я не могу быть казнен с нарушением этого обязательного условия приговора?

-- Не можете. Закон есть закон.

-- Спасибо Вам, господин судья. Значит, меня не повесят никогда.

-- Почему?

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

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

Я сразу здесь же хочу оговорить, что ещё в ходе обсуждения у going_out сделал для себя одно маленькое открытие. Ради такого рода вещей, кстати, уже стоит что-то обсуждать. Дело в том, что всегда полезно понимать, как люди мыслят, даже если они делают это не вполне корректно. Мне в силу профессиональных особенностей не могла в принципе прийти в голову одна вещь, о которой я сейчас скажу.

Если в какой-то ситуации оказалось, что внешне убедительное рассуждение "доказывает" нечто заведомо неверное, то встаёт вопрос о том, где в нём скрыта ошибка. Для её выявления нужно указать на нарушение каких-то правил. Это может быть привлечение несуществующих правил логики (вроде отождествления прямого и обратного утверждения), это может быть использование неявных предположений, которое ниоткуда не вытекают. В каких-то других примерах это может быть деление на ноль, и многое другое. Есть рассуждения геометрического характера, где три точки считаются лежащими на одной прямой, и рисунок вроде бы это показывает, но на самом деле это не так. То есть для меня было очевидным, что "найти ошибку в рассуждении" означает указать неверный переход, "точку обрыва". Каково же было моё удивление, когда вместо этого указывалось на неверные положения!

Я говорил: помилуйте! То, что там есть неверные утверждения, полагалось изначально, и вопрос в том, как их ухитрились получить. Это как если есть обрыв в канале связи, то надо найти место обрыва (или несколько таких мест), а не говорить о том, что "сигнал не доходит".

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

Математик поковыряется в "яблочке" и увидит, какие бывают "вредители". Их по идее не так много, и, если их знать заранее, то проще бороться. Так же и с логическими "багами" :)

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

Далее, я бы исключил изначально такое понимание слов "знать день казни", где под "знанием" понимается некое реальное знание. Понятно, что реально никто ничего знать не может. Поэтому начал бы я с того, что уточнил бы, в каком смысле можно трактовать "знание" чего-либо, чтобы это хоть как-то соответствовало природе задачи. Причём я хочу сделать это в максимально абстрактной форме.

Допустим, имеется какая-то ситуация, в которой возможно несколько исходов. Если полагается возможным более одного исхода, то следует считать, что мы исхода не знаем. Здесь задействовано одно из ключевых понятий для данной задачи -- это модальная категория "возможного". Само представление о возможном неоднозначно, и смена такого представления в корне меняет статус "знаний". Последнее замечание мне кажется хоть и простым, но важным. Например, в "предельной" ситуации, когда "возможно всё", мы ничего не знаем по причине возможности каких угодно исходов.

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

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

Допустим, возникла спорная ситуация. Первый человек утверждает, что исход не известен по причине того, что возможных исходов более одного. Второй этот факт отрицает. Что он тем самым утверждает? Простая логика подсказывает, что утверждается либо наличие одного исхода, либо отсутствие оных. Именно это я далее и считаю правильной трактовкой "знания". В самом деле: если судья говорит "вы не будете знать день казни", а преступник это отрицает, то формально он говорит: "нет, это неверно, что я не буду знать дня казни". Мы в целях речевого упрощения сокращаем эту формулировку до "я буду знать день казни". Но, если допускать, что казнь вообще может не состояться, то возникает нечто вроде противоречия -- как можно знать день того, что на самом деле не состоится?

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

Таким образом, под "знанием дня казни" понимается возможность показать, что ни в какой другой день, кроме рассматриваемого, казнь в рамках закона не может быть осуществлена. Если преступник как-то может обосновать, что ни в какой день кроме воскресенья его по закону не могут казнить, то он "знает день казни". При этом далее оказывается, что и воскресенье его тоже не могут казнить, но это никак не противоречит выбранной нами трактовке.

При этом получается, что если преступник прав, и казнить по закону его не имеют права ни в какой день, то получается, что он формально "знает" любой из дней в качестве дня казни! И тут нет ничего удивительного. Просто само предположение о возможности казни в этой ситуации противоречиво.

Уместно вспомнить древний софизм, когда человеку задавали вопрос: "ты перестал бить своего отца?" Ясно, что положительный ответ был бы косвенным признанием в том, что когда-то он своего отца всё-таки бил, а отрицательный -- что бьёт и сейчас. Понятно, что разгадка здесь в точной трактовке слова "перестать". Это всё очень похоже на обсуждаемую ситуацию.

Итак, я надеюсь, что один из главных "рифов" мы благополучно объехали. На всякий случай повторю кратко основную мысль: под "знанием" будет пониматься отрицание "незнания"; последнее означает наличие более одного возможного варианта, исхода событий.

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

3) Итак, вот какие пункты занесены в Приговор, согласно моей трактовке. То есть это то, на что преступник может опираться в своих рассуждениях как на "истину".

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

Последний пункт кажется несколько бессодержательным, однако это не так. В условии задачи сказано, что условия будут неукоснительно соблюдаться, и потому я счёл нужным внести этот пункт. Как будет видно чуть ниже, без этого условия ничего просто не работает, то есть не возникает никакой "интриги". Я также хочу подчеркнуть, что в пункте а) подразумеваются две вещи. Во-первых, о том, что казнь обязательно должна состояться. Во-вторых, что казнь должна состояться именно в течение выбранной недели, а не позже.

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

Если в Приговор не внесён пункт об обязательности осуществления казни, то логически допустимой становится возможность, что казни просто не будет, или же она состоится позже. Поэтому рассуждение преступника рухнуло бы уже в самом начале, в случае рассмотрения воскресной ситуации. Он перестаёт "знать", что казнь в воскресенье остаётся последним возможным исходом. А вдруг его передумали казнить? Как он может логически доказать, что это не так, ни на что не опираясь? А раз не может, то исходов более одного. То есть он "не знает". И тогда казнь в воскресенье легко осуществляется в рамках Приговора.

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

Заметим, что при этом субботняя казнь будет осуществлена в рамках закона -- преступник же ничего не знает. То есть допущение о возможности нарушения закона влечёт за собой возможность осуществить казнь, закона при этом не нарушая!

А при наличии всех пунктов а), б), в) всё корректно. Воскресенье исключили. В субботу тем самым остаётся только один исход -- казнь в субботу. Если не казнят ни в один из дней -- нарушат пункт а). Если казнят в воскресенье -- нарушится пункт в). То есть преступник отмёл все варианты, и остался один. Поэтому, если его казнят в субботу, то нарушат пункт б). То есть и суббота отпадает.

В пятницу остаётся три дня для казни, но два последних исключены предыдущими рассуждениями. Они противоречат пункту в). Тогда остаётся только пятница, преступник это вывел логически, он "знает". И потому казнь в пятницу тоже незаконна.

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

Но, стоит лишь немного "ослабить" условия Приговора, сделать его чуть менее жёстким (как бы "в пользу" преступника), и "хамелеон" меняет свою "окраску"! :)

4) Теперь по поводу обсуждения задачи в предыдущих ветках. Прежде всего, многие обратили внимание на то, что эта задача многократно освещалась -- библиография насчитывает сотни ссылок. В приницпе, это не удивительно, так как даже простым вещам типа "парадокса лжеца" посвящено очень много работ. По ходу дела, lafinur и leblon вспомнили об одной из книг Мартина Гарднера, где анализу этой задачи посвящена одна из глав. Я очень признателен alexandrovna, которая дала сетевую ссылку на статью Гарднера и тем самым избавила меня от необходимости искать саму книгу. По поводу того, о чём пишет Гарднер, я скажу только пару слов. Там в основном рассматривается вариант задачи, когда речь идёт не о нарушении правил, а о ходах в игре, которые на первый взгляд делать невыгодно, ибо они "заведомо проигрывают". Но это как раз и есть та версия, где нет пункта о "неукоснительном соблюдении закона". В логических построениях нельзя опираться на то, что противник не сделает "ошибочный" ход. Более того, Гарднер показывает, что остальные ходы становятся также "ошибочными", если логическое рассуждение чуть-чуть продолжить, и в итоге всё уравнивается.

Из того, что было написано в ходе предыдущего обсуждения задачи, мне больше всего понравились высказывания asterrot. В частности, предложенная им идея "кассационной жалобы". Подробно я пересказывать не буду, так как это всё можно прочитать по ссылке. Кратко можно сказать так: поскольку преступнику дали слово не нарушать закон, то он, поняв, что казнь в воскресенье будет заведомо незаконной, просит официальные инстанции документально признать этот факт и выдать ему соответствующую бумагу. Такой подход ярче высвечивает логику преступника, независимо от того факта, пошли бы инстанции ему навстречу или нет. В той версии, которую я рассматриваю, в Приговор уже внесён пункт о "неукоснительном соблюдении", а без него рассуждение не работает. Но я оценил аргумент с "жалобами" потому, что он мне кажется убедительным. Я считаю, что помимо "правильности" тех или иных соображений следует обращать внимание на их действенность, способность убедить. Среди двух утверждений, которые логически эквиваленты, одно может обладать непосредственной убедительной силой, а другое -- нет. Знать и предусматривать такие вещи для меня важно уже потому, что я преподаю, разъясняю и пытаюсь донести какие-то идеи. Поэтому из чисто практических соображений важно здесь останавливаться на том, что лучше служит делу, "прагме".

Теперь кратко по поводу того, какие ошибочные подходы часто встречались. Дабы никого не "обижать", я здесь ничьих имён называть просто не буду. Помимо явных ошибок, я буду указывать и те мыслительные ходы, которые кажутся мне неплодотворными. Для удобства ссылок я введу отдельные пункты.

a) Много раз говорилось о том, что преступник "нарушает ход времени" :) Честно говоря, это выгдядит комично. Я думаю, такого рода сверхъестественная способность никому из нас не под силу :) Имелось в виду, что преступник разбирает свои случаи, начиная с последнего дня недели, а не с первого. Но по правилам логики случаи разрешается разбирать в любом удобном порядке. Где-то этот порядок может оказаться алфавитным. Важно ведь только то, чтобы рассматриваемые случаи всё исчерпывали.

b) Сюда же я отнёс бы и разного рода соображения о "мистической" природе "времени" и "пространства", а также о суровой "реальности", которая "вторгается" и рушит все "логические построения" аки "карточные домики" :) Такого рода заблуждения носят массовый характер; вера в чарующие силы "реальности" переходит все границы. Простое предположение о том, что рассуждение было несостоятельным и именно поэтому разрушилось, почему-то даже не рассматривается. Но в очередной раз протаскивается идея о том, что "в теории" оно вот так, а на "практике" -- совсем иначе. На мой взгляд, это полная ерунда. Теория существует всегда сама по себе. Вопрос о применимости теории не зависит от её положений. Ошибки и расхождения вызываются или тем, что применили "не ту" теорию, или "ту", но "не так". А всё остальное -- "от лукавого": "суха теория ..." :)

Кстати, задача эта по своей природе совершенно "дискретна"; события, которые можно причислить к "значимым", происходят лишь в отдельные моменты. И вообще, можно было бы рассмотреть в качестве "модели" нечто вроде настольной игры, где фишку передвигают по нарисованным "кружочкам".

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

В одном из комментариев предлагалась идея использовать "датчик случайных чисел"; при этом понятно, что никто ничего "знать" не может. Однако такая процедура не гарантировала бы законности. То есть она противоречит пункту о неукоснительном соблюдении Приговора. "Датчик" может назначить казнь на воскресенье, и тогда окажется, что условия Приговора нарушатся. Следовательно, такая процедура не гарантирует законности, и применять её нельзя.

d) Очень популярным оказалось вот какое возражение. Цитировался отрывок из речи преступника, где он разбирает случай казни, совершаемой в воскресенье. Далее задавались "сакраментальные" вопросы типа "а что если он не доживёт"? Или предлагалось судье прибегнуть к "обструкции" и сказать "давайте сначала доживём". На всё это я могу сказать, что приём разбора случаев подразумевает, что при рассмотрении одного из вариантов выделяется некое условие, само по себе не обязательное. Например, мы берём (действительное) число, и в качестве первого случая рассматриваем вариант, когда взятое число оказалось неотрицательным. В пределах рассмотрения данного случая мы можем опираться на это условие. "Придирки" типа того, а что если взятое нами число всё-таки отрицательно, совершенно неуместны. Потому что число может быть и отрицательным, но этот случай рассматривается отдельно, во вторую очередь. Если бы мы его забыли рассмотреть, то указать следовало на то, что нами при разборе охвачены не все возможности.

Поэтому в рамках случая воскресной казни, тот факт, что преступник доживёт до субботы, вытекает из условий рассматриваемого случая, а не является взятым непонятно откуда дополнительным предположением. Это мне, кстати, напоминает одно место из книги Литлвуда "Математическая смесь", где на фразу учителя "пусть x есть число овец в стаде" следует реплика ученика: "а если x не есть число овец в стаде?" :)

e) В тех версиях, когда рассуждения преступника оказывались ошибочными, требовалось, как я уже говорил, указать на то место, где совершалась ошибка, а не констатировать сам факт наличия ошибки.

f) Мне очень не нравится пафос "уточнительства" и излишняя склонность к формалистике. Уточнять, "определять" можно до умопомрачения. Заниматься этими вещами стоит, но только при необходимости. Например, цвет робы преступника, размер его камеры, его родной язык мы не уточняем. Равным образом, я не пускаюсь в дебри уточнения того, что здесь означает понятие "расуждать логически". На важные элементы я указал, то есть произнёс "нужные слова". А строить на базе этой задачи формальные исчисления с предикатами и кванторами я считаю неуместным.

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

А вот это -- музыкальная ссылка на инструментальную композицию Эду Лобу под названием "Хамелеон" :) Попутно я, пользуясь случаем, хочу поприветствовать членов RL-клуба, очередное заседание которого происходит прямо сейчас. Успешной вам покупки клубного талисмана в виде настоящего хамелеона!

"Тигр с вами!" :)))
Previous post Next post
Up