July, 2017

now browsing by month


Fuzzy Logic, An Introduction

Fuzzy Logic, a Narrative

Quite recently, the amount and diversity of software programs rising in favour of fuzzy logic has been on the increase. Products such as consumer items in the likes of cameras, camcorders, washing machines, microwave ovens, industrial process control, medical instrumentation, decision support systems and portfolio selection just to mention a few.

The growth can be further corroborated by a basic understanding of Fuzzy Logic itself. Two basic analogies:

Firstly, it is often referred to as a logical system, more of an extended multi-varied logic.

Secondly, more popularly, theoretically, it is referred to as one that compare to classes of objects with blunt edges where companionship, if taken as an issue of grade.

It must be noted though that fuzzy logic is dissimilar from in theory and practice when related to traditional multivalued logical systems. Fuzzy logic differs specially in the sense that its variables are made more of words than numerals. This, is despite the fact that words are imperatively out of direct sync with figures, where their use is closer to human interpretation. Hence, computing such resource as natural language, brings along the benefit of less precision, and reduced cost of software production.

Furthermore, another great feature of Fuzzy based algorithms is that it is based on “Selection”, one of the basic three (Selection, Iteration, and Sequence) models of software engineering program structures, in particular, immensely useful developing artificial intelligence based systems. Fuzzy components and backgrounds are widely known to be availed by calculus of fuzzy control structures, which inherently is referred to as Fuzzy Dependency and Command Language (FDCL). This is what human solution translates into in Fuzzy Logic.

In addition, Neuro-Computing (neural networks), and genetic algorithms draw their path into fuzzy logic from the FDCL. In contrast to traditional, hard computing, FDCL incorporates soft computing i.e. translation of human natural language (imprecision) to actionable insights by a computer program.

Hence with its accommodation of imprecision, uncertainty and probably partial truth, it creates tractability, robustness, and low solution cost, it is fast becoming a ready-made solution to an existing problem.

In the nearest future, soft computing will definitely play an integral role where in compares to other systems will have a higher super –human intelligence

In summary, Fuzzy logic entails the necessity of precision through imprecision. For instance answering the question of how important an exact issue is to be treated and when a rough answer will suffice.

Matlab Software, integrates a toolbox software known as Fuzzy Logic Toolbox.  This can be utilized to solve certain fuzzy based problems. Needless to say, Fuzzy logic is a fascinating angle of research, for the fact that it draws a fine lining between significance and precision, an aspect of research and development generations of humanity have been trying to close range over time.

Matlab Fuzzy logic tool box brings along function applications, fuzzy clustering, and adaptive neuro-fuzzy learning, Simulink bloc for analysing, designing, and simulating fuzzy logic based problems, modelling complex system behaviours applying crisp logic rules and act on these rules in a fuzzy integrated inference system. It can also be utilized as an interference monitoring system (engine) making it a unique dynamic system.

Example of what the theory of Fuzzy Logic can produce in practice or real time:

  • Produce information of how good a medical health service is, a fuzzy based system should be able to give a health Service Delivery.
  • The specification of a normal room temperature should be tuned on within an Air conditioning split unit.
  • Identifying the distance a normal object should be from its image so a lens can be properly focused for image rendering or capture.
  • Information retrieval from the average speed of a sports vehicle with graphic details of the mechanisms constituting to the overall well-being of the vehicle. It could also shift gears in complete automation.

The Importance of a Fuzzy based Logical System:

  1. It is quite readily understandable. The mathematical concepts are quite easy.
  2. It is much less rigid. More like extreme programming.
  3. It allows varied data computations.
  4. It can model non-linear functions of random difficulty.
  5. It can be built right on the understanding of professionals.
  6. In contrast to neural networks, which does take training data and produce opaque impenetrable models, fuzzy logic allows one rely on the professionalism of people who are familiar with a specific environment.

Limitations of Fuzzy Logic: There has to be a clear input way that maps to an output space. In the absence of this, an alternative should be explored. Nevertheless, an excellent grasp of Fuzzy logic principles makes easy a method of handling speedily and resourcefully issues surrounding imprecision and non-linearity.

Fuzzy and Non-Fuzzy based Problems:  Let’s take the instance of satisfaction of Patients in Lagos University Hospital (LUTH). What is the right numerical value to tip a Patient? The first step is to work through this issue via conventional (non-fuzzy) method, programming Matlab system commands that display linear and piecewise –linear similarities. This would then be succeeded via integrating into a fuzzy logic based model respectively.

Solution:  Assume a range of numbers between 0 and 10 displays quality of Health service in Lagos University Teaching Hospital, where 10 is equivalent to well done, what should the tip be?

Applying Non-fuzzy Approach

Let’s assume the easiest possible connection, Assume that the quality of health delivery is equivalent to 25% of the total bill, then:

Health.Service = 0:.5:10;

Delivery = 0.25*ones(size(Health.Service));

plot(Health.Service, Delivery);

xlabel(‘Delivery’); ylabel(‘Health.Service’);

ylim([0.05 0.50])


This diagram does take into cognizance, the quality of Health Service, therefore we just might want to add this variable to the mathematical model. Since, Health Service is ranked on the scale of 0 to 10, it is reasonable to place a ranking of bad service at 5% to 25% if the service is actually satisfactory. The new plot is elaborated below:


Delivery = (.20/10)* Health.Service +0.05;

plot(Health.Service, Delivery);

xlabel(‘Delivery’); ylabel(‘Health.Service’);

ylim([0.05 0.50])



The above Mathematical model does not incorporate tertiary factor such as drug delivery. Therefore, it would be wise to integrate this third variable to the logic design in extension to the Delivery range.

Now, given two range of numbers within 0 and 10, in the instance of 10 ranked from lowest to outstanding rating for Delivery and drug delivery correspondingly, what should the Health service be then? The following simply outlines the Mathematical Model using Matlab:


Drug = 0:.5:10;

[D,HS]=meshgrid(Drug, Health.Service);

Delivery = (0.20/20).*(HS+D)+0.05;


xlabel(‘ Health.Service ‘); ylabel(‘Drug’);zlabel(‘Delivery’);


…To be Continued.

About the Author: Oluwatobi Owoeye has over seventeen years’ experience in Computer Systems and Technologies with several evidence based results. He has worked in several Information Technology projects. A published Author and currently specializing in Robotics & Mobile Computing: Analytics, Computer Vision, Distributed & Parrallel Computing, and Machine Learning.

Published Books: Click Here

LinkedIn Professional Network: Click Here for LinkedIn Profile