Вы находитесь на странице: 1из 4

COM623: INTELLIGENT SYSTEMS

Assignment
Instructions

Submit the solution of all the problems as MSWord processed document on Thursday, 11th
April 2019. Also submit all the programming codes developed to solve the assignment
tasks.

There are two tasks in the assignment. The task-wise breakdown of the mark is as given
below.

Task#1 40%
Task#2 60%

If a task or sub-task involves code development, it must include algorithm design in the
form of pseudo code or flow-chart and it should be sufficiently commented. Both the tasks
will be marked as per the attached marking scheme.

Task#1
A cylindrical tank has an opening near the top end through which water flows in. The rate
of water inflow is manipulated by a valve. There is another opening at the bottom through
which water continuously flows out in an output pipe. The outflow rate is thus determined
by the level of the water in the tank. The water level dynamics in the tank can thus be
expressed by the following differential equation.

dh t( ) −c 2gh t( ) u t( )
= +
dt A A
where, h(t) is the water level in the tank, c is the cross-section area of the output pipe, g =
9.8 m/s2 is gravitational acceleration, A is cross section area or the bottom area of the tank,
and u(t) is the input flow. A diagrammatic representation is given in Figure 1. The
reference signal r sets the desired water level to be maintained in the tank. It is required to
design a fuzzy logic controller (also shown in Figure 1) to maintain the water level at the
desired level set by the reference signal r(t). You may use the tank simulation program
provided as part of laboratory work in this task.

You are required to design and implement a fuzzy controller in MATLAB to control the
water level in the tank. The controller should use two inputs level error (e) and levelchange-
dh t( )
rate ( ). The following assumptions can be made regarding universes of dt
discourse of the inputs and output variables. The level-error relative to desired level r(t)
can vary in the range –1 to +1 m. The rate of change in the water level can vary in the range
–0.1 to +0.1 m/s. The valve opening signal to the inlet valve can vary in the range – 1 to
+1. A negative valve opening signal would start closing the inlet valve, while a positive

Page 1 of 4
COM623: INTELLIGENT SYSTEMS

signal would start opening the valve. The MATLAB Fuzzy Logic toolbox facilitates
flexibly specifying several alternative ways of designing a fuzzy controller. Making
effective use of this flexibility, carry out the following as part of the controller design.

Figure 1. Water tank with a fuzzy logic level controller.

Design a fuzzy controller with three fuzzy terms qualifying the level error e and
dh t( )
levelchange-rate as negative, zero, and positive. Verify the correctness of the
controller dt
designed under alternative ways specified in the two sub-tasks below by comparing the
controller output obtained from MATLAB simulation and that computed manually. Your
manual computation should involve finding out all the fuzzy rules that are fired with the
following inputs to the fuzzy controller and then graphically representing the fuzzy decision
making process by manually drawing each of the fuzzy rules pictorially, drawing and
aggregating all the implied fuzzy sets and then finding the defuzzified controller output.
e(t) = 0.50 dh t( )
= 0.04
dt
1) As under max-min fuzzy composition, apply the minimum operator to represent
implication of fuzzy rules, maximum for rule aggregation and the centre of area (COA)
or centroid method for defuzzification.
(20%)
2) As under sum-product fuzzy composition, apply the product operator to represent
implication of fuzzy rules, sum for rule aggregation and the centre of area (COA) or
centroid method for defuzzification.
(20%)

Page 2 of 4
COM623: INTELLIGENT SYSTEMS

Task#2
This task is concerned with the design, implementation and evaluation of a neural network
based pattern classification system. Under this task, you are required to develop a pattern
classifier to classify the digits 0 to 9. You are advised to use the following approach to
develop this system.

Use a multi-layer perceptron (MLP) neural network to design this classifier. Represent
desired target values by 1-in-9 vectors for the numerals 1 to 9, with zero being represented
by all bits being switched off. For example, if the network believes it is looking at the
number 2 then the second output unit will be 1, with all others set to 0. A network output
may be considered to be on (or 1) if its activation was greater than or equal to 0.85 and off
(or 0) if its activation was less than or equal to 0.15. A network output falling between 0.85
and 0.15 maybe assigned a large integer say 10, denoting an undefined output. The
numerals to be learnt are shown in the Figure 2. Each numeral is represented by a 9×7 grid,
with a grey pixel being 0 and a black pixel being 1. The network would thus have 63 inputs
and 9 outputs. An example of mapping the input pixels for the numeral 1 is shown in the
Figure 3. The network would have one hidden layer.

Your pattern classification system development process must involve following subtasks:
• Through an iterative approach, find out appropriate number of neurons in the hidden
layer, learning rate, termination criteria in terms of epochs and output error tolerance.
Report the output of the trained network corresponding to each of the numerals both as
real numbers and integer numbers obtained based on the above suggested output
assignment rule.

• Test the classifier on the noisy data provided in the Figure 4. Report the output of the
NN classifier corresponding to each of the numerals both as a vector of real numbers
and a vector of integer numbers obtained based on the above suggested output
assignment rule.

• Each of the numbers in the Figure 4 has one or more bits missing. Comment on the
test results. Report whether any of the numerals presented special classification
difficulty to the network and if so give your reasoning for probable causes.
(60%)

Page 3 of 4
COM623: INTELLIGENT SYSTEMS

Figure 2 Numerals to be learnt.


Figure 3 Mapping the input pixel
for the numeral 1.

Figure 4 Noisy test data.

Page 4 of 4

Вам также может понравиться