Name:Lan Vu
Date:9/27/2007
Course ID: CSC 5682
Semester:Fall 2007
Create a computer simulation of a forward chaining rule based system, including a set of rules, inference engine, data, and conflict resolution strategy. |
Define the domain
My project is a Loan Evaluation system which is a rule based expert system for evaluation of loan request. This system is a simplified model of “Rule Based Loan Evaluation Expert System” introduced by [3].
The purpose of system is to evaluate the loan request. Inference engine works forward chaining to achieve this purpose. In this system, I just concern about the loan evaluation function (using forward chaining) and omit the sensitivity analysis function (using backward chaining) of original system.
Using this system will help to solve the problems that caused by previous evaluation procedure such as:
Rule Lists
In order to perform loan evaluation task, the inference engine works forward chaining based on criteria. These criteria create a system of rules for inference. The following image shows the hierarchy of evaluation criteria:
A part of rule sets can be shown as the following tables:
Rule set 1:
IF |
THEN |
|
Employment level |
Service level To citizens |
Consistent with social needs |
High |
High |
High |
Low |
Medium |
Medium |
Low |
Low |
Low |
… |
… |
... |
Rule set 2:
IF |
THEN |
||
Short period of return on investment |
Ability of export > 0.5 (US dollar) |
Consistent with social needs |
Consistent with economical strategies |
Less than 3 years |
million > 0.5 |
High |
Good |
Less than 3 years |
million > 0.5 |
Medium |
Good |
Less than 3 years |
million > 0.5 |
Low |
Good |
Less than 3 years |
Between 0.2 to 0.5 |
High |
Good |
Less than 3 years |
Between 0.2 to 0.5 |
Medium |
Good |
Less than 3 years |
Between 0.2 to 0.5 |
Low |
Medium |
… |
… |
… |
… |
Rule set 3:
IF |
THEN |
||
Regional development level |
Innovative with new idea |
Ability to socialize the technology |
Consistent with national Development strategies |
High |
Yes |
Yes |
Good |
Medium |
No |
Yes |
Medium |
Low |
No |
No |
Bad |
… |
… |
… |
… |
Rule set 4:
IF |
THEN |
||
Consistent with economical strategies |
Consistent with environment and nature |
Consistent with National development strategies |
Consistent with bank strategies |
Good |
Good |
Good |
Good |
Medium |
Good |
Low |
Medium |
Low |
Medium |
Medium |
Medium |
… |
… |
… |
… |
Rule set 5:
IF |
THEN |
|||
Consistent withbank strategies |
Technical feasibility |
Economical feasibility |
… |
Request Status |
Good |
Yes |
Yes |
… |
Yes |
Medium |
Yes |
No |
… |
No |
Low |
No |
Yes |
… |
Yes |
… |
… |
… |
… |
… |
and the rest of rule sets …
The design of the system
The procedure to make decision regarding the loan request is shown the below image:
In this procedure, the role of expert system performs in modeling step. Structure of this expert system is shown in the following image:
Inference process: Inference engine works forward chaining
Knowledge Base Structure:
In my system, a rule can have one consequence and multiple antecedents joined by keyword AND
IF < antecedent 1 > AND < antecedent 2 > …. THEN < consequent>
So, Rule data is stored in two separate tables including a main table and a sub table.
Criteria table:
Name |
Data Type |
Description |
CriteriaID |
Integer |
Primary key |
CriteriaName |
String |
|
MainRules table:
Name |
Data Type |
Description |
RuleID |
Integer |
Primary key |
Consequent |
Integer |
|
Value |
Integer |
|
SubRules table:
Name |
Data Type |
Description |
SubRuleID |
Integer |
Primary key |
RuleID |
Integer |
|
Antecedent |
Integer |
|
Value |
Integer |
|
Explain how your system decides which rules are triggered on any one cycle, and how it picks a particular rule to fire
On any one cycle, rules not fired will be triggered if their antecedents match facts in working memory. If there is no rule found, the inference progress stops. Otherwise, topmost rule in the conflict rule set will be fired if there is more than one rule found.
Explain whether the "facts" in your system are binary (assigned only true or false) -- are there any variations? (fuzziness? confidence factors? probability?).
There are some binary facts in my system (such as the fact “Request Status”) but most of them have three or more value (For example: the values of the fact “Consistent with social needs” include high, medium and low)
The major limitations of system
It is difficult to extract the knowledge of experts in the form of rules
The time needed for processing the rules exponentially increase as the number of rules increase.
References