我正在用Java实现一个新的机器学习算法,该算法从一组结构化数据集(树结构)中提取原型数据结构。由于我正在开发一个通用的库,因此我的设计保持了与具体数据表示(如XML)的独立性。
现在我的问题是,我需要一种方法来定义数据模型,这基本上是一个描述有效树的规则集,用于匹配一组树。我考虑使用BNF或类似的方言。
基本上,我需要一种方法来遍历由ModelTree定义的所有有效TreeNode的空间(就像对A*等算法的搜索空间进行搜索),这样我就可以将我的具体树集与模型进行比较。我知道我将不得不处理无限空间,但首先要解决的是第一步问题。
我知道,这相当棘手(而且我的句子也很不顺畅),但我会很感激任何线索。
提前感谢,Stefan
回答:
我认为您在谈论的是正则树语法。这篇维基百科页面是该主题的入口点,它链接的书可能会有帮助。