Artificial Intelligence: A Modern Approach

Table of Contents for AI: A Modern Approach

Part I: Artificial Intelligence

1. Introduction ... 1


1.1. What is AI? ... 1
  Acting humanly: The Turing Test approach ... 2
  Thinking humanly: The cognitive modeling approach ... 3
  Thinking rationally: The ``laws of thought'' approach ... 4
  Acting rationally: The rational agent approach ... 4
1.2. The Foundations of Artificial Intelligence ... 5
  Philosophy (428   B.C.-present) ... 5
  Mathematics (B.C. 800-present) ... 7
  Economics (1776-present) ... 9
  Neuroscience (1861-present) ... 10
  Psychology (1879-present) ... 12
  Computer engineering (1940-present) ... 14
  Control theory and Cybernetics (1948-present) ... 15
  Linguistics (1957-present) ... 16
1.3. The History of Artificial Intelligence ... 16
  The gestation of artificial intelligence (1943-1955) ... 16
  The birth of artificial intelligence (1956) ... 17
  Early enthusiasm, great expectations (1952-1969) ... 18
  A dose of reality (1966-1973) ... 21
  Knowledge-based systems: The key to power? (1969-1979) ... 22
  AI becomes an industry (1980-present) ... 24
  The return of neural networks (1986-present) ... 25
  AI becomes a science (1987-present) ... 25
  The emergence of intelligent agents (1995-present) ... 27
1.4. The State of the Art ... 27
1.5. Summary ... 28
Bibliographical and Historical Notes. ... 29
Exercises. ... 30

2. Intelligent Agents ... 32


2.1. Agents and Environments ... 32
2.2. Good Behavior: The Concept of Rationality ... 34
  Performance measures ... 35
  Rationality ... 35
  Omniscience, learning, and autonomy ... 36
2.3. The Nature of Environments ... 38
  Specifying the task environment ... 38
  Properties of task environments ... 40
2.4. The Structure of Agents ... 44
  Agent programs ... 44
  Simple reflex agents ... 46
  Model-based reflex agents ... 48
  Goal-based agents ... 49
  Utility-based agents ... 51
  Learning agents ... 51
2.5. Summary ... 54
Bibliographical and Historical Notes. ... 55
Exercises. ... 56

Part II: Problem-solving

3. Solving Problems by Searching ... 59


3.1. Problem-Solving Agents ... 59
  Well-defined problems and solutions ... 62
  Formulating problems ... 62
3.2. Example Problems ... 64
  Toy problems ... 64
  Real-world problems ... 67
3.3. Searching for Solutions ... 69
  Measuring problem-solving performance ... 71
3.4. Uninformed Search Strategies ... 73
  Breadth-first search ... 73
    Uniform-cost search ... 75
  Depth-first search ... 75
  Depth-limited search ... 77
  Iterative deepening depth-first search ... 78
  Bidirectional search ... 79
  Comparing uninformed search strategies ... 81
3.5. Avoiding Repeated States ... 81
3.6. Searching with Partial Information ... 83
  Sensorless problems ... 84
  Contingency problems ... 86
3.7. Summary ... 87
Bibliographical and Historical Notes. ... 88
Exercises. ... 89

4. Informed Search and Exploration ... 94


4.1. Informed (Heuristic) Search Strategies ... 94
  Greedy best-first search ... 95
  A* search: Minimizing the total estimated solution cost ... 97
  Memory-bounded heuristic search ... 101
  Learning to search better ... 104
4.2. Heuristic Functions ... 105
  The effect of heuristic accuracy on performance ... 106
  Inventing admissible heuristic functions ... 107
  Learning heuristics from experience ... 109
4.3. Local Search Algorithms and Optimization Problems ... 110
  Hill-climbing search ... 111
  Simulated annealing search ... 115
  Local beam search ... 115
  Genetic algorithms ... 116
4.4. Local Search in Continuous Spaces ... 119
4.5. Online Search Agents and Unknown Environments ... 122
  Online search problems ... 123
  Online search agents ... 125
  Online local search ... 126
  Learning in online search ... 127
4.6. Summary ... 129
Bibliographical and Historical Notes. ... 130
Exercises. ... 134

5. Constraint Satisfaction Problems ... 137


5.1. Constraint Satisfaction Problems ... 137
5.2. Backtracking Search for CSPs ... 141
  Variable and value ordering ... 143
  Propagating information through constraints ... 144
    Forward checking ... 144
    Constraint propagation ... 145
    Handling special constraints ... 147
  Intelligent backtracking: looking backward ... 148
5.3. Local Search for Constraint Satisfaction Problems ... 150
5.4. The Structure of Problems ... 151
5.5. Summary ... 155
Bibliographical and Historical Notes. ... 156
Exercises. ... 158

6. Adversarial Search ... 161


6.1. Games ... 161
6.2. Optimal Decisions in Games ... 162
  Optimal strategies ... 163
  The minimax algorithm ... 165
  Optimal decisions in multiplayer games ... 165
6.3. Alpha-Beta Pruning ... 167
6.4. Imperfect, Real-Time Decisions ... 171
  Evaluation functions ... 171
  Cutting off search ... 173
6.5. Games That Include an Element of Chance ... 175
  Position evaluation in games with chance nodes ... 177
  Complexity of expectiminimax ... 177
  Card games ... 179
6.6. State-of-the-Art Game Programs ... 180
6.7. Discussion ... 183
6.8. Summary ... 185
Bibliographical and Historical Notes. ... 186
Exercises. ... 189

Part III: Knowledge and reasoning

7. Logical Agents ... 194


7.1. Knowledge-Based Agents ... 195
7.2. The Wumpus World ... 197
7.3. Logic ... 200
7.4. Propositional Logic: A Very Simple Logic ... 204
  Syntax ... 204
  Semantics ... 206
  A simple knowledge base ... 208
  Inference ... 208
  Equivalence, validity, and satisfiability ... 210
7.5. Reasoning Patterns in Propositional Logic ... 211
  Resolution ... 213
    Conjunctive normal form ... 215
    A resolution algorithm ... 215
    Completeness of resolution ... 217
  Forward and backward chaining ... 217
7.6. Effective propositional inference ... 220
  A complete backtracking algorithm ... 221
  Local-search algorithms ... 222
  Hard satisfiability problems ... 224
7.7. Agents Based on Propositional Logic ... 225
  Finding pits and wumpuses using logical inference ... 225
  Keeping track of location and orientation ... 227
  Circuit-based agents ... 227
  A comparison ... 231
7.8. Summary ... 232
Bibliographical and Historical Notes. ... 233
Exercises. ... 236

8. First-Order Logic ... 240


8.1. Representation Revisited ... 240
8.2. Syntax and Semantics of First-Order Logic ... 245
  Models for first-order logic ... 245
  Symbols and interpretations ... 246
  Terms ... 248
  Atomic sentences ... 248
  Complex sentences ... 249
  Quantifiers ... 249
    Universal quantification ... 249
    Existential quantification ... 250
    Nested quantifiers ... 251
    Connections between Forall and Exists ... 252
  Equality ... 253
8.3. Using First-Order Logic ... 253
  Assertions and queries in first-order logic ... 253
  The kinship domain ... 254
  Numbers, sets, and lists ... 256
  The wumpus world ... 258
8.4. Knowledge Engineering in First-Order Logic ... 260
  The knowledge engineering process ... 261
  The electronic circuits domain ... 262
    Identify the task ... 262
    Assemble the relevant knowledge ... 263
    Decide on a vocabulary ... 263
    Encode general knowledge of the domain ... 264
    Encode the specific problem instance ... 265
    Pose queries to the inference procedure ... 265
    Debug the knowledge base ... 266
8.5. Summary ... 266
Bibliographical and Historical Notes. ... 267
Exercises. ... 268

9. Inference in First-Order Logic ... 272


9.1. Propositional vs. First-Order Inference ... 272
  Inference rules for quantifiers ... 273
  Reduction to propositional inference ... 274
9.2. Unification and Lifting ... 275
  A first-order inference rule ... 275
  Unification ... 276
  Storage and retrieval ... 278
9.3. Forward Chaining ... 280
  First-order definite clauses ... 280
  A simple forward-chaining algorithm ... 281
  Efficient forward chaining ... 283
    Matching rules against known facts ... 283
    Incremental forward chaining ... 285
    Irrelevant facts ... 286
9.4. Backward Chaining ... 287
  A backward chaining algorithm ... 287
  Logic programming ... 289
  Efficient implementation of logic programs ... 290
  Redundant inference and infinite loops ... 292
  Constraint logic programming ... 294
9.5. Resolution ... 295
  Conjunctive normal form for first-order logic ... 295
  The resolution inference rule ... 297
  Example proofs ... 297
  Completeness of resolution ... 300
  Dealing with equality ... 303
  Resolution strategies ... 304
    Unit preference ... 305
    Set of support ... 305
    Input resolution ... 305
    Subsumption ... 306
  Theorem provers ... 306
    Design of a theorem prover ... 306
    Extending Prolog ... 307
    Theorem provers as assistants ... 308
    Practical uses of theorem provers ... 309
9.6. Summary ... 310
Bibliographical and Historical Notes. ... 310
Exercises. ... 315

10. Knowledge Representation ... 320


10.1. Ontological Engineering ... 320
10.2. Categories and Objects ... 322
  Physical composition ... 324
  Measurements ... 325
  Substances and objects ... 327
10.3. Actions, Situations, and Events ... 328
  The ontology of situation calculus ... 329
  Describing actions in situation calculus ... 330
  Solving the representational frame problem ... 332
  Solving the inferential frame problem ... 333
  Time and event calculus ... 334
  Generalized events ... 335
  Processes ... 337
  Intervals ... 338
  Fluents and objects ... 339
10.4. Mental Events and Mental Objects ... 341
  A formal theory of beliefs ... 341
  Knowledge and belief ... 343
  Knowledge, time, and action ... 344
10.5. The Internet Shopping World ... 344
  Comparing offers ... 348
10.6. Reasoning Systems for Categories ... 349
  Semantic networks ... 350
  Description logics ... 353
10.7. Reasoning with Default Information ... 354
  Open and closed worlds ... 354
  Negation as failure and stable model semantics ... 356
  Circumscription and default logic ... 358
10.8. Truth Maintenance Systems ... 360
10.9. Summary ... 362
Bibliographical and Historical Notes. ... 363
Exercises. ... 369

Part IV: Planning

11. Planning ... 375


11.1. The Planning Problem ... 375
  The language of planning problems ... 377
  Expressiveness and extensions ... 378
  Example: Air cargo transport ... 380
  Example: The spare tire problem ... 381
  Example: The blocks world ... 381
11.2. Planning with State-Space Search ... 382
  Forward state-space search ... 382
  Backward state-space search ... 384
  Heuristics for state-space search ... 386
11.3. Partial-Order Planning ... 387
  A partial-order planning example ... 391
  Partial-order planning with unbound variables ... 393
  Heuristics for partial-order planning ... 394
11.4. Planning Graphs ... 395
  Planning graphs for heuristic estimation ... 397
  The Graphplan algorithm ... 398
  Termination of Graphplan ... 401
11.5. Planning with Propositional Logic ... 402
  Describing planning problems in propositional logic ... 402
  Complexity of propositional encodings ... 405
11.6. Analysis of Planning Approaches ... 407
11.7. Summary ... 408
Bibliographical and Historical Notes. ... 409
Exercises. ... 412

12. Planning and Acting in the Real World ... 417


12.1. Time, Schedules, and Resources ... 417
  Scheduling with resource constraints ... 420
12.2. Hierarchical Task Network Planning ... 422
  Representing action decompositions ... 423
  Modifying the planner for decompositions ... 425
  Discussion ... 427
12.3. Planning and Acting in Nondeterministic Domains ... 430
12.4. Conditional Planning ... 433
  Conditional planning in fully observable environments ... 433
  Conditional planning in partially observable environments ... 437
12.5. Execution Monitoring and Replanning ... 441
12.6. Continuous Planning ... 445
12.7. MultiAgent Planning ... 449
  Cooperation: Joint goals and plans ... 450
  Multibody planning ... 451
  Coordination mechanisms ... 452
  Competition ... 454
12.8. Summary ... 454
Bibliographical and Historical Notes. ... 455
Exercises. ... 459

Part V: Uncertain knowledge and reasoning

13. Uncertainty ... 462


13.1. Acting under Uncertainty ... 462
  Handling uncertain knowledge ... 463
  Uncertainty and rational decisions ... 465
  Design for a decision-theoretic agent ... 466
13.2. Basic Probability Notation ... 466
  Propositions ... 467
  Atomic events ... 468
  Prior probability ... 468
  Conditional probability ... 470
13.3. The Axioms of Probability ... 471
  Using the axioms of probability ... 473
  Why the axioms of probability are reasonable ... 473
13.4. Inference Using Full Joint Distributions ... 475
13.5. Independence ... 477
13.6. Bayes' Rule and Its Use ... 479
  Applying Bayes' rule: The simple case ... 480
  Using Bayes' rule: Combining evidence ... 481
13.7. The Wumpus World Revisited ... 483
13.8. Summary ... 486
Bibliographical and Historical Notes. ... 487
Exercises. ... 489

14. Probabilistic Reasoning ... 492


14.1. Representing Knowledge in an Uncertain Domain ... 492
14.2. The Semantics of Bayesian Networks ... 495
  Representing the full joint distribution ... 495
    A method for constructing Bayesian networks ... 496
    Compactness and node ordering ... 496
  Conditional independence relations in Bayesian networks ... 499
14.3. Efficient Representation of Conditional Distributions ... 500
    Bayesian nets with continuous variables ... 501
14.4. Exact Inference in Bayesian Networks ... 504
  Inference by enumeration ... 504
  The variable elimination algorithm ... 507
  The complexity of exact inference ... 509
  Clustering algorithms ... 510
14.5. Approximate Inference in Bayesian Networks ... 511
  Direct sampling methods ... 511
    Rejection sampling in Bayesian networks ... 512
    Likelihood weighting ... 514
  Inference by Markov chain simulation ... 516
    The MCMC algorithm ... 516
    Why MCMC works ... 517
14.6. Extending Probability to First-Order Representations ... 519
14.7. Other Approaches to Uncertain Reasoning ... 523
  Rule-based methods for uncertain reasoning ... 524
  Representing ignorance: Dempster-Shafer theory ... 525
  Representing vagueness: Fuzzy sets and fuzzy logic ... 526
14.8. Summary ... 528
Bibliographical and Historical Notes. ... 528
Exercises. ... 533

15. Probabilistic Reasoning over Time ... 537


15.1. Time and Uncertainty ... 537
  States and observations ... 538
  Stationary processes and the Markov assumption ... 538
15.2. Inference in Temporal Models ... 541
  Filtering and prediction ... 542
  Smoothing ... 544
  Finding the most likely sequence ... 547
15.3. Hidden Markov Models ... 549
  Simplified matrix algorithms ... 549
15.4. Kalman Filters ... 551
  Updating Gaussian distributions ... 553
  A simple one-dimensional example ... 554
  The general case ... 556
  Applicability of Kalman filtering ... 557
15.5. Dynamic Bayesian Networks ... 559
  Constructing DBNs ... 560
  Exact inference in DBNs ... 563
  Approximate inference in DBNs ... 565
15.6. Speech Recognition ... 568
  Speech sounds ... 570
  Words ... 572
  Sentences ... 574
  Building a speech recognizer ... 576
15.7. Summary ... 578
Bibliographical and Historical Notes. ... 578
Exercises. ... 581

16. Making Simple Decisions ... 584


16.1. Combining Beliefs and Desires under Uncertainty ... 584
16.2. The Basis of Utility Theory ... 586
  Constraints on rational preferences ... 586
  And then there was Utility ... 588
16.3. Utility Functions ... 589
  The utility of money ... 589
  Utility scales and utility assessment ... 591
16.4. Multiattribute Utility Functions ... 593
  Dominance ... 594
  Preference structure and multiattribute utility ... 596
    Preferences without uncertainty ... 596
    Preferences with uncertainty ... 597
16.5. Decision Networks ... 597
  Representing a decision problem with a decision network ... 598
  Evaluating decision networks ... 599
16.6. The Value of Information ... 600
  A simple example ... 600
  A general formula ... 601
  Properties of the value of information ... 602
  Implementing an information-gathering agent ... 603
16.7. Decision-Theoretic Expert Systems ... 604
16.8. Summary ... 607
Bibliographical and Historical Notes. ... 607
Exercises. ... 609

17. Making Complex Decisions ... 613


17.1. Sequential Decision Problems ... 613
  An example ... 613
  Optimality in sequential decision problems ... 616
17.2. Value Iteration ... 618
  Utilities of states ... 619
  The value iteration algorithm ... 620
  Convergence of value iteration ... 620
17.3. Policy Iteration ... 624
17.4. Partially observable MDPs ... 625
17.5. Decision-Theoretic Agents ... 629
17.6. Decisions with Multiple Agents: Game Theory ... 631
17.7. Mechanism Design ... 640
17.8. Summary ... 643
Bibliographical and Historical Notes. ... 644
Exercises. ... 646

Part VI: Learning

18. Learning from Observations ... 649


18.1. Forms of Learning ... 649
18.2. Inductive Learning ... 651
18.3. Learning Decision Trees ... 653
  Decision trees as performance elements ... 653
  Expressiveness of decision trees ... 655
  Inducing decision trees from examples ... 655
  Choosing attribute tests ... 659
  Assessing the performance of the learning algorithm ... 660
  Noise and overfitting ... 661
  Broadening the applicability of decision trees ... 663
18.4. Ensemble Learning ... 664
18.5. Why Learning Works: Computational Learning Theory ... 668
  How many examples are needed? ... 669
  Learning decision lists ... 670
  Discussion ... 672
18.6. Summary ... 673
Bibliographical and Historical Notes. ... 674
Exercises. ... 676

19. Knowledge in Learning ... 678


19.1. A Logical Formulation of Learning ... 678
  Examples and hypotheses ... 678
  Current-best-hypothesis search ... 680
  Least-commitment search ... 683
19.2. Knowledge in Learning ... 686
  Some simple examples ... 687
  Some general schemes ... 688
19.3. Explanation-Based Learning ... 690
  Extracting general rules from examples ... 691
  Improving efficiency ... 693
19.4. Learning Using Relevance Information ... 694
  Determining the hypothesis space ... 695
  Learning and using relevance information ... 695
19.5. Inductive Logic Programming ... 697
  An example ... 699
  Top-down inductive learning methods ... 701
  Inductive learning with inverse deduction ... 703
  Making discoveries with inductive logic programming ... 705
19.6. Summary ... 707
Bibliographical and Historical Notes. ... 708
Exercises. ... 710

20. Statistical Learning Methods ... 712


20.1. Statistical Learning ... 712
20.2. Learning with Complete Data ... 716
  Maximum-likelihood parameter learning: Discrete models ... 716
  Naive Bayes models ... 718
  Maximum-likelihood parameter learning: Continuous models ... 719
  Bayesian parameter learning ... 720
  Learning Bayes net structures ... 722
20.3. Learning with Hidden Variables: The EM Algorithm ... 724
  Unsupervised clustering: Learning mixtures of Gaussians ... 725
  Learning Bayesian networks with hidden variables ... 727
  Learning hidden Markov models ... 731
  The general form of the EM algorithm ... 731
  Learning Bayes net structures with hidden variables ... 732
20.4. Instance-Based Learning ... 733
  Nearest-neighbor models ... 733
  Kernel models ... 735
20.5. Neural Networks ... 736
  Units in neural networks ... 737
  Network structures ... 738
  Single layer feed-forward neural networks (perceptrons) ... 740
  Multilayer feed-forward neural networks ... 744
  Learning neural network structures ... 748
20.6. Kernel Machines ... 749
20.7. Case Study: Handwritten Digit Recognition ... 752
20.8. Summary ... 754
Bibliographical and Historical Notes. ... 755
Exercises. ... 759

21. Reinforcement Learning ... 763


21.1. Introduction ... 763
21.2. Passive Reinforcement Learning ... 765
  Direct utility estimation ... 766
  Adaptive dynamic programming ... 767
  Temporal difference learning ... 767
21.3. Active Reinforcement Learning ... 771
  Exploration ... 771
  Learning an Action-Value Function ... 775
21.4. Generalization in Reinforcement Learning ... 777
  Applications to game-playing ... 780
  Application to robot control ... 780
21.5. Policy Search ... 781
21.6. Summary ... 784
Bibliographical and Historical Notes. ... 785
Exercises. ... 788

Part VII: Communicating, perceiving, and acting

22. Communication ... 790


22.1. Communication as Action ... 790
  Fundamentals of language ... 791
  The component steps of communication ... 792
22.2. A Formal Grammar for a Fragment of English ... 795
  The Lexicon of E_0 ... 795
  The Grammar of E_0 ... 796
22.3. Syntactic Analysis (Parsing) ... 798
  Efficient parsing ... 800
22.4. Augmented Grammars ... 806
  Verb subcategorization ... 808
  Generative capacity of augmented grammars ... 809
22.5. Semantic Interpretation ... 810
  The semantics of an English fragment ... 811
  Time and tense ... 812
  Quantification ... 813
  Pragmatic Interpretation ... 815
  Language generation with DCGs ... 817
22.6. Ambiguity and Disambiguation ... 818
  Disambiguation ... 820
22.7. Discourse Understanding ... 821
  Reference resolution ... 821
  The structure of coherent discourse ... 823
22.8. Grammar Induction ... 824
22.9. Summary ... 826
Bibliographical and Historical Notes. ... 827
Exercises. ... 831

23. Probabilistic Language Processing ... 834


23.1. Probabilistic Language Models ... 834
  Probabilistic context-free grammars ... 836
  Learning probabilities for PCFGs ... 839
  Learning rule structure for PCFGs ... 840
23.2. Information Retrieval ... 840
  Evaluating IR systems ... 842
  IR refinements ... 844
  Presentation of result sets ... 845
  Implementing IR systems ... 846
23.3. Information Extraction ... 848
23.4. Machine Translation ... 850
  Machine translation systems ... 852
  Statistical machine translation ... 853
  Learning probabilities for machine translation ... 856
23.5. Summary ... 857
Bibliographical and Historical Notes. ... 858
Exercises. ... 861

24. Perception ... 863


24.1. Introduction ... 863
24.2. Image Formation ... 865
  Images without lenses: the pinhole camera ... 865
  Lens systems ... 866
  Light: the photometry of image formation ... 867
  Color: the spectrophotometry of image formation ... 868
24.3. Early Image Processing Operations ... 869
  Edge detection ... 870
  Image segmentation ... 872
24.4. Extracting Three-Dimensional Information ... 873
  Motion ... 875
  Binocular stereopsis ... 876
  Texture gradients ... 879
  Shading ... 880
  Contour ... 881
24.5. Object Recognition ... 885
  Brightness-based recognition ... 887
  Feature-based recognition ... 888
  Pose Estimation ... 890
24.6. Using Vision for Manipulation and Navigation ... 892
24.7. Summary ... 894
Bibliographical and Historical Notes. ... 895
Exercises. ... 898

25. Robotics ... 901


25.1. Introduction ... 901
25.2. Robot Hardware ... 903
  Sensors ... 903
  Effectors ... 904
25.3. Robotic Perception ... 907
  Localization ... 908
  Mapping ... 913
  Other types of perception ... 915
25.4. Planning to Move ... 916
  Configuration space ... 916
  Cell decomposition methods ... 919
  Skeletonization methods ... 922
25.5. Planning uncertain movements ... 923
  Robust methods ... 924
25.6. Moving ... 926
  Dynamics and control ... 927
  Potential field control ... 929
  Reactive control ... 930
25.7. Robotic Software Architectures ... 932
  Subsumption architecture ... 932
  Three-layer architecture ... 933
  Robotic programming languages ... 934
25.8. Application Domains ... 935
25.9. Summary ... 938
Bibliographical and Historical Notes. ... 939
Exercises. ... 942

Part VIII: Conclusions

26. Philosophical Foundations ... 947


26.1. Weak AI: Can Machines Act Intelligently? ... 947
  The argument from disability ... 948
  The mathematical objection ... 949
  The argument from informality ... 950
26.2. Strong AI: Can Machines Really Think? ... 952
  The mind-body problem ... 954
  The ``brain in a vat'' experiment ... 955
  The brain prosthesis experiment ... 956
  The Chinese room ... 958
26.3. The Ethics and Risks of Developing Artificial Intelligence ... 960
26.4. Summary ... 964
Bibliographical and Historical Notes. ... 964
Exercises. ... 967

27. AI: Present and Future ... 968


27.1. Agent Components ... 968
27.2. Agent Architectures ... 970
27.3. Are We Going in the Right Direction? ... 972
27.4. What if AI Does Succeed? ... 974

A. Mathematical background ... 977


A.1. Complexity Analysis and O() Notation ... 977
  Asymptotic analysis ... 977
  NP and inherently hard problems ... 978
A.2. Vectors, Matrices, and Linear Algebra ... 979
A.3. Probability Distributions ... 981
Bibliographical and Historical Notes. ... 983

B. Notes on Languages and Algorithms ... 984


B.1. Defining Languages with Backus-Naur Form (BNF) ... 984
B.2. Describing Algorithms with Pseudocode ... 985
B.3. Online Help ... 985

Bibliography ... 987

Index ... 1057

AI: A Modern Approach by Stuart Russell and Peter Norvig Modified: Dec 14, 2002

AltStyle によって変換されたページ (->オリジナル) /