.::.DIMA.::. |
24-10-2009 22:49 1251571 |
Крестики-нолики
Решено
|
.::.DIMA.::., а в чем собственно проблема?
Ну допустим нет готового алгоритма, самому написать - сложно?
Если да, то ищите игры с открытыми исходниками и изучайте.
|
мне кажется вэтой игре такой подход не катит. Предлагаю функцию, которая оценивает тактическое преимущество. Допустим она состоит из 2-х частей: нападение и защита. Цель нападения - поставить 5 крестиков сподряд. Цель защиты - не дать поставить 5 крестиков сподряд.
Пусть у нас есть список вариантов, которыми можно поставить 5 крестиков сподряд (назовём их стратегиями) и степень их выполнения (сколько поставлено из 5).
нападение: ищем такой ход, который довыполнит максимально заполненные стратегии.
защита: ищем ход, который разрушит максимально заполненные.
На основании степени дозаполненности выбираем основной род деятельности: если наша дозаполненность выше, то нападаем. Оставшийся вариант назовём фоновым родом деятельности. Далее рассматриваем только стратегии с максимальной дозаполненностью каждого рода деятельности.
Ищем общие ходы для стратегий основного и фонового рода деятельностей. Если такие есть, то выбираем с наибольшим пересечением стратегий основного рода деятельсности. Если нет, то среди всех вариантов выбираем с наибольшим пересечением стратегий основного рода деятельсности.
Если таких стратегий несколько, то среди них выбираем из других условий, например с наибольшим пересечением срели всех стратегий нападения (подчёркиваю, не осноыного рода деятельности). Если всё ещё не можем определиться, то случайно.
Таким образом, оценивающая функция следит чтобы повысить свою степень заполнения либо понизить вражескую (в первую очередь) и обеспечить себе наибольшее число выигрышных вариантов (на случай хорошей защиты противника). Ведь цель игры всё-таки поставить 5 крестиков
|
dokwork@twitter |
18-11-2012 23:05 2027932 |
|
Любопытные рассуждения. Но, помятуя, что против лома нет приема, хотелось бы знать, что даст этот алгоритм против глухой защиты, когда противник ставит своими ходами сплошную сеть из крестиков (ноликов), расположенных по ходам шахматного коня. Такая сеть при умелом применении не даст выстроить 5 элементов в ряд.
|
Цитата:
Цитата XPEHOMETP
сеть из крестиков (ноликов), расположенных по ходам шахматного коня. »
|
Я такой не знал. Надо попробовать на досуге. Как нибудь очень потом :)
|
dokwork@twitter |
19-11-2012 16:23 2028302 |
Цитата:
Цитата XPEHOMETP
хотелось бы знать, что даст этот алгоритм против глухой защиты »
|
Против глухой защиты он не даст победить игроку как минимум. Ничья - не результат :smirk: Вообще, я думаю что любую антагоническую игру можно свести к ничьей. Так что интерес должна представлять задача победить, а не "не проиграть".
|
dokwork@twitter |
19-11-2012 16:54 2028338 |
Первое, что кинулось в глаза:
Цитата:
При правильной игре ничья гарантирована: для этого второму игроку нужно ставить первый "нолик" в центр, а если он занят, то в угол, и дальше блокировать угрозы. Ошибка на первом ходу ведет к поражению. Все вариации n в ряд на доске n*n также ничейные.
|
Но с другой стороны я и до этой статьи читал нюансы правил, обязывающие делать первые ходы определенным образом:
Цитата:
С ростом уровня игроков становится ясно, что в такой игре у начинающей стороны существенное преимущество. Для компенсации введены правила для начала игры: первым ходом черные ставят камень в центр, далее белые и черные ставят по камню произвольно, следующим ходом белые могут сменить цвет.
|
Но не смотря на это, я по прежнему считаю, что интерес представляет победа над AI, а вот ничья - это скорее достижение алгоритма.
|
Цитата:
Цитата dokwork@twitter
Но с другой стороны я и до этой статьи читал нюансы правил, обязывающие делать первые ходы определенным образом: »
|
Угу. Вспомните, например, рэндзю — изначально никаких ограничений для играющего первым (чёрными) не было. Но затем:
Цитата:
Развитие теории привело к пониманию того, что начинающие (чёрные) имеют преимущество, достаточное для победы при точной игре независимо от защиты белых[2]. Это привело к необходимости изменения правил: для чёрных были введён запрет на построение вилки 3-3. В XX веке игроки пришли к выводу, что этого недостаточно для уравнения шансов. В 1936 году, по предложению Рокусана Такаки, для чёрных были введены фолы (запрещённые ходы): вилки 3×3, 4×4 и постановка ряда из 6 и более камней в ряд, вилки кратностью более двух. Эти правила и стали классическими. Усложнение правил неожиданно привело к обогащению игры, поскольку появились принципиально новые тактические элементы — выигрыш вынужденным фолом для белых и уход от фола для чёрных. Позже и это сочли недостаточным, и сейчас на официальных соревнованиях применяют, в дополнение ко всем вышеперечисленным ограничениям, так называемый дебютный регламент: специальный порядок нескольких первых ходов.
|
|
Время: 13:38.
© OSzone.net 2001-