Estou criando um jogo de lógica baseado no jogo Fox and Hounds. O jogador interpreta a raposa e a IA interpreta os cães. (tanto quanto posso ver) eu consegui tornar a IA perfeita, para que nunca perca. Deixá-lo como tal não seria muito divertido para jogadores humanos.
Agora, tenho que emburrecer a IA para que os humanos possam vencer, mas não sei como. A lógica atual da IA é baseada na correspondência de padrões - se eu introduzir movimentos aleatórios que fazem o tabuleiro ficar sem espaço, provavelmente a IA ficaria boba até o final do jogo.
Alguma idéia de como emburrecer a IA de tal maneira que não passa de "gênio" para "completamente burro" em um único movimento?
Respostas:
Muitas implementações podem levar a uma chance ponderada aleatória de movimentos - digamos, a chance de fazer um movimento ideal e a chance de fazer um movimento abaixo do ideal. Determinar quão subótima é uma jogada pode ser um problema muito complicado, mas também levará sua IA a tomar muito mais decisões aparentemente inteligentes.
Nota importante: não importa a configuração de dificuldade, provavelmente seria uma má idéia que a IA passasse a chance de ganhar o jogo imediatamente. Se houver a possibilidade de fazer uma jogada que termine o jogo naquele turno, ela sempre deve ser tomada. Caso contrário, isso destruirá absolutamente a impressão do jogador de como a IA está agindo.
fonte
Como esse parece ser um jogo "resolvido", a única resposta é que o computador deve fazer movimentos intencionalmente ruins.
Uma solução rápida pode ser calcular a melhor jogada e também calcular outra jogada legal que pode não ser tão boa. A classificação de dificuldade da IA seria medida na porcentagem de chance de escolher a outra jogada não tão boa, sobre a jogada perfeita.
fonte