Una tabla de decisión (decision table) es una forma de representar de forma compacta un modelo con lógica compleja . Similares a las sentencias condicionales en los lenguajes de programación , establecen una relación entre condiciones y acciones. Pero, a diferencia de los lenguajes de programación tradicionales, las tablas de decisión en una forma simple pueden representar una relación entre muchas condiciones y acciones independientes.
Las tablas de decisión generalmente se dividen en cuatro cuadrantes, como se muestra a continuación.
Términos | Opciones para cumplir condiciones |
Comportamiento | Necesidad de acción |
En el caso más simple, Condiciones es una lista de posibles condiciones, Opciones para cumplir condiciones son una combinación de cumplir y/o no cumplir las condiciones de esta lista. Acciones - una lista de posibles acciones, Necesidad de acciones - una indicación de si realizar o no la acción apropiada para cada una de las combinaciones de condiciones. Por ejemplo, para la situación "las luces se apagaron repentinamente", la tabla de decisiones podría ser:
La luz en la habitación de al lado está encendida. | Sí | No | No |
Luces de vecinos encendidas | - | Sí | No |
cambiar bombilla | X | ||
Compruebe los enchufes | X | ||
Llame a un electricista | X | X | |
Llame al despachador | X |
Puede que no haya dos opciones para cumplir la condición: sí o no, pero sí varias, por ejemplo, el color puede ser rojo, naranja, azul. Las tablas más complejas pueden usar lógica difusa .
Las acciones pueden ser elementales o referirse a otras tablas de decisión . La necesidad de realizar acciones puede ser desordenada, como en este ejemplo, u ordenada. En el último caso, si se pueden realizar varias acciones bajo una determinada combinación de condiciones, su prioridad se indica en la tabla de decisión.