>
Part I: Artificial Intelligence
Chapter 1<>Introduction ... 1
<>What Is AI? ... 1
<>1.1.1<>Acting humanly: The Turing test approach ... 2
<>1.1.2<>Thinking humanly: The cognitive modeling approach ... 2
<>1.1.3<>Thinking rationally: The ``laws of thought'' approach ... 3
<>1.1.4<>Acting rationally: The rational agent approach ... 3
<>1.1.5<>Beneficial machines ... 4
<>1.2<>The Foundations of Artificial Intelligence ... 5
<>1.2.1<>Philosophy ... 6
<>1.2.2<>Mathematics ... 8
<>1.2.3<>Economics ... 9
<>1.2.4<>Neuroscience ... 11
<>1.2.5<>Psychology ... 12
<>1.2.6<>Computer engineering ... 14
<>1.2.7<>Control theory and cybernetics ... 15
<>1.2.8<>Linguistics ... 16
<>1.3<>The History of Artificial Intelligence ... 17
<>1.3.1<>The inception of artificial intelligence (1943--1956) ... 17
<>1.3.2<>Early enthusiasm, great expectations (1952--1969) ... 18
<>1.3.3<>A dose of reality (1966--1973) ... 21
<>1.3.4<>Expert systems (1969--1986) ... 22
<>1.3.5<>The return of neural networks (1986--present) ... 24
<>1.3.6<>Probabilistic reasoning and machine learning (1987--present) ... 24
<>1.3.7<>Big data (2001--present) ... 26
<>1.3.8<>Deep learning (2011--present) ... 26
<>1.4<>The State of the Art ... 27
<>1.5<>Risks and Benefits of AI ... 31
<>Summary ... 34
<>Bibliographical and Historical Notes ... 35
Chapter 2<>Intelligent Agents ... 36
<>2.1<>Agents and Environments ... 36
<>2.2<>Good Behavior: The Concept of Rationality ... 39
<>2.2.1<>Performance measures ... 39
<>2.2.2<>Rationality ... 40
<>2.2.3<>Omniscience, learning, and autonomy ... 40
<>2.3<>The Nature of Environments ... 42
<>2.3.1<>Specifying the task environment ... 42
<>2.3.2<>Properties of task environments ... 43
<>2.4<>The Structure of Agents ... 47
<>2.4.1<>Agent programs ... 48
<>2.4.2<>Simple reflex agents ... 49
<>2.4.3<>Model-based reflex agents ... 51
<>2.4.4<>Goal-based agents ... 53
<>2.4.5<>Utility-based agents ... 54
<>2.4.6<>Learning agents ... 56
<>2.4.7<>How the components of agent programs work ... 58
<>Summary ... 60
<>Bibliographical and Historical Notes ... 60
Part II: Problem-solving
Chapter 3<>Solving Problems by Searching ... 63
<>3.1<>Problem-Solving Agents ... 63
<>3.1.1<>Search problems and solutions ... 65
<>3.1.2<>Formulating problems ... 66
<>3.2<>Example Problems ... 66
<>3.2.1<>Standardized problems ... 66
<>3.2.2<>Real-world problems ... 69
<>3.3<>Search Algorithms ... 71
<>3.3.1<>Best-first search ... 73
<>3.3.2<>Search data structures ... 73
<>3.3.3<>Redundant paths ... 74
<>3.3.4<>Measuring problem-solving performance ... 75
<>3.4<>Uninformed Search Strategies ... 76
<>3.4.1<>Breadth-first search ... 76
<>3.4.2<>Dijkstra's algorithm or uniform-cost search ... 77
<>3.4.3<>Depth-first search and the problem of memory ... 78
<>3.4.4<>Depth-limited and iterative deepening search ... 80
<>3.4.5<>Bidirectional search ... 82
<>3.4.6<>Comparing uninformed search algorithms ... 84
<>3.5<>Informed (Heuristic) Search Strategies ... 84
<>3.5.1<>Greedy best-first search ... 85
<>3.5.2<>A* search ... 85
<>3.5.3<>Search contours ... 89
<>3.5.4<>Satisficing search: Inadmissible heuristics and weighted A* ... 90
<>3.5.5<>Memory-bounded search ... 92
<>3.5.6<>Bidirectional heuristic search ... 96
<>3.6<>Heuristic Functions ... 97
<>3.6.1<>The effect of heuristic accuracy on performance ... 98
<>3.6.2<>Generating heuristics from relaxed problems ... 99
<>3.6.3<>Generating heuristics from subproblems: Pattern databases ... 100
<>3.6.4<>Generating heuristics with landmarks ... 102
<>3.6.5<>Learning to search better ... 103
<>3.6.6<>Learning heuristics from experience ... 104
<>Summary ... 104
<>Bibliographical and Historical Notes ... 106
Chapter 4<>Search in Complex Environments ... 110
<>4.1<>Local Search and Optimization Problems ... 110
<>4.1.1<>Hill-climbing search ... 111
<>4.1.2<>Simulated annealing ... 114
<>4.1.3<>Local beam search ... 115
<>4.1.4<>Evolutionary algorithms ... 115
<>4.2<>Local Search in Continuous Spaces ... 119
<>4.3<>Search with Nondeterministic Actions ... 122
<>4.3.1<>The erratic vacuum world ... 122
<>4.3.2<>AND—OR search trees ... 123
<>4.3.3<>Try, try again ... 125
<>4.4<>Search in Partially Observable Environments ... 126
<>4.4.1<>Searching with no observation ... 126
<>4.4.2<>Searching in partially observable environments ... 130
<>4.4.3<>Solving partially observable problems ... 132
<>4.4.4<>An agent for partially observable environments ... 132
<>4.5<>Online Search Agents and Unknown Environments ... 134
<>4.5.1<>Online search problems ... 135
<>4.5.2<>Online search agents ... 137
<>4.5.3<>Online local search ... 138
<>4.5.4<>Learning in online search ... 140
<>Summary ... 141
<>Bibliographical and Historical Notes ... 142
Chapter 5<>Adversarial Search and Games ... 146
<>5.1<>Game Theory ... 146
<>5.1.1<>Two-player zero-sum games ... 147
<>5.2<>Optimal Decisions in Games ... 148
<>5.2.1<>The minimax search algorithm ... 149
<>5.2.2<>Optimal decisions in multiplayer games ... 151
<>5.2.3<>Alpha--Beta Pruning ... 152
<>5.2.4<>Move ordering ... 153
<>5.3<>Heuristic Alpha--Beta Tree Search ... 156
<>5.3.1<>Evaluation functions ... 156
<>5.3.2<>Cutting off search ... 158
<>5.3.3<>Forward pruning ... 159
<>5.3.4<>Search versus lookup ... 160
<>5.4<>Monte Carlo Tree Search ... 161
<>5.5<>Stochastic Games ... 164
<>5.5.1<>Evaluation functions for games of chance ... 166
<>5.6<>Partially Observable Games ... 168
<>5.6.1<>Kriegspiel: Partially observable chess ... 168
<>5.6.2<>Card games ... 171
<>5.7<>Limitations of Game Search Algorithms ... 173
<>Summary ... 174
<>Bibliographical and Historical Notes ... 175
Chapter 6<>Constraint Satisfaction Problems ... 180
<>6.1<>Defining Constraint Satisfaction Problems ... 180
<>6.1.1<>Example problem: Map coloring ... 181
<>6.1.2<>Example problem: Job-shop scheduling ... 182
<>6.1.3<>Variations on the CSP formalism ... 183
<>6.2<>Constraint Propagation: Inference in CSPs ... 185
<>6.2.1<>Node consistency ... 186
<>6.2.2<>Arc consistency ... 186
<>6.2.3<>Path consistency ... 187
<>6.2.4<>Kconsistency ... 188
<>6.2.5<