Human beings make descisions based on rules. Although, we may not be aware
of it, all the descisions we make are all based on computer like
if-then statements. If the weather is fine, then we may decide to go out.
If the forecast says the weather will be bad today, but fine tommorow, then
we make a descision not to go today, and postpone it till tommorow. Rules associate ideas and relate one event to another.
Fuzzy machines, which always tend to mimic the behaviour of man, work the same
way. However, the descision and the means of choosing that descision are
replaced by fuzzy sets and the rules are replaced by fuzzy rules. Fuzzy rules
also operate using a series of if-then statements. For instance, if
X then A, if y then b, where A and B are all sets of X and Y.
Fuzzy rules define fuzzy patches, which is the key idea in fuzzy logic.
A machine is made smarter using a concept
designed by Bart Kosko called the Fuzzy Approximation Theorem(FAT). The FAT theorem
generally states a finite number of patches can cover a curve as seen in
the figure below. If the patches
are large, then the rules are sloppy. If the patches are small then the rules are fine.

Fuzzy Control
Fuzzy control, which directly uses fuzzy rules is the most important application in fuzzy theory.
Using a procedure originated by Ebrahim Mamdani in the late 70s, three steps are taken
to create a fuzzy controlled machine:
1)Fuzzification(Using membership functions to graphically describe a situation)
2)Rule evaluation(Application of fuzzy rules)
3)Defuzzification(Obtaining the crisp or actual results)
As a simple example on how fuzzy controls are constructed, consider
the following classic situation:
the inverted pendulum. Here, the problem is to balance a
pole on a mobile platform that can move in only two directions, to the
left or to the right. The angle between the platform and the pendulum
and the angular velocity of this angle are chosen as the inputs of the system.
The speed of the platform hence, is chosen as the corresponding output.
Step 1
First of all, the different levels of output (high speed, low speed etc.) of the platform
is defined by specifying the membership functions for the fuzzy_sets. The graph of the function is shown below

Similary, the different angles between the platform and the pendulum and...

the angular velocities of
specific angles are also defined 
Note: For simplicity, it is assumed that all membership functions are spreaded equally. Hence,
this explains why no actual scale is included in the graphs.
Step 2
The next step is to define the fuzzy rules. The fuzzy rules are mearly a series of if-then statements
as mentioned above. These statements are usually derived by an expert to
achieve optimum results. Some examples of these rules are:
i) If angle is zero and angular velocity is zero then speed is also zero.
ii) If angle is zero and angular velocity is low then the speed shall be low.
The full set of rules is summarised in the table below. The dashes are for conditions,
which have no rules ascociated with them. This is don eto simplify the situation.
| Speed | Angle | ------------ | negative high | negative low | zero | positive low | positive high |
|---|---|---|---|---|---|
| v negative high | ------------ | ----------- | negative high | --------- | --------- |
| e negative low | --------- | --------- | negative low | zero | -------- |
| l zero | negative high | negative low | zero | positive low | positive high |
| o positive low | --------- | zero | low | ----------- | --------- |
c| --------- | high | ---------- |
--------- | ---------- | |
An application of these rules is shown using specific values for angle and angular
velocities. The values used for this example are 0.75 and 0.25 for zero
and positive-low angles, and 0.4 and 0.6 for zero and negative-low angular velocities. These
points sre on the graphs below.


Consider the rule "if angle is zero and angular velocity
is zero, the speed is zero". The actual
value belongs to the fuzzy set zero to a degree of 0.75 for "angle" and 0.4 for
"angular velocity". Since this is an AND operation, the minimum criterion is
used , and the fuzzy set zero of the variable "speed" is cut at 0.4 and the patches
are shaded up to that area. This is illustrated in the figure below.

Similarly, the minimum criterion is used for the other three rule.
The following figures show the result patches yielded by the rule
"if angle is zero and angular velocity
is negative low, the speed is negative low", "if angle is positive low and angular velocity
is zero, then speed is positive low" and "if angle is positive low and angular velocity
is negative low, the speed is zero".


The four results overlaps and is reduced to the following figure

Step 3: The result of the fuzzy controller as of know is a fuzzy set (of speed). In order to
choose an appropriate representative value as the final output(crisp values),
defuzzification must be done.
There are numerous defuzzification methods, but the most common one used is the
center of gravity of the set as shown below.

Return to Main Menu
| ![]() |
![]() |