我的问题在概念上与解决字谜类似,但不能简单地使用字典查找。我试图寻找看似合理但不一定是真实存在的词语。
我已经创建了一个基于大量文本中字母的N-gram模型(目前,N=2)。现在,给我一个随机的字母序列,我希望根据转换概率将它们排列成最可能的序列。开始时我以为需要使用维特比算法,但深入研究后发现,维特比算法是基于观察到的输出优化一系列隐藏的随机变量。我试图优化的是输出序列本身。
有没有针对这种情况的知名算法可以让我阅读?还是我对维特比算法的理解方向正确,只是没有看到如何应用它?
更新
我增加了一个赏金,希望能获得更多关于这个问题的见解。(解释为什么无法采用高效方法的分析,除了模拟退火之外的其他启发式方法/近似方法等。)
回答:
如果我正确理解了您的问题,您是在寻找一个单词中所有字母排列组合中,2-gram概率乘积最低的那个组合。
如果您的单词太长而无法简单地暴力破解所有组合,我发现随机优化算法能在短时间内产生良好的结果。我(具有数学背景)对“模拟退火”算法做了一些研究,我认为它非常适合您的问题。而且实现起来也相当简单。