Sie sind auf Seite 1von 62

1

ABOUT THE AUTHORS

Elaine Rich is Director of the Artificial Intelligence Laboratory at the Microelectronics


and Computer Technology Corporation (MCC). Formerly on the faculty in computer sciences
at the University of Texas, she received her PhD from Carnegie Mellon University. Her
research interests include natural language processing. knowledge representation, and
machine translation.
Kevin Knight received his B.A. from Harvard University and is presently completing his
PhD in computer science at Carnegie Mellon University. A regular consultant at MCC, his
research interests include natural language processing, unification, and machine translation,
and search.
Shivashankar B Nair received his Master’s and Doctoral degrees in Engineering from
Amravati University, Amravati, where he served as a faculty member from 1986 to 1998.
He later joined the Indian Institute of Technology Guwahati, where he is currently an
Associate Professor in Computer Science and Engineering. His major areas of interest include
real-world Artificial Immune System Applications, Intelligent and Emotional Robotics,
Natural Language Processing, Genetic Algorithms and Mobile Agent Systems.
Dr Nair has been the chief investigator for projects funded both by the Indian government
and foreign agencies and is a member of several international and national journal and
conference committees. Presently, he is on a sabbatical as a Visiting Professor (Korean
Brain Pool) at the Human-Centred Advanced Research Education Centre, Hanbat National
University, Daejeon, South Korea, where he is investigating new ways of instilling emotions
into robots.
Contents

Preface to the Third Edition xiii


Preface to the Second Edition xvii

PART I: PROBLEMS AND SEARCH


1. What is Artificial Intelligence? 1
1.1 The AI Problems 2
1.2 The Underlying Assumption 4
1.3 What is an AI Technique? 5
1.4 The Level of the Model 16
1.5 Criteria for Success 18
1.6 Some General References 19
1.7 One Final Word and Beyond 20
Exercises 22

2. Problems, Problem Spaces, and Search 23


2.1 Defining the Problem as a State Space Search 23
2.2 Production Systems 28
2.3 Problem Characteristics 34
2.4 Production System Characteristics 41
2.5 Issues in the Design of Search Programs 43
2.6 Additional Problems 45
Summary 46
Exercises 46

3. Heuristic Search Techniques 48


3.1 Generate-and-Test 48
3.2 Hill Climbing 50
3.3 Best-first Search 55
3.4 Problem Reduction 62
3.5 Constraint Satisfaction 66
3.6 Means-ends Analysis 70
Summary 72
Exercises 73

PART II: KNOWLEDGE REPRESENTATION


4. Knowledge Representation Issues 75
4.1 Representations and Mappings 75
4.2 Approaches to Knowledge Representation 78
viii Contents

4.3 Issues in Knowledge Representation 82


4.4 The Frame Problem 92
Summary 93

5. Using Predicate Logic 94


5.1 Representing Simple Facts in Logic 95
5.2 Representing Instance and ISA Relationships 99
5.3 Computable Functions and Predicates 101
5.4 Resolution 104
5.5 Natural Deduction 120
Summary 121
Exercises 122

6. Representing Knowledge Using Rules 125


6.1 Procedural Versus Declarative Knowledge 125
6.2 Logic Programming 127
6.3 Forward Versus Backward Reasoning 130
6.4 Matching 134
6.5 Control Knowledge 138
Summary 141
Exercises 141

7. Symbolic Reasoning Under Uncertainty 143


7.1 Introduction to Nonmonotonic Reasoning 143
7.2 Logics for Nonmonotonic Reasoning 146
7.3 Implementation Issues 153
7.4 Augmenting a Problem-solver 154
7.5 Implementation: Depth-first Search 156
7.6 Implementation: Breadth-first Search 162
Summary 165
Exercises 166

8. Statistical Reasoning 168


8.1 Probability and Bayes’ Theorem 168
8.2 Certainty Factors and Rule-based Systems 170
8.3 Bayesian Networks 175
8.4 Dempster-shafer Theory 177
8.5 Fuzzy Logic 180
Summary 181
Exercises 182

9. Weak Slot-and-Filler Structures 184


9.1 Semantic Nets 184
9.2 Frames 189
Exercises 201
Contents ix

10. Strong Slot-and-Filler Structures 203


10.1 Conceptual Dependency 203
10.2 Scripts 208
10.3 CYC 212
Exercises 216

11. Knowledge Representation Summary 218


11.1 Syntactic-semantic Spectrum of Representation 218
11.2 Logic and Slot-and-filler Structures 220
11.3 Other Representational Techniques 221
11.4 Summary of the Role of Knowledge 223
Exercises 223

PART III: ADVANCED TOPICS


12. Game Playing 225
12.1 Overview 225
12.2 The Minimax Search Procedure 227
12.3 Adding Alpha-beta Cutoffs 230
12.4 Additional Refinements 234
12.6 References on Specific Games 238
Exercises 240

13. Planning 241


13.1 Overview 241
13.2 An Example Domain: The Blocks World 244
13.3 Components of a Planning System 244
13.4 Goal Stack Planning 249
13.5 Nonlinear Planning Using Constraint Posting 256
13.6 Hierarchical Planning 262
13.7 Reactive Systems 263
13.8 Other Planning Techniques 263
Exercises 264

14. Understanding 266


14.1 What is Understanding? 266
14.2 What Makes Understanding Hard? 267
14.3 Understanding as Constraint Satisfaction 272
Summary 277
Exercises 278

15. Natural Language Processing 279


15.1 Introduction 280
15.2 Syntactic Processing 285
15.3 Semantic Analysis 294
x Contents

15.4 Discourse and Pragmatic Processing 307


15.6 Spell Checking 319
Summary 323
Exercises 325

16. Parallel and Distributed AI 327


16.1 Psychological Modeling 327
16.2 Parallelism in Reasoning Systems 328
16.3 Distributed Reasoning Systems 330
Summary 340
Exercises 340

17. Learning 341


17.1 What is Learning? 341
17.2 Rote Learning 342
17.3 Learning by Taking Advice 343
17.4 Learning in Problem-solving 345
17.5 Learning from Examples: Induction 349
17.6 Explanation-based Learning 358
17.7 Discovery 361
17.8 Analogy 365
17.9 Formal Learning Theory 366
17.10 Neural Net Learning and Genetic Learning 367
Summary 368
Exercises 369

18. Connectionist Models 370


18.1 Introduction: Hopfield Networks 371
18.2 Learning in Neural Networks 373
18.3 Applications of Neural Networks 390
18.4 Recurrent Networks 393
18.5 Distributed Representations 394
18.6 Connectionist AI and Symbolic AI 397
Exercises 399

19. Common Sense 402


19.1 Qualitative Physics 403
19.2 Common Sense Ontologies 405
19.3 Memory Organization 411
19.4 Case-based Reasoning 413
Exercises 415

20. Expert Systems 416


20.1 Representing and Using Domain Knowledge 416
20.2 Expert System Shells 418
Contents xi

20.3 Explanation 419


20.4 Knowledge Acquisition 421
Summary 423
Exercises 424

21. Perception and Action 425


21.1 Real-time Search 427
21.2 Perception 428
21.3 Action 432
21.4 Robot Architectures 435
Summary 437
Exercises 437

22. Fuzzy Logic Systems 439


22.1 Introduction 439
22.2 Crisp Sets 439
22.3 Fuzzy Sets 440
22.4 Some Fuzzy Terminology 440
22.5 Fuzzy Logic Control 441
22.6 Sugeno Style of Fuzzy Inference Processing 447
22.7 Fuzzy Hedges 448
22.8 A Cut Threshold 448
22.9 Neuro Fuzzy Systems 449
22.10 Points to Note 449
Exercises 450

23. Genetic Algorithms: Copying Nature’s Approaches 451


23.1 A Peek into the Biological World 451
23.2 Genetic Algorithms (GAS) 452
23.3 Significance of the Genetic Operators 464
23.4 Termination Parameters 465
23.5 Niching and Speciation 465
23.6 Evolving Neural Networks 466
23.7 Theoretical Grounding 468
23.8 Ant Algorithms 470
23.9 Points to Ponder 471
Exercises 472

24. Artificial Immune Systems 473


24.1 Introduction 473
24.2 The Phenomenon of Immunity 473
24.3 Immunity and Infection 474
24.4 The Innate Immune System—The First Line of Defence 474
24.5 The Adaptive Immune System—The Second Line of Defence 475
24.6 Recognition 477
24.7 Clonal Selection 478
xii Contents

24.7 Learning 479


24.8 Immune Network Theory 479
24.9 Mapping Immune Systems to Practical Applications 480
24.10 Other Applications 487
24.11 Points to Ponder 487
Exercises 487
Glossary of Biological Terms Used 488

25. Prolog—The Natural Language of Artificial Intelligence 490


25.1 Introduction 490
25.2 Converting English to Prolog Facts and Rules 490
25.3 Goals 491
25.4 Prolog Terminology 493
25.5 Variables 493
25.6 Control Structures 494
25.7 Arithmetic Operators 494
25.8 Matching in Prolog 496
25.9 Backtracking 497
25.10 Cuts 499
25.11 Recursion 500
25.12 Lists 502
25.13 Dynamic Databases 506
25.14 Input/Output and Streams 509
25.15 Some Aspects Specific to LPA Prolog 510
Summary 522
Exercises 522

26. Conclusion 523


26.1 Components of an AI Program 523
26.2 Ai Skeptics—An Open Argument 523
Exercises 524

References 527
Author Index 544
Subject Index 557
Chapter 22
Hints to Exercises:

1. Now that a fuzzy cooler is in place, design a simple fuzzy washing machine that can
decide the speed of its motor based on the dirt level, type and the weight of the cloth.

The Instructor should motivate the student to think on similar lines as the cooler
described.

2. Visit the library of your institution, this time, for a different purpose. Inspect what kind
of books are placed in each rack. Write a fuzzy logic program that can suggest the rack
into which a new arrival (book) can go.
One simple method is suggested below. The first task is to process the title of a book and
extract significant key words from it. Membership of these keywords to a an area/field
(Computer Science, Chemistry, Electronics,…) could now be computed based on their
occurrence in respective corpora related to these areas.
Fuzzy rules like: If book is Close Computer Science and Average to Electronics then it
belongs to Computer Science could be used.
Defuzzification can be performed by the maximum truth value.

3. Based on the fuzzy cooler, model the exposure time of a typical camera. Assume the
camera has sensors to detect ambient light, controls for flash and picture type (landscape,
close, etc.) settings. Also assume that exposure times are based on values reported by
these sensors.

Here too, the Instructor should motivate the student to think on similar lines as the cooler
described. Parameters and profiles of course are different and need to be discussed
accordingly.
Chapter 23

Hints to Exercises:

1. Generating a time table for an academic curriculum is a complex problem if we


consider the priorities (preferred time of class, course, etc.) of faculty members and
available resources (class rooms, free time, etc.). Several attempts have been made to
apply Genetic algorithms for the generation of an optimal or near optimal time table. Try
formulating this problem to suit the genetic algorithm. Decide on the representation of the
chromosome, the crossover points and how both crossover and mutation should be
realized in the search for the optimal goal.

Time table generation is known to be a complex problem. Though a GA may not be able
to arrive at the most optimal table, it can definitely be used to generate near optimal
solutions that could be manually tweaked, thus saving a lot of nerve racking work!
The Instructor could highlight to the students, the nature in which the time table in his/her
academic institution is prepared. The different ways in which the chromosome can be
structured may be discussed.

One simple way is to form an m x n matrix that resembles the contents of a typical time
table. A few constraints, for instance, are cited below:
Professor X wishes to take a class on AI on either Mondays, Tuesdays and Fridays and
would prefer to lecture at 10:00AM except on Fridays when he wishes to do so at
4:00PM.

A table of such constraints could be formed for faculty members. (Maybe senior
Professors could be given preference!)
Likewise room availability constraints could cite the number and their size (maximum
capacity).
Lunch and tea breaks too have to be accounted for as also the number of courses and
lectures and labs. per week.

Crossover could be either random or controlled. For instance a crossover may cause
allocation of one Professor to two lectures at the same time. This could be detected
immediately and the crossover effect nullified.

Mutation could be realized by randomly moving a lecture to another free area. Some
thought should be given to the mutation rate and the manner of mutation.

A fitness function to evaluate each time table generated could take into consideration
parameters like:

How well does it satisfy all the Professors’ preferences?


Is there a proper distribution of courses? (It should not be that all the lectures of a course
are held on Monday and Tuesday or students opting for some set of courses do not have
to attend classes at all on some days).
The above parameters could be quantified and a fitness function formed.

2. In the animal world, the ant, grasshopper, the centipede and the millipede move using
different gaits and stances. These probably evolved after several generations. Can we
make a multi-legged robot learn to find the best and most stable gait? Use a Genetic
Algorithm to simulate and aid this robot to learn how to achieve optimal locomotion.
In the real world this problem requires a fitness function that could be calculated by
actually trying out each solution. A 6-legged insect-like robot for instance could look
something like this –

Students could be asked to look at Stiquito (http://www.stiquito.com/) the insect like


robot and its versions.

The more the number of legs, the more is the number of possible gaits. This number also
increases with the degrees of freedom of the legs. The above insect-like robot has six
legs. Each can move forward when activated or remain in the position shown. The
possible number of activation signals can go up to 26 = 64. By applying different
sequences of activation signals several gaits can be generated. The idea is to find the best
gait using GAs.
Some of the possible gaits for a hexapod insect are shown below.

Evaluation could be performed by a fitness function that could take into consideration the
actual distance traversed by the robot after several repeated cycles of a particular gait. In
short if we consider the leg activation sequence as 10010 (1 means activated; 0 means
stationary) then this sequence forms a gait. While such a sequence (solution) could be
generated using GAs, the robot’s legs could be activated say around a 100 times with this
sequence repeatedly and the distance traversed by it could form the fitness of this gait.

3. How would you go about embedding the above genetic algorithm into a real multi-
legged robot (imagine a millipede or a centipede-like robot) so that it will evolve and
learn to find the best gait in the real world?

The crucial part as mentioned earlier is the evaluation of the distance traveled (fitness of
the gait). In the real world there is no better way than the hard way – make the robot walk
physically using every gait several times. The solutions obtained from the simulation
phase could be used as the initial starting population. Measuring the distance of course
requires some ingenuity!
Chapter 24

1. A smart house needs an efficient burglar detection and alarm system. Can you
model these using AIS concepts?
You could imagine numerous strategically located burglar detectors each comprising
of cameras and proximity sensors that can trigger alarms. Cameras could sense
movement.

Immune system Approx. Metaphors


Lymphocyte (B-cell,T-cell) Burglar Alarm
Antibody variable region Alarm tone/intensity
Memory cell A vulnerable area (in the fence) detected earlier
by one of the detectors (camera).
Pathogen Burglar
Circulation Detectors could be networked and signal others
of a possibly intrusion causing increase their
sensitivity levels.
MHC Representation parameters/Image and proximity
processing
Cytokines Sensitivity level
Signals Activation threshold, human owner
Pathogen detection Detection event
Pathogen elimination Response from alarm and human intervention

The student could be asked to provide his/her own viewpoints about the model being
tailored to suit AIS concepts within.

2. Many events can be looked upon as a defence mechanism. For instance the simple fact
that you can balance on two legs is a mechanism to defend (or prevent) your centre of
gravity from moving away from a stable point. Self preservation can be viewed, likewise,
as the capability to defend your body. At every stage your actions (be it moving, talking,
thinking, …) are all measures taken to make you feel stable (comfortable). With this in
mind try modelling the following into an AIS based system:

(i) Riding a cycle


(ii) Spam detection and elimination

The Instructor is urged to motivate the students to think of each of the above problems as one that has
an Antigen and a Pathogen. Rest of the metaphors could then be discussed.

(i) This is hypothetical unless we actually model an AIS based robot to


actually ride the cycle. There have been attempts to balance a pole
using a numerous sensors, each acting on the system to stabilize it.
Riding a cycle could also be looked upon as one such system wherein
sensors could find the tilt, the movement of the centre of gravity and
take corrective action using AIS concepts. Destabilization/shift in the
centre of gravity could be viewed as an antigen. Its detection could
trigger antibodies in the form of motor (muscle) activations that
counteract this change in an attempt to balance the cycle. Initially
generated antibodies may not be all that successful but a clonal
selection mechanism will allow those successful to become memory
cells and result in stable and safe riding over a period of time.

(ii) Spam has become a perennial problem. While many attempts have
been made to circumvent it, the fact that spammers change their modes
of spamming is highly frustrating.. An initial repertoire of words
(naïve B/T-cells) could be extracted from an existing 100% spam
database (similar to the bone marrow model). These could be used as
starting material to counter spam. These words could undergo somatic
mutation/hypermutation to catch the ever changing camouflaged
words within the incoming email and trigger a detection. For instance
the word – Viagra may have been spelt as Vi$agra. Mutation can help
generate such non-words from real words. Students could be
encouraged to use WordNet (http://wordnet.princeton.edu/) to find
words related to spam words (such as synonyms) so as to make the
word population diverse.

Das könnte Ihnen auch gefallen