Никогда не интересовался автогонками, тем более гонками на выживание. Наверное, потому что «крутые тачки» — удел «крутых парней», а я всегда был ботаником, занудой. Правда, однажды, какая-то группа зануд — таких же, как я, — решила, что было бы здорово обвешать гоночный автомобиль сенсорами, а вместо пилота положить в кабину металлический ящик с многоядерным вычислительным устройством, и пускай эти машины едут сами, а чтобы действо было зрелищным для крутых парней, пусть они по ходу дела еще и крошат друг друга. Так появилась национальная гоночная серия Smart Car Challenge — самые жестокие и, в то же время, самые безопасные гонки в США. Из моих бывших студентов многие, кто не ушел в индустрию компьютерных игр, попали туда в качестве специалистов по искусственному интеллекту. И вот, однажды, один из них пришел ко мне с деловым предложением. Выглядел он, надо сказать, как никчемный шпион — сильно волновался, говорил загадками, постоянно твердя, что все это строго конфиденциально, и он может сказать только, что речь идет неком исследовании.
— Если это что-то незаконное, то я в этом не участвую, — говорил я.
— Нет-нет, что вы!
— Это какой-то реверс-инженеринг?
— Нет... то есть... Нет, все в рамках закона. Просто, понимаете, Smart Car Challenge это очень конкурентная среда. Любая утечка информации может дать преимущество сопернику, поэтому любые детали — только после подписания соглашения о неразглашении коммерческой тайны. Понимаете? Все материалы не должны покидать здания компании, — даже не здания, а исследовательского центра. Если вы хотите сотрудничать, вы должны прийти к нам в исследовательский центр.
— А почему вы именно ко мне обращаетесь за помощью, если не секрет? Неужели задача настолько сложная, что вы сами не можете справиться?
— Задача... специфическая. Здесь нужен теоретик — не просто математик, а математик-философ. Мы — прикладники; мы даже не понимаем, с какой стороны к ней подступиться. В общем, из всех, кого я знаю, вы — единственный, кто может в этом разобраться.
Я согласился. Конечно Джейсон посулил мне большие деньги за это «исследование», но это его: «вы — единственный, кто может в этом разобраться»... Разве я мог не согласиться? Я прям почувствовал себя каким-то Эркюлем Пуаро.
Ничем не примечательное трехэтажное здание Nakamura Tech. располагалось в деловом центре Сан-Франциско. Был вечер, конец рабочего дня; Джейсон встретил меня у входа в здание, и первым делом мы направились в службу безопасности, чтобы оформить мне специальный пропуск. Как потом объяснил Джейсон, в исследовательский центр имели доступ не все сотрудники компании, и туда не пускали по гостевым пропускам. Мы поднялись на третий этаж и вошли в большую двустворчатую дверь с надписью Research Labs. Длинный белый коридор тянулся через центр здания. Сквозь высокие окна, расположенные почти на высоте человеческого роста, в него проникал солнечный свет. За окнами мне удалось разглядеть типичный офис разработчиков программного обеспечения — разделенный перегородками open space, каждый кубрик обставлен по-своему (иногда весьма странно), кругом царит легкий творческий беспорядок. Несмотря на конец рабочего дня, офис не выглядел безлюдным, но половина сотрудников, казалось, бездельничала — кто-то, лежа на стуле, задумчиво смотрел в потолок, кто-то с отрешенным взглядом шел по коридору, другие болтали между собой, и лишь некоторые что-то сосредоточенно печатали на компьютере. Джейсон провел меня до конца коридора, мы свернули и оказались в большой переговорной. Оставив меня ждать, Джейсон куда-то убежал и, вскоре, вернулся вместе с неким молодым человеком.
— Здравствуйте, меня зовут Стивен Накамура, — поздоровался молодой человек. Это был, как я потом узнал, сын основателя компании. Он возглавлял исследовательский центр. Мы обменялись любезностями и перешли к делу.
— Вы не интересуетесь гонками smart car-ов? — спросил Стивен.
— Да как-то нет, — ответил я.
— Тогда, наверное, мне стоит в двух словах объяснить вам правила. Это необходимо для понимания сути проблемы. Smart Car Challenge задуман как соревнование искусственных интеллектов, но, по сути, — это соревнование программистов. Все машины на трассе одинаковые. Компания-организатор предоставляет платформу, для которой программисты разных команд пишут программное обеспечение. То есть, машина, сенсоры, вычислительные устройства и операционная система — это то, что у всех общее. Наша задача — заставить это все адекватно вести себя на трассе, и, если получится, победить.
— Это понятно.
— Так вот, в гонке участвуют по десять машин от каждой из команд. Сейчас команд семь, поэтому машин — семьдесят.
— Много... — прокомментировал я.
— Да, но smart car-ы меньше обычных машин в четыре раза, так что места всем достаточно. Машины стартуют с решетки, по пять с каждой линии. Стартовые позиции раздаются случайным образом. После первого поворота машинам разрешено делать друг с другом все что угодно, без всяких ограничений, — толкать, крошить, перекрывать дорогу и так далее. Если машина больше не способна двигаться самостоятельно, она выбывает. Соревнование заканчивается, когда либо минимум десять машин проехало положенное количество кругов (то есть, финишировало), либо все машины, оставшиеся на трассе, принадлежат одной команде. И самое главное, все машины на трассе выглядят одинаково, различается только бортовой номер, так что невозможно определить, какая машина чья. Коммуникация между машинами так же невозможна; то есть, никаких радиопередатчиков, ничего подобного. В результате машины (их искусственные интеллекты) не способны применять командную тактику. Каждая машина соревнуется за себя. В общем, это все.
— Погодите, а реклама, — реклама на корпусах?
— Это все компьютерная графика. Раскраска накладывается при пост-обработке кадра. Сами машины на трассе однотонные.
— Понятно. А по правилам машины могут не толкаться? Ехать, избегая столкновений?
— Хороший вопрос, — с улыбкой заметил Стивен. — Да, могут, но это одинаково невыгодно всем. Если все будут придерживаться стратегии избежания столкновений, тогда после первого же поворота пелотон вытянется в стройную линию с одинаковым расстоянием между машинами и будет ехать так до самого финиша. Понимаете, все машины на трассе одинаковые, написать программу для идеального прохождения траектории несложно. В этом искусственный интеллект никогда не ошибается; да это даже и не интеллект, а простой автопилот. В общем, соревнования потеряют всякий смысл. Побеждать всегда будет тот, кто оказался в переднем ряду, ближе к траектории, то есть либо слева, либо справа, в зависимости от направления первого поворота.
— Ясно. Просто, почему я спросил? Смотрите, если одна машина толкает другую, она не только другому портит позицию, но и себе. В любом конфликте побеждает тот, кто в нем не участвует. Значит среди машин должны быть те, что и не собираются побеждать, а просто дерутся, создают неразбериху.
— Именно так! — ответил Стивен.
Джейсон разулыбался от такой моей проницательности, понимая, что не зря он пригласил именно меня.
— Это остается на усмотрение команды, — продолжал Стивен, — но у каждой команды действительно есть машины-драчуны. Обычно их не больше двух. Два драчуна — считается оптимальным числом, потому что так получается в среднем по одному на ряд, то есть пелотон разрывается равномерно.
— Хорошо, я понял. Так и в чем, собственно, моя работа?
— Недавно появилась новая команда — команда университета Бригама Янга, — и с первых же гонок она стала загадочным образом побеждать — слишком часто, почти всегда.
— Почему же «загадочным образом»?
— Потому что на то, казалось бы, нет никаких видимых причин. Команда новая, неопытная. Да, программисты у них неплохие, но это все, что у них есть! Я лично наблюдал за их машинами, они ведут себя примитивно! В Smart Car Challange все решается в схватках. Чьи машины способны быстрей разделаться с противником, тот и победил. Это целое боевое искусство. Его приемы вырабатывались и оттачивались годами. У каждой команды они свои. Но у машин Бригама Янга их просто нет. Они как уличный боец по сравнению с чемпионом мира по смешанным единоборствам. Они используют самые примитивные приемы, но все равно каким-то непостижимым образом побеждают!
— Да, действительно, — загадка, — ответил я. — Но неужели в их поведении нет чего-то, что резко отличало бы их от остальных?
— Определенно есть, но понять, что именно, довольно сложно. За этим мы и позвали вас. Понимаете, в середине гонки на трассе начинается сущий хаос — кажется, все месят всех, — но из этого хаоса рождается чья-то победа и чье-то поражение. Вообще, если честно, в Smart Car Challenge многое определяет случай. Каждая команда может случайно победить. Это делает соревнования зрелищными, непредсказуемыми. Если взять статистику, то окажется, что разница в количестве побед между самой сильной и самой слабой командой не так уж велика, поэтому команда Бригама Янга вызывает подозрения — она побеждает слишком часто.
— Правда кое-что нам удалось установить, — вступил в разговор Джейсон. — Они не используют драчунов. В команде Бригама Янга все машины, похоже, придерживаются одной не очень агрессивной стратегии. Очевидно, корень в ней, но, что именно это за стратегия, пока установить не удалось.
В общем, Стивен с Джейсоном напустили туману. Никогда прежде я не занимался ничем подобным, и чем глубже я вникал в это дело, тем интересней оно мне становилось. Стивен назначил Джейсона мне в консультанты; мы договорились проводить наши изыскания только в стенах исследовательского центра, и я подписал соглашение о неразглашении.
Университет Бригама Янга был учебным заведением, надо сказать, необычным. Его основала Церковь Иисуса Христа Святых последних дней (то есть, мормоны), и почти все его студенты были членами этой церкви.
«Ну, все понятно, — думал я. — Мормоны получили откровение, и прежде чем использовать его для достижения мирового господства, решили проверить в гонках на выживание. Пожалуй, оставлю эту версию на крайний случай, если не найдется ничего лучшего».
С этой мыслью я лег спать.
Вернувшись в исследовательский центр, я первым делом поинтересовался у Джейсона, как мы будем изучать поведение машин на трассе. Я ожидал, что придется просмотреть десятки часов видеозаписей соревнований — тех, что транслируют по телевидению, — но у компании Nakamura, оказалось, есть нечто получше — 3D-симулятор гонок со всеми трассами чемпионата; он позволял наблюдать гонку с любой произвольно выбранной точки и предоставлял кучу полезной информации, что значительно упрощало анализ. В этом симуляторе тестировалось программное обеспечение, его же использовали для разбора прошедших гонок. Искусственный интеллект и не подозревал, управляет он машиной в реальной или сымитированной гонке. С восстановлением прошедших заездов дело обстояло несколько сложнее. Все, что оставалось после гонки — это видеозапись, по которой конечно можно было восстановить движение каждой из машин, но только при помощи довольно сложных алгоритмов или вручную, что было слишком трудоемко. В компании Nakamura использовался другой способ. Каждая машина в течение всей гонки записывала свое положение и положение окружающих ее противников. Конечно, некоторые события на трассе оставались незамеченными, да и памяти, бывало, не хватало, поэтому некоторые данные приходилось отбрасывать, но для анализа имели значения только схватки с участием машин команды Nakamura, а остальное не представляло особого интереса.
Разобравшись с симулятором, я завел разговор о стратегиях. Оказалось, что в них нет ничего сложного. Каждый раз, когда машина встречает на трассе другую машину, у нее есть выбор — избегать столкновений или атаковать. Таким образом, стратегия сводится к так называемой «дилемме заключенного».
Допустим, поймали двух преступников, которые, возможно, действовали в сговоре. Их допрашивают в разных комнатах. Каждый из них может либо сохранять молчание, либо свидетельствовать против подельника. Если один преступник сдает другого, а тот его нет, то давшего показания освобождают, а его подельника приговаривают к десяти годам лишения свободы; если оба молчат, тогда оба получают по шесть месяцев за отказ сотрудничать со следствием; если же оба свидетельствуют друг против друга, оба получают по два года.
Каждый студент знает, что в многоходовой игре, которая сводится к дилемме заключенного, самая эффективная стратегия — «око за око, зуб за зуб». То есть, не атакуя первым, нужно повторять действия противника на предыдущем ходе — атаковать, если тебя атакуют; в противном случае, избегать столкновений. Так и поступали почти все машины, кроме «драчунов», — те атаковали первыми. Неудивительно, что почти никто из них никогда не доезжал до финиша.
— Так может все дело в том, — рассуждал я, — что они не используют драчунов? Ведь если для драчунов вероятность доехать до финиша меньше, тогда получается — у кого их меньше, тот сохранит больше машин и с большей вероятностью победит.
— Это мы проверяли, — отвечал Джейсон. — На практике, получается, это не работает. Когда начинается месиво, бывает, обычные машины врезаются друг в друга случайно, и начинается драка. К тому же, сейчас никто не использует тупых драчунов, чаще — «провокаторов» и «психопатов». «Провокаторы» пытаются подставить противника под удар третьего, и, когда между ними завязывается драка, выходят из боя. Это очень сложно, но очень эффективно, когда получается.
— А «психопаты»?
— Эти атакуют случайно. Некоторые выбирают жертв по номеру. К примеру, атакуют только машины с четными номерами. Некоторые еще атакуют поврежденные машины, то есть те, которые движутся заведомо медленней их самих. Правда польза от такой стратегии сомнительная. Поврежденные машины обычно не атакуют, и от их полного уничтожения нет никакой выгоды, их проще обогнать. Гораздо эффективней — выходить из боя, когда противник поврежден и не может тебя догнать. А «психопаты» и «провокаторы» есть у всех. У некоторых команд все машины «психопаты» просто с разными критериями срабатывания.
— Понятно... Значит машины Бригама Янга никогда не атакуют первыми и даже иногда не отвечают на атаки, и при этом побеждают?
— Да.
— Загадка...
— Правда, не совсем так. Я замечал, иногда они атакуют, но я не могу понять, при каких обстоятельствах. Я не успел еще исследовать этот вопрос, но, мне кажется, они действуют как «психопаты», причем вероятность, с которой они атакуют, увеличивается к концу гонки. Во всяком случае, мне так кажется, я не проверял.
— Любопытно, — ответил я. — Давай проверим...
И следующие несколько дней мы занимались поиском и систематизацией боев с участием машин Бригама Янга. Было это непросто, а точнее — небыстро. Симулятор лишь демонстрировал гонку, позволяя перемещаться во времени и пространстве, но обнаружить события с какими-то определенными свойствами он нисколько не помогал. Да и как программно определить, является ли данное столпотворение машин боем или нет? Лишь о машинах Nakamura Tech. было известно, в каком они режиме, но, что «было на уме» у остальных машин, мог определить только Джейсон каким-то неведомым образом. Может быть и можно было превратить в алгоритм весь его опыт, но легко это бывает только в дешевых сериалах про хакеров; просмотреть внимательно все гонки нам вдвоем было быстрее. Мы разделили работу — я просто выбирал моменты с участием машин интересующей нас команды, а Джейсон трактовал их. Наши наблюдения мы заносили в таблицу — мы записывали время начала и окончания момента, сколько машин и в каком режиме было вначале и как изменился их режим в конце — сколько вступило в бой, сколько вышло, сколько было уничтожено и так далее. В общем, то была нудная кропотливая работа, которая обычно и занимает почти все время любого исследователя.
Наша таблица росла, и к концу третьего дня у меня в глазах рябило от этих разноцветных машинок, ползающих по серой трассе. Они преследовали меня. Чтобы отвлечься, я подходил к окну, но стоило посмотреть вниз, как я видел их перед собой, медленно движущихся от перекрестка к перекрестку; тогда я поднимал глаза, и разглядывал птиц, круживших в небе, — совсем как группа машин одной и той же команды — столкнулись и теперь гоняются друг за другом. Я вернулся домой и остановился перед входной дверью, по стеклу ползали две мухи. «И здесь они», — подумал я. По Discovery шел какой-то фильм о квантовых взаимодействиях. Я увидел диаграмму Фейнмана и подумал: «Да это же траектории наших машинок! Две столкнулись, пошли юзом и разъехались, после чего их режим поменялся... а может и не поменялся». Все вокруг — вся природа — состоит из этих разноцветных машинок. Что-то в них очевидно для нас — их цвет, их положение в пространстве, — но что-то гораздо более сложное скрыто — какая-то тайна, не зная которой, все что мы можем — лишь вести учет, записывать в таблицу то, что было до, в одну колонку и то, что стало после, в другую, гадая над тем, что из этого чему является причиной. Не знали б мы, что разноцветные пятна на экране — это машинки, управляемые искусственным интеллектом, могли бы вначале предположить, что ими движут силы, источниками которых являются поля, но очень скоро мы бы поняли, что их движения слишком сложны. Тогда бы предположили мы, что пятна, возможно, живые и движутся в поисках еды или источников света — борются между собой за выживание. Но, вот, некоторые из них поразили нас своей находчивостью, и мы подумали бы, что, возможно, они разумны! Возможно даже, у них есть душа, свободная воля, и они верят, что мир был создан для них, и они сотворены по образу и подобию его создателя. И если они разумны, тогда может быть это игра или религиозный культ? Но что если бы они были настолько разумны, что пришли к мысли о бессмысленности всякой вражды, — к мысли о том, что выгодней всего им двигаться к цели мирно, коль скоро победу или поражение все равно определяет случай? Тогда бы они ехали друг за другом по идеальной траектории, и мы бы не заметили в них разума, — скорее, мы решили бы, что они движутся в каком-то поле.
На следующий день я шел в исследовательский центр с твердым намерением закончить сегодня сбор данных и наконец приступить к анализу, поэтому голова моя была занята выбором того, что в первую очередь мы будем искать. Требовалось самое главное — выдвинуть гипотезу, доказательством которой наши данные должны оказаться. Каждая гипотеза, то есть каждая гипотетическая стратегия, давала бы гипотетическую таблицу с определенными свойствами, и, сравнив ее с нашей реальной, мы определили бы — верна гипотеза или нет. Именно так, но не наоборот. Многое бы отдали ученые за алгоритм перехода от наблюдений к гипотезе, однако способен на это пока что только человеческий мозг неведомым способом, слишком напоминающим попадание пальцем в небо.
Итак, голова моя была занята, поэтому я и не заметил вылетевшего на меня из-за поворота человека. Мы столкнулись, он извинился и побежал дальше.
«А машины бы в этом случае подрались... — подумал я. — А мы — нет. Почему?.. Потому что я знаю, что человек сделал это случайно. А откуда я знаю? Оттуда, что мы принадлежим одной культуре, и в ней не принято нападать на людей из-за угла. А если бы среди нас были такие, кто нападает? Как бы я отличил нападение от случайного столкновения? По выражению лица нападающего... по выражению лица...»
Я ускорил шаг и помчался в исследовательский центр почти бегом, потому что теперь знал, что мы ищем.
Весь день мы с Джейсоном потратили на проверку моей гипотезы.
— Я понял, они улыбаются!
— Кто? — недоуменно переспросил Джейсон.
— Машины Бригама Янга...
Уже на следующий день мы пригласили Стивена, чтобы доложить о результатах. Он ворвался в переговорную радостный и в нетерпении начал расспрашивать прямо с порога:
— Ну, ну, что вы нашли?
— В общем-то все, что нужно. Мы знаем, почему команда Бригама Янга побеждает. Решение с самого начала лежало на поверхности, но, как это часто бывает, правильную версию мы отринули в самом начале.
— Что вы имеете ввиду?
— Я имею ввиду сотрудничество. Сейчас объясню. Мы знаем, что в игре «каждый за себя» стратегия «око за око» является самой эффективной. Это подтверждено множеством экспериментов и не подлежит сомнению. Что же может быть более эффективно? Может быть это чудо? Но нет! Нам известен ответ на этот вопрос. Вспомним дилемму заключенного. Когда подозреваемые получают наименьший суммарный срок? Когда оба молчат! Но чтобы такое решение стало осуществимым, каждый из них должен каким-то образом знать ответ другого. А каким же образом? Они должны знать друг о друге, что будут молчать при любых обстоятельствах. То есть, между ними должно быть доверие. Но для доверия требуется основание. Таким основанием может быть только принадлежность к общей группе — к одной семье, к одной национальности, к одной команде или... к одной церкви. Чудес не бывает. Чтобы на голову превосходить других, нужно уметь отличать своих от чужих.
— Но это невозможно, ведь между машинами нет коммуникации.
— Вы уверены? То что машины не оборудованы специальными устройствами для этого, еще не означает, что коммуникация невозможна. Как люди обмениваются информацией? При помощи голоса? Не обязательно. Любое действие может быть сигналом, символом, если его понимает другой — тот, с кем вы принадлежите к общей группе. Смотрите...
Я включил проектор.
— Видите, номер девять — машина Бригама Янга... Вот, другая машина врезается в нее. Видите, что та делает? Она совершает странный реверанс и замирает, как бы ждет атаки. Та машина, которая ударила, переходит в боевой режим, атакует, но машина номер девять уворачивается и начинает убегать. А вот еще интересней... Видите, машина номер пятнадцать Бригама Янга случайно врезается в кого-то, сдает назад и тоже делает реверанс, и тоже замирает. Противник атакует, но вдруг появляется вторая машина Бригама Янга и сносит его ударом в бок, после чего обе начинают убегать, и так далее. Каждый раз, когда им угрожает опасность, машины Бригама Янга совершают это странное движение.
Здесь Стивена осенило.
— Да это же крест! Они выписывают на земле крест! А я-то думал, они так пространство сканируют. Мормоны нас уделали...
— Именно! Кроме того, они замирают, подставляя противнику сторону, противоположную той, в которую их ударили. Это тайный знак команды Бригама Янга, распознавая который, машины узнают своих. Где-то с середины гонки они ездят группами и прикрывают друг друга. Менее поврежденные прикрывают более поврежденных. Если одного из них атакуют, за него вступаются другие; противник фиксирует численное превосходство и отступает, но они не преследуют, а сами продолжают ехать к финишу. В общем, они ведут себя, как настоящая протестантская община.
Загадка была разгадана. Какие можно сделать из этого выводы? Кто-то обязательно увидит в этом еще одно подтверждение истинности христианской религии, но я предпочитаю другое объяснение. Религии лишь порождают гипотезы. Не исключено, что некоторые из них могут оказаться верными, особенно те, что касаются норм поведения. Они неизбежно проходят экспериментальную проверку — проверку естественным отбором. Неудивительно, что крупнейшие мировые религии дают более эффективные стратегии поведения, нежели те, у которых почти не осталось приверженцев. Да и сама человеческая природа выкованная тысячелетиями первобытной жизни способствует правильному отбору норм поведения. Возможно, неспроста богатейшие страны мира в большинстве своем — исторически протестантские, хотя корреляция и не означает причинность. В любом случае, за этим мне видится не чудо, а скорее неумолимые законы математики. Что можно сказать с уверенностью: сотрудничество выгодней вражды, иначе не существовало бы многоклеточной жизни, да и жизни вообще не существовало бы, и открытие этого дает выгоды независимо от того, каким образом было сделано.
Сконвертировано и опубликовано на http://SamoLit.com/