Журнал «Компьютерра» №25-26 от 12 июля 2005 года - Журнал Компьютерра. Страница 29
ИГРЫ: Проверено. Мины есть!
Вы когда-нибудь видели серое солнышко? Нет? Тогда милости просим: «Пуск\Программы\Стандартные\Игры\Сапер». Узнали? Почти каждый человек, прикасавшийся к компьютерной клавиатуре, хоть раз, да запускал эту нехитрую логическую игру. На прямоугольном поле в некоторые клетки случайным образом расставляются мины (их число заранее известно). В остальных клетках находятся числа, равные общему количеству мин в восьми соседних клетках. Вначале все клетки скрыты и открываются игроком по ходу игры. Цель: открыть все клетки без мин. При попадании на мину, игра заканчивается поражением.
Существует множество вариантов «Сапера»: с частично автоматической расстановкой, с разной мощностью мин, сапер в гексагональной сетке, 3D-сапер на многограннике и т. д. и т. п., но мы поведем разговор о классическом сапере. Игра доступна и распространена, благодаря тому, что включена в состав дистрибутива Windows. Не ошибусь, если скажу, что в «Сапера» играют миллионы.
Сначала рекорды фиксировались скриншотами. Затем Сорин Манеа (Sorin Manea, 2-13-49, №15)[В скобках - личные рекорды на «Новичке», «Любителе» и «Эксперте» и место в мировой табели о рангах] из Румынии написал программу Sorin Recorder для записи и анализа игры. Параллельно использовались утилиты видеозаписи экрана. А в настоящее время для подтверждения результатов используется программа Minesweeper Clone, которую написал бразилец Родриго Камарго (1-15-66, №111). Внешне она повторяет обычный «Сапер», но имеет множество сервисных функций, в том числе ведение истории рекордов, статистику (с точностью до сотых долей секунды) и запись процесса игры в собственном формате с подписью игрока.
Пока единственный турнир по «Саперу» состоялся в Будапеште в феврале этого года. К сожалению, собрать всех звезд не удалось. Приняли участие всего шесть человек из мирового рейтинга и полтора десятка местных игроков. Суммировались результаты пяти лучших игр на «Любителе» и пяти - на «Эксперте» за три часа игрового времени. Победил Дамьен Мур (S=355,75). Следующий турнир пройдет 13 августа в Вене.
Теперь немного о терминологии. Основной параметр сложности поля (на жаргоне - «доска», board) - минимальное количество левых кликов, достаточное для его прохождения. Он называется Bechtel’s Board Benchmark Value, или 3BV. Чем больше на доске цифр и чем меньше пустых полей, тем выше 3BV. Кроме лучшего времени, игроки сравнивают рекорды по скорости на каждом уровне (3BV в секунду). При одинаковом мастерстве скорость зависит от сложности доски нелинейно. Чем больше 3BV, тем скорость выше, зато чем меньше 3BV, тем меньше время. Поэтому на сложных досках ставят рекорды по скорости, а на легких - рекорды по времени. Клетку с миной можно помечать флажком, но если держать эту информацию в голове, экономится время. Такой стиль игры называется NF-стилем (non-flagging). Многие игроки фиксируют NF-рекорды отдельно, а некоторые играют только так. Этот стиль очень хорош для «Новичка» и «Любителя», но все же мировые рекорды на «Эксперте» делаются комбинированным стилем: где много мин - открываются клетки между ними, а где много пустых полей - мины помечаются флажком и делаются двойные клики вокруг.
С повышением уровня мастерства игрок переходит от арифметико-логических вычислений к распознаванию паттернов, а затем доводит игру до автоматизма с минимальным осознанием происходящего. Некоторые игроки утверждают, что им легче играть в «фоновом режиме», например говоря по телефону. Помню, как я удивился, когда моя рука закончила игру четырьмя безошибочными нажатиями прежде, чем я вообще успел осознать ситуацию!
Это настоящий сапер ошибается только один раз. А игрок в «Сапера» - тысячи… и снова нажимает F2. Вы с нами? Добро пожаловать в рейтинг!
Если вы хотите сравнить свои успехи с лучшими в мире, добро пожаловать на самый главный рейтинг, который ведет один из лучших французских игроков Gregoire Duffez (1-13-54, №28)[ www.planet-minesweeper.com/bestever.php]; здесь же множество советов начинающим и исследовательских статей]. На сайте публикуются личные рекорды игроков на трех уровнях. Место определяется суммой этих результатов, и если она меньше ста - игрок попадает в рейтинг. На сегодня лучший игрок в мире - австралиец Дион Тиу (1-11-39) с суммой 51 секунда. Вслед за ним идут Дамьен Мур, Канада (1-11-40), Оливер Шеер, Германия (2-12-39), Лассе Нюхольм, Дания (1-12-41) и наш соотечественник Роман Гаммель[Он же ведет российский рейтинг на сайте gammel.pisem.net/best.html], Москва (1-11-43), которому, тем не менее, принадлежит мировой рекорд на"Любителе" - 11,30 секунды. Мировому рейтингу - несколько лет, и в нем собраны достижения людей, которые уже не играют. Из 313 игроков в строю осталось чуть больше сотни. Поэтому существует другой рейтинг ( www.active-ranking.de.vu), где можно сравнить реальную силу игроков. Сюда отсылают лучшие результаты за двухнедельный период. Игроки общаются в гостевой книге: pub19.bravenet.com/ guestbook/1561860698 и на IRC-канале.
МЫСЛИ: Чему не учат в (высшей) школе
Дмитрий Ватолин известен читателям «КТ» в первую очередь как эксперт по сжатию данных. Стати для нас он пишет редко, но иногда комментирует материалы близкой ему тематики. Текст, который вы прочтете ниже, тоже в каком-то смысле является комментарием к системе образования, и, на мой взгляд, как раз сейчас, в период вступительных экзаменов в вузы, его публикация вполне актуальна. Люди, окончившие вузы несколько лет назад, вряд ли найдут для себя что-то новое, однако многие вчерашние школьники, которые сейчас готовятся к поступлению в институт, наверняка не задумываются о том, зачем и чему они собираются учиться.
Так уж сложилось, что я давно работаю по специальности (что нынче редкость) и одновременно занимаюсь обучением студентов. И потому меня давно интересует один простой вопрос: почему студентов, приходящих на работу, приходится так долго учить?
Типичная картина - приходит выпускник на работу по родной специальности, и ему требуется примерно полгода-год, чтобы выйти на нормальную производительность. А до этого зачастую скорость работы новичка и человека, проработавшего года три, может отличаться в несколько раз. По моим замерам, скорость решения сложных задач (на которые требуется несколько дней) от момента постановки до момента, когда программа заработала без глюков и в нужном темпе, у «зеленых» студентов и у профессионалов отличается в тридцать раз! Бывают, конечно, приятные исключения, но, увы, это именно исключения. Причем речь идет, напомню, о работе по специальности, которая человеку нравится и которой он долго учился.
Так, может, в консерватории что-то не так?
Рассмотрим, как все происходит «в консерватории», то есть при обучении.
Итак: человек учится в школе. Учитель объясняет материал, дома надо прочитать очередной параграф в учебнике, а в следующий раз - своими словами связно рассказать его у доски. В университете ситуация упрощается - часто в середине семестра качество того, что усвоено на лекциях (и вообще - ходит ли человек на них), не проверяется, зато в конце семестра надо подготовиться по списку вопросов, прийти на экзамен и связно любой из вопросов по памяти рассказать. Другой вариант - решить какие-то задачи. Примеры задач давались в течении семестра. Калькуляторы - убрать! Сотовые - убрать! Пользоваться ничем нельзя! За шпаргалки - на пересдачу! Если посоветоваться с соседом - выгонят! Так?
А теперь посмотрим, как выглядит решение задачи в жизни. Как правило, человеку дается очередная задача, и у него есть на нее три недели. Или три дня. Или три часа. И пользоваться можно всем! Вот тебе сотовый, вот тебе калькулятор, вот тебе все твои конспекты за шестнадцать лет обучения (полная стопка)! Вот тебе Интернет! Время пошло! Как решать задачу - никто точно не знает, это надо выяснить в процессе. Важно, что решение должно быть как можно более эффективным (если сильно петлять в решении - времени не хватит).