Engineering Artificial Intelligence Software
Derek Partridge(Author)
Intellect Books (Publisher)
Will be published approx. on 1. May 1992
Book
Hardback
200 pages
978-1-871516-06-7 (ISBN)
Description
Aimed at the computer-literate person wishing to find out about the reality of exploiting the promise of artificial intelligence (AI) in practical, maintainable software systems, this text tries to avoid the hype usually associated with the subject. Instead, it presents the realities, the problems, the current state of the art, and future directions. Throughout, the reader will find a comprehensive and coherent examination of the many problems that engineering AI software involves, as well as a consideration of the alternative routes to solution of these problems.
More details
Language
English
Place of publication
United Kingdom
Publishing group
Intellect
Target group
College/higher education
Professional and scholarly
ISBN-13
978-1-871516-06-7 (9781871516067)
Copyright in bibliographic data is held by Nielsen Book Services Limited or its licensors: all rights reserved.
Schweitzer Classification
Content
Preface
1 Introduction to Computer Software 1
1.1 Computers and software systems
1.2 An introduction to software engineering
1.3 Bridges and buildings versus software systems
1.4 The software crisis
1.5 A demand for more software power
1.6 Responsiveness to human users
1.7 Software systems in new types of domains
1.8 Responsiveness to dynamic usage environments
1.9 Software systems with self-maintenance capabilities
1.10 A need for AI systems
2 AI Problems and Conventional SE Problems 27
2.1 What is an AI problem?
2.2 Ill-defined specifications
2.3 Correct versus 'good enough' solutions
2.4 It's the HOW not the WHAT
2.5 The problem of dynamics
2.6 The quality of modular approximations
2.7 Context-free problems
3 Software Engineering Methodology 36
3.1 Specify and verify - the SAV methodology
3.2 The myth of complete specification
3.3 What is verifiable?
3.4 Specify and test - the SAT methodology
3.5 The strengths
3.6 Testing for reliability
3.7 The weaknesses
3.8 What are the requirements for testing?
3.9 What's in a specification?
3.10 Prototyping as a link
4 An Incremental and Exploratory Methodology 56
4.1 Classical methodology and AI problems
4.2 The RUDE cycle
4.3 How do we start?
4.4 Malleable software
4.5 AI muscles on a conventional skeleton
4.6 How do we proceed?
4. 7 How do we finish?
4.8 The question of hacking
4.9 Conventional paradigms
5 New Paradigms for System Engineering 79
5.1 Automatic programming
5.2 Transformational implementation
5.3 The "new paradigm" of Balzer, Cheatham and Green
5.4 Operational requirements of Kowalski
5.5 The POLITE methodology
6 Towards a Discipline of Exploratory Programming 109
6.1 Reverse engineering
6.2 Reusable software
6.3 Design knowledge
6.4 Stepwise abstraction
6.5 The problem of 'decompiling'
6.6 Controlled modification
6.7 Structured growth
7 Machine Learning: Much Promise, Many Problems 141
7.1 Self-adaptive software
7.2 The promise of increased software power
7.3 The threat of increased software problems
7.4 The state of the art in machine learning
7.5 Practical machine learning examples
8 Expert Systems: The Success Story 158
8.1 Expert systems as AI software
8.2 Engineering expert systems
8.3 The lessons of expert systems for engineering AI software
9 AI into Practical Software 170
9.1 Support environments
9.2 Reduction of effective complexity
9.3 Moderately stupid assistance
9.4 An engineering toolbox
9.5 Self-reflective software
9.6 Overengineering software
10 Summary and What the Future Holds 193
References 200
Index 206
1 Introduction to Computer Software 1
1.1 Computers and software systems
1.2 An introduction to software engineering
1.3 Bridges and buildings versus software systems
1.4 The software crisis
1.5 A demand for more software power
1.6 Responsiveness to human users
1.7 Software systems in new types of domains
1.8 Responsiveness to dynamic usage environments
1.9 Software systems with self-maintenance capabilities
1.10 A need for AI systems
2 AI Problems and Conventional SE Problems 27
2.1 What is an AI problem?
2.2 Ill-defined specifications
2.3 Correct versus 'good enough' solutions
2.4 It's the HOW not the WHAT
2.5 The problem of dynamics
2.6 The quality of modular approximations
2.7 Context-free problems
3 Software Engineering Methodology 36
3.1 Specify and verify - the SAV methodology
3.2 The myth of complete specification
3.3 What is verifiable?
3.4 Specify and test - the SAT methodology
3.5 The strengths
3.6 Testing for reliability
3.7 The weaknesses
3.8 What are the requirements for testing?
3.9 What's in a specification?
3.10 Prototyping as a link
4 An Incremental and Exploratory Methodology 56
4.1 Classical methodology and AI problems
4.2 The RUDE cycle
4.3 How do we start?
4.4 Malleable software
4.5 AI muscles on a conventional skeleton
4.6 How do we proceed?
4. 7 How do we finish?
4.8 The question of hacking
4.9 Conventional paradigms
5 New Paradigms for System Engineering 79
5.1 Automatic programming
5.2 Transformational implementation
5.3 The "new paradigm" of Balzer, Cheatham and Green
5.4 Operational requirements of Kowalski
5.5 The POLITE methodology
6 Towards a Discipline of Exploratory Programming 109
6.1 Reverse engineering
6.2 Reusable software
6.3 Design knowledge
6.4 Stepwise abstraction
6.5 The problem of 'decompiling'
6.6 Controlled modification
6.7 Structured growth
7 Machine Learning: Much Promise, Many Problems 141
7.1 Self-adaptive software
7.2 The promise of increased software power
7.3 The threat of increased software problems
7.4 The state of the art in machine learning
7.5 Practical machine learning examples
8 Expert Systems: The Success Story 158
8.1 Expert systems as AI software
8.2 Engineering expert systems
8.3 The lessons of expert systems for engineering AI software
9 AI into Practical Software 170
9.1 Support environments
9.2 Reduction of effective complexity
9.3 Moderately stupid assistance
9.4 An engineering toolbox
9.5 Self-reflective software
9.6 Overengineering software
10 Summary and What the Future Holds 193
References 200
Index 206