28.08.2003 11:32
Digital

Громов разбил НАСА

Молодой российский программист стал победителем среди суперпрофессионалов "Сетевых войн"
Текст:  Александр Дуэль
РГ-Наука - : №0 (35)
Читать на сайте RG.RU

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

      - Василий, ты победил в "Сетевых войнах". Звучит устрашающе. С кем воевал?

     - Это соревнование между программами. Узнал о нем случайно, из заметки в прессе. Сначала участникам сообщают язык, на котором надо написать программу. Затем судьи ее проверяют и сообщают - допущен или нет. "Войны" происходят в Сети.

     Их суть в том, что надо установить контроль над 2500 процессорами. Для наглядности представь, что на боевом поле расположено именно столько "бойцов". Первоначально и у тебя, и у твоего противника их очень небольшое количество, остальные "соблюдают" нейтралитет. Задача - подчинить себе всех.

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

     - Ты один писал программу?

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

     - Как проходил сам турнир?

     - Все заявленные программы, а их было несколько сотен, разделили на подгруппы. Провели бои, определили двух сильнейших: "Кобра" и "Бродяга" - творение команды из НАСА. Финал состоялся в 3 часа ночи по Москве. Хотя сама схватка продолжается минут пять, результата я ждать не стал. На следующий день рано надо вставать на работу. Я бизнес-аналитик одной из компаний. О победе узнал только утром. Сначала по Сети друзья поздравили, но я, честно говоря, не совсем им поверил, думал, разыгрывают. Потом пришло официальное письмо. Тогда и понял: пока спал, стал чемпионом.

     - А приз какой? Кстати, тебе его уже вручили?

     - Главный приз - ноутбук. Но я его еще не получил. Компьютер выслали по почте, вот он сейчас где-то не спеша ко мне и идет.

     - Говорят, твою победу пытались оспорить. Претензии по делу или, как с нашими фигуристами на Олимпиаде, когда просто не хотели отдавать "золото" русским?

     - После моей победы возникло подозрение, что я использовал код, который не позволял судейской программе фиксировать захват соперником моих "бойцов". Еще были претензии к одному из операторов программы, якобы он некорректно работал... Но "Кобра" прошла все судейские проверки, и претензии были сняты.

     Конечно, приятно стать победителем таких соревнований, но если объективно, то мне в чем-то повезло. Скажем, есть сильный боксер, который способен победить всех, кроме соперника в синих трусах. Вот действует так на него синий цвет, и ничего с этим не поделаешь. Аналогично и у программ, у каждой есть свое слабое звено. Если другая программа его случайно обнаружит, поражение гарантировано. Просто у программы НАСА оказались свои "синие трусы".

     - Еще в каких-то соревнованиях собираешься участвовать?

     - Есть очень любопытный проект Robocup. Его запустили японцы. Цель - победа в 2050 году команды роботов на чемпионате мира по футболу. Есть три лиги: гуманоидные роботы, роботы "на колесиках" и, наконец, самая для меня интересная - лига программ. Там, говоря попросту, соревнуются разработки "мозгов" футболистов. Но одному такую серьезную разработку не потянуть. Агитирую друзей.

Технологии