我正在开发一种刽子手猜测算法,并希望对我所看到的内容进行清晰的解释



到目前为止,在我的算法中,我已经过滤了以下内容,以推断出正确的单词

  • 如果我猜到一个字母,但它不在那里,用那个字母过滤所有单词

  • 如果我猜到一个字母,它就在那里,在特定的位置中过滤任何没有该字母的单词

  • 过滤掉与正在猜测的单词长度不匹配的单词

我想澄清的是,窥探下一封信将如何以及是否有助于改进我的算法,(我在另一篇文章中看到了这一点,不确定这将如何帮助改进算法,如果有的话)

有人建议,在过滤器通过后,你可以根据结果单词库来猜测字母。我引用:

"你可能可以进行前瞻。如果我们在这个级别上选择"a",那么下一级别会有什么选项?这是一个O(x^n)算法,显然你不能走得太远。">

有人能帮我解释一下这将如何实现,以及它将如何改进我的代码吗?

符号序列在任何自然语言中都不是随机的。一个简单的例子是,在英语中,"Q"后面几乎总是跟着"U"。因此,当你有一个正确的字母时,你现在可以浏览所有剩下的单词,看看哪些字母最频繁地跟在你已经知道的那个字母后面(或者只是和它一起出现)。使用字母频率进行下一次猜测。

相关内容

最新更新