Java中的正向链接和反向链接

在Java中,实现用于推理过程的正向链接和反向链接的最佳方法是什么?

我们已经得到了 Horn 形式的知识库,其中包含一组语句。

我尝试在互联网上搜索,但未能找到任何关于如何将这些类型的人工智能概念实现到编码中的描述。

我的理解:

我目前的想法是,我将读取每个句子(Horn形式)并创建一个对象。每个 Sentence 类对象都将具有关系变量,当我要求知识库进行反向或正向链接时,它将检查这些对象的数组并构建我想要的链。

 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");

我走在正确的道路上吗?或者很抱歉,我是这类复杂编程的新手,并且根据我的预测,我可能需要大量的优化才能在非常高的级别运行这些推理。但看起来我需要一些人的理解,谢谢如果有人能帮助我…

谢谢!


回答:

在我尝试自己编写之前,我会使用像 DroolsJESS 这样的规则引擎。

除非你的目的是学习如何编写 Rete 规则引擎,否则我将撤回我的答案。我会去寻找 Charles Forgy 的 论文。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注