## Knowledge in Action: Logical Foundations for Specifying and Implementing Dynamical SystemsModeling and implementing dynamical systems is a central problem in artificial intelligence, robotics, software agents, simulation, decision and control theory, and many other disciplines. In recent years, a new approach to representing such systems, grounded in mathematical logic, has been developed within the AI knowledge-representation community.This book presents a comprehensive treatment of these ideas, basing its theoretical and implementation foundations on the situation calculus, a dialect of first-order logic. Within this framework, it develops many features of dynamical systems modeling, including time, processes, concurrency, exogenous events, reactivity, sensing and knowledge, probabilistic uncertainty, and decision theory. It also describes and implements a new family of high-level programming languages suitable for writing control programs for dynamical systems. Finally, it includes situation calculus specifications for a wide range of examples drawn from cognitive robotics, planning, simulation, databases, and decision theory, together with all the implementation code for these examples. This code is available on the book's Web site. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

1 | |

Logical Preliminaries | 5 |

22 SecondOrder Logic | 12 |

23 Exercises | 15 |

24 Bibliographic Remarks | 18 |

Introduction to the Situation Calculus | 19 |

32 A Simple Solution to the Frame Problem Sometimes | 23 |

33 Deductive Planning with the Situation Calculus | 35 |

88 Bibliographic Remarks | 203 |

Progression | 205 |

91 Logical Foundations of Progression | 207 |

92 Two FirstOrder Progressable Cases | 210 |

93 STRIPS Planning Systems | 216 |

94 Strongly ContextFree Successor State Axioms | 223 |

95 Progression and Relational STRIPS | 224 |

96 An OpenWorld STRIPS | 226 |

34 Formalizing Database Transactions in the Situation Calculus | 39 |

35 Exercises | 41 |

36 Bibliographic Remarks | 44 |

Foundations of the Situation Calculus | 47 |

42 Axioms for the Situation Calculus | 48 |

43 Reasoning about Situations Using Induction | 54 |

44 Basic Theories of Action | 58 |

45 Regression | 61 |

46 Using Regression | 67 |

47 Regression with Functional Fluents | 70 |

48 Database Logs and Historical Queries | 73 |

49 Exercises | 78 |

410 Bibliographic Remarks | 83 |

Implementing Basic Action Theories | 85 |

52 LloydTopor Normal Forms for Arbitrary Definitions and Goals | 90 |

53 Basic Action Theories Definitions and Regressable Queries | 95 |

54 Exercises | 107 |

55 Bibliographic Remarks | 108 |

Complex Actions Procedures and Golog | 111 |

62 An Elevator Controller in Golog | 119 |

63 Implementation | 122 |

64 Discussion | 132 |

65 Proving Properties of Golog Programs | 134 |

66 Summary | 138 |

67 Exercises | 140 |

68 Bibliographic Remarks | 145 |

Time Concurrency and Processes | 149 |

72 Concurrency via Interleaving | 150 |

73 The Sequential Temporal Situation Calculus | 152 |

74 Sequential Temporal Golog | 155 |

75 The Concurrent NonTemporal Situation Calculus | 164 |

76 Axiomatizing Concurrent Worlds | 166 |

77 The Concurrent Temporal Situation Calculus | 167 |

78 Concurrent Temporal Golog | 169 |

79 Natural Actions | 170 |

710 Exercises | 182 |

711 Bibliographic Remarks | 183 |

Exogenous Actions Interrupts and Reactive Golog | 185 |

82 The Semantics of RGolog | 187 |

83 An RGolog Interpreter | 190 |

A Reactive Elevator Controller | 191 |

85 Interrupts with Priorities | 198 |

86 Discussion | 199 |

87 Exercises | 202 |

97 Correctness of Relational and OpenWorld STRIPS | 228 |

98 Exercises | 230 |

99 Bibliographic Remarks | 231 |

Planning | 233 |

Planning in the Blocks World | 235 |

103 Planning with Concurrent Actions | 242 |

A MultiHanded Blocks World Agent | 247 |

105 A Simple DepthFirst Planner | 255 |

106 OpenWorld Planning | 259 |

107 Planning vs Nondeterministic Programming | 275 |

108 Exercises | 277 |

109 Bibliographic Remarks | 280 |

Sensing and Knowledge | 283 |

112 Knowledge and the Designers Perspective | 292 |

113 KnowledgeProducing Actions | 293 |

114 The Frame Problem for KnowledgeProducing Actions | 294 |

115 Accessibility in the Initial Situation | 302 |

116 Regression for KnowledgeProducing Actions | 306 |

117 KnowledgeBased Programming | 309 |

118 Discussion | 327 |

119 Exercises | 328 |

1110 Bibliographic Remarks | 332 |

Probability and Decision Theory | 335 |

122 Derived Probabilities | 341 |

123 Exogenous Events | 349 |

124 Uncertainty in the Initial Situation | 359 |

125 Markov Decision Processes | 363 |

126 Discussion | 379 |

127 Exercises | 380 |

128 Bibliographic Remarks | 383 |

Concluding Remarks | 385 |

Some Useful FirstOrder Inference Rules | 389 |

A2 Generation Rules | 391 |

A3 Success Rules | 392 |

A5 Simplification Rules | 393 |

A6 Additional Success Rules | 394 |

A8 Exercises | 399 |

The Qualification and Ramification Problems | 401 |

B2 Constraints and the Qualification Problem | 402 |

B3 Solving the Qualification and Ramification Problems | 404 |

Resources | 407 |

409 | |

419 | |

### Common terms and phrases

action occurrences action precondition axioms action sequence assumption atom axiomatization axioms for actions basic action theory BlackHole blocks world Clark's theorem clauses clear(x cognitive robotics compute concurrent actions constraints CPU time sec defined definition delivery robot denotes do(a domain effect axioms endProc entails evaluation example executable situations executable(s exogenous action finite first-order logic fluent F foundational axioms frame problem free variables function symbols functional fluent goal Golog interpreter Golog program induction initial database initial situation knowledge knowledge-producing actions language logically equivalent nature's choices nondeterministic occur on(x onTable(x open-world performing planning Poss(a possible predicate symbol prime implicates primitive actions procedure Prolog proof properties prove qualification problem quantified query ramification problem relational database relational fluent second-order second-order logic Section sense actions sensor situation argument situation calculus situation term situation-suppressed specify Starting level stGolog stochastic action STRIPS successor state axioms Suppose theorem-proving true truth value unique names axioms

### Popular passages

Page 2 - Any mechanically embodied intelligent process will be comprised of structural ingredients that (a) we as external observers naturally take to represent a prepositional account of the knowledge that the overall process exhibits, and (b) independent of such external semantical attribution, play a formal but causal and essential role in engendering the behaviour that manifests that knowledge.

Page 409 - F. Bacchus and F. Kabanza. Using temporal logic to control search in a forward chaining planner.

Page 409 - D. Calvanese, M. Lenzerini. and D. Nardi. Description logics for conceptual data modeling. In J. Chomicki and G. Saake. editors. Logics for Databases and Information Systems, pages 229-263.

Page 409 - Hanks. Decision-theoretic planning: Structural assumptions and computational leverage. Journal of Artificial Intelligence Research, 11:1—94, 1999.

Page 417 - Proc. First International Conference on Principles of Knowledge Representation and Reasoning (KR '89), pages 505-516, 1989.

Page 418 - B. Freitag, H. Decker, M. Kifer, and A. Voronkov, editors, Transactions and Change in Logic Databases, volume 1472 of Lecture Notes in Computer Science, pages 356-387.

Page 409 - In JF Allen, HA Kautz, RN Pelavin, and JD Tenenberg, editors, Reasoning about Plans, pages 127-211.

### References to this book

Artificial Intelligence for Computer Games: An Introduction John David Funge No preview available - 2004 |