Author Archives: himself

Задача трёх тел

Прочёл Проблему трёх тел, это китайский фантастический роман, который перевели на английский и русский. Самое интригующее в нём это такая картинка:

Сразу хочется читать, да? Фантастика почти западная, причём совсем не тяжелая, не Френк Херберт или какой-нибудь Желязны. Мне книга напомнила Уэллса – тем, что написана очень просто, по самой классике науки; лишена постмодерна и какой-либо хитрости. Помните ту научную фантастику из детства, которая просто была интересной? Не потому, что правильные квантовые эффекты и путешествия во времени головоломней, чем у других, а просто потому, что есть путешествия во времени. Вот это такая фантастика, вполне нормальная, хотя и не Уэллс и не Уиндэм, конечно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как разбросать карты в Анки

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

Бороться с этим бесполезно, такой долг надо разбросать на будущее. Для этого в списке карт можно сделать “Edit -> Reschedule -> Place in review queue”. Вот как высчитать, на какой срок надо разбрасывать карты:

(Как разбрасывать карты)

Для начала надо решить, сколько карт в день вы можете проходить комфортно: регулярно, не испытывая напряжения. К примеру, 120 карт в день.

Из этого надо вычесть фоновое число повторов, которые образуются из хорошо изученных карт. Его можно посмотреть в статистике по колоде: откройте её на месяц и посмотрите, сколько повторов у вас в среднем ожидается в последние дни месяца. Допустим, 40: 120 – 40 = 80.

Теперь нужно взять число скопившихся слабых карт. Пусть их 1200. Все их нужно ответить, но в некоторых вы будете ошибаться – их придётся ответить повторно, так что и учесть тоже. Посмотрите свой процент ошибок – обычно надо стремиться к 80% правильных ответов. Заложитесь на него в числе карт: 1200 * 1/0.8 = 1500.
Disclaimer: Это не точный способ учёта ошибок, но лучше, чем ничего.

Если отвечать всегда верно, каждая из этих карт будет показана в первый день, во второй, в 4-й, в 7-й, в 12-й и так далее – с домножением на некоторый процент. Для простоты будем считать, что 150%

Это значит, что 1500 карт за k дней будут вам показаны 1500 * log_1.5 (k) раз.

Нужно выбрать такое число дней k, чтобы эти 1500 * log_1.5 (k) показов давали в среднем каждый день 80 показов. Т.е. чтобы:

1500 * log_1.5 (k) = 80 * k

Можно решить это уравнение вручную, можно загнать в Вольфрам Альфа. Получаем ответ: k = 256.

На 256 дней нужно разбросать скопившиеся 1200 карт, чтобы регулярно повторять по 120 карт при 80% угадывания.

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

Одно небольшое дополнение: можно разбросать не все карты, а только слабые. Если вы давно не повторяли, у вас наверняка скопилось за несколько дней и хорошо изученных карт. Откройте список карт, отсортируйте по Interval, и разбросайте только те, у которых интервалы достаточно короткие (меньше нескольких месяцев). Остальные можно пройти в ближайшее время: т.к. они хорошо изучены, ошибок будет мало, и они все благополучно “уйдут”.

Dai Gyakuten Saiban

Прошёл имперского Феникса Райта (точнее, видимо, Феликса, поскольку это далёкий предок Рюичи – Наруходо Рюноске). Вот некоторые заметки о ней:

(разные весёлые заметки)

Игра начинается с убийства доктора Ватсона! На самом деле это не тот Ватсон на самом деле тот, а просто какой-то Ватсон. Совпадение.

Настоящие Холмс и Ватсон в игре тоже есть, Холмс такой забавный молодой детектив, с ним связан особый режим “Дедукция Шерлока Холмса“, в котором Холмс сначала в захватывающем киношном стиле разоблачает героев и бросает нам в глаза shocking truth, а потом вмешивается Наруходо и исправляет: не правительство, а свою жену, и не свергнуть, а похвалить, и не динамит, а цветы… “Да-да-да, вот и я говорю!” А Ватсон это маленькая девочка.

При первом знакомстве Холмс входит в комнату с Наруходо Рюноске:
– Так… Молчите! Не надо ничего говорить, сейчас я сам всё скажу…. Я вижу, Вы служили в Афганистане!

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

Был мини-crowning moment of awesomeness, когда прокурор наехал на Наруходо за то, что он затянул дело и сломал стройную обвинявшую его версию:
– Из-за вас отношения двух стран [убитый – англичанин] уже не получится сохранить тёплыми!
Друг Наруходо, сбоку:
– Что это за отношения, которые ставит под угрозу любая задержка?!
Прокурор:
– Вы глупые юнцы, вы не понимаете, в каком положении находится страна. Это наши самые сильные союзники, наши учителя, это – наше будущее.
Наруходо:
– Я глупый юнец, но даже я понимаю, что у страны, в которой нет честного суда, никакого будущего нет.

В одном из дел преступление происходит в карете. Её можно осмотреть, на задней стенке висит табличка компании: “PHOENIX WRIGHT OMNIMBUS”. Привет английским фанатам!

Второе убийство случилось на русском кругосветном пароходе:

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

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

Про один диалог я даже комикс хотел сделать, только заскриншотить трудно.
Наруходо: Г-н судья, пока пристав уехал за документами, предлагаю [в первый раз] заслушать обвиняемую.
Судья: С какой целью?
……
Я хотел следующим кадром вставить судью с портретами Путина и Медведева и флагом России за спиной :)

В целом! Игра хорошая. Ещё кое-что в ней необычно: наверное, впервые на моей памяти в Райтовском суде самому адвокату непонятно, того ли человека он защищает. Невиновен ли подсудимый на самом деле. Это обыграно хорошо, и добавляет глубину в сюжет.

Как всегда, полно милых вторичных персонажей со своими историями и сценками, всё в духе старомодных квестов.

Заброшеные дома

В центре Москвы, если отойти от главных улиц (а иногда и на них), полным-полно заброшеных очень красивых старинных домов. Часто их просто не замечаешь, например, недавний дом с атлантами был занавешен, и я даже не знал, что там эти атланты.

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

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

Я не был любителем культуры ради культуры, “нельзя сносить это здание, в нём жила графиня Чуковская”. Но за многие дома даже мне обидно.

Что сказано по сути

Есть один ключик, который помогает решить многие затыки в переводе. Если смотрите на фразу, понимаете её, но не можете найти нужные слова, спросите себя:

– Что здесь сказано по сути? Что герой вообще хочет сказать? Вот если своими словами.

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

То же самое когда пишешь собственные мысли. Иногда вроде бы знаешь, о чём хочешь написать, но подолгу не можешь подобрать слова. На самом деле в такие моменты часто только кажется, что знаешь. Можно прямо оторваться от параграфа, отступить пару строчек и сформулировать, что ты хочешь написать, в любой форме. Если хоть в какой-то получится, то дальше будет получаться и в более художественных.

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

Что произошло с весенним сезоном

Вот и угадывай потом, какой сериал интересный, какой нет.

Маёйга – оказалось что-то с закосом под Лост (даже название такое же), только упрощённее. Честно говоря, смотреть неинтересно.

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

Джокер гейм – короткие истории шпионского толка. Нормальные, но общего сюжета нет, болеть не за кого, просто зарисовки. А первые две серии были захватывающими.

Исекай – ну, этот выше головы и не прыгал, но всё же вторая арка скучнее первой. Какие-то надоевшие за сто сериалов мэйды, никому не интересные загадки.

Боку но хиро – да! Это хороший сериал. Только и он уже смотрится предсказуемо, обычный сёнен.

В принципе, кроме Маёйги и, может быть, Кабанери, смотреть остальное без скуки можно. Но я заглянул в себя и понял, что по-настоящему с удовольствием я жду единственные серии – Феникса Райта. Он как был милым, так и остался. Смешные и симпатичные вторичные персонажи ожили на экране такими, какими были в игре – ещё более такими.

Скачивалка Викидот

На чистом прекрасном Питоне написал я штуку, которая позволяет скачать викидот как репозиторий Mercurial.

Никто не знал, что такая штука вообще нужна, а я её написал.

Вот.

Весенний сезон 2016

Неплохой пока выходит сезон!

Все будут смотреть:
– Боку но хиро академия — мангу давно хвалили. Трогательно и воодушевляюще.
– Кабанэри — внезапно! хоть и выглядит по описанию как клон Титанов, но захватывает мгновенно. Тоже какой-то сюжетный родственник гандамов в новой обёртке. Две обязательные принцессы уже появились.

С ложкой дёгтя:
– Феникс Райт Ace Attorney — это наша хромая лошадь сезона, где неуклюжие серии будут чередоваться с волшебными, от которых сидишь и размазываешь сопли перед экраном.
– Joker Game — головоломка про 8 шпионов и обычного солдата, пока очень увлекательно, но сериалы такого типа могут стать скучными в минуту. На Баккано чем-то похоже.
– Зеро кара хадзимеру — сериал про попаданца, не такой уж новаторский, но интересный.

Подаёт надежды:
– Маёйга — немного наркоманская фельетон-сатирическая ноитамина про кучу народу, которые едут в какое-то чистилище начинать жизнь заново. Вроде интерес вызывает, но пока ничего решительно хорошего не сделало.