Principles of
Darwinian evolution have been exploited to great advantage by carrying them
over to evolution inside a computer. A further advance has been that this
‘artificial’ evolution has been applied even for real-life environments for the
machines in which the evolution takes place; intelligent or smart robots
is the generic term used for such machines (Wadhawan 2007).
As discussed
in Part 52, Lamarckian
evolution does not have a respectable place in modern biology. The reason is
the central dogma of microbiology, according to
which information can flow only from DNA to RNA to proteins, and not in the
opposite direction. But this restriction is unnecessary when evolution is
occurring inside a computer. In fact, so far as artificial evolution is
concerned, Lamarckian evolution can be advantageous in certain situations over
Darwinian evolution.
Before
discussing intelligent robots, let us first get familiar with what has come to
be known as the field of computational intelligence (CI).
The underlying
approach of a conventional computation is to work through a precise algorithm that works on accurate data. But there are innumerable
complex systems that cannot be adequately tackled through such an approach. One
should be able to work with partially accurate or insufficient or time-varying
data, requiring the use of suitably variable or tenable software. One would
like to work with computational systems that are fault-tolerant, and computationally
intelligent, making adjustments in the software intelligently and handling
imperfect or ‘fuzzy’ data the way we humans do (Nolfi and Floreano 2000; Zomaya 2006). The subject
of computational intelligence caters to this requirement.
CI
consolidated as a subject in the early 90s. Zadeh (1965, 1975) had
introduced the notion of linguistic
variables for making reasoning and computing more human-like. By computing
with words, rather than numbers, one could deal with approximate reasoning. With increasing emphasis on the use of 'biomimetics' in
computational science, Zadeh’s fuzzy-logic approach
was clubbed with 'artificial neural
networks' (ANNs), 'genetic algorithms' (GAs), 'evolutionary' or 'genetic
programming' (EP or GP), and 'artificial life' (AL) to define the field of CI.
FL, ANNs, GAs,
GP, and AL constitute the five hard-core components of the subject of CI,
although there are also a number of other peripheral disciplines (Konar 2005;
Krishnamurthy and Krishnamurthy 2006 (cf. Zomaya 2006)).
(Figure adapted
from Konar 2005. Also see Wadhawan 2007)
I shall give
you a feel for each of these topics, beginning with FL in this post.
Fuzzy-logic
systems
Conventional
computation is based on precise logic, whereas humans are able to process
information that is not always very precise or complete. Humans are able to
employ ‘fuzzy logic’ in their thinking and analysis. Fuzzy logic has developed
as a mathematical discipline for devising computational strategies that can
deal with imprecise knowledge. The imprecise nature of the information
available may result from our limited capability to resolve detail, or because
the data are partial, noisy, vague, or incomplete.
FL involves
inference and intuition, just like the logic used by humans in certain situations.
One removes the restriction that propositions can only be either true or false;
instead, they are allowed to be true or false to different degrees. For
example: if A is (HEAVY 0.8) and B is (HEAVY 0.6), then A is ‘MORE HEAVY’ than
B. This is in sharp contrast to classical binary logic, in which A and B may be
either members of the same class (both HEAVY, or both NOT-HEAVY), or of
different classes.
For dealing
with such human-like logic, the important notion of linguistic variables was introduced by Zadeh (1965, 1975). This
made it possible to compute with words, rather than numbers, enabling
approximate reasoning. Fuzzy-rule-based systems
(FRBSs) were
introduced for dealing with uncertain and vaguely defined problems. One deals
with IF-THEN rules, the antecedents and consequents of which consist of
fuzzy-logic statements. Representation of knowledge is enhanced by the use of
linguistic variables and their linguistic values, which are defined by context-dependent
fuzzy sets. These sets are specified by gradual
membership functions.
FL rules are normally of the form:
IF variable IS property THEN action
Here is how a temperature controller using a fan
would be programmed:
IF temperature IS very cold
THEN stop fan
IF temperature IS cold THEN
turn down fan
IF temperature IS normal THEN
maintain level
IF temperature IS hot THEN
speed up fan
There is no 'ELSE' option because the temperature
might be 'cold', 'normal' and 'hot' at the same time to different degrees.
The concept of
'expert systems' is based on
an analogy with human experts, and usually has a large FL component. An expert
system is a computer programme that holds and processes the information and expertise
gained by humans in one or more domains. A fuzzy expert system uses a
collection of fuzzy membership functions and rules, instead of Boolean logic. A typical rule for reasoning about available fuzzy data looks
like this:
IF x is low and y is high, THEN z = medium
Zadeh also
introduced the f.g-generalization. An
f-generalization fuzzyfies any theory, technique, method or problem by
replacing the corresponding crisp set by a fuzzy set. A g-generalization does
the opposite; it granulates a set by
partitioning its variables, functions and relations into granules or information clusters. f.g-generalization is a
combination of these two. One ungroups an information system into components by
some rules, and regroups them into clusters or granules by another set of
rules. This can result in new types of information subsystems.