Sei sulla pagina 1di 2

ECOHT Project

Summer 2011

PB8. Fuzzy logic library

Project Description

Dinesh Mannani
Daniel Tywonek

Fuzzy Logic – What it is all about?


Fuzzy logic is a superset of conventional (Boolean) logic that has been
extended to handle the concept of partial truth -- truth values between
"completely true" and "completely false". It was introduced by Dr. Lotfi
Zadeh of UC/Berkeley in the 1960's as a means to model the uncertainty
of natural language.

Zadeh said that rather than regarding fuzzy theory as a single theory, we
should regard the process of “fuzzification” as a methodology to
generalize ANY specific theory from a crisp (discrete) to a continuous
(fuzzy) form.

For example fuzzy logic can be implemented in a situation concerning an


airplane cruising at an altitude with uneven density of air. In this case the
controller of aircraft calculates the altitude for the airplane on the basis of
fuzzy logic i.e. it cannot take into account the binary logic to decide the
altitude as while considering only the boundary conditions for the densities
the controller may have to change the altitude frequently due to uneven
distribution of air density. Here fuzzy logic comes into play i.e. selecting a
path in-between, this is a very trivial example of fuzzy logic
implementation and fuzzy logic can be used to model and solve quite
complex and non-linear problems also.

Our plan of implementation of the project lies in creating a fuzzy logic


library consisting of various functions which will implement fuzzy logic and
will enable the user of the library to solve problems using it.
Development Methodology
We will be using the fuzzy logic development methodology as currently
under standardization which involves the following steps:

Design:
1. Specification of linguistic variables
2. Definition of inference structure
3. Formulation of fuzzy rules

Debugging:
4. Off-line analysis, testing and verification
5. On-line optimization

We can implement the fuzzy logic system which implements a control


strategy by "if-then" fuzzy rules that use defined expressions such as
"pretty_low" or "relatively_high". The specification of these expressions is
provided by the linguistic variables. More succinctly, the linguistic
variables are the "vocabulary" that the fuzzy rules use to express the
strategy.

We will implement the various functions in library by defining parameters


which would come from the linguistic variables declared. For eg. A
pretty_low variable will be related to value 3(in a scale to 10). This will
help us generalise and model each problem based on the input variables.

We will derive the exact fuzzy rules after experimenting with various set
of problems and parameter values.

As rule blocks in the fuzzy logic design contain the actual control strategy.
Fuzzy rule design falls into two steps. The first is the formulation of initial
rule blocks, and the second is to optimize the rules based on analysis and
testing in the last two design steps.

While the first three steps of a fuzzy logic development - definition of


variables, structure, and rules - are the design phase of the development,
the next two steps cover the debugging phase.

In the debugging phase, we will check the fuzzy rules for consistency and
completeness.

We will try and debug by simulating specific input conditions for the fuzzy
logic system and evaluates its reaction. If the performance is not
satisfactory, we will pay attention to respective rules and variables that
require tuning.

Potrebbero piacerti anche