En beslutstabell (beslutstabell) är ett sätt att kompakt representera en modell med komplex logik . I likhet med villkorliga uttalanden i programmeringsspråk etablerar de ett samband mellan villkor och handlingar. Men, till skillnad från traditionella programmeringsspråk, kan beslutstabeller i en enkel form representera ett samband mellan många oberoende förhållanden och handlingar.
Beslutstabeller är generellt indelade i fyra kvadranter, som visas nedan.
Villkor | Alternativ för att uppfylla villkor |
Åtgärder | Behov av handling |
I det enklaste fallet är Villkor en lista över möjliga villkor, Alternativ för att uppfylla villkor är en kombination av att uppfylla och/eller inte uppfylla villkoren från denna lista. Åtgärder - en lista över möjliga åtgärder, Nödvändighet av åtgärder - en indikation på om lämplig åtgärd ska utföras eller inte för var och en av kombinationerna av tillstånd. Till exempel, för situationen "lamporna slocknade plötsligt", kan beslutstabellen vara:
Ljuset i nästa rum är på | Ja | Inte | Inte |
Grannarna tänds | - | Ja | Inte |
byta glödlampa | X | ||
Kontrollera pluggarna | X | ||
Ring en elektriker | X | X | |
Ring avsändaren | X |
Det kanske inte finns två alternativ för att uppfylla villkoret: ja eller nej, men flera, till exempel kan färgen vara röd, orange, blå. Mer komplexa tabeller kan använda fuzzy logic .
Åtgärder kan vara elementära eller hänvisa till andra beslutstabeller . Behovet av att utföra åtgärder kan vara oordnat, som i detta exempel, eller beställt. I det senare fallet, om flera åtgärder kan utföras under en viss kombination av villkor, anges deras prioritet i beslutstabellen.