2009-11-06 16 views
16

Kural motoru ve uzman sistem arasındaki fark nedir?Kurallar Engine vs Uzman Sistem

Örnek1: Yeni bir ehliyetin sona erme tarihini belirleyen bir programım olduğunu varsayalım. Vize son kullanma tarihi, pasaport numarası, doğum günü vb. Gibi girişleri alır. Bu girdiden sürücü belgesinin son kullanma tarihini belirler. Yeni bir sürücü ehliyetine izin vermek için girdinin yeterli sayıda geçerli kimliği yoksa bir hata bile verebilir.

Örnek2: Oyunun bir online sürümünü Tekel olarak yaptığımı varsayalım. Oyunun kurallarını değiştirme kabiliyetine sahip olmak istiyorum (örneğin, gitmek için 400 dolar diyelim ya da kimse aynı mülk üzerinde iki kez, vs. alana kadar mülk satın alamaz). Bu kuralları işlemek için kodda bir modül var.

Bunlar her iki kural da motor mu, yoksa uzman sistemler mi? İkisi de çok benzer görünüyor. Bu sadece bir eşanlamlı mı?

cevap

13

"Çıkarım altyapısı" ("kurallar motoru" olarak adlandırdığınıza inanıyorum) bir uzman sistemin bölüm olduğunu. Diğer kısım "bilgi tabanı" (kural listeniz, doğru olduğunu bildiği şeyler, şimdiye kadar çözülmüş olan şeyler, vs.)

Çıkarım motoru, kurallarınızı gerçekten kullanan bölümdür. şeyleri anlayabilmek için bilinen gerçekler.

Yukarıdaki iki örnekte uzman sistemler hakkında konuşuyorsunuz. Sırala.

Size üçüncü bir örnek vereceğim. GNU make, çıkarım motoru'dur. Bir dizi yapı kuralları ve tarihli dosyalar verilirse, neyin yeniden yapılandırılması gerektiğini anlayabilir, ancak tüm bu şeylere söylenmesi gerekir. Makaraları, ilişkili komut dosyalarını içeren ve kendini oluşturan yapı sisteminiz uzman sistemi'dur.

Ayrıntılı bir açıklamayı here numaralı telefondan buldum, ancak belki bir neofit için biraz fazla detaylı.

+0

Teşekkürler, ben bu fark hakkında uzun zamandır merak ediyorum –

1

Farkın anlamsal olduğunu ve birazcık daha olduğunu düşünüyorum.

Bir "uzman sistem", sistemin uzmanların beyinlerini seçmek için kodlama içerdiğini, yani bir uzmanın alan bilgisini programın iç kural kümesine dönüştürmek için kodlama içerdiğini ima eder.

Onu uzaklaştırın, ve geriye kalanın bir "kural motoru" olduğunu söyleyebilirim. Bir kural motoruna dayanmayan bir uzman sistemi oluşturmak da mümkündür.

2

Bir "uzman sistem" tipik olarak, belirli bir sorun etki alanı hakkında bir dizi uzman bilgisini içeren belirli bir uygulama anlamına gelir. Uzman bir sistem, uygulanmasının bir parçası olarak bir kural motoru kullanabilir veya kullanmayabilir.

0

Bu muhtemelen büyüktür. Ancak kural motoru numaralı terim, bazen semantik akıl yürütücüleri veya muhakeme motorları'a verilen bir addır. Bunlar, çıkarım motorları'un bir uzantısı veya genelleştirilmesi olarak görülebilir.

Ve answered by T.E.D olarak

, çıkarsama motoru bir uzman sistemin yalnızca bir kısmını, diğer bilgi bankası ediliyor. Bilgi tabanı, tüm sistemin aksiyomları ya da gerçekleridir ve çıkarım motoru, bu aksiyomları yeni “hakikatler” türetmek için alacaktır.

+0

lütfen T.E.D konuştuğunuz bağlantıya link verin. –

+1

@MartinThoma - (Blush). Şey, görüyorsun ... kabul edilen cevaptan bahsediyor. Henüz ** bir TED konuşması yapmak için davet edilmedim, ama eğlenceli olurdu. –

+0

Hhahahah, cevabınızı görmedim –