Я реализую новый алгоритм машинного обучения в Java, который извлекает прототип структуры данных из набора структурированных наборов данных (древовидная структура). Разрабатывая универсальную библиотеку для этой цели, я сохранил свой дизайн независимым от конкретных представлений данных, таких как XML.
Моя проблема сейчас в том, что мне нужен способ определить модель данных, которая в основном представляет собой набор правил, описывающий допустимые деревья, с которыми сопоставляется набор деревьев. Я думал об использовании BNF или подобного диалекта.
По сути, мне нужен способ перебора пространства всех допустимых TreeNodes, определенных ModelTree (например, поиск в пространстве поиска алгоритмов, подобных A *), чтобы я мог сравнить свой набор конкретных деревьев с моделью. Я знаю, что мне придется иметь дело с бесконечными пространствами, но обо всем по порядку.
Я знаю, это довольно сложно (и мои предложения довольно ухабистые), но я был бы признателен за любые подсказки.
Заранее спасибо,
Stefan