Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта


ИТ и общество

И даже в области футбола мы впереди планеты всей!


Ольга Андронова
Екатерина Ахминова

Это не шутка. В чемпионате мира Робокап (Robocup) по симуляционному футболу (т. е., игра идет виртуально, на компьютерах) в этом году победила питерская команда. По времени эта победа совпала с поражением в реальном футболе с баскетбольным счетом 7:1. И как раз в те же дни чиновники от российского футбола уверяли со всех экранов о необходимости отчислять 2 % от нефтяных доходов им на развитие, а то, мол, хуже будет. Вопрос куда девать деньги от сырьевого экспорта России волнует многих. Победа в виртуальном футболе служит еще одним подтверждением тому, что в XXI веке россиянам инвестировать лучше все-таки в головы своего молодого поколения (или хотя бы сначала в головы).
Редакция КИ (гл. редактор Ольга Андронова и редактор Екатерина Ахминова) обратились к руководителю петербургской команды Льву Александровичу Станкевичу, профессору Политехнического университета, с просьбой рассказать об истоках победы и планах на будущее.

   

В. Что такое Робокап?
О. Федерацию Робокап создали японцы и американцы. Она объединяет практически все технические университеты мира и большое количество мощных фирм, работающих в области программного обеспечения, в том числе игровых программ. С1997 года соревнования Робокап проводятся в рамках научно-познавательной соревновательной инициативы. Ознакомиться с ними можно на сайте www.robocup.org.
Эта инициатива направлена на развитие искусственного интеллекта робототехники. Игры проводятся в нескольких лигах. Лозунгом Робокап является создание к 2050 году футбольной команды гуманоидных роботов, которые бы обыграли чемпионов мира людей. Конечно, это голубая мечта, которая, на первый взгляд, кажется не очень достижимой. Но, тем не менее, развитие робототехники и искусственного интеллекта уже сейчас нам говорит о том, что мы можем создать терминаторов, которые будут бойцами и на футбольном поле. Хотя это не просто и потребует очень больших вложений.

В. С какого года в соревнования включилась команда из России?
О. Питерская команда начала участвовать в соревнованиях с 1999 года. В первый раз мы услышали о проекте Робокап в 1998 году от профессора СПИИРАН В.Городецкого. Он увидел соревнования в Париже в 1998 году. Дело интересное, и мы решили попробовать. За полгода была сформирована хорошая команда из студентов старших курсов и аспирантов. И уже в августе 1999 года поехали на чемпионат мира в Стокгольм, где выступили в симуляционной лиге. Спонсором был Центральный научно-исследовательский институт робототехники и кибернетики и лично его директор Виталий Александрович Лопота. Тогда наша программа была еще очень слабой, но, тем не менее, ребята за три соревновательных дня значительно улучшили ее работу и в результате заняли 1718 место среди 36 выступавших команд. Этот результат воодушевил нас, показав, что мы можем соревноваться на равных с ведущими командами, однако следующие годы оказались для нас провальными. В 2000 году мы выступали на первенстве Европы в Амстердаме и заняли предпоследнее место из 16 команд. Параллельно у нас в институте организовалась вторая команда при кафедре прикладной математики. Она разработала свою программу, которая была послана на чемпионат мира в Мельбурн вместо нашей. Но и новая программа не смогла подняться выше предпоследнего места.
А вот с 2001 года мы снова пошли в гору. В этом году были созданы две команды. Одна команда из студентов Политеха. Вторую при антивирусной компании Доктор Вэб организовал Сергей Ахапкин, мой аспирант и сотрудник этой компании. Он в 2001 году добился хорошего результата, заняв на европейском первенстве одно из призовых мест. На чемпионат мира в Сиэтл в составе нашей команды поехал начальник отдела робототехники предприятия Новая эра А.В.Яковлев. Тогдашний директор ОАО Новая Эра Г. И. Локотков поддержал это направление и спонсировал поездку. Мы взяли с собой программу Сергея Ахапкина из компании Доктор Вэб, но сам он поехать не смог. К сожалению, из-за дистанционного участия С. Ахапкина, его программа не смогла занять призовое место, на которое мы рассчитывали.

  

В. То есть, в игре программ настолько важна роль человека?
О. Роль человека важна потому, что если он видит, что команда плохо играет, он должен перестраивать ее. Ситуация там сложилась неудачно из-за того, что нам дали не очень сильные компьютеры, а программа Сергея Ахапкина хорошо играла только на мощной платформе. Врезультате игроки часто пропускали ходы.
Три последних года, с 2002 и по 2004, спонсором всех поездок питерской команды на соревнования Робокап был Геннадий Иванович Локотков. В 2002 году по инициативе Локоткова была сформирована новая команда из студентов и сотрудников Политеха (вторая основная команда Политеха и вторая версия программы). Капитаном команды стал Алексей Кричун, выпускник Политеха, который сейчас работает в ОАО Завод Электропульт. Программисты команды Антон Иванов и Сергей Серебряков. Они учились вместе на одном курсе, в одной группе, и в этом году защитили магистерские диссертации. Благодаря их усилиям, программа три года совершенствовалась. В первый раз команда выступила в 2002 году на чемпионате мира в Японии, в городе Фукуока, который проходил параллельно с большим чемпионатом мира по реальному футболу. Мы заняли 1617 место в симуляционной лиге, но чувствовалось, что программа боевая и может дать результат. В 2003 году чемпионат мира проходил в Италии, в Падуе. На этом чемпионате мы уже поднялись до 11 места.
Ну, а в 2004 году ребята напряглись и к своему окончанию вуза сумели показать, на что способны русские программисты. В отборочном Интернет-турнире первое место заняли, второе место в Европе на German Open 2004, да и то только потому, что нас там физически не было, мы играли дистанционно, и нас сумели обойти. А на чемпионате мира в Лиссабоне, который проводился в конце июняначале июля, 3 июля на финальном матче мы победили с большим отрывом, заняв первое место. Общий счет игр был 113:5, то есть 113 забитых голов и всего 5 пропущенных в 15 матчах. То есть, ни одной ничьей, все победы! Старые участники Робокап (в том числе и чемпионы мира предыдущих лет), которые уже три года нас знали, были очень удивлены нашей победой.
Наиболее мощное сопротивление оказали не бывшие чемпионы, которыми два года подряд (20012002) были китайские команды, и не победитель 2003 года голландская команда, с трудом выигравшая у китайцев. Самой трудной была победа со счетом 1:0 в полуфинальном матче с иранской командой Мерсад. В финальном поединке мы обошли немецкую команду Брейншторм со счетом 8:1. То есть, финал для нас был относительно легким.
Игра в чемпионате Робокап 2004 шла в трех групповых раундах, полуфинале и финале. То есть, мы встретились почти со всеми участниками, но только в полуфинале с иранцами. Они увидели, что команда наша сильная, и, чтобы себя обезопасить, ушли в защиту, чтобы только не дать забить гол, потому что их устраивала нулевая ничья. Но мы все-таки пробили их защиту. Нам они тем более не смогли забить. Все попытки изменить стратегию, например, ввести больше нападающих, наша команда отбивала запросто. Это следствие того, что ребята три года сами участвовали в соревнованиях, изучали игры ведущих команд и поэтому были подготовлены для игры с любым противником. Внашу программу были заложены очень хорошие алгоритмы, вплоть до сценарных домашних заготовок. Были хорошо отработаны навыки удар по мячу, пас. Все это вместе позволило обойти даже очень кропотливых китайцев, которые потратили массу человеко-дней на отладку своей программы.

В. Каковы планы на будущий чемпионат?
О. Как уже было сказано, мы играли в симуляционной лиге. До сих пор это была 2D-лига, то есть плоский футбол. С этого года начинает вводиться 3D трехмерный футбол. Поэтому мы сейчас параллельно готовим 3D-команду и пытаемся организовать несколько команд Робокапа в городе. Но, к сожалению, в России никто, кроме нас, пока не смог сделать хорошую команду. В 1999 году возникла команда Переславль-Залесского института программных систем, но, просуществовав два сезона, погасла. Попытки организовать команды в ЛЭТИ или ЛИАПе пока безуспешны. В Ростове, Таганроге и Москве также пытались создавать команды. В Москве, кстати, сейчас развивают свой вариант футбола, к Робокапу не имеющий никакого отношения. Это упрощенная версия игры, где футболисты бегают в замкнутом пространстве, и как шарики, отскакивают от краев поля. Они устраивают соревнования с привлечением участников с Украины, и пытаются все это пропагандировать как национальный вид футбола. Их цель перейти в дальнейшем к реальным роботам, а робокапские симуляционные программы для реальных роботов пока не подходят, потому что очень сложны по поведению. Робот просто не может отработать то, что задано программой.

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

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

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

В. То есть, автор фактически тренер, как у живых людей?
О. Вообще в игре есть понятие тренера. Это еще один двенадцатый агент, который может несколько раз вмешиваться в игру и, например, менять уставшего игрока. У игроков есть параметр усталости. Они могут весь тайм бороться на поле, но если игрок будет бегать очень быстро, то устанет раньше и остановится. И в симуляционном футболе мы пытаемся моделировать поведение человека-футболиста для того, чтобы потом перенести это поведение на машину (робота), если, конечно, она сумеет отработать указания. К сожалению, теперешние роботы имеют недостаточное быстродействие и динамику и не успевают ничего отрабатывать. Им дай Бог хотя бы дотянуться до мяча да пнуть его в сторону ворот.
В. Как идет собственно игра?
О. В симуляционной лиге игра идет в компьютерной сети. Обычно сейчас предоставляется 4 компьютера на команду, и мы устанавливаем на них игроков как программных агентов команды. То есть, на один компьютер три игрока установлено, на другой три и так далее. Они все имеют роли и числятся по номерам. Удругой команды тоже есть четыре компьютера. Связь всех компьютеров обеспечивает сервер. Сервер также обрабатывает команды, которые вырабатывают игроки, перемещает их на экране, отображает все это и выдает информацию игрокам о том, что они видят и слышат. Ведь у игроков глаз нет, но игрок за счет сервера видит определенный угол и в нем что-то. Игрок анализирует эту ситуацию, вырабатывает команду, передает ее серверу, а сервер отображает это все на экране. Симуляционный цикл очень маленький 100 миллисекунд. За часть этого цикла, (одна часть цикла рабочая, а другая вспомогательная), где-то за 4050 миллисекунд нужно выполнить все расчеты. Условно говоря, сделать ход. Получается, что тот, кто лучше придумает алгоритм работы в динамической среде, тот и выигрывает. Игра идет в два тайма по 5 минут, но она еще оценивается и числом симуляционных циклов. Тайм это примерно 3000 симуляционных циклов. Судейство автоматически осуществляет сервер. Человек вмешивается только в самом крайнем случае. Сервер следит за аутами, голами, офсайдами, то есть полностью выполнят функцию рефери. Пенальти в игре, как таковых, нет, за исключением случаев, когда требуется размочить ничейный счет. Когда идет игра, то вся сеть отключается от потребителя и работает только на игру. Обычно игра идет под ОС Red Hat Linux, а не под Windows. Но можно создавать эти программы и под Windows, только тогда нужно, чтобы компьютер тоже работал под ОС Windows.

В. Значит, программу вы пишите для исполнения в среде Linux. Linux хорош тем, что мало требователен к ресурсам машины. Тем не менее, у вас прозвучало, что на одном из чемпионатов российской команде дали не очень хорошую технику. Так вот, насколько высоки у играющей программы требования к быстроте вычислений, и сразу второй вопрос, а не проще ли тогда сделать кластер, если задача поддается распараллеливанию? Кластер обсчитает все достаточно быстро даже на относительно слабых процессорах.
О. Мы имели опыт работы на кластерной технике. На соревнованиях чемпионата Европы в 2000 году Амстердамский университет предоставил кластер, и там фактически каждый агент стоял на своем компьютере. Но мы столкнулись с тем, что работа сети кластеров очень неустойчива. Некоторые матчи просто срывались. То есть, плохая связь между процессорами, процесс передачи данных плохой. Поэтому на мировых соревнованиях используется технология обычной сети со средой Linux, и распараллеливание идет за счет постановки команды на несколько компьютеров сразу. То есть, три агента работают на одном компьютере, три на другом и так далее, и, фактически, каждый компьютер обсчитывает своих игроков.
В. Там 100-Мб сеть или уже гигабитная?
О. Обычная 100-Мб сеть. Они используют ее как стандарт потому, что при малой скорости (10Мб) тоже начинается пропуск ходов. 100 Мб хватает, так как ограничением фактически являются эти 100 миллисекунд, за которые должно быть принято решение. Но программы, конечно, все больше и больше усложняются и требуют все большей мощности ресурсов. Как раз программа Сергея Охапкина в 2001 году была весьма мощной по перебору. На своем компьютере с гигагерцевой тактовой частотой процессора он спокойно запускал ее, а на 686 провал получился.

В. Каковы были на последнем чемпионате технические параметры аппаратной платформы, на которой вы разворачивали свою программу?
О. Это Pentium 4 с частотой 1,52 ГГц, сеть 100 Мб, память не менее128256 МБ. Программы выросли до довольно-таки внушительных размеров. Чемпионские программы в исходном тексте имеют объем порядка 1 МБ. Пишем мы их на языке C++, что потом хорошо вклеивается в ОС Linux. Обычно начинающие ребята, которые занимаются этим программированием, первым делом лезут в Интернет на ресурс Робокапа и ищут там шаблоны. То есть, почти весь нижний уровень можно взять готовым, а вот поведенческий уровень требуется отладить по-своему. Некоторое время уходит на изучение оболочки шаблонов, на стыковку с сервером, но шаблоны у агентов есть. Вообще, по требованиям федерации Робокап это игра открытая. Все команды, выигравшие первые места, должны выставлять исходные коды своих программ. Конечно, все прибегают к каким-то уловкам, ноу-хау прячут, но бинарный код должен быть приведен тот, который играл, а исходный текст должен быть приведен, но, возможно, не со всеми тонкостями.

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

В. Почему вам не очень важен размер оперативной памяти? Ведь в ней хранится вся игровая модель поля с игроками? И каков размер поля и, соответственно, игрока, и в чем вы эти размеры измеряете?
О. Оперативная память, конечно, хранит эту модель мира, но она не такая большая, потому что там все ограничено. Размер поля привязан к метрам и сантиметрам. Поле 100х60 метров, а пятно игрока 30 см, то есть, если мяч попадает в это пятно, то он считается захваченным игроком. Модель мира у нас хранится разбитой на окна-матрицы размером метр на метр, и говорится, что игрок находится в таком-то окне. Хотя модель мира занимает не очень много памяти, но играет серьезную роль в прогнозировании того, что не видит игрок, но что движется. Кпримеру, игрок в прошлый симуляционный цикл видел соперника, а в этот уже не видит, но он знает его скорость и направление движения и прогнозирует его дальнейшее передвижение.

В. Даст ли что-то установка более мощной техники?
О. Если обычно игрок принимает решение за 4050 миллисекунд, то на более мощной технике он примет его за 2030. Но это не так важно, важно чтобы он все-таки уложился в отведенное ему время.

В. То есть, реально соревнуются не аппаратные ресурсы, а программы?
О. Да, конечно, программы.

В. А часто ли агенты не успевают за отведенное им время принять решение?
О. В сети очень редко, почти никогда, потому что мы тестируем их (под это время) на своих аналогичных машинах и тоже в сети. Обычно за месяц или два до соревнований федерация Робокап объявляет условия игры и параметры компьютеров. А уже на самом чемпионате у нас есть еще 23 дня на запуск программы на соответствующей машине: ведь если здесь вы работали на одном, а, приехав туда, ставите программу на другой компьютер, то она просто может не запуститься.

В. Почему была выбрана именно номинация симуляционного футбола, а не гуманоидных роботов?
О. Прямо скажем, что это наиболее доступная для студенческой реализации лига. Американцы используют симуляционную лигу и лигу простых малых роботов, которые управляются единым компьютером и представляют собой маленькие игрушечные машинки с радиоантеннами. Практически все их университеты имеют такие команды малых роботов. Это все равно компьютерная игра, но исполнительным устройством являются эти маленькие колесные роботы. Она очень зрелищная, потому что динамичная. Фактически, мы на компьютере эти кружочки с глазами гоняем, а они свои машинки, но машинки все равно не успевают отрабатывать то, что сделает программа. Потому что машинки имеют инерцию, определенные возможности по скорости. А самая дешевая, естественно, симуляционная игра, она не требует тех затрат, что остальные. Мы делали попытки в ЦНИИ РТК купить каких-нибудь роботов, чтобы выступать в реальных лигах. Вчастности, мы разговаривали с фирмой Sony. Но Sony тогда поддерживала только чемпионов, бесплатно раздавая им своих собачек. Остальные должны были покупать. А покупать это по $2500 за собачку. Значит, если пять собачек нужно для этой игры, плюс вспомогательное оборудование, то нужно $15000. Все равно, на мой взгляд, игра с собачками кроме зрелищного момента ничего не несет. Более интересны, конечно, двуногие роботы. Мы ими занимались на ОАО Новая эра. Экспериментальные образцы двуногих роботов были созданы, но попытка использовать их на Робокапе в гуманоидной лиге пока не увенчалась успехом. Восновном потому, что нет спонсоров, чтобы реализовать этот очень дорогой проект. Так что пока это только мечты, и сделать в России роботов для выступления в гуманоидной лиге не удастся, пока не появятся богатые инвесторы.

В. И какая от этих роботов польза? В химически активных средах они могут работать?
О. Если из специальных материалов, то могут. У нас, например, пластмассовый корпус был у робота, то есть он мог работать в химической среде, только если его туда не окунать. Ватомной промышленности, в космических исследованиях их можно применять, потому, что это вездеходная машина, которая обладает мощными средствами организации интеллектуального поведения. Она может почти как человек работать. За рубежом ведутся закрытые работы по применению роботов в боевых операциях. Например, ДАРПА (агентство США по исследованиям в военных целях) спонсирует все соревнования Робокап в США.

В. Спасибо вам, Лев Александрович, и пожелаем нашим командам занимать только призовые места!
О. Спасибо.

  

 

В соревнованиях Робокап предусмотрены следующие номинации (лиги): симуляционные, роботы, спасатели и RoboCupJunior для студентов младших курсов, чтобы привлечь внимание совсем молодых учащихся из школ. Вприведенной таблице данных на первом месте название команды, на втором ее происхождение, на третьем страна.

Лига симуляционных игр.
Номинация 2D (двухмерная):

1. СТЭП, завод Электропульт, Россия;
2. Brainstormers, университет Osnabruck, Германия;
3. Mersad (Helli), Allameh Helli High School, Иран.
Номинация 3D (трехмерная):
1. ARIA, Технологический университет Amir Kabir, Иран;
2. AT-Humboldt, Университет Humboldt в Берлине, Германия;
3. UTUtd2004, Тегеранский университет, Иран
Номинация Coach:
1. MRL, Университет Azad при Qazvin Mechatronics Research Laboratory, Иран;
2. FC Portugal, Университет города Порто/Университет Aveiro, Португалия;
3. Caspian, Иранский университет науки и технологии, Иран.
Роботы малого размера (диаметром не более 18 см):
1. FU-Fighters, Берлинский университет Freie, Германия;
2. RoboRoos, Университет штата Квинсленд, Австралия;
3. Lucky Star, Политехническая школа Ngee Ann Polytechnic, Сингапур.
Роботы среднего размера (диаметром не более 50 см):
1. EIGEN, Университет Keio, Япония;
2. WinKIT, Институт технологии Kanazawa, Япония;
3. CoPS-Stuttgart, Университет г.Штуттгарт, Германия.
Четырехногие роботы (собачки AIBO):
1. Немецкая команда, университеты гг. Бремен, Берлин (Humboldt), Дармштадт, Дортмунд, Германия;
2. UTS Unleashed!, Университет технологии г. Сидней, Австралия;
3. NuBots, Университет г. Ньюкасл, Австралия.
Гуманоиды:
1. Team Osaka, Systec Akazawa Co., Япония.
RoboCupRescue (роботы-спасатели):
1. Toin Pelican, Университет Toin г. Йокогамы, Япония;
2. KURT3D, Фраунгоферовский институт Fraunhofer AIS, Германия;
3. Alcor, Университет Di Roma La Sapienza, Италия.
Симуляция спасательных работ:
1. ResQ Freiburg, Университет г. Фрейбург, Германия;
2. DAMAS-Rescue, Университет Laval, Канада;
3. Caspian, Иранский университет науки и технологии, Иран.
В номинации RoboCupJunior отличились команды Китая, Японии, Южной Кореи, Италии, Германии, Канады, Португалии, Израиля и США. Кроме футбола и спасательных работ, можно было соревноваться в танцах.



       КОМПЬЮТЕР-ИНФОРМ 
          Главная страница || Статьи 1'2003 (20 января - 2 февраля) || Новости СПб || Новости России || Новости мира

Рубрики || Работа || Услуги || Поиск || Архив || Дни рождения
О "КИ" || График выхода || Карта сайта || Подписка

Рассылка анонсов газеты по электронной почте

Главная страница

Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.

Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru