Why a book on fault-tolerant search algorithms? Searching is one of the fundamental problems in computer science. Time and again algorithmic and combinatorial issues originally studied in the context of search find application in the most diverse areas of computer science and discrete mathematics. On the other hand, fault-tolerance is a necessary ingredient of computing. Due to their inherent complexity, information systems are naturally prone to errors, which may appear at any level - as imprecisions in the data, bugs in the software, or transient or permanent hardware failures. This book provides a concise, rigorous and up-to-date account of different approaches to fault-tolerance in the context of algorithmic search theory.
Thanks to their basic structure, search problems offer insights into how fault-tolerant techniques may be applied in various scenarios. In the first part of the book, a paradigmatic model for fault-tolerant search is presented, the Ulam-Renyi problem. Following a didactic approach, the author takes the reader on a tour of Ulam-Renyi problem variants of increasing complexity. In the context of this basic model, fundamental combinatorial and algorithmic issues in the design of fault-tolerant search procedures are discussed. The algorithmic efficiency achievable is analyzed with respect to the statistical nature of the error sources, and the amount of information on which the search algorithm bases its decisions. In the second part of the book, more general models of faults and fault-tolerance are considered. Special attention is given to the application of fault-tolerant search procedures to specific problems in distributed computing, bioinformatics and computational learning.
This book will be of special value to researchers from the areas of combinatorial search and fault-tolerant computation, but also to researchers in learning and coding theory, databases, and artificial intelligence. Only basic training in discrete mathematics is assumed. Parts of the book can be used as the basis for specialized graduate courses on combinatorial search, or as supporting material for a graduate or undergraduate course on error-correcting codes.