Forward chaining.
- It is also known as data driven inference technique.
- Forward chaining matches the set of conditions and infer results from these conditions. Basically, forward chaining starts from a new data and aims for any conclusion.
- It is bottom up reasoning.
- It is a breadth first search.
- It continues until no more rules can be applied or some cycle limit is met.
- For example: If it is cold then I will wear a sweater. Here “it is cold is the data” and “I will wear a sweater”is a decision. It was already known that it is cold that is why it was decided to wear a sweater, This process is forward chaining.
- It is mostly used in commercial applications i.e event driven systems are common example of forward chaining.
- It can create an infinite number of possible conclusions.
Code
#include<iostream.h>
#include<conio.h>
char database[4][10]={"Croaks","Eat Flies","Shrimps","Sings"};
char knowbase[4][10]={"Frog","Canary","Green","Yellow"};
int k=0,x=0;
void display();//display text
void main()
{
clrscr();
cout<<"*-----Forward--Chaning-----*";
display();
cout<<" \n";
if(x==1 || x== 2)
{
cout<<" Chance Of Frog ";
}
else if(x==3 || x==4)
{
cout<<" Chance of Canary ";
}
else
{
cout<<"\n-------In Valid Option Select --------";
}
if(x>=1 && x<=4)
{
cout<<"\n X is "<<database[x-1];
cout<<"\n Color Is 1.Green 2.Yellow";
cout<<"\n Select Option ";
cin>>k;
if(k==1 && (x==1 || x==2))//frog0 and green1
cout<<" yes it is "<<knowbase[0]<<" And Color Is "<<knowbase[2];
else if(k==2 &&(x==3 || x==4))//canary1 and yellow3
cout<<" yes it is "<<knowbase[1]<<" And Color Is "<<knowbase[3];
else
{
cout<<"\n---InValid Knowledge Database";
}
}
getch();
}
void display()
{
cout<<"\n X is \n1.Croaks \n2.Eat Flies \n3.shrimps \n4.Sings ";
cout<<"\n Select One ";
cin>>x;
}OUTPUT
Forward Chaining

(Visited 2,605 times, 1 visits today)
Written by: