Einzelnen Beitrag anzeigen

hanvas

Registriert seit: 28. Okt 2010
168 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Regeln zur Datenvalidierung sinnvoll formulieren

  Alt 21. Aug 2017, 17:57
Hallöle,

Hier passiert nun folgendes:
Wenn ich die Regeln in ihrer Formulierungsreihenfolge abarbeite (Regel_1, Regel_2), dann knallt es, falls b keine Zahl sondern z.B. ein String ist. D.h. ich bin von der Reihenfolge der Abarbeitung der Regeln abhängig. Ich müsste Regel_1 also eigentlich umformulieren in "Wenn a=Max, dann muss b eine Zahl sein und kleiner als 20 sein.". Damit habe ich aber eine Redundanz zu Regel_2. Sinnvoller wäre es nun, Regel_2 vor Regel_1 aufzurufen.
Das Blöde ist, dass ich viele komplizierte Regeln habe und sicher den Überblick verlieren werde.
Wie würdet Ihr das lösen?
Was Du suchst ist im Grunde ein Expertensystem bzw. der RETE Algorithmus, dieser wird seit Jahren in allen Arten von Expertensystemen und "Business Rules Engines" eingesetzt.

Wenn Du mit Kanonen auf Spatzen schießen willst, eines der bekanntesten Expertensysteme ist sicher CLIPS[3], welches sich auch in Delphi einbetten lässt. Es gibt auch komerzielle, weitgehend CLips kompatible Komponenten für Delphi die was Du brauchst (und viel mehr) vermutlich abdecken werden und flexibler verwenden lassen.

cu Ha-Jö


[1] https://de.wikipedia.org/wiki/Rete-Algorithmus

[2] http://www.riversoftavg.com/inferenceengine.htm

[3] http://clipsrules.sourceforge.net/
  Mit Zitat antworten Zitat