Я создаю логическую игру, основанную на игре Fox and Hounds. Игрок играет на лисе, а ИИ - на гончих. (насколько я вижу) Мне удалось сделать ИИ идеальным, поэтому он никогда не проигрывает. Оставить это как таковое не будет очень весело для игроков-людей.
Теперь я должен заглушить ИИ, чтобы человек мог победить, но я не уверен, как. Текущая логика ИИ основана на сопоставлении с образцом - если я введу случайные ходы, которые заставят доску выйти из пространства образца, ИИ, скорее всего, будет играть глупо до конца игры.
Какие-нибудь идеи, как замять ИИ таким образом, чтобы не перейти от «гениальности» к «совершенно глупости» за один ход?
Ответы:
Многие реализации могут привести к случайному взвешенному шансу для ходов - скажем, к шансу сделать оптимальный ход и к шансов сделать неоптимальный ход. Определение того, насколько неоптимальным является движение, может быть очень сложной задачей, но также приведет ваш ИИ к принятию гораздо более разумных, на первый взгляд, решений.
Важное примечание: независимо от уровня сложности, было бы неплохо, чтобы ИИ упустил шанс немедленно выиграть игру. Если есть возможность сделать ход, который бы закончил игру на этом ходу, его всегда следует брать. Если нет, это абсолютно разрушит впечатление игрока о том, как действует ИИ.
источник
Поскольку это кажется «решенной» игрой, единственный ответ - компьютер должен делать преднамеренно плохие ходы.
Быстрое решение может состоять в том, чтобы рассчитать лучший ход, а затем рассчитать еще один законный ход, который может быть не очень хорошим. Рейтинг сложности ИИ будет измеряться в процентах вероятности того, что он выберет другой не очень хороший ход, а не совершенный ход.
источник