What Is An Expert System Computer Science Essay

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

What is an expert system?

According to Durkin, an expert system is "A computer program designed to model the problem solving ability of a human expert". With the above discussion of experts in mind, the aspects of human experts that expert systems model are the experts.

• Knowledge

• Reasoning

History and Evolution

Before we begin to study development of expert systems, let us get some historical perspective about the earliest practical AI systems. After the so-called dark ages in AI, expert systems were at the forefront of rebirth of AI. There was a realization in the late 60’s that the general framework of problem solving was not enough to solve all kinds of problem. This was augmented by the realization that specialized knowledge is a very important component of practical systems.

People observed that systems that were designed for well-focused problems and domains out performed more ‘general’ systems. These observations provided the motivation for expert systems. Expert systems are important historically as the earliest AI systems and the most used systems practically. To highlight the utility of expert systems, we will look at some famous expert systems, which served to define the paradigms for the current expert systems.

Dendral (1960’s) Dendral was one of the pioneering expert systems. It was developed at Stanford for NASA to perform chemical analysis of Martian soil for space missions. Given mass spectral data, the problem was to determine molecular structure. In the laboratory, the ‘generate and test’ method was used; possible hypothesis about molecular structures were generated and tested by matching to actual data. There was an early realization that experts use certain heuristics to rule out certain options when looking at possible structures. It seemed like a good idea to encode that knowledge in a software system. The result was the program Dendral, which gained a lot of acclaim and most importantly provided the important distinction that Durkin describes as: ‘Intelligent behaviour is dependent, not so much on the methods of reasoning, but on the knowledge one has reason with.

MYCIN (mid 70s)

MYCIN was developed at Stanford to aid physicians in diagnosing and treating patients with a particular blood disease. The motivation for building MYCIN was that there were few experts of that disease, they also had availability constraints. Immediate expertise was often needed because they were dealing with a life threatening condition. MYCIN was tested in 1982. Its diagnosis on ten selected cases was obtained, along with the diagnosis of a panel of human experts. MYCIN compositely scored higher than human experts! MYCIN was an important system in the history of AI because it demonstrated that expert systems could be used for solving practical problems. It was pioneering work on the structure of ES (separate knowledge and control), as opposed to Dendral, MYCIN used the same structure that is now formalized for expert systems.

R1/XCON (late 70’s)

R1/XCON is also amongst the most cited expert systems. It was developed by DEC (Digital Equipment Corporation), as a computer configuration assistant. It was one of the most successful expert systems in routine use, bringing an estimated saving of $25million per year to DEC. It is a classical example of how an ES can increase productivity of organization, by assisting existing experts.

An expert system may be viewed as a computer simulation of a human expert. Expert systems are an emerging technology with many areas for potential applications. Past applications range from MYCIN, used in the medical field to diagnose infectious blood diseases, to XCON, used to configure computer systems. These expert systems have proven to be quite successful. Most applications of expert systems will fall into one of the following categories:

• Interpreting and identifying

• Predicting

• Diagnosing

• Designing

• Planning

• Monitoring

• Debugging and testing

• Instructing and training

• Controlling

Applications that are computational or deterministic in nature are not good candidates for expert systems. Traditional decision support systems such as spreadsheets are very mechanistic in the way they solve problems. They operate under mathematical and Boolean operators in their execution and arrive at one and only one static solution for a given set of data. Calculation intensive applications with very exacting requirements are better handled by traditional decision support tools or conventional programming. The best application candidates for expert systems are those dealing with expert heuristics for solving problems. Conventional computer programs are based on factual knowledge, an indisputable strength of computers. Humans, by contrast, solve problems on the basis of a mixture of factual and heuristic knowledge. Heuristic knowledge, composed of intuition, judgment, and logical inferences, is an indisputable strength of humans. Successful expert systems will be those that combine facts and heuristics and thus merge human knowledge with computer power in solving problems. To be effective, an expert system must focus on a particular problem domain, as discussed below.

Domain Specificity

Expert systems are typically very domain specific. For example, a diagnostic expert system for troubleshooting computers must actually perform all the necessary data manipulation as a human expert would. The developer of such a system must limit his or her scope of the system to just what is needed to solve the target problem. Special tools or programming languages are often needed to accomplish the specific objectives of the system.

Special Programming Languages

Expert systems are typically written in special programming languages. The use of languages like LISP and PROLOG in the development of an expert system simplifies the coding process. The major advantage of these languages, as compared to conventional programming languages, is the simplicity of the addition, elimination, or substitution of new rules and memory management capabilities. Some of the distinguishing characteristics of programming languages needed for expert systems work are:

• Efficient mix of integer and real variables

• Good memory-management procedures

• Extensive data-manipulation routines

• Incremental compilation

• Tagged memory architecture

• Optimization of the systems environment

• Efficient search procedures

Expert system structure

Having discussed the scenarios and applications in which expert systems may be useful, let us delve into the structure of expert systems. To facilitate this, we use the analogy of an expert (say a doctor) solving a problem. The expert has the following:

• Focused area of expertise

• Specialized Knowledge (Long-term Memory, LTM)

• Case facts (Short-term Memory, STM)

• Reasons with these to form new knowledge

http://blue.cs.ksi.edu/dl/video/cis509/images/f01xx06.gif

Knowledge Base

The knowledge base is the part of an expert system that contains the domain Knowledge i.e.

• Problem facts, rules

• Concepts

• Relationships

As we have emphasised several times, the power of an ES lies to a large extent in its richness of knowledge. Therefore, one of the prime roles of the expert system designer is to act as a knowledge engineer. As a knowledge engineer, the designer must overcome the knowledge acquisition bottleneck and find an effective way to get information from the expert and encode it in the knowledge base, using one of the knowledge representation techniques.

Working memory

The working memory is the ‘part of the expert system that contains the problem facts that are discovered during the session’ according to Durkin. One session in the working memory corresponds to one consultation. During a consultation:

• User presents some facts about the situation.

• These are stored in the working memory.

• Using these and the knowledge stored in the knowledge base, new information is inferred and also added to the working memory.

Inference Engine

The inference engine can be viewed as the processor in an expert system that matches the facts contained in the working memory with the domain knowledge contained in the knowledge base, to draw conclusions about the problem. It works with the knowledge base and the working memory, and draws on both to add new facts to the working memory. If the knowledge of an ES is represented in the form of IF-THEN rules, the Inference Engine has the following strategy: Match given facts in working memory to the premises of the rules in the knowledge base, if match found, ‘fire’ the conclusion of the rule, i.e. add the conclusion to the working memory. Do this repeatedly, while new facts can be added, until you come up with the desired conclusion.

Characteristics of expert systems

Having looked at the basic operation of expert systems, we can begin to outline desirable properties or characteristics we would like our expert systems to possess.ES have an explanation facility. This is the module of an expert system that allows transparency of operation, by providing an explanation of how the inference engine reached the conclusion. We want ES to have this facility so that users can have knowledge of how it reaches its conclusion. An expert system is different from conventional programs in the sense that program control and knowledge are separate. We can change one while affecting the other minimally. This separation is manifest in ES structure; knowledge base, working memory and inference engine. Separation of these components allows changes to the knowledge to be independent of changes in control and vice versa.

"There is a clear separation of general knowledge about the problem (the rules forming the knowledge base) from information about the current problem (the input data) and methods for applying the general knowledge to a problem (the rule interpreter).The program itself is only an interpreter (or general reasoning mechanism) and ideally the system can be changed simply by adding or subtracting rules in the knowledge base" (Duda).Besides these properties, an expert system also possesses expert knowledge in that it embodies expertise of human expert. If focuses expertise because the larger the domain, the more complex the expert system becomes, e.g. a car diagnosis expert is more easily handled if we make separate ES components for engine problems, electricity problems, etc. instead of just designing one component for all problems.

We have also seen that an ES reasons heuristically, by encoding an expert’s rules-of-thumb. Lastly, an expert system, like a human expert makes mistakes, but that is tolerable if we can get the expert system to perform at least as well as the human expert it is trying to emulate.

EXPLANATION OF MECHANISMS-

Inference mechanisms

In the examples we have looked at so far, we have looked informally at how the inference engine adds new facts to the working memory. We can see that many different sequences for matching are possible and that we can have multiple strategies for inferring new information, depending upon our goal. If we want to look for a specific fact, it makes no sense to add all possible facts to the working memory. In other cases, we might actually need to know all possible facts about the situation. Guided by this intuition, we have two formal inference mechanisms forward and backward chaining.

Forward Chaining

Let’s look at how a doctor goes about diagnosing a patient. He asks the patient for symptoms and then infers diagnosis from symptoms. Forward chaining is based on the same idea. It is an "inference strategy that begins with a set of

known facts, derives new facts using rules whose premises match the known facts, and continues this process until a goal sate is reached or until no further rules have premises that match the known or derived facts" (Durkin). As you will come to appreciate shortly, it is a data-driven approach.

Approach

1. Add facts to working memory (WM)

2. Take each rule in turn and check to see if any of its premises match the facts in the WM

3. When matches found for all premises of a rule, place the conclusion of the rule in WM.

4. Repeat this process until no more facts can be added. Each repetition of the process is called a pass.

We will demonstrate forward chaining using an example.

Doctor example (forward chaining)

Rules

Rule 1

IF the patient has deep cough

AND we suspect an infection

THEN the patient has Pneumonia

Rule 2

IF the patient’s temperature is above 100

THEN Patient has fever

Issues in forward chaining

Undirected search

There is an important observation to be made about forward chaining. The forward chaining inference engine infers all possible facts from the given facts. It has no way of distinguishing between important and unimportant facts. Therefore, equal time spent on trivial evidence as well as crucial facts. This is drawback of this approach and we will see in the coming section how to overcome this.

Conflict resolution

Another important issue is conflict resolution. This is the question of what to do when the premises of two rules match the given facts. Which should be fired first? If we fire both, they may add conflicting facts, e.g.

IF you are bored

AND you have no cash

THEN go to a friend’s place

IF you are bored

AND you have a credit card

THEN go watch a movie

If both rules are fired, you will add conflicting recommendations to the working memory.

Conflict resolution strategies

To overcome the conflict problem stated above, we may choose to use one of the following conflict resolution strategies:

• Fire first rule in sequence (rule ordering in list). Using this strategy all the rules in the list are ordered (the ordering imposes prioritization). When more than one rule matches, we simply fire the first in the sequence.

Assign rule priorities (rule ordering by importance). Using this approach we assign explicit priorities to rules to allow conflict resolution.

• More specific rules (more premises) are preferred over general rules. This strategy is based on the observation that a rule with more premises, in a sense, more evidence or votes from its premises, therefore it should be fired in preference to a rule that has less premises.

• Prefer rules whose premises were added more recently to WM (time stamping).

This allows prioritizing recently added facts over older facts.

• Parallel Strategy (view-points). Using this strategy, we do not actually resolve the conflict by selecting one rule to fire. Instead, we branch out our execution into a tree, with each branch operation in parallel on multiple threads of reasoning. This allows us to maintain multiple view-points on the argument concurrently.

Backward chaining

Backward chaining is an inference strategy that works backward from a hypothesis to a proof. You begin with a hypothesis about what the situation might be. Then you prove it using given facts, e.g. a doctor may suspect some disease and proceed by inspection of symptoms. In backward chaining terminology, the hypothesis to prove is called the goal.

Approach

1. Start with the goal.

2. Goal may be in WM initially, so check and you are done if found!

3. if not, then search for goal in the THEN part of the rules (match conclusions, rather than premises). This type of rule is called goal rule.

4. Check to see if the goal rule’s premises are listed in the working memory.

5. Premises not listed become sub-goals to prove.

6. Process continues in a recursive fashion until a premise is found that is not supported by a rule, i.e. a premise is called a primitive, if it cannot be concluded by any rule

7. When a primitive is found, ask user for information about it. Back track and use this information to prove sub-goals and subsequently the goal.

As you look at the example for backward chaining below, notice how the approach of backward chaining is like depth first search.

Backward chaining example

Consider the same example of doctor and patient that we looked at previously

Rules

Rule 1

IF the patient has deep cough

AND we suspect an infection

THEN the patient has Pneumonia

Rule 2

IF the patient’s temperature is above 100

THEN Patient has fever

Rule 3

IF the patient has been sick for over a fortnight

AND the patient has fever

THEN we suspect an infection

HEURISTIC REASONING

Human experts use a type of problem-solving technique called heuristic reasoning. Commonly called rules of thumb or expert heuristics, it allows the expert to arrive at a good solution quickly and efficiently. Expert systems base their reasoning process on symbolic manipulation and heuristic inference procedures that closely match the human thinking process. Conventional programs can only recognize numeric or alphabetic strings and manipulate them only in a pre-programmed manner. All expert systems are searching intensive. Many techniques have been employed to make these intensive searches more efficient. Branch and bound, pruning, depth-first search, and breadth-first search are some of the search techniques that have been explored. Because of the intensity of the search process, it is important that good search control strategies be used in the expert systems inference process.

USER INTERFACE

The initial development of an expert system is performed by the expert and the knowledge engineer. Unlike most conventional programs, in which only programmers can make program design decisions, the design of large expert systems is implemented through a team effort. A consideration of the needs of the end user is very important in designing the contents and user interface of expert systems.

Natural Language

The programming languages used for expert systems tend to operate in a manner similar to ordinary conversation. We usually state the premise of a problem in the form of a question, with actions being stated much as when we verbally answer the question, that is, in a ‘‘natural language’’ format. If, during or after a consultation, an expert system determines that a piece of its data or knowledge base is incorrect or is no longer applicable because the problem environment has changed, it should be able to update the knowledge base accordingly. This capability would allow the expert system to converse in a natural language format with either the developers or users.

Expert systems not only arrive at solutions or recommendations, but can give the user a level of confidence about the solution. In this manner, an expert system can handle both quantitative and qualitative factors when analyzing problems. This aspect is very important when we consider how inexact most input data are for day-to-day decision making. For example, the problems addressed by an expert system can have more than one solution or, in some cases, no definite solution at all. Yet the expert system can provide useful recommendations to the user just as a human consultant might do. The symbolic processing capabilities of AI technology lead to many potential applications in engineering and manufacturing. With the increasing sophistication of AI techniques, analysts are now able to use innovative methods to provide viable solutions to complex problems in everyday applications. Figure presents a structural representation of the application paths for artificial intelligence and expert systems.

Advantages

Compared to traditional programming techniques, expert-system approaches provide the added flexibility (and hence easier modifiability) with the ability to model rules as data rather than as code. In situations where an organization's IT department is overwhelmed by a software-development backlog, rule-engines, by facilitating turnaround, provide a means that can allow organizations to adapt more readily to changing needs.

In practice, modern expert-system technology is employed as an adjunct to traditional programming techniques, and this hybrid approach allows the combination of the strengths of both approaches. Thus, rule engines allow control through programs (and user interfaces) written in a traditional language, and also incorporate necessary functionality such as inter-operability with existing database technology.

http://www.freepatentsonline.com/6738928-0-large.jpg

Fig. of roadmap applications of expert systems

Disadvantages of Expert System-

Common sense - In addition to a great deal of technical knowledge, human experts have common sense. It is not yet known how to give expert systems common sense.

Creativity - Human experts can respond creatively to unusual situations, expert systems cannot.

Learning - Human experts automatically adapt to changing environments; expert systems must be explicitly updated. Case-based reasoning and neural networks are methods that can incorporate learning.

Sensory Experience - Human experts have available to them a wide range of sensory experience; expert systems are currently dependent on symbolic input.

Degradation - Expert systems are not good at recognizing when no answer exists or when the problem is outside their area of expertise.

Agents

Agents are programs that help a user accomplish tasks. Today in operating systems such as Windows, agents are used to accomplish tasks such as running virus detection software and downloading files automatically for you. However, you may already be making use of Agents −− without knowing it! One example: you log onto your computer, doing research. You open up your web browser, and go to your favourite search engine −− say AltaVista or Excite. You type text into the search text box and hit enter, and a list of results are displayed. Have you ever wondered where the results came from? An agent called a webspider searched through the internet, finding these sites. What webspiders do is traverse links −− they travel from site to site, exploring the different sites that sites link to, and adding them to the database. In this way, search engine databases are always expanding itself.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now