By Dana Ron, School of EE, Tel-Aviv University, Israel, danar@eng.tau.ac.il
Property testing algorithms are "ultra"-efficient algorithms that decide whether a given object (e.g., a graph) has a certain property (e.g., bipartiteness), or is significantly different from any object that has the property. To this end property testing algorithms are given the ability to perform (local) queries to the input, though the decision they need to make usually concerns properties with a global nature. In the last two decades, property testing algorithms have been designed for many types of objects and properties, amongst them, graph properties, algebraic properties, geometric properties, and more.
In this monograph we survey results in property testing, where our emphasis is on common analysis and algorithmic techniques. Among the techniques surveyed are the following:
Property testing algorithms exhibit a fascinating connection between global properties of objects and small, local views. Such algorithms are "ultra"-efficient to the extent that they only read a tiny portion of their input, and yet they decide whether a given object has a certain property or is significantly different from any object that has the property. To this end, property testing algorithms are given the ability to perform (local) queries to the input, though the decisions they need to make usually concern properties of a global nature. In the last two decades, property testing algorithms have been designed for a large variety of objects and properties, amongst them, graph properties, algebraic properties, geometric properties, and more. Algorithmic and Analysis Techniques in Property Testing is arranged around design principles and analysis techniques in property testing. Among the themes surveyed are: the self-correcting approach, the enforce and test approach, Szemerédi's Regularity Lemma, the approach of Testing by implicit learning, and algorithmic techniques for testing properties of sparse graphs, which include local search and random walks.