Rete演算法筆記

2021-06-02 07:05:02 字數 735 閱讀 2456

今天晚上看了一下rete演算法,感覺理解了,記錄如下:

1,規則(rule):例如: "if p then r"就是一條規則。其中p包含乙個或多個部分,具體表示如下:if(p1)(p2)(p3) then r。其中p1、p2等部分的表現形式被抽象(泛化)為(^on )或(^and)等一般

形式,類似於c++中的模板類,在rete演算法中,我們稱之為模式(patten)。

2,事實(fact):事實表示的是物件或物件屬性之間關係。例如:物件a 和 物件b是「^on」的關係,那麼就存在如下乙個事實,用w1表示:w1:(a ^on b)。事實其實就是對上面提到的模式的例項化,類似於c++中模板類的例項化為物件。

3,建立rete網路:首先把所有的事實按不同的模式分類,每一類建立乙個alpha節點,並為之分配記憶體。在alpha節點建立的基礎上建立beta節點:alpha節點1alpha節點2進行join連線產生的結果就是beta節點2.beta節點1由假造的alpha節點0(dummy top node)和alpha節點1進行join產生。beta節點網路的末端就是結論,例如p1,p2,p3。

例項圖如下:

RETE演算法介紹

rete演算法介紹 一 rete概述 rete演算法是一種前向規則快速匹配演算法,其匹配速度與規則數目無關。rete是拉丁文,對應英文是net,也就是網路。rete演算法通過形成乙個rete網路進行模式匹配,利用基於規則的系統的兩個特徵,即時間冗 余性 temporal redundancy 和結構...

Rete快速匹配演算法

rete 快速匹配演算法 rete 演算法首先是由c.l.forgy在1979年實現的。該演算法是乙個快速的模式匹配演算法,它通過儲存關於規則的資訊而獲得速度。模式匹配的基本概念 可滿足規則 乙個規則稱為可滿足的,若規則的每一模式均能在當前工作儲存器中找到可匹配的事實,且模式之間的同一變數能取得統一...

Rete演算法初解

rete匹配演算法是一種進行大量模式集合和大量物件集合間比較的高效方法,通過這種方法找出所有匹配各個模式的物件。rete演算法以犧牲記憶體換取高速的策略 rete演算法分為兩個部分 規則編譯 rule compilation 執行時執行 runtime execution 規則編譯 功能 如何在pr...