I liked your article. How do you think is best for decision tables to cope with the 'matrix explosion' of possible cases? For a decision tree that has N binary alternatives the decision table must have 2^N rows if I understand correctly. From those 2^N cases the vast majority are impossible cases (those short branches in the decision tree). As N grows larger, isn't maintaining and understanding the decision table going out of control?
that is a good point which I didn't address in the article. Like with all things that can get complicated, you need to keep it simple. Firstly, you can choose to use Yes/No/All for your options, if you are careful not having 2 decisions for the same conditions. I will explain more in detail how to do it in later posts. The other thing you can do is to use more then one decision table where one table relies on the decision of a previous table. That way you can prevent the explosion of conditions by breaking it up into several parts.
I liked your article. How do you think is best for decision tables to cope with the 'matrix explosion' of possible cases? For a decision tree that has N binary alternatives the decision table must have 2^N rows if I understand correctly. From those 2^N cases the vast majority are impossible cases (those short branches in the decision tree). As N grows larger, isn't maintaining and understanding the decision table going out of control?
ReplyDeletethat is a good point which I didn't address in the article.
ReplyDeleteLike with all things that can get complicated, you need to keep it simple. Firstly, you can choose to use Yes/No/All for your options, if you are careful not having 2 decisions for the same conditions. I will explain more in detail how to do it in later posts.
The other thing you can do is to use more then one decision table where one table relies on the decision of a previous table. That way you can prevent the explosion of conditions by breaking it up into several parts.