Advances in Artificial Intelligence
Advances in Artificial Intelligence
1. Introduction
Sette et al. (1996) set forth the basic principles of Genetic Algorithms and some accompanying techniques (sharing function, Pareto optimisation, etc.) which were applied in an industial production process. The basic representation scheme of the optimising parameter thereby was a simple (mostly 1 byte) string. The Efficiency based Classifier System (ECS) is a more basic version of FECS (also developed by the authors) without the fuzzy classes (and without the capacity to process continuous parameters).
2. Learning Classifier Systems
2.1. Basic building blocks of an LCS
The three basic components to construct an LCS are:
• A rule and message system, which allows the machine to interact with its environment (accepting information from the environment and generating actions towards the environment).
• A reward mechanism to evaluate the rule set. This mechanism allows separating successful rules from unsuccessful or meaningless rules.
• A GA which is used to generate new (more optimal) rules for the rule set.
Each of these basic components will be discussed in more detail in the following paragraphs.
2.2. A rule and message system
The message system is the interface of the LCS with its environment. Using detectors environment messages are imported into a message list. These messages are then interpreted by the rule set and finally an environment message (action) can be generated (using the effectors) to influence the environment. A schematical rule and message system is given in Fig. 2.
A rule, which accepts an environment message, can generate:
• An action (immediately sent to the environment).
• Or a new internal message which is sent to the (internal) message list.
Using the second possibility (internal messages) a chain of internal messages can be created before a rule (finally) generates an environment action.
The format of a rule is given by:
IF
The following definitions can be given when the messages and actions (together called 'classifiers') are binary coded:
where {0, 1}k or {0, 1,#}k is a concatenation of the symbols 0, 1 and 0, 1, # into a string of length k. The symbol # is a 'don't care' symbol. A condition is always fulfilled for a # symbol (in other words the condition is fulfilled when either a 0 or a 1 is situated at the # position). Only the condition part of a classifier can contain # symbols.
For example, suppose the following rule set (k = 4):
(1) 0##0 : 1 1 1 1
(2) 1#01 : 0 1 1 0
(3) ##10 : 0 1 0 0
(4) #10# : 0 0 0 0
and an incoming message {1 0 1 0}.
This message corresponds only with the condition part of the third classifier which generates the internal message {0 1 0 0}. As both the condition parts of classifier (1) and classifier (4) correspond with this message, two new messages are generated: {1 1 1 1} and {0 0 0 0}. The message {0 0 0 0} will subsequently also generate the message {1 1 1 1} by means of classifier (1). The resulting message {1 1 1 1} could be interpreted as an environment action ...