One legacy artificial and machine learning technology is fuzzy logic. Traditional and classical logic typically categorize information into binary patterns such as: yes/no, true/false, or day/night. Fuzzy logic instead focuses on characterizing the space between these black-or-white scenarios. 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.

An Example: Joe is a tall person

Analysis: This is only true if Joe’s height is above the height that we call tall. But how high is tall? This is a value that we cannot accurately judge. A tall person is not the same height as a tall building. The traditional mathematical remedy to this problem involves the use of a range, illustrated below:

A tall person is over 6′ 2″.

In other words, a short person is under 6′ 2″.

So the statement “people over 6′ 2” are tall is true”, makes the statement “people under 6′ 2” are short” true.

In this example, the range of height of short people is zero to 6′ 2″ and the range of tall people is 6′ 2″ to infinity. In logic systems, these ranges are usually called Sets containing Elements — in this case heights.

The conclusion (true or false) denotes whether the element is a member of the set, which in Boolean logic systems is commonly abbreviated to 1 (for True) and 0 (for False).

Consider the following group of people:


The sets, Tall and Short, are defined when 1 indicates True and 0 indicates False. The membership of each person to each set is summarized in the third and fourth columns.

Looking carefully at the heights, clearly, Joe is tall and Sandy is short as indicated by their membership in the sets. However, Sue and Gary are almost the same height as Joe, although Joe is described as tall and Gary and Sue are short. In this case those two inches between Gary and Sue have had the same effect as the nine inches between Joe and Sandy. This is a main drawback of Boolean logic when used in realistic situations.

If Sue is nearly the same height as Joe, then common sense would say that they are both of a similar height, therefore what applies to Joe should also apply similarly to Sue. Quite clearly, there is a difference between Boolean logic and human thinking. The Boolean logic states that Sue and Joe must be either tall or short and nowhere in between, whereas a human would interpret the situation differently.

The reason for this discrepancy involves the label “tall”. As our language develops, the meaning applied to tall develops to recognize different degrees of tallness. This recognition is not mathematically founded, in that there is no precise formula to calculate tallness, rather the language accommodates the many heights that apply to the tall label. This technique is used throughout our lives, allowing humans to generalize about situations.

Many of the big problems in organizations cannot be solved by simple yes/no or black/white programming answers. Sometimes answers come in shades of gray, this is where fuzzy logic proves useful. Fuzzy logic handles imprecision or uncertainty by attaching various measures of credibility to propositions.

Neural networks, data mining, case-based reasoning (CBR), and business rules can benefit from fuzzy logic.  For example, fuzzy logic can be used in CBR to automatically cluster information into categories which improve performance by decreasing sensitivity to noise and outliers.  Fuzzy logic also allows business rule experts to write more powerful rules.  Here is an example of a rule that has been rewritten to leverage fuzzy logic.

When the number of cross border transactions is high and the transaction occurs in the evening then the transaction may be suspicious.

Smart Agents technology works with legacy software tools to overcome the limits of the legacy machine learning technologies to allow personalization, adaptability and self-learning.