Hybrid Systems
Hybrid Systems
A Hybrid system is an intelligent system which is framed by combining atleast two intelligent
technologies like Fuzzy Logic, Neural networks, Genetic algorithm, reinforcement Learning,
etc. The combination of different techniques in one computational model make these
systems possess an extended range of capabilities. For example NN are good at learning
patterns but not good at explaining the decisions that are made. Fuzzy systems are good at
explaining the decisions but cannot automatically come up with the rules used for making the
decisions. Neural networks or genetic algorithms may be required for the tuning of
membership functions. Combining these techniques can thus overcome their individual
limitations and offer better solutions.
FGAs are genetic algorithms that use fuzzy techniques to improve GA behaviour modeling.
Working Flow:
● Start with an initial population of solutions that represent the first generation.
● Feed each chromosome from the population into the Fuzzy logic controller and
compute fitness values.
● Create a new generation using GA operators till some condition is met.
Examples of FGA:
1) Vehicle routing problem with fuzzy due time:
In traditional vehicle routing problem solved using a genetic algorithm, the delivery
time must fall within each customer’s time window, which also decides the customer’s
satisfaction level.
But these time windows are not always strictly followed and often relaxing the
window constraints can lead to better solutions in terms of minimising distance and
costs. Also in cases where there is no solution that obeys the hard time window, a
fuzzy time window can offer some solution.
2) Fuzzy optimal reliability design problem:
System reliability optimization is often faced with imprecise and conflicting goals such
as reducing the cost of the system and improving the reliability of the system. This
multi-objective problem can be solved by a genetic algorithm that looks for the
optimum blend of reliability and redundancy while applying fuzzy logic to evaluate the
objective function for each string based on factors like cost, reliability, weight etc.
Thus a multi-objective problem is converted to a single-objective optimization
problem.
Learning and training algorithms of neural networks are used to find the parameters
of a fuzzy system (fuzzy set, fuzzy rules and fuzzy values). Fuzzy sets are encoded
as connection weights within the layers of the network, which provides functionality in
processing and training the model.
There are two main NFS models –
● Linguistic modeling focused on interpretability (Mamdani model)
● Precise modeling focused on accuracy (Takagi-Sugeno-Kang or TSK model)
The first layer receives crisp inputs, in this case two inputs.
The second layer fuzzifies the inputs based on certain weights and outputs the membership
(𝝁 values).
The third layer takes the 𝝁 values coming out of the second layer and performs the AND
operation (taking the minimum of the 𝝁 values).
The fourth layer is the fuzzy inference layer, where specific fuzzy rules will be fired giving
rise to a fuzzy output.
The fifth layer is the defuzzification layer which takes the fuzzy output and converts it into a
crisp output based on certain weights.
For reference, watch Lecture 33: Neuro-Fuzzy System
Sugeno-based model , also called the adaptive neuro-fuzzy inference system (ANFIS) has
the following 5 layers:
Here the first two layers (input layer and fuzzification) are the same as mamdani. The
membership functions which are output from the second layer and multiplied in the third
layer instead of finding the minimum.
The outputs from the third layer are then normalised in the fourth layer to get the firing
strength of each rule. These firing strengths or weights are fed into the fifth layer.
The fifth layer receives the inputs I1 and I2 as well as the weights from the previous layer in
order to compute the crisp output based on the equation-
Y = aI1 + bI2 + c, where a and b are coefficients and c is a bias.
The crisp output from each neuron in the fifth layer is multiplied with the weight calculated in
the fourth layer and then summed up in the sixth layer to get the final crisp output.
For reference, watch Lecture 35: Neuro-Fuzzy System (Contd.)
Neuro fuzzy systems can be classified into 1) Cooperative NFS and 2) General NFS
Working Flow:
GA repeatedly modifies a population of individual solutions. GA uses three main
types of rules at each step to create the next generation from the current population:
1. Selection to select the individuals, called parents, that contribute to the population
at the next generation
2. Crossover to combine two parents to form children for the next generation
3. Mutation to apply random changes to individual parents in order to form children
GA then sends the new child generation to ANN model as new input parameter.
Finally, calculating of the fitness by developed ANN model is performed.