2009-11-06 128 views
16

規則引擎和專家系統有什麼區別?規則引擎vs專家系統

示例1: 假設我有一個程序確定新駕駛執照的到期日期。它需要輸入簽證到期日期,護照號碼,生日等等。它從輸入中確定駕駛執照的截止日期。如果輸入沒有足夠的有效標識來允許新的駕駛執照,它甚至會出現錯誤。

示例2: 假設我正在製作遊戲「壟斷」的在線版本。我想要改變遊戲規則的能力(比如400美元的傳球或者沒有人可以購買屬性,直到他們兩次落在同一個地方,等等)。我在代碼中有一個模塊來處理這些規則。

這兩個規則引擎還是他們的專家系統?他們看起來很相似。它只是一個同義詞嗎?

回答

13

「推理機」(我相信你稱之爲「規則引擎」)是專家系統的部分。另一部分是「知識庫」(你的規則列表,它知道它的真實情況,它迄今爲止已經計算出來的東西等)

推理引擎是實際使用你的規則的部分,已知的事實來推斷事物。

在上面的兩個示例中,您正在討論專家系統。有點。

我給你舉個第三個例子。 GNU make是一個推理引擎。如果給定一套構建規則和日期文件,它可以找出需要重建的東西,但必須告訴所有這些東西。包含makefile,相關腳本並自行構建的構建系統是專家系統

我在網上找到了詳細的解釋here,但是對於初學者來說,它可能有點太詳細。

+0

謝謝,我一直想知道這種差異很長時間 – 2013-02-10 20:41:52

1

我認爲這種差異是語義的,只是更多一點。

「專家系統」意味着系統包括挑選專家的腦子的編碼,即用於將專家的領域知識轉化爲程序的內部規則集。

拿走它,我想說剩下的就是一個「規則引擎」。雖然也可以構建一個不基於規則引擎的專家系統。

2

「專家系統」通常意味着一個特定的應用程序,體現了關於給定問題域的一組專家知識。專家系統可能會或可能不會使用規則引擎作爲其實施的一部分。

0

這可能是舊的。但術語規則引擎,有時是給予的名稱語義reasoners推理引擎。它們可以看作推理機的擴展或推廣。

而作爲answered by T.E.D,在推理引擎只是一個專家系統的一部分,另一個是知識庫。知識庫是整個系統的公理或真理,而推理引擎是什麼將採取這些公理來推導新的「真理」。

+0

請鏈接到您提到的T.E.D談話。 – 2017-12-10 09:55:58

+1

@MartinThoma - (Blush)。那麼,你看......他在談論被接受的答案。我還沒有被邀請實際**給** TED談話,但它會很有趣。 – 2017-12-16 23:50:21

+0

Hhahahah,我沒有看到你的答案 – 2017-12-17 08:58:20