2010-04-17 5 views
2

Я реализую новый алгоритм машинного обучения в Java, который извлекает прототип структуры данных из набора структурированных наборов данных (древовидной структуры). Поскольку я разрабатываю общую библиотеку для этой цели, я сохранил свой дизайн независимо от конкретных представлений данных, таких как XML.Метаязык как BNF или XML-Schema для проверки дерева-экземпляра в дереве-модели

Теперь моя проблема заключается в том, что мне нужен способ определения модели данных, которая в основном представляет собой набор правил, описывающий допустимые деревья, с которыми сопоставляется набор деревьев. Я думал об использовании BNF или аналогичного диалекта.

В принципе, мне нужен способ для итерации пространства всех допустимых TreeNodes, определенных ModelTree (подобно поиску через пространство поиска для таких алгоритмов, как A *), чтобы я мог сравнивать свой набор конкретных деревьев с моделью. Я знаю, что мне придется иметь дело с бесконечными пространствами, но сначала сначала.

Я знаю, это довольно сложно (и мои предложения довольно ухабистые), но я был бы признателен за любые подсказки.

Спасибо заранее, Стефан

ответ

0

Я считаю, что вы говорите о Стационарном дереве грамматике. Это Wikipedia page является точкой входа для этой темы, и книга, на которую она ссылается, может быть полезна.