在java中推理过程的实现正向链接和反向链接的最佳方法是什么?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");
上午我就对不起正轨,我对这些类型的复杂编程的小白和按我的预测,我可能需要大量的优化来在非常高的层面上运行这些推理。但似乎我需要一个人很好的理解,谢谢你,如果你们中的一些人可以帮助...
谢谢!
我认为这是一项功课。检查一个简单的Horn子句是否成立,确实不是特别困难。即使是一个HORNSAT也不应该太难以正确 - 但是之后我们需要知道究竟应该实施什么。 – Voo 2011-05-23 01:12:46
非常感谢你,我已经扩展了我对这些技术的理解......但是,我可能不得不在更高级别上进行更多研究,所以Voo说我的作业必须更容易解决,但是我想如果我正在学习某些原因不要学习正确有效的方法,:)谢谢 – doNotCheckMyBlog 2011-05-23 03:10:57
@Voo,是的,你是对的!如果我的上述给定的想法(问题)正确无误,那么实现起来相当容易。 :) 感谢帮助。 – doNotCheckMyBlog 2011-05-23 03:11:56