Como funcionam os algoritmos dos jogos Scrabble para computador?
P>Pode funcionar com a busca no dicionário de força bruta, começando com a primeira das suas letras e procurando nesse subconjunto de palavras por correspondências com qualquer uma das suas restantes letras no espaço seclnd. Ensaboar, enxaguar, repetir, até que você'tenha encontrado todas e as melhores opções.
Isso seria muito lento.
Poderia otimizar seu dicionário. Poderia atribuir pesos a cada letra [pense na espessura da letra's secção do dicionário igual ao peso mais pesado...letra com pontuação ainda mais pesada]. Poderia fazer isso para cada letra possível em cada posição, já que o N [número de palavras] em seu dicionário é fixo. Então, um rápido reorgorg de sua pilha de letras por peso e você'vai encontrar a melhor resposta a mais rápida.
Poderia criar um mapeamento. Digamos que você queira encontrar rapidamente todas as palavras com um U no segundo ponto -- porque você tem um Q e o peso dele é maior em sua mão. Ou há's um U no quadro ou há's um na sua mão. O mapeamento pode ser determinado estaticamente para que ele ganhe'não leve tempo para construir durante a jogabilidade. Mas it'reduziria rapidamente o número de palavras a considerar para um mapa de todas as palavras com U no segundo espaço intersectado com o mapeamento de todas as palavras com Q no primeiro espaço.
Algo do género, I'tenho a certeza. I'estou começando a trabalhar exatamente nisto para um jogo, então I'vou tentar lembrar de atualizar minha resposta se eu tiver enganado grosseiramente.