Я пытаюсь сделать логику для противника в игре с царапинами.Как я могу оптимизировать перестановки слов в игре Scrabble?
Я много думал и пришел к выводу, что мне нужно использовать anagrams
и проверить эти анаграммы на список слов в файле словаря, чтобы узнать, является ли сгенерированное слово на самом деле словом, содержащимся в словаре файл.
Вопрос, который у меня есть, - optimization
. Поскольку эта анаграмма использует recursion
и работает до 8 факториалов, существует, как правило, много «мусорных» слов, которые не существуют в любом словаре, например, повторения одной буквы.
Должна быть какая-то проверка, чтобы проверить, действительны ли перестановки, а не только повторение 1 символа. До сих пор я не понимаю, как это сделать: быстро и точно.
На английском языке слова, как представляется, формируются как гласными, так и согласными. Я думал проверить, содержит ли слово хотя бы 1 гласный и по крайней мере 1 согласный, однако есть некоторые исключения, когда слова могут содержать только гласные или только согласные. Поэтому этот метод выходит из окна.
Теперь мне может быть недостает чего-то важного, но не хватает грубого форсирования моего пути через все перестановки. У меня нет реального представления о том, как проверить способ, достаточно быстрый для геймплея.
Мой вопрос:
Может кто-нибудь предложить метод, который будет работать 100% времени, чтобы оптимизировать число перестановок генерироваться?
Мне не нужны бесполезные генерироваться и они оказываются большая часть того, что генерируется.
Я считаю это хорошим подходом, но в то же время я считаю, что я должен упустить что-то, что намного быстрее и более подходящее для того, чего я хочу достичь.
Если кто-нибудь может предложить способ проверить, действительно ли слова жизнеспособны или нет, или если вы могли бы предложить лучший способ приблизиться к ситуации, было бы весьма полезно.
Спасибо.
Google-ING «компьютер Эрудит программирование» превратили этот http://www.scotthyoung.com/blog/2013/02/21/wordsmith/ –