2016-07-25 24 views
0

Ich habe eine Verwirrung nach der Diskussion mit einem meiner Kollegen über das Regelbasis-System. Ich habe eine in Android entwickelt, die Regeln hat. Was ich sage ist, dass anfängliche Fakten mit jeder Regel übereinstimmen müssen, um die Engine zu starten, so dass wir direkt beginnen können, die ursprünglichen Fakten zu vergleichen, ohne sie an den Arbeitsspeicher zu senden.Regelbasiertes System initial fact processing

der Kerl sagt, dass Nein, die ersten Fakten müssen in den Arbeitsspeicher eingeben und dann sollte Matching beginnen und ich stimme hier zu, aber er fügt auch hinzu, dass Sie nur die Variablen aus den ursprünglichen Fakten und dann die Regeln übereinstimmen müssen zum Beispiel haben io eine Regel

a(variable),b(constant) 
Initial facts in Working memory is a(VAR_VALUE) 

so wird es die Regel

a(variable),b(constant) 

berufen, wenn die Antwort ja ist, dann können wir eine Menge solcher Regeln mit konstanten Werten, die auch dann aufgerufen werden, wenn die Arbeitsspeicher ist leer.

ich brauche ein fachgutachten zu dem oben genannten problem, damit ich die entwicklungsänderungen nach bedarf vornehmen kann.

Antwort

0

Überprüfen Sie zuerst die Prädikat-Übereinstimmung, uf dann prüfen Sie, ob der Betreff variabel ist oder nicht. Wenn nicht, dann passen Sie mit correapong Regel, wenn beide Themen gleich dann übereinstimmen. Regeln mit Kommentaren müssen Elemente von wm entsprechen. Sonst wird es eine Endlosschleife sein. Als eine Variable kann eine beliebige Anzahl von Konstanten enthalten sein. Verwenden Sie auch eine bessere Konfliktlösungsstrategie.