【问题标题】:Pattern recognition algorithms模式识别算法
【发布时间】:2010-09-07 04:18:15
【问题描述】:

在过去,我必须开发一个充当规则评估器的程序。你有一个先行词和一些后续事件(动作),所以如果先行词评估为真,则执行的操作。

当时我使用了RETE algorithm 的修改版本(RETE 有三个版本,只有第一个是公开的)用于先行模式匹配。我们在这里谈论的是一个大型系统,每个规则有数百万个操作,并且一些操作符在多个规则中“重复”。

我可能不得不用其他语言重新实现它,即使我在 RETE 方面经验丰富,有没有人知道其他模式匹配算法?有什么建议或者我应该继续使用 RETE 吗?

【问题讨论】:

    标签: algorithm pattern-recognition


    【解决方案1】:

    TREAT 算法类似于 RETE,但不记录部分匹配。因此,在某些情况下,它可能比 RETE 使用更少的内存。此外,如果您修改大量已知事实,则 TREAT 会更快,因为您不必花时间在撤稿上。

    还有RETE*,它通过根据您要使用的内存量保存一些连接节点状态来平衡RETE 和TREAT。因此,您仍然可以节省一些断言时间,但还可以节省内存和撤回时间,具体取决于您如何调整系统。

    您可能还想查看LEAPS,它使用惰性评估方案并结合了 RETE 和 TREAT 的元素。

    我只有 RETE 的个人经验,但似乎 RETE* 或 LEAPS 是更好、更灵活的选择。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多