420 likes | 432 Views
An overview of the expert system development process, including problem definition, evaluation of alternative solutions, feasibility study, cost-benefit analysis, and organizational considerations.
E N D
CHAPTER 14 Intelligent Systems Development 913844 Steven Kuo 913850 Brian Lin
Intelligent Systems Development • Overview of the expert system development process • Performed differently depending on the • Nature of the system problem • Development strategy • Support tools
Life Cycle • 6 phases • Nonlinearprocess
Phase I: Project Initialization 1. Problem Definition / Need Assessment 2. Evaluation of Alternative Solutions 3. Verification of an Expert Systems Approach 4. Feasibility Study 5. Cost-benefit Analysis 6. Consideration of Managerial Issues 7. Organization of the Development Team
1. Problem Definition and Need Assessment • Write a clear statement and provide as much supporting information as possible • Conduct a formal needs assessment to understand the problem
2. Evaluation of Alternative Solutions • Using experts • Education and training • Packaged knowledge • Conventional software • Buying knowledge on the Internet
3. Verification of an Expert Systems Approach Framework to determine problem fit with an ES (Waterman [1985]) 1. Requirements for ES Development 2. Justification for ES Development 3. Appropriateness of ES
3.1 Requirements for ES Development (all necessary) • Task does not require common sense • Task requires only cognitive, not physical, skills • Conventional (algorithmic) computer solution techniques not satisfactory • Incorrect or non-optimal results generated by the ES can be tolerated • Data and test cases are available
3.2 Justification for ES Development (Need at least one) • Solution to the problem has a high payoff • ES can preserve scarce human expertise, so it will not be lost • Expertise is needed in many locations • ES solution can be derived faster than a human • ES is more consistent and/or accurate than a human
3.3 Appropriateness of the ES • Nature of the problem: Symbolic structure, heuristics, and decomposable • Complexity of the task: Neither too easy nor too difficult for a human expert • Scope of the problem: Manageable size and practical value
4. Feasibility Study (Table 14.2) • Economic (financial) • Technical • Organizational
5. Cost-Benefit Analysis • Economic Feasibility - Determines project viability financially • Predict difficultly – Qualitative, Intangible • Evolve constantly - Iterative
When to justify (very often!) • At the end of Phase I • At the end of Phase II • After the initial prototype is completed • Once the full prototype is in operation • Once field testing is completed (prior to deployment) • Periodically after the system is in operation (e.g., every six or twelve months)?
1.6 Organizing Development Team • Typical development team • Expert • Knowledge engineer • IS person • May Also Include • Vendor(s) • User(s) • System integrator(s)
Important Players • Project champion→ A “interesting” ”top” manager person→ Availability of resource→ Push on project leader • Project leader→ A specialist manages the project daily.→ User-oriented→ Know about technology
7. Consideration of Managerial Issues • Selling the project • Identifying a champion • Level of top management support • Availability of financing • Availability of other resources • End user involvement, support, and training
Phase II: Systems Analysis and Design 1. Conceptual design and plan 2. Development Strategy 3. Knowledge sources 4. Computing resources
1. Conceptual Design • General Idea of the System • General capabilities of the system • Interfaces with other CBIS • Areas of risk • Required resources • Anticipated cash flow • Composition of the team • Other information for detailed design later • Determine the development strategy after design is complete
2. Development Strategy and Methodology • In-house development • Outsourcing • Blended approach
2.2 Outsourcing • Hire a consulting firm • Become a test site • Partner with a university • Join an industry consortium • Buy into an AI firm
2.3 Blended Approach Mix both In-house & Outsourcing • Member : - In-house member - External member • Advantage/disadvantage: autonomous
3. Selecting an Expert • Expert express experience, qualitative, heuristics • Selection Issues • Who selects the expert(s)? • How to identify an expert • What to do if several experts are needed • How to motivate the expert to cooperate
4. Software Classification • The boundaries between technologies are fuzzy 1. Programming languages 2. Support tools 3. Hybrid Systems 4. Shells 5. Specific ES
Expert System Applications (Specific ES) The relationships between technologies Shells Hybrid Systems Support Tools, Facilities, and Construction Aids Programming Languages
5. Building Expert System with Tools • Four steps: 1. Load the knowledge base 2. Test the knowledge base 3. Repeat (until the system is operational) 4. Remove the development engine
6. Shells and Environments • An expert system consists: 1. Knowledge acquisition subsystems 2. Inference engine 3. Explanation facility 4. Interface subsystem 5. Knowledge-base management facility 6. Knowledge base • The shell concept (for rule-based system) (Page 572)
6.1 Shells • All the subsystems are parts of shells except knowledge base -> it’s inside the shell • A shell can be used for many applications and users only need to insert knowledge ->much faster in building an ES
A shell can represent knowledge in two forms -> rules & cases and manipulate the forms in numbers of ways -> backward & forward chaining e.g. Exsys & financial applications • Domain-specific tools In the development of an ES for a specific application area
6.2 Environments • Systems that support several different ways to represent knowledge and handle inferences • Hybrid systems (environments) 1. Help build complex specific system or tools 2. For large computers & AI workstation initially
7. Software Selection7.1 Selection • The selection is based on a match between knowledge and the tool features • But the selection is complex because of: 1. Transition from problems to tools -> Difficult 2. Whether the company has its familiarity 3. Tools are similar • There are some issues in software selection (Page 575)
7.2 Evaluation • Use a set of attributes to compare packages • But most of the evaluations are subjective • Packages change rapidly • The best method -> try the software and then develop a selection model
7.3 Shells vs Languages • The fastest and easiest approach is to use a shell • However… 1. Fitness 2. Capability 3. First ES development project
8. Hardware • The choice of software is often determined by the hardware & processing power • Initially, AI workstation is necessary
Phase III:Rapid Prototyping & Demonstration Prototype • Rapid prototyping is essential in developing large systems • The prototype can help builder decide the structure of the knowledge base • The first prototype should be a demonstration prototype • Let’s see the process of rapid prototyping (Page 578)
Phase IV:System Development • We’ll probably change the strategy and detailed design (so do some elements) • In the phase, we 1. Develop the knowledge base 2. Test, validate, verify, and improve the system
Phase V:Implementation • The process of implementing an ES is long and complex because we have to consider: 1. Acceptance by the user 2. Deployment modes for ES 3. Embedded ES 4. Security
Phase VI:Postimplementation • Once the system is deployed to users, there are some activities for the system: 1. Operation 2. Maintenance 3. Expansion (Upgrade) 4. Evaluation • Why an ES failed?
The Future of ES Development Processes • Neural computing, fuzzy logic, genetic algorithm • Improve interfaces • Use intelligent agents to assist developers • Knowledge discovery in databases (KDD)