Комментарии 13
Отрадно видеть всё больше статей по AI для настольных игр на Хабре, но боюсь, что этим пунктом:
отсутствие состояния (то есть, алгоритм руководствуется только данными на текущий момент времени, проще говоря, ничего не запоминает (например, не «считает» вышедшие из игры карты).вы обрубили себе все руки. На мой взгляд, суть качественного AI для «Дурака» на 90% состоит именно в подсчёте вышедших из игры карт.
Как мне кажется, это начальное допущение, чтобы на первых порах не переусложнять алгоритм
Вот самое интересное, что играет-то довольно неплохо (опытным путем проверено, хотя и субъективная оценка) и безо всякого подсчета. Конечно, с подсчетом будет явно лучше, но цель конкретно статьи — показать что-то вроде простого примера псевдо-AI (во многих играх этого и достаточно, они ведь в первую очередь рассчитаны на казуальных пользователей, а не на заядлых геймеров).
Статья окончилась, едва начавшись…
Дурак — не покер. Если рассматривать классический подкидной дурак, иногда 4 шестёрки в конце могут быть на порядок круче двух тузов, и чего-то одномастного.
Самый верный алгоритм ИИ — это анализ вышедших карт из игры, и относительно этого выстраивать стратегию, с оценочными рисками. А уровень карт, особенно по очкам — не совсем удачный путь. Я попробую сыграть в вашу версию игры, и если со свой стратегией я её обыграю, значит это не орректный подход.
Самый верный алгоритм ИИ — это анализ вышедших карт из игры, и относительно этого выстраивать стратегию, с оценочными рисками. А уровень карт, особенно по очкам — не совсем удачный путь. Я попробую сыграть в вашу версию игры, и если со свой стратегией я её обыграю, значит это не орректный подход.
Пожалуйста, добавьте в игру сортировку карт по масти, и так чтобы козыри лежали слева. Играть просто невозможно.
Простым алгоритмом отслеживания того, что было в игре, какие карты ушли с лёгкостью обыграл соперника.
Имхо, наибольший интерес представляет дуэльный дурак, так как он позволяет наиболее точно оттачивать алгоритм.
Так же, обратите внимание на правила: можно ли отбивать в случайном порядке, или в порядке выкладывания? Моё мнение, что можно только в порядке выкладывания. Это достаточно большая разница в правилах.
Простым алгоритмом отслеживания того, что было в игре, какие карты ушли с лёгкостью обыграл соперника.
Имхо, наибольший интерес представляет дуэльный дурак, так как он позволяет наиболее точно оттачивать алгоритм.
Так же, обратите внимание на правила: можно ли отбивать в случайном порядке, или в порядке выкладывания? Моё мнение, что можно только в порядке выкладывания. Это достаточно большая разница в правилах.
Сортировка карт (по масти или по достоинству, по возрастанию или по убыванию) в игре есть, включается в настройках. Или что Вы имели в виду?
Вообще да, от порядка многое зависит. Пока реализовано только в порядке выкладывания.
К предыдущему: Согласен, что 4 шестерки могут быть круче, почему и сделаны все эти поправки и штрафы. Оценка _только_ по рангу самих карт бессмысленна.
Вообще да, от порядка многое зависит. Пока реализовано только в порядке выкладывания.
К предыдущему: Согласен, что 4 шестерки могут быть круче, почему и сделаны все эти поправки и штрафы. Оценка _только_ по рангу самих карт бессмысленна.
Сортировка карт (по масти или по достоинству, по возрастанию или по убыванию) в игре есть, включается в настройках. Или что Вы имели в виду?
Видимо я пропустил, т.к. мне казалось, что это не опция, а само-собой разумеещеся должно быть.
Вообще, я много времени вынашивал алгоритм игры в дурака. У меня есть алгоритм моей игры, с которым я выигрываю у людей в 80% случаев. Основан на запомнинании карт и бережному отношению к козырям (я никогда не отбиываюсь козырями, без лишней нужды). Главная цель — накопить козырей. Т.е. конечно, если в начале игры у вас только шестёрка козырная на руках и всякая мелочь, нужно её слить любой ценой, чтобы обновить карты.
И стараюсь запоминать карты, вышедшие из игры. В принципе, взрослый здоровый человек вполне может запомнить все 36 карт. Поскольку я играю не часто, то как правило отслеживаю все «картинки» в обороте и все козыри (их девять штук).
Я б лучше какуюнть альфаго пытался адаптировать для дурака. Было бы круто
В своё время тоже самое пытался реализовать 10-15 лет назад, потом периодически на тестировал разные алгоритмы.Например у меня компьютер игра 100, 1000 или больше случайных партий сам с собой (неизвестные карты игрока выставлялись по рандому). При игре случайных партий оценка делалась исходя их достоинства карт. Соотвественно где больше игрок выиграл, так и надо ходить. Если счёт примерно равный, надо ходить с картой меньшего достоинства(впрочем, это может и нереализовал).
Ещё я на дураке же отрабатывал примитивный алгоритм самообучения, где параметры типа UNBALANCED_HAND_PENALTY у автора статьи, но там что-то пошло не так.
Ещё я на дураке же отрабатывал примитивный алгоритм самообучения, где параметры типа UNBALANCED_HAND_PENALTY у автора статьи, но там что-то пошло не так.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Игра (не) для дураков. Пишем AI для «Дурака» (часть 1)