Skip to main content

Fuzzy Logic - Approximate Reasoning

the different modes of approximate reasoning −

Categorical Reasoning

In this mode of approximate reasoning, the antecedents, containing no fuzzy quantifiers and fuzzy probabilities, are assumed to be in canonical form.

Qualitative Reasoning

In this mode of approximate reasoning, the antecedents and consequents have fuzzy linguistic variables; the input-output relationship of a system is expressed as a collection of fuzzy IF-THEN rules. This reasoning is mainly used in control system analysis.

Syllogistic Reasoning

In this mode of approximation reasoning, antecedents with fuzzy quantifiers are related to inference rules. This is expressed as −

x = S1A′s are B′s

y = S2C′s are D′s

------------------------

z = S3E′s are F′s

Here A,B,C,D,E,F are fuzzy predicates.

  • S1 and S2 are given fuzzy quantifiers.

  • S3 is the fuzzy quantifier which has to be decided.

Dispositional Reasoning

In this mode of approximation reasoning, the antecedents are dispositions that may contain the fuzzy quantifier “usually”. The quantifier Usually links together the dispositional and syllogistic reasoning; hence it pays an important role.

For example, the projection rule of inference in dispositional reasoning can be given as follows −

usually( (L,M) is R ) ⇒ usually (L is [R ↓ L])

Here [R ↓ L] is the projection of fuzzy relation R on L

Fuzzy Logic Rule Base

It is a known fact that a human being is always comfortable making conversations in natural language. The representation of human knowledge can be done with the help of following natural language expression −

IF antecedent THEN consequent

The expression as stated above is referred to as the Fuzzy IF-THEN rule base.

Canonical Form

Following is the canonical form of Fuzzy Logic Rule Base −

Rule 1 − If condition C1, then restriction R1

Rule 2 − If condition C1, then restriction R2

.

.

.

Rule n − If condition C1, then restriction Rn

Interpretations of Fuzzy IF-THEN Rules

Fuzzy IF-THEN Rules can be interpreted in the following four forms −

Assignment Statements

These kinds of statements use “=” (equal to sign) for the purpose of assignment. They are of the following form −

a = hello

climate = summer

Conditional Statements

These kinds of statements use the “IF-THEN” rule base form for the purpose of condition. They are of the following form −

IF temperature is high THEN Climate is hot

IF food is fresh THEN eat.

Unconditional Statements

They are of the following form −

GOTO 10

turn the Fan off

Linguistic Variable

We have studied that fuzzy logic uses linguistic variables which are the words or sentences in a natural language. For example, if we say temperature, it is a linguistic variable; the values of which are very hot or cold, slightly hot or cold, very warm, slightly warm, etc. The words very, slightly are the linguistic hedges.

Characterization of Linguistic Variable

Following four terms characterize the linguistic variable −

  • Name of the variable, generally represented by x.
  • Term set of the variable, generally represented by t(x).
  • Syntactic rules for generating the values of the variable x.
  • Semantic rules for linking every value of x and its significance.

Propositions in Fuzzy Logic

As we know that propositions are sentences expressed in any language which are generally expressed in the following canonical form −

s as P

Here, s is the Subject and P is Predicate.

For example, “Delhi is the capital of India”, this is a proposition where “Delhi” is the subject and “is the capital of India” is the predicate which shows the property of subject.

We know that logic is the basis of reasoning and fuzzy logic extends the capability of reasoning by using fuzzy predicates, fuzzy-predicate modifiers, fuzzy quantifiers and fuzzy qualifiers in fuzzy propositions which creates the difference from classical logic.

Propositions in fuzzy logic include the following −

Fuzzy Predicate

Almost every predicate in natural language is fuzzy in nature hence, fuzzy logic has the predicates like tall, short, warm, hot, fast, etc.

Fuzzy-predicate Modifiers

We discussed linguistic hedges above; we also have many fuzzy-predicate modifiers which act as hedges. They are very essential for producing the values of a linguistic variable. For example, the words very, slightly are modifiers and the propositions can be like “water is slightly hot.”

Fuzzy Quantifiers

It can be defined as a fuzzy number which gives a vague classification of the cardinality of one or more fuzzy or non-fuzzy sets. It can be used to influence probability within fuzzy logic. For example, the words many, most, frequently are used as fuzzy quantifiers and the propositions can be like “most people are allergic to it.”

Fuzzy Qualifiers

Let us now understand Fuzzy Qualifiers. A Fuzzy Qualifier is also a proposition of Fuzzy Logic. Fuzzy qualification has the following forms −

Fuzzy Qualification Based on Truth

It claims the degree of truth of a fuzzy proposition.

Expression − It is expressed as x is t. Here, t is a fuzzy truth value.

Example − (Car is black) is NOT VERY True.

Fuzzy Qualification Based on Probability

It claims the probability, either numerical or an interval, of fuzzy proposition.

Expression − It is expressed as x is λ. Here, λ is a fuzzy probability.

Example − (Car is black) is Likely.

Fuzzy Qualification Based on Possibility

It claims the possibility of fuzzy proposition.

Expression − It is expressed as x is π. Here, π is a fuzzy possibility.

Example − (Car is black) is Almost Impossible.




Anurag Rana

Comments

Popular posts from this blog

JAVA Scrollbar, MenuItem and Menu, PopupMenu

ava AWT Scrollbar The  object  of Scrollbar class is used to add horizontal and vertical scrollbar. Scrollbar is a  GUI  component allows us to see invisible number of rows and columns. AWT Scrollbar class declaration public   class  Scrollbar  extends  Component  implements  Adjustable, Accessible   Java AWT Scrollbar Example import  java.awt.*;   class  ScrollbarExample{   ScrollbarExample(){               Frame f=  new  Frame( "Scrollbar Example" );               Scrollbar s= new  Scrollbar();               s.setBounds( 100 , 100 ,  50 , 100 );               f.add(s);               f.setSize( 400 , 400 );               f.setLayout( null );               f.setVisible( true );   }   public   static   void  main(String args[]){           new  ScrollbarExample();   }   }   Output: Java AWT Scrollbar Example with AdjustmentListener import  java.awt.*;   import  java.awt.event.*;   class  ScrollbarExample{        ScrollbarExample(){               Frame f=  new  Frame( "Scro

Difference between net platform and dot net framework...

Difference between net platform and dot net framework... .net platform supports programming languages that are .net compatible. It is the platform using which we can build and develop the applications. .net framework is the engine inside the .net platform which actually compiles and produces the executable code. .net framework contains CLR(Common Language Runtime) and FCL(Framework Class Library) using which it produces the platform independent codes. What is the .NET Framework? The Microsoft .NET Framework is a platform for building, deploying, and running Web Services and applications. It provides a highly productive, standards-based, multi-language environment for integrating existing investments with next-generation applications and services as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class librari

C++ this Pointer, static, struct and Enumeration

C++ this Pointer In C++ programming,  this  is a keyword that refers to the current instance of the class. There can be 3 main usage of this keyword in C++. It can be used  to pass current object as a parameter to another method. It can be used  to refer current class instance variable. It can be used  to declare indexers. C++ this Pointer Example Let's see the example of this keyword in C++ that refers to the fields of current class. #include <iostream>    using   namespace  std;   class  Employee {       public :           int  id;  //data member (also instance variable)               string name;  //data member(also instance variable)            float  salary;          Employee( int  id, string name,  float  salary)             {                   this ->id = id;                  this ->name = name;                  this ->salary = salary;            }             void  display()             {                 cout<<id<< "  " <<name<&