Book contents
- Frontmatter
- Dedication
- Contents
- List of Algorithms
- Table of Notation
- Foreword
- Preface
- 1 Introduction
- 2 Deliberation with Deterministic Models
- 3 Deliberation with Refinement Methods
- 4 Deliberation with Temporal Models
- 5 Deliberation with Nondeterministic Models
- 6 Deliberation with Probabilistic Models
- 7 Other Deliberation Functions
- 8 Concluding Remarks
- Appendix A Search Algorithms
- Appendix B Strongly Connected Components of a Graph
- Bibliography
- Index
Appendix A - Search Algorithms
Published online by Cambridge University Press: 05 August 2016
- Frontmatter
- Dedication
- Contents
- List of Algorithms
- Table of Notation
- Foreword
- Preface
- 1 Introduction
- 2 Deliberation with Deterministic Models
- 3 Deliberation with Refinement Methods
- 4 Deliberation with Temporal Models
- 5 Deliberation with Nondeterministic Models
- 6 Deliberation with Probabilistic Models
- 7 Other Deliberation Functions
- 8 Concluding Remarks
- Appendix A Search Algorithms
- Appendix B Strongly Connected Components of a Graph
- Bibliography
- Index
Summary
This appendix provides background information about several of the search algorithms used in this book. These are nondeterministic state-space search (Section A.1) and And/Or search (Section A.2).
NONDETERMINISTIC STATE-SPACE SEARCH
Many of the planning algorithms in this book have been presented as nondeterministic search algorithms and can be described as instances of Algorithm A.1, Nondeterministic-Search. In most implementations of these algorithms, line (iii) corresponds to trying several members of R sequentially in a trial-and-error fashion. The “nondeterministically choose” command is an abstraction that lets us ignore the precise order in which those values are tried. This enables us to discuss properties that are shared by a wide variety of algorithms that search the same space of partial solutions, even though those algorithms may visit different nodes of that space in different orders.
There are several theoretical models of nondeterministic choice that are more-orless equivalent mathematically [213, 464, 131]. The one that is most relevant for our purposes is the nondeterministic Turing machine model,which works roughly as follows.
Let ψ(P) be a process produced by calling Nondeterministic-Search on a search problem P. Whenever this process reaches line (iii), it replaces ψ(P) with |R| copies of ψ(P) running in parallel: one copy for each r ∈ R. Each process corresponds to a different execution trace of ψ(P), and each execution trace follows one of the paths in ψ(P)'s search tree (see Figure A.1). Each execution trace that terminates will either return failure or return a purported answer to P.
Two desirable properties for a search algorithm ψ are soundness and completeness, which are defined as follows:
• ψ is sound over a set of search problems P if for every P ∈ P and every execution trace of ψ(P), if the trace terminates and returns a value π ≠ failure, then π is a solution for P. This will happen if the solution test in line (i) is sound.
Algorithm A.1 Equivalent iterative and recursive versions of a generic nondeterministic search algorithm. The arguments include the search problem P and (in the recursive version) a partial solution π, the initial value of which should be the empty plan.
- Type
- Chapter
- Information
- Automated Planning and Acting , pp. 313 - 317Publisher: Cambridge University PressPrint publication year: 2016