
           .gif)

Сташуль Т.В.
Тяжело в ученье, легко в бою?..
|
С момента проведения Первого городского Турнира по программированию прошло всего полтора года, а в городе уже завершился третий подобный Турнир. Таким образом, с полным основанием можно считать состоявшимся рождение новой традиции в деятельности Компьютерной школы «Алиса». До сих пор руководители школы ограничивались организацией ежегодных Конференций юных программистов для школьников, которые всегда проходят в конце апреля и давно имеют статус региональных. Успех Конференции в большей степени зависит не от организаторов и экспертов, а от представленных программ и докладчиков. И, как правило, всегда находятся программы, которые делают Конференцию интересной.
Что же касается Турнира, то его успех, в основном, зависит от работы организаторов. Эта работа является многоэтапной и многоликой.
Первый этап начинается задолго до опубликования Положения о Турнире и представляет собой многоитерационный процесс обсуждения сначала идеи игры, а затем и состава документов, необходимых будущим участникам для разработки стратегии. Но самым сложным в этом этапе является необходимость создания очередного Арбитра - программы, которая проводит игры между стратегиями участников и определяет победителя Турнира. Во-первых, Арбитр должен быть защищен от случайного или намеренного «взлома» во время Турнира; во-вторых, он не должен вызывать недоверия со стороны участников Турнира в собственной несостоятельности, а это значит, что он обязан аккуратно протоколировать каждый шаг в процессе Турнира. Такие требования к Арбитру обязывают его авторов вести длительную и кропотливую работу по тестированию Арбитра на разных стратегиях для набора представительного статистического материала его поведения. Этот предварительный этап является главным в Турнире и в высшей степени определяет его будущий успех. Он требует значительных временных затрат и интеллектуальных усилий.
Второй этап начинается с момента опубликования Положения о проведении очередного Турнира и заключается в том, чтобы выдать или разослать материалы Турнира всем желающим. Эта работа не сложная, но по времени самая продолжительная.
Третий этап отличается наибольшей напряженностью; он наступает, когда до Турнира остается одна-две недели, и авторы, словно сговорившись, сдают свои программы практически одновременно и в самые последние сроки. Организаторы Турнира считают такие условия недопустимо жесткими для экспертов, и сроки тестирования сданных программ в Положении о будущих Турнирах будут, вероятно, продлены. В целях исключения досадных недоразумений заключительный этап проведения Турнира будет проводиться только в результате тщательной проверки поведения сданных программ.
Вот такие выводы напрашиваются после завершения очередного Турнира по программированию, заключительный этап которого состоялся 7 декабря 1998 г. в ИСЭМ СО РАН.
За два месяца до этого в газете Computer Review появилось Положение о Турнире, который был назван «Пузыри и камни» - так организаторам представлялась игра «Тетрис» на «стакане», открытом с двух сторон - сверху и снизу. Привлекательной особенностью предстоящего Турнира оказалась возможность вести собственную игру независимо от противника в реальном времени на своем компьютере, в то время как программа-Арбитр, находящаяся на центральной машине успевала обрабатывать команды программ-стратегий на уровне входных и выходных файлов с двух соседних компьютеров, принадлежащих игрокам. Интерес к Турниру проявили около двадцати студентов и школьников. В силу сложности поставленной задачи организаторы провели для них две консультации, на которых авторы программ могли получить необходимые разъяснения, касающиеся правил участия в Турнире. В указанные сроки сумели уложиться лишь десять человек из двадцати, среди них два школьника.
На этапе защиты авторства на этот раз не было дисквалификаций - все сумели убедить экспертов в своей компетентности. А затем началось самое интересное - тестирование программ на сетевом варианте Арбитра. Вот тут и организаторов, и участников поджидали неожиданности. С самого начала предполагалось, что в отдельных случаях появится необходимость доработки тех или иных стратегий для сети. На деле оказалось, что некоторые программы обладали такими свойствами, что некорректности, допущенные при программировании, проявлялись слабо или вовсе не были видны на одномашинном варианте, а в сети стали очевидны. Вот этот эффект и подвел некоторых авторов, и их стратегии на Турнире выглядели не лучшим образом. Возможно, правы те, кто предлагал выдать участникам еще и сетевого Арбитра, но организаторы стремились создать одинаковые условия для всех разработчиков и отказались от этого варианта. В будущем не исключен пересмотр этого момента.
Заключительный этап Турнира продолжался два с половиной часа. В зале были установлены и соединены в локальной сети три компьютера, на двух из которых сражались стратегии, на центральном - действовал Арбитр:
запускал программы-стратегии игроков по установленной схеме;
выполнял команды от стратегий;
формировал игровое поле и фигуры;
отображал процесс игры на экране центрального компьютера;
подсчитывал баллы, показывая результаты на диаграммах;
показывал промежуточные результаты после каждой партии в виде Турнирной таблицы;
принимал решение о присуждении призовых мест победителям по результатам их игр.
Все это демонстрировалось с помощью проектора на настенный экран, и зрелище вызывало всевозможные эмоции зала - от досады до восторга.
Примерно в середине Турнира зрители были вознаграждены необычным явлением - пролетом фигуры через весь «стакан». Это произошло во время сражения стратегии одного из школьников - Абасова Тимофея и Гарифулина Владислава. Именно Тимофею удалось провести свою фигуру мимо «шлака» и фигур противника и получить награду в 40 баллов, что отчасти и помогло ему занять в Турнире третье призовое место, хотя его стратегия вела себя грамотно и в других игровых ситуациях. Пролет фигуры мог состояться и в следующей партии между ними, но во второй раз Гарифулин Владислав вовремя сориентировался и подставил свою фигуру навстречу летевшей. Такой шаг несколько осложнил игровую ситуацию в данной партии, но это не помешало ему занять первое призовое место в Турнире. Таким образом, Гарифулин Владислав, получивший на прошлом Турнире супер-приз, еще раз подтвердил свой профессионализм. Второе место занял Кузьминский Василий, который создал очень грамотную, спокойную, удивительно красиво играющую стратегию. На предыдущем Турнире он был победителем среди студентов. Постоянный состав участников позволяет надеяться, что в скором времени организаторы смогут публиковать рейтинги программистов.
Итак, еще раз о победителях:
1 место - Гарифулин Владислав, студент 3 курса ИрГТУ
2 место - Кузьминский Василий, студент 5 курса ИГЭА
3 место - Абасов Тимофей, ученик 9 класса лицея ИГУ.
Среди призеров оказался и самый молодой программист - Коноплев Алексей, ученик Компьютерной школы «Алиса», 8-классник, стратегия которого выглядела не хуже студенческих.
Все участники Турнира получили дипломы, а победители были награждены лицензионными программными продуктами от фирмы АНКОМ и Внедренческого центра Мадьярова. Руководители этих фирм неизменно поддерживают все начинания Компьютерной школы «Алиса», и организаторы выражают им свою признательность, надеясь и в дальнейшем на понимание с их стороны таких важных проблем, как молодежное творчество в области информационных технологий.
В заключение о тех, кто готовил Турнир:
авторы программы Арбитр, эксперты: Розинов С.В. и Орехов А.Б.;
оргкомитет: Мокрый И.В., Перевалов А.А., Сташуль Т.В.
Итак, первый сетевой Турнир состоялся, а в результате организаторы и эксперты получили важный опыт проведения подобных мероприятий. Что касается участников, то лучшие из них показали высокий профессиональный уровень, не зависящий от условий, в которых проводился Турнир. Хочется надеяться, что все, кто имел отношение к Турниру, а также зрители, получили массу положительных эмоций.
|

           .gif)
|