Decision tables are an engineering way of representing production rules. Conditions are formed into a table which also holds appropriate actions. Classical decision tables use binary logic extended with ``not important'' mark to express states of conditions and actions to be performed. An example of a decision table is given in Table 2.1.
In the table, v_ij and w_kl can be set to true, false or not important. If the situation matches the pattern of conditions given in a specified row, then the actions in this row should be performed.
The main advantage of decision tables is simple, intuitive interpretation. One of the main disadvantages is that classical tables are limited to binary logic. In some cases the use of values of attributes is more convenient. A slightly extended table are OAV tables (OAT). OAV stands for Object-Attribute-Value (OAT - Object-Attribute-value-Table) and such a table is presented in Table 2.2.
The rows specify under what attribute values certain actions must be executed. Both v_ij and w_kl may take different values, not only true, false and not important.