Antes de a IA jogar, ela deve encontrar seu lance dentro de um monte de palha de cento e cinquenta mil palavras, e então parar de procurar.
Dê a uma pessoa um suporte do WordChess e a instrução "jogue uma boa palavra", e ela reduz o problema sem perceber que o fez. O computador não desfruta de tal intuição. Em um 25×25 tabuleiro, tendo acesso ao pool completo de cem peças, ele pode tentar quase qualquer um dos 148,941 palavras do dicionário, e cada palavra pode ser colocada em milhares de coordenadas e orientações legais. Pior ainda, uma colocação só é legal se cada nova letra que ela introduz também completar uma palavra real onde cruza o que já está no tabuleiro. Multiplique as palavras pelas colocações por essa restrição de cruzamento e você terá um espaço de busca que nenhum jogador, de silício ou de outra forma, pode enumerar e classificar por completo.
Esta é a razão pela qual os motores sérios de jogos de palavras, Quackle, a implementação de referência de código aberto, entre eles, nunca forçam o dicionário por força bruta.4 A estrutura GADDAG de Steven Gordon de 1994, e o DAWG antes disso, deixe um programa fazer crescer palavras a partir das peças já no tabuleiro e verifique as interseções conforme avança, para que ramos ilegais morram precocemente em vez de serem pontuados e descartados.1 A tarefa não é "listar todas as palavras". É "gerar apenas os lances que poderiam possivelmente ser legais, e fazê-lo rapidamente."
Mesmo um gerador enxuto retorna mais lances candidatos do que podem ser avaliados em profundidade, então o segundo problema é o tempo. O programa de Scrabble mais forte já construído, de Brian Sheppard, Maven, faced exactly this and answered it in two stages: um heurístico rápido classifica os lances brutos em uma ordem aproximada de qualidade, e apenas uma lista curta dos mais promissores é estudada cuidadosamente, simulando o jogo para frente muitas vezes para ver qual candidato realmente se sai melhor.2 Sheppard emprestou o nome da ideia de outros jogos, o que backgammon calls a rollout and Go calls a playout, he called simulation.
WordChess opera no mesmo espírito sob uma restrição mais rígida: um orçamento fixo de tempo de busca por jogada. Quando o orçamento se esgota, a IA se compromete com a melhor palavra que encontrou até o momento. Este não é um compromisso do qual os engenheiros se arrependem; é o design inteiro. Um jogador que pensa para sempre não é um oponente melhor, apenas mais lento. O relógio força a máquina a fazer o que as pessoas fazem instintivamente: aceitar uma jogada que é claramente boa, em vez de comprovadamente a melhor.
O dicionário não é a mente do oponente. O relógio é.
A maneira preguiçosa de tornar a IA de um jogo mais fácil é torná-la estúpida ao acaso, fazendo-a tropeçar em uma jogada que ela viu claramente. Os jogadores percebem e se ressentem disso. O designer Sid Meier é frequentemente citado por ter cortado Civilization recursos que permitiam ao computador superar os jogadores na negociação, porque o efeito, como um relato sobre o design de oponentes de IA coloca, deixaria "os jogadores com a sensação de que não podiam vencer porque o computador estava trapaceando".3 A dificuldade que parece desonestidade envenena o jogo, o que é por isso que a literatura de pesquisa sobre ajuste dinâmico de dificuldade se preocupa em calibrar o que a IA é capaz de fazer, em vez do que ela é permitida ver.5
WordChess calibra seus quatro níveis ao longo de eixos que um humano reconheceria, nunca alimentando a IA com informações ocultas. Cada nível difere em quanto tempo pode buscar, quão profundo no dicionário raro seu vocabulário alcança e quais faixas de comprimento de palavra favorece. Um fácil o oponente joga palavras plausivelmente fracas, reais, sensatas, curtas, não lixo. Um grande mestre tem todo o léxico obscuro e o tempo para explorá-lo. O jogador perde para algo que parece ser um vocabulário melhor e uma leitura mais afiada, porque é exatamente isso que é.
| Nível | Alcance do vocabulário | Orçamento de busca | Tendência de comprimento da palavra |
|---|---|---|---|
| Fácil | Apenas comuns | Mais curtas | Curta |
| Normal | Comuns + médias | Curta | Mista |
| Difícil | Ampla | Longo | Mais longo |
| Grão-mestre | Raro completo | Mais longo | Sem limites |
Uma calculadora retorna a mesma resposta toda vez; um oponente te surpreende. O WordChess adiciona uma etapa deliberada de randomização, anti-cópia, à seleção, de modo que jogadas quase iguais não sejam sempre resolvidas da mesma forma e a IA não simplesmente espelhe sua última jogada. Combinado com tetos de vocabulário por nível, o efeito é a variedade, a sensação de que alguém está sentado do outro lado do tabuleiro fazendo escolhas, algumas das quais você também poderia ter feito.
Essa é a arte silenciosa disso. Um oponente crível precisa de contenção tanto quanto de força: a disposição de jogar uma palavra apenas boa, de deixar pontos na mesa, de ser derrotável de uma forma que pareça merecida. O problema de engenharia mais difícil da máquina era buscar no monte de palha. O mais sutil era aprender quando parar de buscar, o que saber e quanto reter.