在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