ChatCrawlerпоиск по публичному Telegram Открыть приложение
С

Стоящие под стрелой

сообщение · 2026-07-22 09:14 UTC
I
У Vsauce попалось видео про задачу, которую фейлят большинство людей. Называется The Reasoning Test Psychologists Still Can't Explain. Задача такая: - Перед вами на стол выкладывают четыре карты, на которых написано: A, G, 7, 8 - По условию, на каждой карте с одной стороны цифра, с другой буква. Т.е. на A и G с обратной стороны какие-то цифры (вы их не видите), на 7 и 8, соответственно, буквы, которые вы не видите тоже. - Вам нужно проверить, выполняется ли для выложенных карт следующее утверждение: «Если с одной стороны карты буква A, то с другой стороны цифра 7». - Вопрос: какие карты вам обязательно нужно перевернуть, чтобы определить, истинно это утверждение для выложенных четырех карт или ложно. Как говорится, думайте. А я пока расскажу историю. Сидел я как-то по молодости, ковырял в носу, и задумался: почему в большинстве языков программирования есть бинарные операции И, ИЛИ, НЕ, XOR, но нет импликации (из А следует Б)? Странновато, не? Можно еще сказать, что «мало ли чего нет», но в целом бинарных булевых операций не так много: теоретически 16, если выкинуть константы (всегда 0, всегда 1), первый, второй, не первый, не второй, то уже 10 останется. Убираем обычных подозреваемых (коньюнкция, дизьюнкция, XOR) и их отрицания, и остается одна импликация! (ну, две, в разные стороны, плюс их отрицания). То есть это единственная классическая булева операция, для которой не выделили почему-то ASCII символ для короткой записи или хотя бы функцию в stdlib-е. Ага, подумал я. Вот это находка! И недолго думая запилил ее в наших utils. Щас, думаю, жара пойдет! Потом сидел пару недель и ждал случая, где бы ее применить. Не так часто она нужна, оказывается! (Ну и что, XOR тоже не часто нужен, важен принцип. Мы тут фундаментальной наукой занимаемся, вообще-то). Короче, в какой-то момент мне попалось подходящее условие, и я ее таки воткнул. if (implies(cond1, cond2)) { ...}. Радости было полные штаны. Эксперимент удался! Смотри, мама, я математик! Ну а потом прошло еще время, я наткнулся на свой собственный код, и застрял. Че за фигня? Когда это выполняется? Когда не выполняется? И так я выучил свой главный урок, а также получил ответ, почему импликации нет в стандартной библиотеке. Вот он: ИМПЛИКАЦИЯ НИФИГА НЕ ИНТУИТИВНАЯ ШТУКА. И — интуитивная. ИЛИ — интуитивная. НЕ тоже. А импликация хорошо определена математически, но наш мозг почему-то не приспособлен с ней работать. Ну вот не мапится она на него и все тут. Не встречается в быту. Слишком абстракткна. В быту, когда говорят «Если ты получишь 5 за экзамен, то я куплю тебе компьютер», имеют в виду A == B, т.е. компьютер купят ТОЛЬКО тогда, когда ты получишь 5. Никто не будет спрашивать, получив 3, где мой компьютер, потому что импликация его допускала. Это же показывает эксперимент из начала. Люди просто думают про эти вещи по-другому. Почти все переворачивают карту с семеркой, потому что услышали семерку в вопросе. Короче, не работает. Хотелось бы, чтобы работало, но, к сожалению, других людей у меня для вас нет. Хотя — теоретически — очень красиво. В общем, импликацию не пишите. Пишите ~a|b, и будет всем все понятно.
7.7K ·

Вся лента · оригинал в Telegram

Открыть в Telegram Каталог площадок Искать в ChatCrawler

Слепок открытой публичной ленты из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог