Decision Tables - a brief overview Dr. Rogelio Dávila Pérez ITESM, Campus Guadalajara Index Definition Structure Steps to build a decision table Example Solution to the example Exercises Decision Tables In the 50's General Electric, the Sutherland Corporation, and the United States Air Force worked on a complex file maintenance project, using flowcharts and traditional narratives, they spend six labor-years of effort but failed to define the problem. It was not until 1958, when four analysts using decision tables, successfully defined the problem in less than four weeks 1. _____________________________________ 1Taken from “A History of Decision Tables” located at http://www.catalyst.com/products/logicgem/overview.html Definition Tables represent an easy way for humans to read, understand and execute complex procedures, particular policies, etc. A decision table is a useful tool that allows us: - To present decision procedures in a clear tabular form. - To understand complex logic expressed in traditional narrative form. - To check for inconsistencies verifying that every possibility was considered in the solution. Structure A decision table is typically divided in four areas: Conditions Condition Alternatives Actions Action Entries The conditions are decisions that depending on their values, define different states of affairs in the problem. Actions (effects, results, etc.) are operations or values that will be determined by particular circumstances. All possible combinations Conditions <cond-1> F T F T F T F T … T <cond-2> F F T T F F T T … T <cond-3> F F F F T T T T … T F F F … T … <cond-n> … F F F <action-1> <action-2> Actions F F X X X <action-3> X X X X … <action-m> X X X X X … X X X Actions per combination (each column represents a different state of affairs) Steps to create a decision table 1. List all the conditions which determine which action to take. 2. Calculate the space of combinations. 3. Fill all combinations in the table. 4. Analyze column by column to determine which actions are appropriate for each combination. 5. Reduce the table by eliminating redundant columns. Example Policy for charging charter flight costumers for certain in-flight services:2 If the flight is more than half-full and costs more than $350 per seat, we serve free cocktails unless it is a domestic flight. We charge for cocktails on all domestic flights; that is, for all the ones where we serve cocktails. (Cocktails are only served on flights that are more than half-full.) _____________________________________ 2 Example taken form: Structured Analysis and System Specification, Tom de Marco, Yourdon inc., New York, 1979. List all the conditions that determine which action to take. Conditions Values The flight more than halffull? Yes (Y), No (N) Cost is more than $350? Y, N Is it a domestic flight? Y, N Calculate the space of combinations Conditions Number of Combinations Possible Combinations 1 2 Y N 2 4 Y N Y Y Y N N N 3 8 Y N Y Y Y Y Y N Y N N Y … … n 2n Y Y N N Y N Y N N N N N Calculate the space of combinations1 Number of Values to the power of the number of conditions with these values If all conditions are simply Y/N values: 2number of conditions If 1 condition with 3 values and 3 with 2: 31 * 23 = 24 Or, use the values per condition and multiply each value down the column, e.g. 3*2*2*2=24 _____________________________________ 1 Taken from Mariel de Wilde’s Decision Table Training Session Calculate the space of combinations Conditions in the example are 3 and all are two-valued ones, hence we have: All combinations are 23 = 8 Fill all combinations in the table. ACTIONS CONDITONS POSSIBLE COMBINATIONS more than halffull N N N N Y Y Y Y more than $350 per seat N N Y Y N N Y Y domestic flight N Y N Y N Y N Y Analyze column by column to determine which actions are appropriate for each combination ACTIONS CONDITONS POSSIBLE COMBINATIONS more than halffull N N N N Y Y Y Y more than $350 per seat N N Y Y N N Y Y domestic flight N Y N Y N Y N Y X X X X serve cocktails free X Exercises Subsidy policy for the cub scout pack3: The subsidy to the cub scout pack is based on number of scouts, rank, and length of membership. The subsidy for each scout is $25 for first-year members, $35 for second-year members, and $50 for scouts who have been members longer than two years. In addition to this base, each scout gets an extra subsidy of $10 if he has attained the rank of Wolf, $15 if he has attained the rank of Bear, and $20 if he has attained the rank of Lion – unless he does it in his first year, in which case he receives $70. _____________________________________ 3 Example taken form: Structured Analysis and System Specification, Tom de Marco, Yourdon inc., New York, 1979. Exercises Specify the following policy using a decision table: 1 A mailing is to be sent out to customers. The content of the mailing is about the current level of discounting and potential levels of discounting. The content is different for different types of customers. Customer Types A, B and C get a normal letter except Customer Type C, who get a special letter. Any customer with 2 or more current lines or with a credit rating of ‘X’ get a special paragraph added with an offer to subscribe to another level of discounting. _____________________________________ 1 Taken from Mariel de Wilde’s Decision Table Training Session