Как использовать алгоритм Rete
Как я могу использовать алгоритм Rete в Java?
Мне нужно написать собственную реализацию алгоритма?
Или уже есть реализованная библиотека?
3 ответа
Так что это довольно старый вопрос, но он очень важен, если вы ищете Google для реализации Rete, поэтому я оставлю некоторую информацию здесь.
Запись в Википедии довольно хорошая, и вот статья о Rete/UL, которая, по мнению Дуренбоса, более эффективна, чем ReteII Doorenbos, 1995.
Некоторые реализации включают в себя:
- Слюни для Java
- Джесс также Ява
- Wongi-Engine для ruby (я использую этот) на основе той же бумаги, что и выше.
- Рулеби тоже рубин, но не существующий
- Мирмирский замысел
- Правила Клары также закрыты (добавлено 20.04.15)
- Повторите для Тройки Clojure (может быть, не существовало?)
- Rete haskell (вау) Конгра на основе той же бумаги, что и выше.
- и все это
Это действительно полезный алгоритм, если вам нужно принимать решения на основе фактических данных, и в качестве бонуса вам нужно будет изучить некоторые интересные вещи о графиках и сопоставлении с образцами.
Надеюсь, что это полезно!
Простой поиск в Google по запросу "Rete Algorithm Java" показал этот результат (среди прочих): http://java-source.net/open-source/rule-engines.
Первая запись гласит: Drools - это объектно-ориентированный механизм правил для Java. Drools - это расширенная реализация алгоритма Rete Forgy, разработанная специально для языка Java.
Таким образом, ответ выглядит так: Да, уже есть библиотека, которая реализует алгоритм, который вы ищете.
См. Раздел "Ссылки" в статье в Википедии об алгоритме Rete, он содержит фрагменты кода на языках стиля Pascal и LISP (?), Но ничего похожего на C.
Ура,