Tabla de decisiones

tablas de decisiones son una representación visual concisa para especificar qué acciones realizar dependiendo de las condiciones dadas. Son algoritmos cuyo resultado es un conjunto de acciones. La información expresada en tablas de decisión también podría representarse como árboles de decisión o en un lenguaje de programación como una serie de declaraciones if-then-else y switch-case.
Descripción general
Cada decisión corresponde a una variable, relación o predicado cuyos posibles valores se enumeran entre las alternativas de condición. Cada acción es un procedimiento u operación a realizar, y las entradas especifican si (o en qué orden) la acción se debe realizar para el conjunto de condiciones alternativas a las que corresponde la entrada.
Para hacerlas más concisas, muchas tablas de decisiones incluyen en sus alternativas de condición un símbolo de no importa. Puede ser un guión o un espacio en blanco, aunque se desaconseja utilizar un espacio en blanco ya que puede simplemente indicar que la tabla de decisiones no se ha terminado. Uno de los usos de las tablas de decisión es revelar condiciones bajo las cuales ciertos factores de entrada son irrelevantes para las acciones a tomar, permitiendo omitir estas pruebas de entrada y simplificando así los procedimientos de toma de decisiones.
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Las tablas anteriores transmiten información idéntica, pero la segunda tabla utiliza un himno como símbolo de no cuidar de la brevedad. |
Aparte de la estructura básica de cuatro cuadrantes, las tablas de decisión varían ampliamente en la forma en que se representan las alternativas de condición y las entradas de acción. Algunas tablas de decisión usan valores simples de verdadero/falso para representar las alternativas a una condición (similar a if-then-else), otras tablas pueden usar alternativas numeradas (similar a switch-case) y algunas tablas incluso usan lógica difusa o representaciones probabilísticas. para alternativas de condiciones. De manera similar, las entradas de acciones pueden representar simplemente si se debe realizar una acción (verificar las acciones a realizar) o, en tablas de decisión más avanzadas, la secuencia de acciones a realizar (numerar las acciones a realizar).
Una tabla de decisiones se considera equilibrada o completa si incluye todas las combinaciones posibles de variables de entrada. En otras palabras, las tablas de decisión equilibradas prescriben una acción en cada situación en la que se proporcionan las variables de entrada.
Ejemplo
La tabla de decisiones de entrada limitada es la más sencilla de describir. Las alternativas de condición son valores booleanos simples y las entradas de acción son marcas de verificación que representan cuáles de las acciones en una columna determinada se deben realizar.
La siguiente tabla de decisiones equilibrada es un ejemplo en el que una empresa de soporte técnico escribe una tabla de decisiones para permitir que los empleados de soporte técnico diagnostiquen de manera eficiente los problemas de la impresora basándose en los síntomas que sus clientes les describen por teléfono..
Reglas | |||||||||
---|---|---|---|---|---|---|---|---|---|
Condiciones | Impresoras | No | No | No | No | Sí. | Sí. | Sí. | Sí. |
Una luz roja está parpadeando | Sí. | Sí. | No | No | Sí. | Sí. | No | No | |
La impresora es reconocida por ordenador | No | Sí. | No | Sí. | No | Sí. | No | Sí. | |
Acciones | Compruebe el cable de alimentación | ![]() | — | ||||||
Compruebe el cable de impresora-computer | ![]() | ![]() | — | ||||||
Asegurar que el software de impresora está instalado | ![]() | ![]() | ![]() | ![]() | — | ||||
Tinta de check/replace | ![]() | ![]() | ![]() | — | |||||
Comprobación de mermelada de papel | ![]() | ![]() | — |
Este es sólo un ejemplo sencillo y no necesariamente corresponde a la realidad de la solución de problemas de la impresora. Aun así, demuestra cómo las tablas de decisión pueden adaptarse a varias condiciones con muchas posibilidades.
Beneficios de la ingeniería de software
Las tablas de decisiones, especialmente cuando se combinan con el uso de un lenguaje específico de dominio, permiten a los desarrolladores y expertos en políticas trabajar a partir de la misma información: las tablas de decisiones mismas.
Las herramientas para representar declaraciones if anidadas de lenguajes de programación tradicionales en tablas de decisiones también se pueden utilizar como herramienta de depuración.
Las tablas de decisiones han demostrado ser más fáciles de entender y revisar que el código, y se han utilizado extensamente y con éxito para producir especificaciones para sistemas complejos.
Historia
Did you mean:In the 1960s and 1970s a range of "decision table based#34; languages such as Filetab were popular for business programming.
Programar tablas de decisiones integradas
Las tablas de decisiones pueden estar, y a menudo están, integradas en programas informáticos y utilizadas para "impulsar" la lógica del programa. Un ejemplo sencillo podría ser una tabla de búsqueda que contenga un rango de posibles valores de entrada y un puntero de función a la sección de código para procesar esa entrada.
Input | Función puntero |
---|---|
"1" | Función 1 (inicializar) |
"2" | Función 2 (proceso 2) |
"9" | Función 9 (terminato) |
Mesas de control
Se pueden codificar múltiples condiciones de manera similar para encapsular toda la lógica del programa en forma de un archivo "ejecutable" tabla de decisión o tabla de control. En la práctica, puede haber varias tablas de este tipo, que operan en diferentes niveles y a menudo están vinculadas entre sí (ya sea mediante punteros o un valor de índice).
Implementaciones
- Filetab, originalmente de la NCC
- DETAB/65, 1965, ACM
- FORTAB from Rand in 1962, designed to be imbedded in FORTRAN
- Existe una implementación de Ruby utilizando MapReduce para encontrar las acciones correctas basadas en valores de entrada específicos.
Contenido relacionado
El teorema de De Branges
Asiento voladizo
Raíz de la unidad