2.1.1 Data, Information, and Knowledge
What are data? What is information? What is knowledge? Well, data are the "raw material," the "mess of
numbers." They could be numbers only, without contextual meaning, for example, 3, 78.5, -20. Data can also be contextually explained, structured, organized in groups and structures. Such data are called information. So, information is any structured data which have contextual meaning, for example, the temperature is 20°C.
Knowledge is high-level structured information. Information, in its broad meaning, includes both structured data and knowledge, which is explained below.
Knowledge is "condensed" information. It is a concise presentation of previous experience. It is the "rules of thumb" which we use when we do things. How many rules of thumb do we use in our everyday life? Are there many, or are there only a few, very general ones, which are widely applicable to different problems? Is there anything else we apply in addition to these few rules of thumb, in order to be able to solve millions and millions of very different, or slightly different problems?
2.1.2 Major Issues in Knowledge Engineering
In order to realize the pathways given in figure 1.37, which lead from the domain space D to the solution space S for a given problem and given problem knowledge, eight major issues have been considered. These are: (1) representation, (2) inference, (3) learning, (4) generalization, (5) interaction, (6) explanation, (7) validation, and (8) adaptation. The main characteristics of these issues are discussed briefly in this subsection and thoroughly in the remainder of the chapter.
1. Representation is the process of transforming existing problem knowledge to some of the known knowledge-
engineering schemes in order to process it by applying knowledge-engineering methods. The result of the
representation process is the problem knowledge base in a computer format. Explicitly represented knowledge is called structured knowledge.
Some questions to be considered when choosing methods to represent problem knowledge are:
a. What kind of knowledge is it? Structured or unstructured? Exact or inexact? Precise or imprecise? Complete or incomplete?
b. Which method of representation best suits the way people solve that problem?
c. Are there alternative methods for representing the problem knowledge? Which one is the simplest? Using
alternative methods for knowledge representation is recommended at the design stage of a knowledge-based system. The one which least "corrupts" the problem knowledge should be chosen.
2. Inference is the process of matching current facts from the domain space to the existing knowledge and inferring new facts. An inference process is a chain of matchings. The intermediate results obtained during the inference process are matched against the existing knowledge. The length of the chain is different. It depends on the knowledge base and on the inference method applied.
Fuzzy inference methods assume that all the rules are activated at every cycle and contribute collectively to the solution. It is a parallel one-shot inference, but the inference process can continue as the new inferred results can be fed again as inputs.
In the neural inference models no explicit rules are used. Neural structures are obtained as a result of training with past data. This is not true for
the connectionist production systems which can interpret explicit production rules in a connectionist way.
A match can be either exact, with the new facts matching exactly the conditions in the heuristic rules, or partial, when the facts are allowed to partially match the existing knowledge base.
3. Learning is the process of obtaining new knowledge. It results in a better reaction to the same inputs at the next session of operation. It means improvement. It is a step toward adaptation. Learning is a major characteristic of intelligent systems. Three major approaches to learning are the following:
a. Learning through examples. Examples of the form of (xi, yi), where xiis a vector from the domain space D and
yiis a vector from the solution space S, i = 1, 2,. . . , n, are used to train a system about the goal function F:D →
S. This type of learning is typical for neural networks. Symbolic Al machine-learning methods based on learning from examples are also very popular.
b. Learning by being told. This is a direct or indirect implementation of a set of heuristic rules into a system. For example, the heuristic rules to monitor a car can be directly represented as production rules. Or instructions given to a system in a text form by an instructor (written text, speech, natural language) can be transformed into
internally represented machine rules. This kind of "learning" is typical for symbolic AI systems and for fuzzy systems.
c. Learning by doing. This way of learning means that the system starts with nil or little knowledge. During its functioning it accumulates valuable experience and profits from it, so it performs better over time. This method of learning is typical for genetic algorithms.
Symbolic methods for machine learning are discussed in this chapter; connectionist methods for learning explicit rules are presented in chapter 5.
4. Generalization is the process of matching new, unknown input data with the problem knowledge in order to
obtain the best possible solution, or one close to it. Generalization means reacting properly to new situations, for example, recognizing new images, or classifying new objects and situations. Generalization can also be described as a transition from a particular object description to a general concept description. This is a major characteristic of all intelligent systems.
Page 78
5. Interaction means communication between a system on the one hand and the environment or the user on the
other hand, in order to solve a given problem. Interaction is important for a system to adapt to a new situation, improve itself, learn. Interaction between systems is a major characteristic of the distributed decision systems, where each module of a system takes part in the problem-solving process and communicates with the other modules. This is the essense of the so-called agent-based approach.
6. Explanation is a desirable property for many AI systems. It means tracing, in a contextually comprehensible way, the process of inferring the solution, and reporting it. Explanation is easier for the symbolic AI systems when sequential inference takes place. But it is difficult for parallel methods of inference and especially difficult for the massive parallel ones.
system are usually compared with the results obtained either by experts or by other systems. Validation is an extremely important part of the process of developing every knowledge-based system. Without comparing the results produced by the system with reality, there is little point in using it.
8. Adaptation is the process of changing a system during its operation in a dynamically changing environment. Learning and interaction are elements of this process. Without adaptation there is no intelligence. Adaptive systems are discussed in chapter 7.
2.1.3 Symbolic, Fuzzy, and Neural Systems—Which One Is the Best?
Symbolic AI, fuzzy, and neural systems facilitate differently the realization of the eight major issues of knowledge engineering discussed above. Table 2.1 gives a rough comparison between them.
While the symbolic AI and fuzzy systems facilitate representing structured knowledge, neural networks facilitate using predominantly unstructured knowledge. Inference is exact in the AI symbolic systems and approximate in the other two. Learning is difficult to achieve in the symbolic AI and fuzzy systems, but it is an inherent
characteristic of neural networks. Generalization in the symbolic Al systems is not as good as it is in the fuzzy systems and neural networks as the latter can deal with inexact, missing, and corrupted data better. Good explanation is more difficult to achieve in the connectionist systems as knowledge in them, after learning, is distributed among many connections, while symbolic AI
Page 79
Table 2.1
A comparison of symbolic, fuzzy, and neural systems
Issue Symbolic Fuzzy Neural
Representation Structured Structured Unstructured Inference Exact Approximate Approximate
Learning Modest No Very good
Generalization Weak Very good Very good
Interaction Good Good Good
Explanation Very good Very good Weak
Validation Good Good Modest
Adaptation Modest Modest Good
and fuzzy systems, if well written, could be self explaining. Of course, building a sophisticated explanation of what is happening in a system while solving a problem requires deep understanding of both the domain problem and the computer reasoning methods used in the system. Good adaptation is achieved in fuzzy neural networks. The above issues are discussed in this book.
system. Some of these are the following:
• Data may represent a current situation, for example, the temperature of the cooling system in a car. A characteristic of data is that they may vary frequently.
• Rules are stable, long-term information. Rules do not depend on slight variations in data describing a current situation.
• Separating the control, as an inference procedure applicable to a set of rules and data, provides an
opportunity to expand the knowledge when necessary without changing the inference procedure. It also makes the decision process clearer and the process of designing the whole program much easier.
Separating knowledge from data and from the inference means easier modification of each of these components. But they all make one system, so they should fit to one another, be coherent.
Page 80
In symbolic AI systems explicit knowledge is separated from the representation of the current data and from the inference mechanism. Separating data from knowledge and from control contrasts with standard programming techniques. Imperative computer languages, for example, C, PASCAL, MODULA 2, separate data (variables and constants) from knowledge (procedures), but the control mechanism is still embodied in the procedures. A full separation is achieved in the so-called declarative computer languages, for example, logic programming languages (PROLOG), and production languages (e.g., CLIPS). Both languages require the presence of structured problem knowledge.
In neural networks current data are usually represented by the activation level of neurons and knowledge is
distributed among the connection weights. The principle of local processing in neurons means that every neuron is a separate processing element, but the results are obtained by the neural system as a whole. It is difficult to
separate data and knowledge in a neural network unless special encoding is used to represent the information.