Definition
Entscheidungstabellen sind eine Möglichkeit, komplexe Regelwerke in übersichtlicher Weise darzustellen. Unter einer Regel ist dabei eine Vorschrift zu verstehen, welche Aktionen bei Vorliegen einer gegebenen Kombination von Bedingungen durchzuführen sind. Ein Regelwerk ist eine Zusammenstellung unterschiedlicher Regeln.
Entscheidungstabellen werden unter anderem beim Entwurf von Programmen eingesetzt, um komplexe Abhängigkeiten zwischen mehreren Bedingungen und dem jeweils auszuführenden Code übersichtlich und vollständig darzustellen. Ergänzend wird das Regelwerk oft durch einen übersichtlicheren Entscheidungsbaum graphisch dargestellt. Die Tabelle ist jedoch systematischer und kann deshalb leichter als der Baum auf Widerspruchsfreiheit und Vollständigkeit überprüft werden.
Struktur einer Entscheidungstabelle
Eine Entscheidungstabelle besteht aus vier Teilbereichen:
- Einer Auflistung der zu berücksichtigenden Bedingungen
- Einer Auflistung der möglichen Aktionen
- Einem Bereich, in dem die möglichen Bedingungskombinationen zusammengestellt sind
- Einem Bereich, in dem jeder Bedingungskombination die jeweils durchzuführenden Aktivitäten zugeordnet sind.
Grundmuster einer Entscheidungstabelle:
Tabellenbezeichnung | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 |
---|---|---|---|---|---|---|---|---|
Bedingungen | ||||||||
Bedingung 1 | j | j | j | j | n | n | n | n |
Bedingung 2 | j | j | n | n | j | j | n | n |
Bedingung 3 | j | n | j | n | j | n | j | n |
Aktionen | ||||||||
Aktion 1 | x | x | x | |||||
Aktion 2 | x | x | ||||||
Aktion 3 | x | x | x | x | x | |||
Aktion 4 | x | x | x | |||||
Aktion 5 | x |
Die Spalten R1 bis R8 bezeichnen die jeweiligen Regeln. Am Beispiel der Regel 7 sei erläutert, wie die Regeln zu lesen sind: Wenn die Bedingung 3 erfüllt ist, die Bedingungen 1 und 2 hingegen nicht, dann sind die Aktionen 1 und 4 auszuführen.
Eigenschaften von Entscheidungstabellen
Im folgenden werden drei Kriterien zur Beurteilung von Entscheidungstabellen dargestellt.
Vollständigkeit
Eine Entscheidungstabelle ist vollständig, wenn sämtliche möglichen Bedingungskombinationen erfasst sind. Bei n Bedingungen sind dies 2^n Kombinationen. Man erkennt, dass die Zahl der möglichen Kombinationen mit der Anzahl der Bedingungen exponentiell wächst – bei zehn Bedingungen gibt es bereits 2^10 = 1024 Kombinationen. In den meisten Fällen führt dies jedoch nicht zu einer gleich hohen Anzahl an Regeln, da Regeln oft redundant sind.
Konsolidierung
Eine Entscheidungstabelle ist konsolidierbar, wenn mehrere Regeln zu einer zusammengefasst werden können. In dem oben dargestellten Grundmuster können beispielsweise die Regeln R3 und R4 zusammengefasst werden: Da die durchzuführenden Aktionen nur von den Bedingungen 1 und 2 abhängen und die Bedingung 3 irrelevant ist, lassen sie sich durch eine einzige Regel darstellen:
Tabellenbezeichnung | R3 (neu) |
---|---|
Bedingungen | |
Bedingung 1 | j |
Bedingung 2 | n |
Bedingung 3 | - |
Aktionen | |
Aktion 1 | |
Aktion 2 | |
Aktion 3 | x |
Aktion 4 | x |
Aktion 5 |
Der waagerechte Strich wird als „Irrelevanzanzeiger“ oder „Don't care-Zeichen“ bezeichnet. Er zeigt an, dass die Bedingung 3 für die Festlegung der durchzuführenden Aktionen irrelevant ist, sofern die Bedingung 1 erfüllt und die Bedingung 2 nicht erfüllt ist.
Redundanz
Eine Entscheidungstabelle ist redundant, wenn mehrere Regeln identisch sind. In der folgenden Tabelle sind die Regeln R3 und R4 identisch. Beide Regeln haben die gleichen Bedingungsanzeiger und führen zu den gleichen Aktionen. Eine der Regeln kann entfallen.
Tabellenbezeichnung | R3 | R4 |
---|---|---|
Bedingungen | ||
Bedingung 1 | j | j |
Bedingung 2 | n | n |
Bedingung 3 | n | n |
Aktionen | ||
Aktion 1 | ||
Aktion 2 | ||
Aktion 3 | x | x |
Aktion 4 | x | x |
Aktion 5 |
Widerspruchsfreiheit (Konsistenz)
Sobald eine Entscheidungstabelle Irrelevanzzeiger enthält, besteht die Möglichkeit, dass die Tabelle inkonsistent wird. Auch hierzu ein Beispiel:
Tabellenbezeichnung | R3 | R4 |
---|---|---|
Bedingungen | ||
Bedingung 1 | j | j |
Bedingung 2 | n | n |
Bedingung 3 | - | n |
Aktionen | ||
Aktion 1 | ||
Aktion 2 | ||
Aktion 3 | x | x |
Aktion 4 | x | |
Aktion 5 |
Die Regel R3 besagt, dass die Aktionen 3 und 4 ausgeführt werden sollen, sobald die Bedingung 1 erfüllt und Bedingung 2 nicht erfüllt ist. Die Regel R4 besagt hingegen, dass nur die Aktion 3 ausgeführt werden soll, wenn zusätzlich Bedingung 3 nicht erfüllt ist. Beide Regeln widersprechen sich also, die Entscheidungstabelle ist daher inkonsistent.