Записи за месяц: June 2016

Велобайк запрещает

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

Наш API является закрытым для стороннего использования.
К сожалению, мы не готовы дать Вам разрешение на его использование.

Весь API состоит из единственного HTTP-адреса, который просто запрашиваешь. Но, вот, сторожат.

Задача Ньюкомба

Наверное, я не открою Америки, но я хотел бы выписать свои очевидные мысли по задаче Ньюкомба. Для начала сама задача, она забавна.

Есть на свете пришелец Омега, который гораздо умнее нас. Он прилетел на Землю и играет в игру: даёт людям по две коробки, первая прозрачна, вторая нет. В прозрачной видны $1500, что во второй – неизвестно.
Омега говорит:
1. Вы можете открывать обе коробки.
2. Но как только вы откроете непрозрачную, прозрачная сгорит.
Таким образом, можно начать с прозрачной и открыть обе, или начать с непрозрачной и открыть только её.

“Я уже знаю, как вы поступите.” – говорит Омега. – “Поэтому если вы откроете только непрозрачную, я положил туда $1 000 000 и вы их там найдёте. Но $1500 вы взять не сможете – они сгорят.”
“Если же вы откроете обе, то непрозрачная коробка будет пуста – я ничего туда не положил. Вы получите только $1500 из прозрачной коробки.”

До вас Омега играл с тысячей человек, и никого не обманул. Те, кто начинал с прозрачной коробки, получили $1500 и во второй коробке ничего не нашли. Те же, кто начал с непрозрачной, нашли в ней $1 000 000, но прозрачная коробка с $1500 сгорала.
Чтобы окончательно вас запутать, Омега улетает в другую галактику, откуда на коробки влиять никак не может.

Обе коробки вы откроете или только непрозрачную?

К вам подходит ваш друг и говорит:
– Послушай, Омега улетел. Коробки остались с нами. Что бы в них ни было, оно уже там лежит. Никакие наши решения больше не могут изменить содержимого коробок. Если в непрозрачной есть миллион, то он там уже есть. Если его там нет, то уже нет. Так зачем же отказываться от прозрачной коробки с дополнительными $1500?
– Посуди сам, – говорит друг, – у нас есть два варианта:
1. Получить только то, что в непрозрачной коробке.
2. Получить то, что в непрозрачной + бонусные $1500!
Непрозрачная коробка уже не изменится. Какой теперь смысл отказываться от $1500?

Вы слушаетесь друга, открываете обе коробки, и… находите, что вторая пуста. Как и говорил Омега.

(Почему же это было неразумно?)

Слова друга разумны.
Но Юдковский, у которого я вычитал про эту проблему, говорит: “Если разумный образ действий приводит к тому, что вы хотите получить миллион, знаете, как его получить, и не получаете, то вы что-то путаете в слове разумность”.

Вот моё объяснение того, в чём ошибка друга и почему разумно открывать только непрозрачный ящик (кроме очевидной причины, что вы получите миллион).

Каким образом Омега заранее узнаёт ваш ответ? Можно придумать разные способы: например, он летает в будущее и смотрит, что же вы выбрали. Или же он копирует ваш мозг и запускает его на симуляторе. Так или иначе, этот ваш с другом разговор – это не первый раз, когда вы с ним разговариваете.

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

В таком случае, можно ли вообще что-то изменить, стоя перед ящиками? Ведь любые споры, любые размышления будут повторять симулятор. Все дуновения ветерка, все чириканья птиц, которые могли случайно изменить ваш выбор, были и в симуляторе.
Что же мы тогда делаем, когда задумываемся над вопросом “как нам следует поступить”? А вот что: мы готовимся заранее.

Задача Ньюкомба на самом деле ставится не для игрока, который стоит перед ящиками. Она ставится для вас, который читает сейчас эти строки. Это задача о стратегии. Стратегию вы выбираете здесь и сейчас. Вас, нынешнего, Омега в симуляторе не запускал. Вы вне этой задачи, поэтому кажется, что вы имеете на неё какое-то неучтённое влияние. Она сформулирована так, что создаётся впечатление, будто вы появились перед игроком в последний момент и помогаете ему сделать правильный выбор.

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

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

Но по условиям задачи мы не имеем на это права. Омега действительно слетал в будущее или просчитал игрока на эмуляторе, и знает все факторы, которые на него повлияют – включая нас, если мы вздумаем перед игроком появиться со своими советами.
Все соображения в голове, которые влияют на его решение, включая те соображения, которые сформируются сейчас по результатам вот этого обсуждения, которое мы ведём.

Поэтому обсуждение, которое мы сейчас ведём, следует считать переданным игроку не в последний момент, а до появления Омеги. Алгоритм, который мы сейчас выбираем, будет исполняться не один раз – когда Омега улетел – а дважды: в имитаторе Омеги, а затем в реальности.

Строя алгоритм, мы мысленно переносим себя к месту его применения – ко времени, когда коробки расставлены, а Омега улетел – и нам кажется загадочным, как же так: Омега улетел, коробки расставлены, мы можем СЕЙЧАС выбрать алгоритм, и он не повлияет на ПРОШЛОЕ, на выбор Омеги.

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

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

Теперь мы выбираем для этого человека стратегию. Куб непроницаем! Мы не можем вмешаться только во второй раз и подсказать: “Слушай, так или иначе, ящики уже расставлены, и это уже настоящий повтор, Омега больше не будет ничего откручивать, теперь бери оба”. Это бы нарушило правила. Запустив человека в куб, мы с ним прощаемся – дальше он сам за себя. Мы можем только дать стратегию ему в дорогу.

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

Задача Ньюкомба кажется странной только по той причине, что она неявным образом вписывает в причинно-следственные связи мира задачи того, кому её рассказывают. Легко допустить, что Омега просчитал ответ гипотетического игрока в задаче. Но не сразу приходит в голову, что если ответ “как поступить игроку” даём мы, то по условиям задачи Омега просчитал и нас. И мы прямо сейчас выбираем, что Омега в будущем положит в ящики.