首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中的前向链接和后向链接

java中的前向链接和后向链接
EN

Stack Overflow用户
提问于 2011-05-23 08:32:16
回答 4查看 12.5K关注 0票数 4

在java中实现推理过程的前向链接和后向链接的最佳方法是什么?

我们已经得到了具有一组语句的Horn-form知识库。

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

我的理解是:

到目前为止,我已经想过,我将阅读每个句子(Horn-Form)并创建它的一个对象。每个句子类对象都会有关系变量,当我向知识库询问后向链或正向链时,它会检查这些对象的数组并构造我想要的链。

代码语言:javascript
复制
 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];
    }
    ...
 }

通过说...来调用上面的类

代码语言:javascript
复制
Sentence s = new Sentence("a&b=>c");

我是不是在正确的轨道上,抱歉,我是这些复杂的编程的菜鸟,根据我的预测,我可能需要大量的优化来在非常高的水平上运行这些类型的推理。但似乎我需要有人很好的理解,谢谢,如果你们中的一些人能帮助我的话…

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-23 09:10:07

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

除非您的目的是学习如何编写Rete规则引擎,在这种情况下,我将撤回我的答案。我会去找Charles Forgy's的论文。

票数 5
EN

Stack Overflow用户

发布于 2011-05-23 09:17:22

也可以通过使用以下命令来帮助您:

新映射= HashMap HashMap();map.put(impliedBy,impliedVar);

简单地获取var : String value = map.get(impliedBy)。

票数 0
EN

Stack Overflow用户

发布于 2012-05-03 01:55:19

查看here,了解如何使前向链接在变量数量的线性时间内工作(请注意,代码片段中的实现是如何循环通过议程中每个变量的子句的)。它没有代码,但Hornsat真的不难编码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6091772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档