When the expert cannot or do not want to define the rules, though he has a few dozen of cases with evaluations in his experience, these cases can be used to find the relations between the values of the attributes. The basis of the reasoning are the cases, therefore this kind of reasoning is called Case-Based Reasoning. As the set of particular cases is used to find generalized rules, which’ describe it appropriately, it is also called induction.
The more obvious benefit of the case-based knowledge base is that the number of used attributes is reduced, to the informative ones. This makes the deputation of a decision much easier. Naturally, it is nothing of the sort of making programmed decision makers, as the Case-Based Graph represents the only the expert’s experience at given conditions. If a new case appear, which cannot be described with the knowledge base, it means there were no similar cases in the expert’s experience. The conditions may also change. Thus it is highly recommended to add the new cases constantly to the knowledge base, to maintain it as fresh as possible.
The greatest benefit of the building a case-based knowledge base is less obvious. This process is almost always accompanied with knowledge discovery, that is to say it makes a part of tacit knowledge explicit. It is very common that the expert is astonished at the first sight of the Case-Based Graph, thus the fine-tuning is not only necessary to make subtle adjustments to the knowledge base but also to get a deeper understanding of the result.
Knowledge Acquisition always starts with formulation of the aspects of the decision. Aspects are given by the expert as attributes (i.e. the names of the attributes) and their values. A value of an attribute is a decision criterion.
![]() | Tip: Use short expressions of the special language of your domain of expertise; for better understanding descriptions may be attached to each of the attributes and values. |
The acquisition of attributes and their values happens on the first pane of Doctus named “Attributes”. (See

Figure G-15: Acquiring Attributes and Values. (View Animation)
Different orders of the “goodness” of the values of the attributes are available: it is increasing, when the first value is the worst; decreasing, if the first is the best one; if one value is not better then the other one, the order is nominal.
![]() | Tip: If you use the same value ordering for all attributes, it will make easier to define the rules. |
Once the attributes and their values are defined, if we are building a case-based knowledge base, the next step is to acquire the cases, including the outcome for each case. Doctus will discover the rules, which describe the cases of the expert’s experience.
Knowledge-based systems are used to reason about cases. Cases can be anything that we can describe from all important aspects (i.e. defined attributes). One value of every attribute is assigned to each of the cases. Actually one value is the default but Doctus can also handle “Unknown”, “Don’t care” and distributed values.
The acquisition of cases happens on the second pane of Doctus, named “Cases”. In induction or Case-Based Reasoning it comes immediately after Acquisition of Attributes, however, new cases may be added to the knowledge base at any time. To assign a value of an attribute to a case, use context menu from the right mouse-button. (See
![]() | Tip: To simplify the acquisition of cases adjust the view to show the lonely attributes only. |

Figure G-16: Acquisition of Cases. (View Animation)
Knowledge Import is a feature to get cases directly from external databases. Built-in types of input sources are (some of them available in advanced mode only): Excel Workbook, Microsoft Query, Mailbox and URL Encoded Cases, though any source may be accessed through ODBC. (See

Figure G-17: Knowledge Import. (Take a Short Tour)
Records from the data sources are retrieved as cases of the knowledge base. The attribute linking and the case import are facilitated by a wizard. Apart from text type values, also called flexible values, numeric input may also be used, handled by a clustering algorithm.
![]() | Tip: Some special characters in the field names of the data sources may not be recognized and they mustn’t contain spaces, thus pay attention to avoid them. Often a space at the end of the field name remains unnoticed! |
The conception of data mining evolved from the observation that organizations store a huge amount of data (in the databases and data warehouses of their information systems) and use most of them for nothing. It is presumed that new knowledge could be discovered finding the rules hidden in relations between these data. The numeric data from the sources are to be transformed into symbols. Once Doctus is connected to external data source via its Knowledge Import module, the transformation is done using a built-in clustering algorithm. (See

Figure G-18: Clustering External Data. (View Animation)
In the Case-Based Reasoning the data mining concept is applied based on presumption that the rule discovery algorithm of Doctus can be also used to discover patterns between the data stored in databases or data warehouses. The numeric data is first transformed into symbols using the clustering algorithms, while non-numeric data are retrieved as flexible values of appropriate attributes. The result of this kind of data mining is very easy to interpret – for the expert of the domain of course.
Doctus generates the Case-Based Graph classifying the cases acquired from the expert. The Case-Based Graph is a decision tree; it does not show dependencies but the “if¼ then” rules induced by processing the cases. The “if¼ then” rules may be read from the root of the graph towards its leaves, where the value of the outcome is shown. (See
There are three alternative branching methods to generate the Case-Based Graph: The default is called “Efficient”, which is described in the following chapter. The “Bipolar” makes two branches for each node, grouping the values of the attributes to bad and good. The “Heuristic” provides the same result as “Efficient” if there is a great amount of cases and/or attributes, which would otherwise highly increase the computing time.

Figure G-19: The Case-Based Graph. (View Animation)
The attributes appearing in the Case-Based Graph are called informative attributes, as they are sufficient to classify all the cases.
After all, how the Case-Based Graph is constructed? Let’s presume that all cases form a disordered set, where the order is defined as homogeneity by benchmark values (values of outcome attribute), which means that cases in one subset have the same benchmark value. The attribute is searched, which contributes the most to the order. The attributes are taken one-by-one forming subsets according to their values. Their strength in making order is measured by an entropy-gain (informativity) calculating algorithm. The most informative attribute is chosen (the root of the graph) and the first level subsets are formed according to its values. These subsets are further divided using the same algorithm until all subsets are homogenous by benchmark values. When a homogenous subset is formed, it is not further divided; it will be a leaf of the graph.
![]() | Maths: Determining informativity can be found in Appendix – Determining Informativity (R-7.4). |
![]() | Advanced: The described algorithm could lead to infinite cycles; therefore thresholds are defined to terminate the process in these situations. The thresholds can also be used to control the size of the Case-Based Graph. The “Minimal Informativity Density” is in direct ratio to the informativity and to the weight of cases in the node. The “Maximal Majority of a Benchmark Value” is the upper limit for the proportion of the dominant benchmark value in the node. The “Minimal Weight of Cases in Node” indicates the minimal ratio of the cases in a node against the starting number of cases needed to branch the node. |
![]() | Technical: Real computing is some more altered by “Unknown”, “Don’t care” and distributed values. A case with “Unknown” value of an attribute is neglected when that attribute appear on the Case-Based Graph (generated or chosen). In the same situation a case with a distributed value falls into the case subset of each of the values keeping the proportion of the distribution. Cases containing “Don’t care” are considered to have all the input values. |
The result of the Case-Based Reasoning is the Case-Based Graph, which describes the rules induced from the cases of the expert’s experience. It is easy to reason about new cases using the Case-Based Graph as well: the new case simply has to be positioned according to its features by the informative attributes, following a path from the root to a leaf of the graph. However, classification of new cases in Doctus is facilitated with reduction (G-4) and with some of the Knowledge Export (R-4.1) solutions.
It is usually not easy for the expert, that his experience may be described with only a few of the attributes he defined. Analysis of the Case-Based Graph is facilitated with hands-on information provided by Doctus about the informativity, density, cases and statistics for the nodes of the graph. (See

Figure G-20: Informativity and Density of the Attributes.
There are also another ways of fine-tuning: Sometimes a case is found, that cannot fit the set and makes serious degenerations to the Case-Based Graph. These cases usually cannot be described with the attributes defined, thus we call them odd-one-outs. The solution for these is to be excluded from the set used as bases for Case-Based Reasoning. Sometimes two (or more) cases are found, that are completely the same, except for the benchmark. It usually means that a new attribute or a new value is needed to be defined, which distinguishes the cases in question. The cases themselves may be modified as well.
![]() | Tip: For better understanding it can be very useful to generate Case-Based Graphs with different benchmarks. This highlights the interdependencies of the attributes for the set of cases. Using the “Bipolar” branching method shows which values of the attributes are more similar, and are likely to indicate possibility to reduce the number of values. |
Doctus is capable of exporting knowledge bases in various forms of intelligent agents. (See

Figure G-21: Knowledge Export. (Take a Short Tour)
The exported knowledge may be:
![]() | Advanced: Build your specialized export templates based on the above listed predefined ones. |
Using the Knowledge Export feature the exported knowledge base can be made available to various users, who will be able to use it for evaluation, though they will not be able to modify it. Some types of the exported knowledge are also appropriate to be placed into portals in forms of portlets. There are two very helpful usages of exported case-based knowledge bases: they can be used to collect new cases to extend the case base (

Figure G-22: Exported Case-Based Knowledge Base used for case collection and evaluation.