|
ISSN 1320-0682 | ||||
| Volume 3 | April 1996 | ||||
Russel Stonier & Masoud Mohammadian
...Stonier
Department of Mathematics and Computing, Central Queensland University,
Rockhampton QLD 4702 AUSTRALIA
...Mohammadian
Department of Computer Science, Edith Cowan University, Mt Lawley Perth WA
6050 AUSTRALIA.
Email: r.stonier@cqu.edu.au; mmohamma@scorpion.cowan.edu.au
In this paper we discuss the topic of intelligent control by using genetic algorithms to learn fuzzy rules in fuzzy logic control systems. In particular, application is made through simulation studies to collision-avoidance problems and target-tracking for mobile robots. Application to the control of traffic flow approaching a set of intersections and interest rate prediction is also briefly discussed.
The design of advanced controllers for many industrial processes is heavily dependent on the availability of a model for the process. Construction of appropriate models, however, are often not possible due to the complexity and nonlinearity of the process; but even for such processes, control is attainable by human operators with only a rudimentary knowledge of the dynamic model. In these problems, fuzzy logic today has strong application. There are two main problems with their design. The first is to obtain an adequate knowledge base for the controller, usually obtained from expert knowledge, and second is that of selection of key parameters defined in the method. In this paper, we examine the use of genetic algorithms to obtain automated knowledge acquisition for fuzzy logic controllers. We show how the fuzzy logic knowledge base can be encoded as an individual in a genetic algorithm (GA) population. The GA is then used to learn the "best" knowledge base to achieve the desired objective through a minimum fitness criterion. In particular, we examine processes for determination of a set of "global" fuzzy logic rules that will "efficiently" control a simulated point mass robot to a desired target from any initial configuration. One method is to first learn a set of local fuzzy controllers, each adaptively learnt by the genetic algorithm from a given initial configuration within a set of initial configurations spread uniformly over the configuration space. These fuzzy logic controllers are then fused through a fuzzy amalgamation process into the global fuzzy control knowledge base. An alternative approach is to let the genetic algorithm learn the "final" knowledge base by itself. This can be achieved by evaluating the fitness of an individual at an arbitrary configuration within the chosen set of initial configurations in each generation. This local knowledge is then inherently learnt from generation to generation in the evolution of the GA.
To enable the reader to follow the arguments and analysis, in later sections we present for reference, basic descriptions of genetic algorithms and fuzzy logic.
Since their appearance, genetic algorithms and variants thereof have been
used in a variety of applications to solve many real world problems in such
areas as ecology, machine learning, engineering and management. As one of a
number of evolutionary computation techniques, including evolution strategies,
genetic programming and evolutionary programming, it is based on principles of
evolution associated with inheritance and the fight for survival of the fittest.
It is a heuristic search technique that maintains a population of individuals
at iteration
t to the next t+1. Each individual can be considered to represent
a potential solution to a given problem. Although in their original formulation
the structure of each individual was binary encoded [6],
[4],
modern formulation of structure includes, for example, integer and real encoding
[10].
To each individual is an associated measure of its fitness for survival. The new
population P(t+1) is obtained from the old by the use of genetic
operators such as crossover-creating children by recombining parts of usually
more than one parent through a process of selection for mating of the parents,
and mutation - creating new individuals by perturbing the individual's
structure. The form of the algorithm may be written as:
begint = 0Create random P(0)
Evaluate Fitness of P(0)
while (not Terminated) do
begin
t = t+1
Create P(t+1) from P(t)
Evaluate Fitness of P(t)
end
end
In creating the new population, there are many different variants of operators that may be found in the literature. These include proportional selection, where the probability of selection for mating is proportional to the individual's fitness, ranking methods and tournament selection, one point and many-point crossover as well as arithmetic crossover. We refer the reader to the following two surveys [3], [1] and recent papers and [11] for full coverage of evolutionary computational algorithms and the applications. Specific structure and operators for this work are defined later.
We give here a basic introduction of fuzzy logic sets for an understanding of
the content of this paper. The reader is referred to texts [5]
and [25]
for a more detailed and comprehensive treatment of fuzzy logic in relation to
application in control systems. The theory of fuzzy sets deals with sets in a
universe of discourse U. A fuzzy set
is a
generalisation of the concept of an ordinary set, it being defined by membership
function
,
rather than the discrete values of 0 and 1 as with ordinary sets. For discourse
U, F is usually represented as a set of ordered pairs with element
u and grade of membership value:
For continuous U, F may be precisely written as:
and for discrete U, as:
The notation used here refers to set union rather than to arithmetic summation and '/' is simply used to connect an element and its membership value and has no connection with arithmetic division. Numerical and functional membership can be defined. In this paper, we use a functional definition of either triangular of trapezoid form as shown in Figure 2.
Let
, be
two point-valued sets with associated membership functions
and
respectively.
The following basic operators, see [25],
can then be defined:
Two sets A and B are equal if and only if:
The union of A and B is that set with membership function defined by:
The intersection of A and B is that set with membership function defined by:
The normalisation operator rescales the membership function so that its maximum value is 1.
The complement of A, A', is the set with membership function defined by:
The normalisation operator rescales the membership function so that its maximum value is 1.
Research into the problem of collision-avoidance in multi-robot systems has concentrated on two areas of application. The first, control of more than one articulated robot arm working in a common workspace, and the second, control of mobile robots operating in a common work area. The search has been toward the realisation of intelligent control systems - see for example, [22], [8]. These systems represent attempts to design more highly intelligent control systems, endowed with problem solving, planning, cognition and other capabilities characteristic of the human operator. They begin with the more classical approaches of adaptive control by modern artificial intelligence techniques which include neural networks, genetic algorithms and fuzzy logic control (FLC).
Conventional automatic control system design methods involve the construction of mathematical models describing the dynamic system to be controlled and the application of analytical techniques to the model to derive control laws. These models work well provided the system does meet the requirements and assumptions of synthesis techniques. Although application of fuzzy logic to industrial problems has often produced results superior to classical control, the design procedures are limited by the heuristic rules of the system. This implicit assumption limits the application of fuzzy logic controller. Moreover, the majority of FLCs to date have been static and based upon knowledge derived from imprecise heuristic knowledge of experienced operators.
Figure 1: Basic Structure of a FLC
The fuzzy logic-based approach to solving problems in control has been found to excel in those systems which are very complex, highly nonlinear and with parameter uncertainty. We may view a fuzzy logic controller as a real time expert system that employs fuzzy logic to analyse input to output performance. Indeed, they provide a means of converting a linguistic control strategy derived from expert knowledge into automatic control strategies and give us a means of interrogating the control system evolution and system performance. A FLC - see Figure 1 - usually consists of:
(i) A fuzzification unit which maps measured inputs of crisp value into fuzzy linguistic values to be used by a fuzzy reasoning mechanism.
(ii) A knowledge base (KB) which is the collection of expert control knowledge required to achieve the control objective.
(iii) A fuzzy reasoning mechanism that performs various fuzzy logic operations to infer the control action for the given fuzzy inputs.
(iv) A defuzzification unit which converts the inferred fuzzy control action into the required crisp control values to be entered into the system process. Knowledge in fuzzy reasoning (the decision-making unit), is usually expressed as rules with sentence conjunctives AND, OR and ALSO, for example:
If Distance x to second player is SMALL OR Distance y to obstacle is CLOSE AND speed v is HIGH Then Perform LARGE Correction to steering angle
ALSO make MEDIUM reduction in speed v.
Three antecedents in this example give rise to two outputs. For multi-input
single-output system (MISO), letting the linguistic variable MEDIUM
be represented by
for example,
in general, we can write:
If
is
AND
is
AND
AND
is
Then y is
.
In control language statements such as this can be expressed easily as fuzzy control rules stored in set called the fuzzy knowledge base (KB). Reasoning is usually based on the general modus ponens or direct reasoning law. Each rule in the KB corresponds to a fuzzy relation. For the kth rule defined above, the fuzzy relation can be expressed as:
For N rules in the KB, the overall fuzzy relation:
where R may take either point-valued fuzzy implication form or intervalued fuzzy implication form. Point value composition Rule of Inference (PVCRI) involves operators:
A number of compositional operators are in the literature. We illustrate PVCRI using the sup-min operator - see Figure 2. Assume the KB has two rules (Table 1).
Table 1
Figure 2: Fuzzy reasoning using sup-min operation
The membership of the inferred consequence C is pointwise given by:
A defuzzification strategy produces a non-fuzzy control action that best represents the possibility distribution of the inferred control action. The mean of maximum defuzzification yields the mean value of all local control actions whose membership functions reach the maximum. The crisp z value is given by in the above example:
with
being
the crisp support value at which the membership function reaches maximum
(most usually
1 for normalised membership functions). A symmetrical function is required for
each rules consequent fuzzy set.
In general, a "rule of inference" in fuzzy logic reasoning is a mathematical statement describing how linguistic variables are to be manipulated and employed to control the problem environment. The first step in any application is to determine which variables will be important in choosing an effective control action. Clearly, the more decision variables used, the larger the rule set that must be written. Several approaches to FLC development are possible.
Typically, the KB is generated by an expert but a fundamental weakness with the static fuzzy logic is the acquisition of the rule base which is frequently incomplete and its control strategies are conservative. One approach to overcome this is the construction of self-organising fuzzy logic controllers [25], which have been found useful in developing controllers for systems subject to time-varying changes and unknown environmental disturbances. These controllers consist of a two-level hierarchical rule-based controller in which the fuzzy control rule base is created and monitored by a learning module with self-organising algorithm at the top level and fundamental controller at the lower level. The learning module may contain a performance index table and a rule generation and modification algorithm for creating new rules or modifying existing ones. This module can be developed indirectly through on-line identification of a control system model which can then be used to formulate the control strategies or directly from actual knowledge of the control system itself.
Figure 3: Basic Structure of a SOFLC
Such self-organising fuzzy logic controllers are used mainly for the creation and modification of the rule base. An adaptive FLC is one that has self-tuning and learning capabilities characterised by its ability to generate new rules, modify existing rules and fuzzy sets and adjust their membership function, the universes of discourse and the scaling factors or control resolutions. Of interest is the question of how this self-organisation and adaptation can be carried out in an automated fashion.
As mentioned, the first step is to determine which variables will be important in choosing an effective control action. Any number of these decision variables may appear, but the more that are used, the larger the rule set that must be written. It is known [21], that the total number of rules in a system is an exponential function of the number of system variables. For a multi-dimensional system, it may become unproductive to realise the fuzzy rule-based controller. To overcome this problem, a hierarchical fuzzy control structure can be used where the most influential parameters are chosen as the system variables in the first level, the next most important parameters are chosen as the system variables in the second level, and so on, [20]. In this hierarchy, the first level gives an approximate output which is then modified by the second level rule set. This procedure can be repeated in succeeding levels of hierarchy. The number of rules in a complete rule set is reduced towards a linear function of the number of variables by the hierarchy. Methods for transforming human knowledge or experience into the rule base and database of a fuzzy inference system methods seek to generate the rule-base of a system by learning all parameters of the system at once. Their success is limited and if there is a need to add or remove one of the parameters of the rule-base the whole rule-base must be rebuilt.
Figure 4: GA Fuzzy Rule Generator Architecture
Recently, the authors have developed an architecture integrating genetic algorithms and fuzzy logic controller for automated knowledge acquisition in fuzzy control systems. The architecture is shown in Figure 4 for the case of a two layer HFLC. A genetic algorithm can be used at each layer to learn in a self-organising manner the fuzzy rules in the KB. It can also be used to adaptively change fundamental parameters such as those defining membership functions in the FLC by incorporating these parameters into the GA chromosome structure, c.f. [15]. In this presentation, we will concentrate on the use of genetic algorithms to learn "effective" fuzzy controllers in each knowledge base. We report on the application of this architecture to problems of collision-avoidance and discuss current research.
The first application of this hierarchical architecture for learning the fuzzy rules using a GA was made for the controlled movement of a single robot considered as a point mass to reach a specified target in the presence of a single stationary object, c.f. [13]. In this problem, the speed of the robot was fixed and the KB of fuzzy rules defining the steering angle was learnt for a given fixed initial position and direction heading. The basic GA used here was binary encoded.
This algorithm was further developed into the two-layer hierarchical fuzzy control (HFLC) structure for control of a mobile robot to a target in the presence of three stationary obstacles in [24]. A GA was employed as the learning method for generation of the fuzzy rules in layer one of the HFLC determining the steering angle for control to the target. A second GA was used for layer two, to learn both the speed and the correction to the steering angle obtained from the first layer to avoid obstacles on the way to the target.
We report here on the application of the two-layer HFLC architecture for the simulated control of two-point mass robots in the plane to individual targets whilst avoiding collision with each other, c.f. [23]. As above, genetic algorithms are used in the first layer to determine steering angles to control each robot to its target, and also in the second layer to adjust these controls to avoid collision with each other.
We examine specifically the learning that occurs locally in the development of a KB for a given initial configuration of each robot and methods to extend this learning globally to find fuzzy control laws which will ensure "effective" control to the desired objectives from "all" configurations for each robot.
For the first layer, each robot is considered separately. Basic kinematics
are those given in [7].
For robot i there are three inputs
,
,
, and single
output
, i
= 1,2. Here
and
are the
cartesian co-ordinates in the plane,
the heading
angle relative to the x axis, and
is the
control steering angle also measured relative to the x axis. The ranges
of the variables are set to be:
,
,
and
. We divide
the domain regions for
,
,
and
into 5, 5, 7
and 7 regions respectively and assign appropriate linguistic variables. For each
region, a fuzzy membership function is assigned; the shape is assumed to be
triangular or trapezoid.
Fuzzy linguistic terms for the variables are as follows: for
and
positions,
ELE : East Left, EC : East Center, CE : Center, WC :
West Centre, WRI : West Right; For angle
, RB :
Right Below, RU : Right Upper, RV : Right Vertical, VE :
Vertical, LV : Left Vertical, LU : Left Upper, LB : Left
Below; and for steering-angle signal
, NB :
Negative Big, NM : Negative Medium, NS : Negative Small, ZE
: Zero, PS : Positive Small, PM : Positive Medium, PB :
Positive Big.
Two fuzzy rule bases are generated in the first layer. Consider robot 1 for
illustration; similar construction follows for robot 2. The fuzzy KB in the
first layer for robot 1 may be represented by a
matrix
, with
indices referring to
,
, and
respectively,
and whose cell entry is the output linguistic variable
which is
encoded to have a value from 1 to 7. As illustrated, the rule defined by
reads:
If
= ELE AND
= EC AND
= LV Then
= NM .
A single linear array defining the complete 175 fuzzy rules, may be obtained
by linearising the matrix
with k
being the quickest changing index. This array is now used as an individual
chromosome in the population of the GA to determine the fuzzy rules for robot 1.
To acquire the driving knowledge in terms of linguistic language using the GA
fuzzy rule generator architecture we proceed as follows.
For each initial triplet
we use a GA
to determine a set of fuzzy rules that best determine the steering angle to
drive the robot to the desired target at (0,50) with final heading angle
; speed is
fixed at 0.5. An initial random population is first formed by the GA.
Each rule string is then decoded into a complete set of fuzzy rules and
applied to the robot to drive it towards the target. The fitness for this
individual is then calculated as a sum of measures: the first defining the
distance away from the target, the second defining the absolute error in heading
angle from
on
entry to the target, and the third, a measure of the total number of iterations
required to reach the target.
The GA with population set usually at 60 was then allowed to evolve through the normal processes of reproduction (proportional selection), one point crossover (probability usually 0.6), and mutation (probability usually 0.01), to minimise this fitness. The mutation operator was defined as: if the output lies between 1 and 7, it is mutated up or down by one with equal probability; if 1, it is mutated to 2, and if 7, it is mutated to 6.
An "elite" option was used in developing the new population from the old and pre-scaling used to enhance convergence. For each initial configuration chosen, the algorithm converged quickly to an excellent set of fuzzy rules for control to the target, as defined by the best individual in the final population.
In a like manner, we perform a similar analysis for robot 2, for each initial
triplet
.
Forming the KB
and using a GA to determine a set of fuzzy rules that will best determine the
steering angle
to drive robot 2 to its target at (100,50) with final heading angle
, speed is
again fixed at 0.5.
The local knowledge bases so determined for a given initial configuration contain rules sufficient only to drive the robot to its target from that initial configuration. (Recall the fitness was evaluated each time from this configuration, no other.) Therefore, this KB will not suffice to control a given robot to its target from any other initial configuration. This is needed before we can move to an analysis of the second layer. It is necessary then to determine a fuzzy KB that will achieve to some reasonable degree of satisfaction, the control of a robot from "any" initial configuration to its target.
One possible way to achieve this is to select a grid of N = 25 points on the
plane and associate with each point, 6 chosen heading directions
,
,
,
,
.
Now for each robot, calculate using the above genetic learning, all 150 fuzzy KBs from the initial configurations and combine them in some way to form two final "global" fuzzy knowledge bases. This can be achieved using a process called fuzzy amalgamation [12]. The procedure essentially evaluates the final entry in each global KB by an averaging process on corresponding entries. The number N is found to be sufficient to ensure that an appropriate evaluation of output can be made in each entry of each final KB so obtained.
The two individual (appropriate) global fuzzy KBs constitute the "complete" fuzzy logic KB in layer 1. In all, there are 350 rules learnt for the control of the two robots to their individual targets. An illustration of how the knowledge contained in the global fuzzy KBs controls the robots to their targets is shown in Figure 5(a).
Here, robot 1 starts with initial position (90,10) and azimuth
, and robot 2 with initial position (10,10) and azimuth
; trajectories are superimposed. The results obtained
were found to be satisfactory for our purposes as input into the second layer.
Good trajectories were obtained from most initial configurations that were
tested.
Let us now consider the learning of the rules in the second layer of the
hierarchical fuzzy logic controller in a similar manner. Having learnt the
fundamental KB for steering control of each robot to its target, the objective
here is to take advantage of this knowledge and to develop another fuzzy KB to
determine corrections to steering angles
and
so that collision of the robots may be
avoided as each robot is controlled to its target. In this layer, there are
three inputs D,
and
, with two
outputs
and
.
Here, D is the calculated physical distance between the two robot
positions;
and
are
obtained from the first fuzzy layer KB,
is a
correction to be added to
and
is the
correction added to
.
The ranges of the new variables are set to be:
,
. We divided
the domain regions for D, and
into 3, 7 and
7 regions respectively and assigned appropriate linguistic variables. Again, for
each region, a fuzzy membership function is assigned with shape triangular.
Fuzzy linguistic terms for the variables are as follows: for distance D,
VC : Very Close, CL : Close, FA : and for steering
correction
,
the same as
.
The fuzzy rule-base for this second layer can be represented by a
matrix
, with
indices referring to D ,
and
respectively,
and its (i,j,k) entry is a
array of
and
. The output
linguistic variables are each encoded to have a value from 1 to 7. As
illustration, the rule defined by
reads:
If D = VC AND
NM AND
PS Then
NS ALSO
NB .
defines
the array of fuzzy rules for layer 2, and is used as an individual chromosome in
the population of the genetic algorithm to determine adaptively an optimum set
of fuzzy rules. A grid of only 15 pairs of points was chosen where it was known
that collision of the robots occurred.
Figure 5: (a) Trajectories - Layer 1 KB (b) Collision-free
trajectories - Layer 2 KB
As in the first layer, for each pair of initial triplet
and
, a GA is
used to determine a set of fuzzy rules that will best determine the steering
angle corrections to drive each robot to its desired target whilst avoiding
collision. The previous fitness function is used but a penalty added if the
robots collide, defined to occur when the separation distance is less than 20.
The GA is then allowed to evolve through the normal processes of reproduction,
crossover and mutation discussed above to minimise this fitness (extension to
the use of the rule array instead of a single string is straight forward). The
best chromosome in the final population defines the local fuzzy rule base for
this particular grid point. Lastly, the fuzzy rule arrays so obtained for all
grid points are combined via fuzzy amalgamation to yield the global fuzzy logic
knowledge base to control the robots to their individual targets without
collision.
Consider now the paths of the two robots from the initial configurations defined in Figure 5(a), obtained by controls defined in the first layer fuzzy logic KB. It is easy to see that the robots collide, checking the time markers. Application of the controls defined by layer two to correct the heading angles results in the collision-free paths of Figure 5(b).
The fitness function described above was made up of a number of separate function evaluations and also a penalty if collision occurs. These functions were appropriately weighted so that no single evaluation dominated the complete fitness value in the initial stages of the learning process. In seeking to minimise time to reach the target, care was needed to weight the number of iterations in order to eliminate dominant individuals that tended to generate loops in the associated trajectory yet still maintain good minimisation of target error and avoidance of the other robot.
In the process of determining a global fuzzy knowledge logic base sufficient for reasonable control to the target from a given initial grid configuration, grid selection should be carefully considered. For each robot, first layer calculations used 25 grid points each with 6 heading angles to find the 150 knowledge bases for fuzzy amalgamation. These points were reasonably spread across the plane and found to be sufficient to generate a final global fuzzy rule-base for which controls gave good trajectories to individual targets. On the local scale, not all of the initial configurations chosen on the plane led to a rule-base in which the associated trajectory entered the target for the set number of generations and GA parameter values. We needed to increase the population number for some initial configurations in the lower left corner of the planar region in order to introduce greater diversity in the GA for learning to occur so that target 1 was reached by robot 1.
Only 15 pairs of grid points with the same heading angles were used in the second layer calculations. This selection provided adequate cover of a large area in which collision of robots could occur. Clearly this does not take into account situations when both robots are close to each other in a particular corner of the plane. One would have to substantially increase the number of grid pairs to cover all cases more definitively, this increasing computational cost.
The process of fuzzy amalgamation involved the amalgamation of the local
fuzzy rule bases into a single rule-base. For the case of the amalgamation of
the 150 tables from layer 1, a frequency table is made for all 150 entries in
, determining mean and variance. Null or
empty cells with no linguistic output variable in a given table were not
included in this calculation; no rules were learnt in this domain for the given
initial configuration. The number of tables calculated was sufficient to ensure
that there was a non-null entry in the final amalgamated table. An automated
process to take the average in each distribution led to some incorrect rules in
the final knowledge base. In most (i,j,k) positions, it was
possible to take the mean or average value lying between 1 and 7; sufficient
information about the output variable was obtained for this domain. In other
instances, only a few rules were learnt in a given domain from the initial
configurations used, giving rise to a poor frequency distribution. This
necessitated making a judgement on the final output variable based upon the
final output values in neighbouring (i,j,k) cells. In yet
other instances, the frequency distribution resembled a bi-modal distribution
with the average lying between. Again a judgement had to be made to select the
average or one of the modes and take note of values in neighbouring (i,j,k).
Clearly, the amalgamation process could be improved by increasing the number of initial grid configurations. This comes at a computational cost when it is observed that results obtained with the data here given, provides adequate results based upon the performance required.
The number of rules learnt by the genetic algorithms in this problem has been
drastically reduced by introducing the two-layered HFLC. With the definitions
given, a single layer would require learning a total of 91,875 rules for output
values
and
. The
two-layered structure required the learning of only 517 rules. Quick convergence
to a collision-free path was observed in the learning of the local fuzzy rule
bases in the second layer. This can be attributed to the fact that the GA was
able to learn information from the knowledge stored in the rule base of the
first layer and to modify appropriately.
Let us now move on to consider how the architecture can be used to learn the
fuzzy control laws for the simulated control of a single mobile robot considered
as a point mass, to a moving target from an {arbitrary} initial
configuration in the planar workspace - see Figure 6(a). The FLC has now four
inputs, the cartesian co-ordinates (x,y), the heading angle
, and the
horizontal position p of the target and output steering angle
. The
kinematics and parameters are set as for the single robot in the previous
discussion, with speed of the target held fixed. The new linguistic fuzzy
subsets for p and associated membership functions are shown in Figure
6(b). See [14]
for expanded details.
Figure 6: (a) Simulated Robot and moving target (b) Membership
for robot position p
There are 875 fuzzy rules for this system. The fuzzy KB can be represented as
a
matrix
with indices
referring to x, y,
and p
respectively and each entry the output linguistic variable
, which is
encoded to have an integer value of 1 to 7. As illustration, the rule defined by
R(1,2,5,1) = 2 reads:
If x = ELE AND y = EC AND
LV AND p = SM Then
NM.
As before, a single linear array defining the complete 875 fuzzy rules may be
obtained by linearising the matrix with
being the
quickest changing index. This array is encoded as an individual chromosome in
the population of the GA used to determine the fuzzy rules of the system. For
the learning of the local KB from a fixed initial configuration, it was found
that the GA converged within about 1000 generations to an excellent set of rules
for control to the moving target. Figures 7(a) and 7(b) depict two trajectories
obtained from the fuzzy genetic architecture.
Figure 7: Trajectories - Local KB (a)
(b)
, Fuzzy
Amalgamation (c) and (d)
Applying fuzzy amalgamation to the KB obtained for the 150 initial configurations previously defined with p = 0, we obtain a global KB of fuzzy control rules. Application of these fuzzy rules for the two initial configurations of Figures 7(a) and 7(b) are shown in Figures 7(c) and 7(d). The results obtained were not as good as obtained in previous work in collision-avoidance using fuzzy amalgamation. This has found to be due to a poor selection of membership function for y between 50 and 100 in the vicinity of the moving target and the small number of initial configurations used to facilitate the amalgamation. The first is easily amended and, as mentioned, tuning of the membership functions can be incorporated into the GA chromosome. The second requires developing more KB for amalgamation; for example, 600 further KB are currently being obtained, associated with four other values of p spread across its domain of definition.
In the above analysis, each chromosome's fitness was evaluated using the decoded fuzzy rules at the same initial configuration point. We propose now to evaluate each fitness value at a randomly selected initial configuration from the given configuration set. Genetic learning otherwise continues as described, except that one point crossover is changed to uniform arithmetic crossover. It has been found that the change in crossover results in about a 500% increase in convergence for learning of a local KB and improves the passing of fitness knowledge in this problem from one generation to the next. Furthermore, it is hoped that the learning now will be such that the final best individual will define fuzzy control rules that will "adequately" control the point mass to the moving target from "any" initial configuration.
Learning has been found to be slow, and the performance with the initial configuration Figure 7(a) is far from outstanding; see Figure 8 for trajectories obtained at 5000, 8000, 10000 and 20000 generations. Considering the learning task involved, this is probably to be expected. Poor convergence here is also due to the fact that the "elite" chromosome clearly may be wiped out in the next generation as it is re-evaluated at another arbitrary initial configuration. More generations need to be completed. This and performance analysis is currently being undertaken.
Figure 8: Global learning with arithmetic crossover -
Configuration 7(a).
Considerable research has been devoted to the problem of regulating traffic at intersections. This includes automatic control of traffic signals, and theoretical papers on the "optimal" control of signals [19], [18]. An Area Traffic Control system consists of a number of traffic signals linked in such a way that any signal timing change is dependent upon conditions prevailing at any of the other intersections. The control system at each signalised intersection consists of three control elements: cycle time, phase splits and offset [9]. Cycle time is the duration of completing all phases of a signal; phase split is the division of the cycle time into periods of green phase for competing approaches; and offset is the time difference in the starting times of the green phases of adjacent intersections. Chiu and Chand [2], proposed a distributed approach to traffic signal control, where an adaptive fuzzy logic controller is used for controlling multiple intersections in a network of two-way streets. A set of fuzzy rules is used at each intersection to adjust the cycle time, phase split and offset based on the local traffic and the traffic at the upstream intersection. This control scheme lacks a global view of the traffic control system as it co-ordinates each intersection with only its adjacent intersections and no interaction with any of the other neighbouring intersections.
In [17], a fuzzy logic control scheme is proposed to overcome the lack of interactions between the neighbouring intersections. Firstly, a traffic model is developed, with basic equations from [19], and a fuzzy control scheme for regulating the traffic flow approaching a single traffic intersection is proposed. Next, a set of three intersections is co-ordinated using local fuzzy logic controllers located at each traffic signal to co-ordinate each intersection with only its adjacent intersection. A scheme called a supervisory fuzzy logic controller is then proposed to co-ordinate the three intersections based on the traffic conditions at all three intersections. Simulation results are presented which establish the effectiveness of the proposed scheme as opposed to other approaches. A brief report follows.
The traffic flow approaching the three intersections is regulated by adjusting the green phase splits and offset. A fuzzy Logic Traffic Controller (FLTC) comprising 25 fuzzy rules is used to adjust the green phase split, with input being the ratio of queue length (waiting at the intersection) to the number of vehicles that passed through in the E-W approaches, and the same for the N-S approaches. The three intersections are co-ordinated by adjusting their respective offsets. A local FLC comprised a set of only 5 rules based on the traffic volume at the upstream intersection. It receives the vehicle count at the N-S approach of the upstream intersection and the vehicle count at the E-W approaches of the local intersection. If the vehicle count at the upstream intersection is greater than the average vehicle count at the E-W approaches of the local intersection, the offset is adjusted by giving an extension to the green phase of the N-S approach of the local traffic signal.
The local FLC, adjusting the offset at intersection A co-ordinates this intersection with intersection B, the FLC at B co-ordinates this intersection with either A or C, depending upon which intersection has a greater waiting traffic, and the FLC at intersection C co-ordinates C with intersection B. The input variable to the local FLC is the difference in volume between the traffic volume at the upstream intersection and the average traffic volume at the E-W approaches of the local intersection. The output of the FLC is the amount of adjustment that has to be made to the current green phase of the signal
The supervisory FLC comprised 27 fuzzy rules. It adjusts the offset of the three traffic signals by evaluating the traffic volume at all three intersections (3 inputs) and then decides on the amount of extension that is to be made to the green phase of each signal (3 outputs).
The simulation results showed that the supervisory FLC performs better than just control using the three FLCs and reduces the queue length at all N-S approaches of the three intersections. Indeed, the queue lengths at the N approach and at the S approach of C are reduced by 41% and 22% respectively - see Figure 9. This is because each intersection is co-ordinated with all its neighbouring intersections rather than with just its upstream intersection as is the case with a local fuzzy logic controller.
Figure 9: Three adjacent intersections and Queue lengths at C
The knowledge bases formed in this application were developed by trial and error from expert operational knowledge and on-line verification of control actions. As in our analysis of the collision-avoidance and tracking problem, the elicitation of fuzzy rules in the supervisory FLC can be automated using genetic learning with little change to the construction of the fuzzy rule generation architecture described above. It was found to be a quick and effective method of rule generation. The fuzzy decision rules thus obtained, enhanced the performance of the system and achieved better results than the fuzzy rules derived by hand. These results are reported in [16].
We report here briefly on the application of genetic learning in an adaptive hierarchical fuzzy logic system for modelling and prediction of financial systems. This work is a private communication with Mark Kingham and Masoud Mohammadian, being undertaken in a current masters program at Edith Cowan University. In this work, a FLC is being developed to predict fluctuations in interest rates from one year to the next. Data has been derived from information available from the Bureau of Statistics. Fifteen indicators can be used as input variables; the indicators can be split into four main sections: Employment, Savings, Foreign and Country. The rules for prediction are clearly unknown so a KB must be created from the available data. Using say, 5 fuzzy sets for each input, realises a KB with billions of rules. A hierarchical FLC is proposed with genetic learning to overcome these inherent difficulties for this complicated system. Current results in testing using just two indicators for employment, are encouraging in that the KB learnt by the GA can find most changes in the interest rate.
In this paper, we examined genetic learning of a fuzzy knowledge base, in particular for the control of a simulated point mass robot to a moving target from any initial configuration. The results obtained via fuzzy amalgamation, which fused "local" fuzzy logic controllers obtained from learning rules for a fixed initial configuration into a "global" fuzzy logic controller, were compared with an alternate approach that sought to effect learning by evaluating a chromosome's fitness at an arbitrary initial configuration within a prescribed initial configuration set and incorporation of arithmetic crossover. The proposed architecture is seen to produce "adequate" results; further analysis and study of the system is needed. One clear advantage is that incorporating GA learning into fuzzy logic makes it possible to develop fuzzy logic controllers for controlling systems which are dependent on a high number of input parameters.
Application of this learning algorithm to collision-avoidance problems with dynamic state equations rather than kinematic equations is current.
Evolutionary Learning in Fuzzy Logic Control Systems
This document was generated using the LaTeX2HTML translator Version 96.1 (Feb 5, 1996) Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html stonier.
The translation was initiated by Pam Milliken on Fri Jan 17 14:56:12 EST 1997