TweetyProject для логики первого порядкаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 TweetyProject для логики первого порядка

Сообщение Anonymous »

Я пытаюсь научиться использовать кодирование для представления логических знаний и, в конечном итоге, для ML/AI.
Я пытаюсь создать код Java Tweety для запуска логики первого порядка, но
Я всегда получаю одну и ту же ошибку: формула не закрыта.
Я знаю значение формулы, не указанной в FOL, но просто не могу понять, где проблема в моем коде.
Вот код:
public class SimpleFolExample {
public static void main(String[] args) throws ParserException, IOException {
// Create FOL signature
FolSignature signature = new FolSignature(true);
// Add sorts
// Add sorts
Sort sortPerson = new Sort("Person");
signature.add(sortPerson);

// Add constants
Constant alice = new Constant("Alice", sortPerson);
Constant bob = new Constant("Bob", sortPerson);
Constant James = new Constant("James", sortPerson);
signature.add(alice, bob, James);

// Add predicates
// Add predicates
List personPredicateSorts = new ArrayList();
personPredicateSorts.add(sortPerson);
Predicate person = new Predicate("Person", personPredicateSorts);
signature.add(person); // Add predicates to the signature

// Add the 'Knows' predicate (assuming it relates persons)
List knowsPredicateSorts = new ArrayList();
knowsPredicateSorts.add(sortPerson);
knowsPredicateSorts.add(sortPerson);
Predicate knows = new Predicate("Knows", knowsPredicateSorts);
signature.add(knows);

// Display the signature
System.out.println("Signature: " + signature);

// Parse formulas using the signature
FolParser parser = new FolParser();
parser.setSignature(signature); // Set the FOL signature for the parser

FolBeliefSet beliefSet = new FolBeliefSet();
FolFormula f1 = (FolFormula) parser.parseFormula("Knows(Alice, Bob)");
FolFormula f2 = (FolFormula) parser.parseFormula("Knows(Bob, James)");
beliefSet.add(f1, f2);

System.out.println("\nParsed Belief Base: " + beliefSet);

// Use the reasoner to query the knowledge base
FolReasoner.setDefaultReasoner(new SimpleFolReasoner());
FolReasoner prover = FolReasoner.getDefaultReasoner();

FolFormula query = (FolFormula) parser.parseFormula("exists X:(Knows(Alice, X))");

System.out.println("Query: " + query + "\nResult: " + prover.query(beliefSet, query));
}
}


вот ошибка:
Signature: [_Any = {}, Person = {Bob, Alice, James}], [==(_Any,_Any), /==(_Any,_Any), Person(Person), Knows(Person,Person)], []

Parsed Belief Base: { Knows(Bob,James), Knows(Alice,Bob) }
Exception in thread "main" java.lang.IllegalArgumentException: The given formula exists X: (Knows(Alice,X)) is not closed.
at org.tweetyproject.logics.fol.reasoner.SimpleFolReasoner.query(SimpleFolReasoner.java:45)
at org.tweetyproject.logics.fol.examples.SimpleFolExample.main(SimpleFolExample.java:82


Подробнее здесь: https://stackoverflow.com/questions/781 ... rder-logic
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • TweetyProject для логики первого заказа
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • EF Core View — размещение логики бизнес-логики
    Anonymous » » в форуме C#
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous
  • Размещение логики ввода и логики обработки в C ++ [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Модуль Python для логики предиката более высокого порядка
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как я могу решить почтение первого порядка, используя Python, в котором есть другая функция?
    Гость » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Гость

Вернуться в «JAVA»