Matrizen-Methode:

Eine Alternative zum ET-Generator?

01.10.1976

TÜBINGEN - Manuell programmierte Entscheidungstabellen (ET), die mit der sogenannten "Matrizen-Methode" bearbeitet werden, haben gegenüber den mit Generatoren erzeugten ET folgende Vorteile: Geringerer Hauptspeicherbedarf; kein eigener Generierungslauf vor der Umwandlung nötig; Laufzeitverkürzung insbesondere bei geringer Regelzahl und last not least Wegfall der Kosten für die Anschaffung eines ET-Generators. Dies ergab eine umfangreiche Studie bei einer Großbank mit etwa 100 Programmierern, die den dort eingesetzten ET-Generator mit der "manuellen" Matrizen-Methode verglichen haben.

Den Vorteilen stehen allerdings die Nachteile eines erheblichen Programmiermehraufwands und großer fachlicher Anforderungen an die Programmierer gegenüber, da von der ET-Erstellung bis zu den einzelnen Schritten der "Matrizen-Methode" alles "per Hand" codiert werden muß. Durch eine weitgehende Standardisierung der "Matrizen-Methode", die mit Hilfe von COPY-Aufrufen wie eine Schablone angewendet werden kann, sollen jedoch selbst Anfangsprogrammierer in der Lage sein, größere ET zu codieren, ohne sich in eine ET-Generatorsprache einarbeiten zu müssen. Die "Matrizen-Methode" ist von dem Softwarehaus Integrata entwickelt worden, da die bisher am häufigsten eingesetzte Regelermittlungsmethode für manuell codierte ET, die sogenannte Baum- oder Verzweigungsmethode, "bei großen ET eine hohe Fehlerquote verursacht" - so Karl-Heinz Pfeifer, der Vater der "Matrizen-Methode".

Die "Matrizen-Methode" ist sowohl für die Regelermittlung als auch für das Auslösen der Aktionen und die maschinelle Prüfung der ET anwendbar.

Regelermittlung

Bei der Regelermittlung wird zunächst ein Hilfsbereich für den sogenannten "Regel-Vektor" eingerichtet. Er ist für alle ET eines Programmes verwendbar; sein Umfang richtet sich daher nach der größten ET des Programms. Für jede Bedingung wird im "Regel-Vektor" eine Stelle definiert. Der Bereich wird beim späteren Suchen nach zutreffenden Regeln wie ein Suchbegriff in der Tabellenverarbeitung benutzt.

Die ursprüngliche ET wird mit ihren Original-Symbolen als Konstanten-Tabelle definiert. Die Tabelle, hier "Bedingungsmatrix" genannt, enthält damit die Bedingungsanzeiger in unveränderter Form.

Bei den jetzt folgenden "Bedingungsabfragen (Schritt 3) wird der Hilfsbereich "Regel-Vektor" mit jeder einzelnen Bedingung aus der Bedingungs-Matrix geladen. Dabei wird jede Bedingung unabhängig von allen anderen abgefragt. Das irrelevante Symbol '-' wird nicht geladen.

Mit dem "Regel-Vektor" wird wie mit einer Schablone die Bedingungsmatrix überstrichen (Funktion SEARCH aus der Tabellenverarbeitung). Mit den einzelnen Regeln wird verglichen, ob je Bedingung die Matrizen-Tabelle irrelevant ist oder dem Regel-Vektor entspricht. Waren bei einer Regel alle Bedingungen erfüllt, dann ist die Regel zutreffend und das Suchen ist beendet. Ist eine Stelle der Regel nicht zutreffend, werden die restlichen Stellen nicht mehr abgefragt. Es wird dann mit der nächsten Regel begonnen.

Aktionen ausführen und Prüfen der ET

Zum Ausführen der notwendigen Aktionen wird zunächst die ursprüngliche ET mit ihren Original-Symbolen als 2dimensionale Konstantentabelle definiert. Die "Aktions-Matrix" enthält damit die Aktions-Anzeiger in unveränderter Form.

Die Auslösung der Aktionen erfolgt, indem die Aktions-Matrix zweifach indiziert verarbeitet wird, und zwar mit der jeweiligen Aktion (= Direktindex) und der ermittelten Regel (= Regelindex).

Die maschinelle Prüfung der ET mit Hilfe der "Matrizen-Methode" läßt Tests auf Vollständigkeit der ET sowie auf Beziehungen zwischen den Regeln zu. Außerdem wird die optimale Reihenfolge der Bedingungen ermittelt.