Вы находитесь на странице: 1из 6

Artificial Intelligence and Expert Systems - Artificial Intelligence (AI) is a branch of computer science, which focuses on the development

of computer systems to simulate the processes of problem solving and duplicate human brain functions. Expert systems (ES) are a category of programs based on the theory and methods of artificial intelligence. The first expert systems appeared in the late sixties. Today, they exist in many forms, from medical diagnosis to investment analysis and from counseling to production control. Due to the advances of the last decade, today's expert systems users can choose from dozens of commercial software packages. At present, we accept as routine such expert systems as weather forecasting, online mapping and driving directions, diagnostic systems for automotive repair shops, and so on. Many large corporations use expert systems in their business. The list of the companies using expert systems technology is long and varied: NASA, HP, Lockheed, Boing, DaimlerChrysler AG, various power, gas and oil stations, etc.

EXPERT SYSTEMS BUILDING TOOLS: DEFINITIONS


An expert system tool, or shell, is a software development environment containing the basic components of expert systems. Associated with a shell is a prescribed method for building applications by configuring and instantiating these components. Some of the generic components of a shell are shown in Figure 3.1 and described below. The core components of expert systems are the knowledge base and the reasoning engine.

Figure 3.1. Basic Components of Expert System Tools 1. Knowledge base: A store of factual and heuristic knowledge. An ES tool provides one or more knowledge representation schemes for expressing knowledge about the application domain. Some tools use both frames (objects) and IF-THEN rules. In PROLOG the knowledge is represented as logical statements. 2. Reasoning engine: Inference mechanisms for manipulating the symbolic information and knowledge in the knowledge base to form a line of reasoning in solving a problem. The inference mechanism can range from simple modus ponens backward chaining of IF-THEN rules to case-based reasoning. 3. Knowledge acquisition subsystem: A subsystem to help experts build knowledge bases. Collecting knowledge needed to solve problems and build the knowledge base continues to be the biggest bottleneck in building expert systems.

4. Explanation subsystem: A subsystem that explains the system's actions. The explanation can range from how the final or intermediate solutions were arrived at to justifying the need for additional data. 5. User interface: The means of communication with the user. The user interface is generally not a part of the ES technology, and was not given much attention in the past. However, it is now widely accepted that the user interface can make a critical difference in the perceived utility of a system regardless of the system's performance.

The expert system development life cycle


Distinctive features of expert systems - 1 y The process of gathering the knowledge to stock the expert system's knowledge base knowledge acquisition - has proved to be the most difficult component of the knowledge engineering process. y It's become known as the 'knowledge acquisition bottleneck', and expert system projects are more likely to fail at this stage than any other. y Knowledge acquisition almost always involves extracting knowledge from someone who is expert in the field concerned - a domain expert. This process - knowledge elicitation involves a variety of interview and non-interview techniques. Distinctive features of expert systems 2 l 1. Expert systems require particular attention to the human-computer interface. y User interfaces for expert systems are more troublesome, and harder to develop, than those of conventional pieces of software. y This is because, for various reasons, the interactions between computer and user are more complex than those involved in a conventional piece of software. y For instance: y Conventional software typically performs some task, perhaps in interaction with the user. Expert systems typically assist with decision-making about how a task is to be tackled, and this means that the information that must be exchanged between the system and the user is more complex. y Different users differ in the sorts of problem-solving style they prefer Distinctive features of expert systems 3 l Expert systems projects require special approaches to software management. y The methodologies used to build expert systems have been shaped by the problems with knowledge acquisition, described earlier. y For a long time, the favourite development methodology was rapid prototyping. (Cyclical development means more or less the same thing). y In the mid-1980s, this approach came under criticism, because it appeared to have all the shortcomings of the unstructured approaches which had been used, with very poor results, in the early days of mainstream software. y But the Structured Systems Analysis & Design methodologies did not seem to be appropriate, because of the differences between knowledge and data. y As a result, special-purpose development methodologies for knowledge engineering were developed. The most well known is KADS, which was developed at the University of Amsterdam, as part of the ESPRIT programme, in co-operation with several European partners. y Nevertheless, many practitioners have not heard of KADS, or have rejected it, and continue to use rapid prototyping. y Both KADS and a more conventional approach are described below

Cyclical d
y

In the 1980s (and be e the fav te approach, was based on rapid prototyping (also known as cyclical development or evolutionary prototyping).

get a prototype - a small, preliminary version of the final system - up & running at an early stage; present this to the domain e pert, for criticism; proceed to refine this prototype with repeated debugging & knowledge accretion stages; continue with this cycle until the knowledgebase is finished.

y y

y y

Step-1 knowledge ac uision:-1. Preliminary e ploration of field - initial k.e. interviews.2. Correct & e pand the knowledge on the basis of the D.E. s comments

ect & e pand the knowledge on the basis Step-2:


Prototype development:-1. Build a small system containing a few of the features.2. Add more features, and debug e isting features.3. Correct & e pand the knowledge on the basis of the D.E. s comments.3. Add more features, and debug e isiting features

The essential principles




l p

Step-3: Prototype critiquing:-Present the prototype to the domain expert for him/her to criticise and improve.2. Present the revised prototype to the domain expert for him/her to criticise and improve
y

This has the advantage that the KE is able to show early progress in the Knowledge elicitation task. It also generates enthusiasm in the domain expert.

The expert system development lifecycle


l l

The expert system development lifecycle, as described by Turban Turban (1993) identifies the following phases and sub-phases in the development of an expert system. This is probably a good account of the way knowledge engineering projects are currently organised in America.

Phase 1: Project initialisation 1.Problem definition 2.Needs assessment 3.Evaluation of alternative solutions 4.Verification that an ES approach is appropriate
l l l

5 Consideration of management issues Comment on Phase 1: it's important to discover what problem/problems the client expects the system to solve for them, and what their real needs are. The problem may very well be that more knowledge is needed in the organisation, but there may be other, better ways to provide it. 'Management issues' include availability of finance, legal constraints, and finding a 'champion' in top management. Phase 2: System analysis & design Produce conceptual design Decide development strategy Decide sources of knowledge, and ensure Select computer resources Perform a feasibility study Perform a cost-benefit analysis co-operation

l l l l l l l

l l

Comment on Phase 2: the 'conceptual design' will describe the general capabilities of the intended system, and the required resources. The problems of selecting software, and finding a domain expert (and persuading him/her to co-operate) have been discussed in the last two lectures. Phase 3: Prototyping Build a small prototype Test, improve and expand it Demonstrate and analyse feasibility Complete the design Comments on Phase 3: Comments: See below on the question of what exactly this prototype is used for. It's important to establish the feasibility (economic, technical and operational) of the system before too much work has been done, and it's easier to do this if a prototype has been built. Phase 4: System development Build the knowledge base Test, evaluate and improve the knowledge base Plan for integration Comments on Phase 4: See below on the question of how the knowledge base, as constructed, relates to the prototype. The evaluation of an expert system (in terms of validation and verification) is a particularly difficult problem.

l l l l l l l l

l l l l l l

Phase 5: Implementation
l l l l l

Ensure acceptance by users Install, demonstrate and deploy the system Arrange orientation and training for the users Ensure security Provide documentation ,Arrange for integration and field testing

Comments on Phase 5:
l

If the system is not accepted by the users, the project has largely been a waste of time. Field testing (leading to refinement of the system) is essential, but may be quite lengthy.

Phase 6: Post-implementation
l l l

Operation Maintenance Upgrading

Periodic evaluation
l

Comments on Phase 6:
n

A person or group of people must be put in charge of maintenance (and, perhaps, expansion). They are responsible for correcting bugs, and updating the knowledgebase. They must therefore have some knowledge engineering skills. The system should be evaluated, once or twice a year, in terms of its costs & benefits, its accuracy, its accessibility, and its acceptance.

Turban leaves open the options that the prototype which features in phase 3 might be an evolutionary prototype or a throwaway prototype
l

KADS is a development methodology for knowledge-based systems. KADS was developed at the University of Amsterdam, as part of the ESPRIT programme, in cooperation with several European partners

Вам также может понравиться