Компьютерра - Журнал «Компьютерра» № 27-28 от 24 июля 2007 года (695 и 696 номер)
Некоторые (заметьте, только некоторые) уровни игры могут быть решены "автоматически", с помощью определенных итерационных поисковых алгоритмов. С этой целью, например, была создана программа Rolling Stone, которая умеет самостоятельно проходить некоторые уровни сокобана. Она была разработана в недрах GAMES Group Университета Альберты (одной из провинций Канады). Сложные же уровни сокобана все еще не поддаются «автоматическому» прохождению.
ОССВ современном каратэ-до «осс» означает "терпение, уважение и признательность". Чтобы развивать сильное тело и сильный дух, необходимы жесткие тренировки, которые выдержать трудно. Каратисту приходится заставлять, «подталкивать» себя к тому, что он считает своим пределом. Ему хочется остановиться, но нужно бороться со своей слабостью и заставить себя победить. Чтобы сделать это, каратист должен проявить упорство, волю, а прежде всего – терпение. Это терпение и есть "осс".
Задачи и стратегияКроме главной задачи головоломки – расставить ящики по своим местам – существует еще две задачи для игрока: минимизировать перемещения ящиков по лабиринту и число движений человечка. Решение этих задач уже схоже с решением шахматных этюдов – правила те же, но игра обрастает дополнительными условиями. В общем, стратегия ходов осваивается игроком с первых минут игры. Есть несколько действий, которые нельзя совершать ни при каких обстоятельствах:
• нельзя допускать, чтобы два ящика оказались друг рядом с другом у стены (вы никогда их не вытащите оттуда: тянуть ящики нельзя, толкать два ящика – тоже);
• нельзя задвигать ящик в угол;
• нельзя сдвигать ящики в квадрат 2x2.
Кроме того, могут возникнуть такие ситуации, когда ящиками будет заблокирована определенная область лабиринта. И любая попытка разблокировать эту область, подвинув ящик, приведет к одной из описанных выше ситуаций.
Вообще, игра сокобан – хороший экзамен на логическое мышление. Действует лучше и надежнее всяческих многочисленных тестов. Причем для этого вовсе необязательно владеть сложным арсеналом приемов и стратегий. Достаточно освоить только несколько несложных правил. Моя жена (увидевшая эту игру впервые в жизни) прошла за пять минут сложнейший уровень, над которым я, играющий в сокобан не первый год, бился гораздо дольше. Вот вам и женская логика!
Как мы уже говорили, универсального алгоритма решения этой головоломки фактически не существует. Однако есть программы, которые позволяют упростить решение: вычислить предположительно правильные ходы на определенную глубину, помочь в записи решения на диск. Если забыть про математический формализм, существует ряд программ, которые с полным правом могут носить название "solver". Они действительно умеют решать многие, даже не самые простые уровни. Но и у них есть предел. Список таких программ можно найти на странице www geocities com/erimsever/sokoban5.htm. Там же приведены очень интересные диаграммы, показывающие количество вариантов ходов на разных этапах решения.
В мире шахмат существуют определенные правила записей ходов и позиций на доске. В мире сокобана тоже выработаны такие правила. План уровня и первоначальное положение объектов записывается в обычном текстовом файле с помощью следующих символов: "#" – стены, "." – пустое место, куда надо поставить ящик (так называемая "цель"), "@" – человечек, "+" – человечек, который стоит на той клеточке, где находится одна из целей, "$" – ящик на пустом месте, "*" – ящик на одной из целей. Такой формат записи получил название "XSB File Format". Файлы этого формата могут иметь расширения: xsb, sok, rdf, lp0, dat, pak и даже просто txt. Этот формат хранения уровней вы найдете во многих клонах сокобана.
Кстати, генерация уровней – тоже не самая простая задача. Попробуйте создать новый уровень сокобана с нуля. Недостаточно просто нарисовать причудливый лабиринт и раскидать по нему ящики. Нужно чтобы уровень имел как минимум одно решение. Кстати, количество возможных вариантов решения определяет сложность уровня.
Задача генерации уровней для сокобана так и просилась под клавиатуру программистов. Поэтому за годы существования игры появилось немало программ, которые умеют автоматически создавать интересные уровни, основываясь на различных исходных настройках. В качестве исходных настроек выступают, например, размер уровня по горизонтали и вертикали, количество ящиков, количество «пустого» пространства внутри лабиринта.
Есть еще более простой формат, где план уровня записывается в строчку. Такой формат удобен, например, для пересылки уровня по SMS (напомню, что имеется целый ряд мобильных версий сокобана). Уровень в таком формате выглядит, например, так:
[2-5#|3#3-#|#2-*#-2#|#-#2-*-#|#-*2-#-#|2#-#+2-#|-#3-$2#|-3#2-#|3-4#]
Цифрами обозначается количество повторений символа, который идет за этой цифрой. Символом "|" дается команда на начало новой строки.
Есть также отдельный формат для записей перемещений человечка по лабиринту. В нем все перемещения записываются буквами r, l, u и d (соответствующие четырем направлениям перемещений). Если при перемещении двигается ящик, то буквы записываются в верхнем регистре.
За годы своего существования сокобан превратился из простой логической игрушки в культовый объект. С каждым годом появляются все новые и новые версии этой игры. По нему пишут диссертации и научные статьи. Он оброс различными вспомогательными программами и файловыми форматами. Ну и кроме всего прочего, сокобан – это неплохой способ убить время и потренировать мозги.
Софтерринки
Автор: Илья Шпаньков
Заметаем следыОС Windows
Адрес www codeode com/privacymantra/index html
Версия 2.03
Размер 463 Кбайт
Интерфейс английский (русский не поддерживается)
Цена бесплатно
Лицензия проприетарная (freeware)
Иногда возникает необходимость скрыть следы своей работы на компьютере. Сделать это нелегко, так как приложения генерируют массу данных, которые самым предательским образом сообщат, что вы делали в последний сеанс работы, но выход есть – утилита Privacy Mantra. Она позволит в пару кликов замести следы своей деятельности в различных приложениях и системных службах, при этом особое внимание уделяется всему, что связано с Интернетом: программа очищает кэш IE и Firefox, удаляет cookies, восстанавливает первоначальный вид истории посещений и выполняет множество других, не менее важных операций. Гибкие настройки позволяют проводить чистку только в определенных, указанных пользователем местах, а удобный интерфейс поможет не запутаться в этом важном деле и удалить все "улики".
Прибор для выжиганияОС Windows
Адрес www burn4free com
Версия 3.2.0.0
Размер 4,2 Мбайт
Интерфейс многоязычный (русский поддерживается)
Цена бесплатно
Лицензия проприетарная (freeware)
Сегодня запись CD– и DVD-дисков доступна практически любому пользователю, и масса приложений позволяет делать это легко и непринужденно. Впрочем, создателям программы Burn4Free удалось сделать, пожалуй, одно из самых простых приложений такого рода. Оно поддерживает работу практически со всеми моделями приводов (за исключением совсем уж авангардных), при этом спокойно воспринимает «общение» с устройствами, подключенными посредством SCSI-, IDE/EIDE– или USB-интерфейсов. Также программа позволяет обрабатывать ISO-образы дисков.
Отдельное спасибо авторам программы за встроенную систему вывода графических данных на печать, снабженную простенькими средствами редактирования.
Доктор для системыОС Windows
Адрес www itcompany com/regdoctor htm
Версия 1.84
Размер 1,9 Мбайт
Интерфейс многоязычный (русский не поддерживается)
Цена $20,95–29,95
Незарегистрированная версия обладает функциональными ограничениями
Как лечение захворавшего организма следует начинать с укрепления иммунитета, так и для восстановления «здоровья» операционной системы лучше взяться прежде всего за чистку реестра. Поможет в этом программа Regdoctor, позволяющая быстро обнаруживать и удалять устаревшие записи и сломанные ключи. Для этого используется оригинальный поисковый движок, работающий быстро и качественно. Отметим также систему сохранения резервных копий данных, которая позволит быстро восстановить первоначаль– ное состояние ОС. Дополнительные удобства придают несколько режимов очистки реестра, позволяющих выбирать между скоростью и качеством работы приложения. Допускается запуск программы в автоматическом режиме при каждом старте системы.
Дисковый инспекторОС Windows
Адрес http://www altrixsoft com/en/hddinsp_notebooks/
Версия 2.44
Размер 2,4 Мбайт
Интерфейс многоязычный (русский поддерживается)
Цена $39,95
Ознакомительный период 15 дней
Если изготовление комплектующих к персональным компьютерам сравнить с машиностроением, то создание компонентов ноутбуков будет сродни ювелирному делу. Естественно, и догляд за состоянием аппаратной части портативной машинки нужен более скрупулезный и основательный. Hard Drive Inspector for Notebooks позволяет осуществлять глубокое тестирование жестких дисков ноутбуков, выуживая данные с помощью встраиваемого в совре– менные HDD инструментария S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology). Программа поможет своевременно определить приближение "часа X", когда какие-нибудь компоненты жесткого диска начнут "отмирать". Также имеются в наличии средства аварийного копирования данных на другой носитель.