The Intuitive Algorithm Applications for Expert Systems

Artificial Intelligence for accessing data. The use of the personal computer has become a world-wide phenomenon, enabling people everywhere to improve the quality of their work. Initial applications focused on financial accounting, word processing and spread sheets. Recently, the Internet opened opportunities to access information from computer databases in a wide variety of fields. The use of key-words now enable people to locate topics of interest. But, in fields where specialized words are used, the user needs to know the exact word to locate a subject. Expertise is essentially the knowledge of the exact word that defines a problem - such as the name of a disease which exhibits a group of symptoms. Expert systems can locate a problem from a description of such symptoms. They can play a major role in assisting people to locate vitally needed information. But, expert systems should be fast and they should avoid stupid questions.

A wide field of possibilities. Expert systems can assist millions of users to access key information regarding computer software, which grows more complex by the day. The legal aspects of commercial activities cover taxation, company law and constitutional law. Speedy access to particular case laws is a vital need for the legal profession. Computer diagnosis of diseases can assist hospitals, general practitioners and students to find vital information in specialized fields. Expert systems can guide staff in large organizations which have thousands of pages of manuals concerning complex procedures. Diagnostics can assist in problems related to machinery and equipment. In all these fields, existing manuals can be entered into expert systems if only the process was fairly simple and straightforward.

Simplification of procedures. Traditional expert systems require knowledge engineers, who understand the logical reasoning in a diagnostic session and can encode this logic into "If, then, else" rules. When the database is large, questioning priorities may need to be supported by probability estimates of likely questions or heuristic assessment of enquiry directions. Such rule based systems also become complex and intractable when the size of the knowledge base expands. This section describes an Expert System Shell based on the Intuitive Algorithm (IA). The IA shell requires merely the categorized entry of data and the design of questions which can identify these categories. The shell isolates categories, taking uncertainty into account - a question may or may not identify a particular category. The shell avoids the perennial AI problem of asking stupid questions. The shell prioritises questions and produces answers based on the IA elimination process.

General terminology. The Shell follows a certain terminology in its diagnostic processes. There are: Objects. Objects have Properties. Properties suffer Alterations. Alterations are induced by Causes. The Relationship between Causes and Alterations form Patterns. Causes, Alterations and the Patterns of their Relationships are stored in the memory of an Expert System.

Typical Applications

Object: Person. Property: Health. Alteration: Symptom. Cause: Disease. Objective: Recognize Disease from an evaluation of Symptoms, using the Pattern of their Relationships.

Object: Legal Entity. Property: Freedom. Alteration: Civil Activity. Cause: Legislation, or Case Laws. Objective: Identify Legislation or Case Laws, from an evaluation of Civil Activities, using the Pattern of their Relationships.

The Shell Program. An Expert inputs Knowledge into the Shell Program to create an User Program. The User inputs Y/N answers to onscreen Alteration Queries which help to identify Causes. The general functions are as follows:

Type Names. A 40 Character Alteration Type Name and Cause Type Name for data entry reference. For a Medical Program: Alteration Type Name = Symptom. Cause Type Name = Disease. Further references in the Program will be to Symptom and Disease.

Alterations.  A 20 Character Alteration Name. An 80 Character Question to User. Each screen holds 64 Alteration Entries, so that the Expert can have a global view of the questioning process.  A 4000 Character description screen permits the end user to obtain details concerning the question covered by the Alteration. All data entry can be edited.

Causes. A 20 Character Cause Name. An 80 Character Identifying Statement. Each screen holds 64 Cause entries. A 4000 Character description screen permits the end user to obtain details of the Cause. All data entry can be edited.

Hypertext. The Shell allows the Expert to  create hypertext links between Causes, allowing the User to search through the database, by clicking on highlighted words.

Relationships. The Shell screen permits the entry of the Relationship between an Alteration and a Cause. Yes/No/Maybe entries can be entered with a single keystroke. "Yes" is entered when the Alteration is positively present for the Cause and absence of the Alteration clearly indicates absence of the Cause. "No" is entered when the Alteration is absent for the Cause and presence of the Alteration indicates that this Cause can be eliminated from further consideration. "Maybe" is entered when presence, or absence of the Alteration does not indicate presence or absence of the Cause.

Preparation of the expert system. The Shell is designed to enable the Expert to view the global range of Causes and design Alteration questions which efficiently slice the matrix of Causes in multiple directions. Other inputs include the Title of the Expert System, Introductory opening screens and Menu screens. Data in the completed program is compressed and the program is compiled producing a .EXE file.

User interaction.  The User is presented with the option to carry out a word search, a menu search, or an expert system search. The expert system choice presents the User with a sequence of questions, with Yes/No/Skip options to arrive at a list of Probable Causes. The User can get further details of each selected Cause to verify the diagnosis. The User can also backtrack the questioning process and alter the Y/N/S entries.

The process. An "Yes" answer eliminates all Causes which have been entered with a "No" relationship to the Alteration question. A "No" answer eliminates all Causes which have been entered with a "Yes" relationship to the Alteration question. The program chooses questioning priority by selecting Alteration with highest number of "Y" relationships. The program also eliminates all Alteration questions, which have "Y" relationships only to eliminated Causes. When there are less than 4 remaining Causes, the program presents a list of Probable Causes.

Unlimited rules. Since it is not necessary to design complex reasoning chains, there is no theoretical limit to the size of the database which can be handled by the IA system. Each Cause is eliminated based on a logical relationship. Such logical relationships are entered as "rules" in the traditional expert system. While such systems will be prone to error when the number of rules exceed a thousand, the IA system can accurately work with even a hundred thousand rules. This opens the possibility of using AI in voluminous subjects which have never been attempted because of the complexity of rule based expert systems.

Uncertainty. An extremely powerful part of the program is its ability to handle questions which may or may not have an impact on the outcome. A particular symptom may or may not be present for a disease. The program will still eliminate those diseases which have a positive or negative impact, depending on the answer. In spite of the uncertainty, the elimination proceeds with power. The ability to deal logically with uncertainty is an exceptional feature, which is not present in any other type of computer based logic.

Stupid questions. If an answer clearly indicates the absence of a related disease, a further question which indicates the disease is called a "stupid question". Traditional expert systems struggle with the problem of trying to avoid stupid questions. In the IA system, when a Cause is eliminated, the program also eliminates any Alteration question which has a "Y" relationship only to the Cause. So, the program will never ask a stupid question and the expert does not need to design the program to cover this eventuality.

Commercial value and optimal size. Speedy access to data has a commercial value in all those areas where people routinely use computers. Expert systems which use IA can provide a third level of help for commercial computer programs. The experience of the author is that expert systems, which solve problems in other areas, require an optimal size to be of value. They should not appear to be toys. Speedy access to all the information in a 400 page manual may not enthuse users. They may consider such information to be basic. A 3000 page data base may be considered more useful. In India, Constitutional Law can be summed up in about 400 pages. Related case laws may cover 10,000 pages. A law practitioner may consider the extraction of a Constitutional Law Provision as too basic, but would value the extraction of a related Case Law. An expert system may be planned only for areas of commercial value and should be of optimal size.

Unrealized potential. AI researchers have tended to focus on the need for codification of knowledge from experts. But in all commercially viable fields in today's world, expertise is already recorded in research papers, reference books and manuals. It is more practical to design an expert system from published data and use the expert only to verify the accuracy of the data and the acceptability of the questions. The lack of availability of a wide range of expert systems for public use is a clear indication of the rule size limitations, complexity and impracticality of current rule based expert systems. There is an urgent need for the use of practical AI solutions in thousands of areas for problems which people encounter in their daily lives.