Каким будет лучший подход для реализации прямой и обратной цепочки для процесса рассуждений в java?
Нам дали базу знаний в форме Хорна, которая имеет набор утверждений.
Я пытался искать в Интернете, но не смог найти никакого описания того, как реализовать такую концепцию искусственного интеллекта в кодировании.
Мое понимание :
До сих пор я думал, что прочитаю каждое предложение (Форма Рога) и создам из него объект. Каждый объект класса Sentence будет иметь переменные отношения, и когда я буду запрашивать базы знаний для цепочки Backward или Forward, он проверит массив этих объектов и построит нужную цепочку.
public class Sentence{
private String impliedBy;
private String implementedVar;
public Sentence(String sentence){
String[] relation = sentence.split("=>");
this.impliedBy = relation[0];
this.implementedVar = relation[1];
}
...
}
Вызов выше класса, говоря...
Sentence s = new Sentence("a&b=>c");
Я на правильном пути? Извините, я новичок в такого рода сложном программировании, и, согласно моему прогнозу, мне может потребоваться много оптимизации, чтобы выполнять такие рассуждения на очень высоком уровне. Но, похоже, мне нужно хорошее понимание со стороны кого-то, спасибо, если кто-то из вас может помочь...
Спасибо!