Wednesday, September 2, 2009

Developing An Expert System

There are 10 steps involved in the development of an expert system. They are :

1. Identify the problem and need

An expert system is a solution looking for a problem. To justify the creation of an expert system, there must be a real problem to solve or need to meet. The first step is to examine the situation and determine what the problem is, or why this system may be helpful.

2. Determine the suitability of the problem

Examine the problem in detail, and see if an expert system would be a solution to it. To take advantage of an expert system, the user must have a computer, or at least access to one.

3. Consider the Alternatives

If the problem can be solved without going for an expert system, then do consider that option. For instance, employee performance problems may be corrected by training. Or the employees may be provided with written information they need, in manuals or job aid. A DBMS Database management system can be an alternate solution to the problem.

4. Compute the ROI

If you still choose to go for an expert system, then the next step is to determine if it is economically feasible. You must compute the ROI, return on your investment, by performing a cost/benefit analysis. This will help you estimate the cost of creating the expert system and determine whether its cost can be justified in terms of the savings or other benefits it produces.

Developing an expert system is not a simple job. It is going to cost a considerable amount, not only in the purchase of software but in the hours it will take to create the system. Even the simplest of expert systems will take months to develop and cost thousands of dollars. Is the problem to be solved important enough to make the investment? To compute the ROI, estimate the expert system development cost. Then determine the savings that will result in using the expert system.

5. Select a Development tool

An expert system development tool is a software package that allows you to enter an expert's knowledge into the computer without having to program. Identify the available tools and select the one that fits your needs.

6. Perform the Knowledge Engineering

Development of an expert system begins with knowledge engineering. Knowledge comes in many forms. It can be standard text book knowledge that you can dig out of books, articles, and other references. However the real knowledge will come from individuals, or experts in that field. You must locate one or more experts, who are willing to spend their time on the project.
You will have to select a particular knowledge representation scheme, according to the format of the knowledge. Most knowledge can be represented in the production rule form.

7. Design the System

By now you would have acquired the knowledge and selected the tool, so you can now begin working on the design of the expert system. Create an outline, a hierarchy of a flow chart, a matrix, decision table that will help you organize and understand the knowledge. Now convert the knowledge into IF-THEN rules, using those aids. Once the basic design is complete, you can begin using the tool to create a prototype of one segment of the system. Translate a portion of the knowledge into rules and test the newly created segment. Test the concept before going ahead with the entire program.

8. Complete the Development

Once you are satisfied that the system will work correctly, you can begin expanding your prototype into the final project. Expand the prototype one segment at a time.
The knowledge will divide itself into logical "chunks", each with a block of rules. Test each new segment as it is added to see that it works with the original prototype.

9. Test and Debug the System

After developing the expert system, you will have to test and debug it. No expert system will be perfect the first time, and a considerable amount of work will be required to validate it. Try out your expert system on its intended users. User feedback will show you where to make final changes, corrections, and additions to get the desired performance.

10. Maintain the System

Domains are not always static. It is important to maintain, and update the expert system with new knowledge, and remove knowledge that is no longer applicable to the program.

No comments:

Post a Comment

Search Techno Talk

Google Groups
Subscribe to Techno Talk
Email:
Visit this group