|
Арбузный ломтик по средам № 14
Вздумалось козлику. Продолжение
Странно, что до сих пор нет этой игры на компьютере, она же просто просится для программирования. (Я и сам пытался, еще на Синклере…) Здесь начинает работать эффект, заключающийся в том, что обдумывание алгоритма рализации игры приятнее, чем сама игра. Начните, и получите удовольствие даже от предварительных рассуждений.
Самое время вспомнить о Самообучающихся машинах. О самодельной самообучающейся машине рассказал Мартин Гарднер в книге «Математические досуги». Например, для игры в крестики-нолики - предположим, машина ходит первая и все нечетные ходы ее. Машина представляет собой набор спичечных коробков, на которых нарисована позиция в игре и разными цветами показаны возможные ходы. В коробке лежат бусинки, цвета которых соответствуют цветам вариантов ходов. При ходе машины достают случайно выбранную бусинку и ходят в соответствии с ее цветом. Обучение состоит в том, что если машина выигрывает, то в каждый игравший коробок добавляют по бусинке того цвета, который играл в этой партии, а при проигрыше соответствующие бусинки удаляют. Результаты потрясающие — после нескольких сыгранных партий машина становится непобедима.
Этот остроумный метод обучения так и просится для программной реализации, вам не только не придется возиться с коробками, но и не надо будет тратить время на обучение — ведь программа может обучаться играя сама с собой! Опять же это верный шаг в направлении создания Искусственного Интеллекта, ведь этот самый ИИ должен самообучаться. И лучшего объекта для самообучающихся
программы, чем Волки и козлик не найти.
Если же вам в принципе неприятны разговоры о самообучении, то можно построить программу, играющую, например, за козлика, на простом переборе всех вариантов, тем более, что количество их вполне обозримо. Для уменьшения вариантов и увеличения силы козлика можно использовать поле с четырьмя и тремя полями в рядах. Для удобства анализа позиции каждое поле можно назвать буквой
английского алфавита. Букв, как известно, 26, полей 25, букву О исключим из-за
похожести на нуль.
Теперь начальная позиция волков будет выглядеть как строка символов «WXYZ», а первый ход волков может создать шесть ситуаций: TXYZ, WTYZ, WUYZ, WXUZ, WXVZ и WXYV. На втором ходу первый и последний варианты имеют по шесть продолжений, а остальные всего по три, но это не значит, что второй ход волков создаст 24 разных позиций, так как многие позиции совпадают. Предложенный метод облегчает анализ ситуации, сводящийся к рассмотрению строки из четырех букв. Не надо бояться обилия вариантов, так как в подавляющем большинстве из них волки проигрывают, не пройдя второй линии. Облегчает анализ и то, что первые три-четыре хода козлика с поля F практически не зависят от ходов волков, ну а уж после надо крепко думать.
Заложив в программу все варианты вы убедитесь, что теоретически волки сильнее, но для победы им надо совершать единственные правильные ходы. Тот же, кто не знает их будет недоумевать, что не в силах сладить с осколками кремния и мотком проводов, из которых, собственно, и состоят наши любимцы.
Ну, вот и все. Удачной охоты, как говорят волки.
02.06.2004
Теги: занимательные модели
|
Ваш отзыв автору
|
|
|