是否有任何算法/工具可以检测离散符号输入序列中的先验未知模式?
例如,对于字符串“01001000100001”,它类似于(“0”^ i“1”), 对于“01001100011100001111”,它就像(“0”^ i“1”^ i)
我找到了一些方法,但是当序列中要检测的一组模式是先验已知时,它们会被应用。我还发现sequitur algorithm用于数据中的层次结构检测,但是当序列像我的例子中的“算术级数”时,它不起作用。
所以我非常感谢有关方法/算法/工具/科学论文的任何信息。
答案 0 :(得分:0)
我相信有人指出,一般情况是不可解决的。 Douglas Hofstadter花了很多时间研究这个问题,并描述了一些方法(一些自动化,一些手册),见第一章:
http://www.amazon.com/Fluid-Concepts-And-Creative-Analogies/dp/0465024750
我相信他的一般方法是使用AI搜索算法(深度或广度优先搜索结合一些良好的启发式算法)。使用该算法将使用不同的运算符生成可能的序列(例如重复前一个数字i次,或i / 2次)并跟随搜索树中的分支,其中由该分支的节点指定的操作已正确预测下一个数字( s),直到它能够成功预测序列,直到你满意它有正确的答案。然后它将输出构成模式的操作序列(尽管这些操作需要由用户设计为模式生成的构建块)。
此外,遗传编程可能能够解决这个问题。