<P>The book provides an in-depth and uniform treatment of a mathematical</P>
<P>model for reasoning robotic agents. The book also contains an introduction</P>
<P>to a programming method and system based on this model.</P>
<P></P>
<P>The mathematical model, known as the "Fluent Calculus,'' describes how</P>
<P>to use classical first-order logic to set up symbolic models of dynamic</P>
<P>worlds and to represent knowledge of actions and their effects. Robotic</P>
<P>agents use this knowledge and their reasoning facilities to make decisions</P>
<P>when following high-level, long-term strategies. The book covers</P>
<P>the issues of reasoning about sensor input, acting under incomplete</P>
<P>knowledge and uncertainty, planning, intelligent troubleshooting, and many</P>
<P>other topics.</P>
<P></P>
<P>The mathematical model is supplemented by a programming method which</P>
<P>allows readers to design their own reasoning robotic agents. The usage of</P>
<P>this method, called "FLUX,'' is illustrated by many example programs. The</P>
<P>book includes the details of an implementation of FLUX using the standard</P>
<P>programming language PROLOG, which allows readers to re-implement or</P>
<P>to modify and extend the generic system.</P>
<P></P>
<P>The design of autonomous agents, including robots, is one of the most</P>
<P>exciting and challenging goals of Artificial Intelligence. Reasoning robotic</P>
<P>agents constitute a link between knowledge representation and reasoning on</P>
<P>the one hand, and agent programming and robot control on the other. The</P>
<P>book provides a uniform mathematical model for the problem-driven,</P>
<P>top-down design of rational agents, which use reasoning for decision</P>
<P>making, planning, and troubleshooting. The implementation of the</P>
<P>mathematical model by a general PROLOG program allows readers to</P>
<P>practice the design of reasoning robotic agents. Since all implementation</P>
<P>details are given, the generic system can be easily modified and extended.</P>