HOME

TheInfoList



OR:

Property testing is a field of
theoretical computer science Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation. It is difficult to circumscribe the theoretical areas precisely. The Associati ...
, concerned with the design of super-fast algorithms for approximate decision making, where the decision refers to properties or parameters of huge objects. A ''property testing algorithm'' for a
decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question on a set of input values. An example of a decision problem is deciding whether a given natura ...
is an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
whose query complexity (the number of queries made to its input) is much smaller than the instance size of the problem. Typically, property testing algorithms are used to determine whether some combinatorial structure (such as a
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discret ...
or a
boolean function In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually , or ). Alternative names are switching function, used especially in older computer science literature, and truth functi ...
) satisfies some property , or is "far" from having this property (meaning that an -fraction of the representation of must be modified to make satisfy ), using only a small number of "local" queries to the object. For example, the following
promise problem In computational complexity theory, a promise problem is a generalization of a decision problem where the input is promised to belong to a particular subset of all possible inputs. Unlike decision problems, the ''yes'' instances (the inputs for whi ...
admits an algorithm whose query complexity is independent of the instance size (for an arbitrary constant ): :"Given a graph on vertices, decide whether it is bipartite, or cannot be made bipartite even after removing an arbitrary subset of at most edges." Property testing algorithms are central to the definition of probabilistically checkable proofs, as a probabilistically checkable proof is essentially a proof that can be verified by a property testing algorithm.


Definition and variants

Formally, a property testing algorithm with query complexity and ''proximity parameter'' for a decision problem is a
randomized algorithm A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performan ...
that, on input (an instance of ) makes at most queries to and behaves as follows: * If is in , then the algorithm accepts with probability at least 2/3. * If is -far from , then the algorithm rejects with probability at least 2/3. Here, " is ε-far from " means that the Hamming distance between and any string in is at least . A property testing algorithm is said to have ''one-sided error'' if it satisfies the stronger condition that the accepting probability for instances is 1 instead of 2/3. A property testing algorithm is said be ''non-adaptive'' if it performs all its queries before it "observes" any answers to previous queries. Such an algorithm can be viewed as operating in the following manner. First the algorithm receives its input. Before looking at the input, using its internal randomness, the algorithm decides which symbols of the input are to be queried. Next, the algorithm observes these symbols. Finally, without making any additional queries (but possibly using its randomness), the algorithm decides whether to accept or reject the input.


Features and limitations

The main efficiency parameter of a property testing algorithm is its query complexity, which is the maximum number of input symbols inspected over all inputs of a given length (and all random choices made by the algorithm). Computer scientists are interested in designing algorithms whose query complexity is as small as possible. In many cases, the running time of property testing algorithms is sublinear in the instance length. Typically, the goal is first to make the query complexity as small as possible as a function of the instance size , and then study the dependency on the proximity parameter . Unlike other complexity-theoretic settings, the asymptotic query complexity of property testing algorithms is affected dramatically by the representation of instances. For example, when , the problem of testing bipartiteness of ''dense graphs'' (which are represented by their
adjacency matrix In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph (discrete mathematics), graph. The elements of the matrix (mathematics), matrix indicate whether pairs of Vertex (graph theory), vertices ...
) admits an algorithm of constant query complexity. In contrast, sparse graphs on vertices (which are represented by their adjacency list) require property testing algorithms of query complexity . The query complexity of property testing algorithms grows as the proximity parameter becomes smaller for all non-trivial properties. This dependence on is necessary, as a change of fewer than symbols in the input cannot be detected with constant probability using fewer than queries. Many interesting properties of dense graphs can be tested using query complexity that depends only on and not on the graph size . However, the query complexity can grow enormously fast as a function of . For example, for a long time, the best known algorithm for testing whether a graph does not contain any triangle had a query complexity which is a tower function of , and only in 2010 was this improved to a tower function of . One of the reasons for this enormous growth in bounds is that many of the positive results for property testing of graphs are established using the Szemerédi regularity lemma, which also has tower-type bounds in its conclusions. The connection of property testing to the Szemerédi regularity lemma and related graph removal lemmas is elaborated on below.


Testing graph properties

For a graph with vertices, the notion of distance we will use is the ''
edit distance In computational linguistics and computer science, edit distance is a string metric, i.e. a way of quantifying how dissimilar two String (computing), strings (e.g., words) are to one another, that is measured by counting the minimum number of opera ...
''. That is, we say that the distance between two graphs is the smallest such that one can add and/or delete edges and get from the first graph to the second. Under a reasonable representation of graphs, this is equivalent to the earlier ''
Hamming distance In information theory, the Hamming distance between two String (computer science), strings or vectors of equal length is the number of positions at which the corresponding symbols are different. In other words, it measures the minimum number ...
'' definition (up to possibly a change of constants). To make precise the general notions of property testing in the context of graphs, we say a tester for graph property should distinguish with at least two-thirds probability between the cases of satisfying and the cases where is -far in edit distance from satisfying . The tester can access some
oracle An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination. Descript ...
to query whether a pair of vertices has an edge between them in or not. The ''query complexity'' is the number of such oracle queries. Say the tester has ''one-sided error'' if it has false positives and not false negatives, i.e. if satisfies , the tester always outputs the correct answer. We can only differentiate between graphs that satisfy versus those far from , as opposed to satisfying versus not satisfying . In the latter case, consider two graphs: satisfying and not satisfying by changing only a few edges. One example is testing triangle-freeness with ' a graph with exactly one triangle and having one of these edges removed. Then, the tester cannot tell them apart unless it queries every edge, which it cannot do.


Short history

The field of graph property testing was first introduced by Goldreich, Goldwasser, and Ron. In their seminal paper published in 1998, an abstract graph partition problem is analyzed and some testers provided. These include as special cases several important graph properties like bipartiteness, ''k''-colorability, having a large clique, and having a large cut. In particular, the ''natural'' algorithms that sample a subgraph and check whether it satisfy the property are all correct, albeit with perhaps-suboptimal query complexities. Since then, several related discoveries have been made * In 1992, Alon, Duke, Lefmann, Rödl, and Yuster showed that for every graph ', the property of not containing ' as a subgraph is testable. * In 1999, Alon, Fischer, Krivelevich, and Szegedy showed that for every graph ', the property of not containing ' as an induced subgraph subgraph is testable. * In 2005, Alon and Shapira showed that any ''monotone graph property'' (one that is preserved under vertex and edge deletion) is testable with one-sided error. * In 2008, Alon and Shapira exhibited testers with one-sided error for all '' hereditary'' graph properties. They also characterized properties that are easy to test. Namely, these natural properties are ''semi-hereditary''. These statements will be clarified below.


Testing hereditary graph properties

A graph property is '' hereditary'' if it is preserved under deletion of vertices, or equivalently, if it is preserved under taking
induced subgraph In graph theory, an induced subgraph of a graph is another graph, formed from a subset of the vertices of the graph and ''all'' of the edges, from the original graph, connecting pairs of vertices in that subset. Definition Formally, let G=(V,E) ...
s. A few important hereditary properties are '-freeness (for some graph '), -colorability, and planarity. All hereditary properties are testable. :Theorem (Alon & Shapira 2008). Every hereditary graph property is testable with one-sided error. The proof relies on a version of the graph removal lemma for infinite families of induced subgraphs. The query complexity using this regularity approach is large due to the tower function bound in the Szemerédi regularity lemma. :Theorem (Infinite graph removal lemma). For each (possibly infinite) set of graphs and , there exist and so that, if is an -vertex graph with fewer than copies of for every with at most vertices, then can be made induced -free by adding/removing fewer than edges.


Oblivious testers

Informally, an ''oblivious tester'' is oblivious to the size of the input. For a graph property , it is an algorithm that takes as input a parameter and graph , and then runs as a property testing algorithm on for the property with proximity parameter that makes exactly queries to . :Definition. An oblivious tester is an algorithm that takes as input a parameter . It computes an integer and then asks an oracle for an induced subgraph on exactly vertices from chosen uniformly at random. It then accepts or rejects (possibly randomly) according to and . We say it tests for the property if it accepts with probability at least for that has property , and rejects with probability at least or that is -far from having property '. Crucially, the number of queries an oblivious tester makes is a constant dependent only on and not the size of the input graph . In complete analogy with property testing algorithms, we can talk about oblivious testers with one-sided error.


Testing semi-hereditary graph properties

We can contrive some graph properties for which a tester must access the number of vertices. : Example. A graph satisfies property ' if it is bipartite with an even number of vertices or perfect with an odd number of vertices. In this case, the tester cannot even differentiate which property (bipartiteness or perfectness) to test unless it knows the number of vertices. There are many examples of such unnatural properties. In fact, the characterization of graph properties testable by an oblivious tester with one-sided error leads to a class of natural properties. :Definition. A graph property ' is semi-hereditary if there exists a hereditary graph property such that any graph satisfying ' satisfies ', and for every , there is an such that every graph of size at least that is -far from satisfying contains an induced subgraph that does not satisfy '. Trivially, hereditary properties are also semi-hereditary. This characterization partially answers the converse to the other Alon & Shapira theorem above: the properties that are easy to test properties (having oblivious testers with one-sided error) are almost hereditary. In the same paper, they showed that :Theorem (Alon & Shapira 2008). A graph property ' has an oblivious one-sided error tester if and only if ' is semi-hereditary.


Examples: testing some graph properties

In this section, we will give some ''natural'' oblivious testing algorithms with one-sided error for triangle-freeness, bipartiteness, and -colorability. They are natural in the sense that we follow the natural idea of randomly sampling some subset of vertices of ' and checking whether the graph property holds on the subgraph spanned by ' by
brute-force search In computer science, brute-force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of Iteration#Computing, systematically checking all possible candida ...
. We have one-sided error since these properties are actually hereditary: if ' satisfy the property, so must the induced subgraph spanned by ', so our tester always accepts. For triangle-freeness, the tester is an application of the triangle removal lemma. In particular, it tells us that if graph ' is -far from being triangle-free, then there is a (computable) constant so that has at least triangles.
Example (Triangle-freeness Testing Algorithm). # Given graph , choose a random set ' of triples of vertices independently at random, where is as above. # For every triple of vertices in ', query whether all three pairs of vertices are adjacent in . # The algorithm ''accepts'' if no triple of vertices induces a triangle, and ''rejects'' otherwise.
For bipartiteness and -colorability, let be the desired upper bound on error probability for the following testers. Note that query complexity should not be confused with running time. The latter is often exponential (as is the case of both) due to a lack of polynomial time decision algorithm to test the property on the induced subgraph. We instead check by
brute-force search In computer science, brute-force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of Iteration#Computing, systematically checking all possible candida ...
.
Example (Bipartite Testing Algorithm). # Given graph , choose a random set ' of vertices. # For every pair of vertices in ', query whether they are adjacent in . # It ''accepts'' if the induced subgraph of on ' is bipartite and ''rejects'' otherwise.
Example (k-colorability Testing Algorithm). # Given graph , choose a random set ' of vertices. # For every pair of vertices in ', query if they are adjacent in . # It ''accepts'' if the induced subgraph of on ' is k-colorable and ''rejects'' otherwise.


References

{{reflist, refs= {{cite arXiv , last=Fox , first=Jacob , eprint=1006.1300 , title= A new proof of the graph removal lemma , date=2010 , class=math.CO {{cite journal , title=A characterization of the (natural) graph properties testable with one-sided error., last1=Alon, first1=Noga, authorlink=Noga Alon , last2=Shapira , first2=Asaf, journal=SIAM Journal on Computing , volume=37 , pages=1703–1727 , year=2008 , issue=6, doi=10.1137/06064888X, url=https://www.tau.ac.il/~nogaa/PDFS/heredit2.pdf {{cite journal , last1=Goldreich , first1=Oded , last2=Goldwasser , first2=Shafi , last3=Ron , first3=Dana , title=Property testing and its connection to learning and approximation , journal=Journal of the ACM , date=1 July 1998 , volume=45 , issue=4 , pages=653–750 , doi=10.1145/285055.285060, doi-access=free {{cite book , first=Oded , last=Goldreich , authorlink=Oded Goldreich , title= Introduction to Property Testing , year=2017 , publisher=Cambridge University Press , isbn=9781107194052 {{cite tech report , first=Dana , last=Ron , authorlink=Dana Ron , title=Property Testing , year=2000 {{cite journal , last1=Rubinfeld , first1=Ronitt , last2=Shapira , first2=Asaf , title=Sublinear Time Algorithms , journal=SIAM Journal on Discrete Mathematics , volume=25 , number=4 , pages=1562–1588 , year=2011 , doi=10.1137/100791075 , citeseerx=10.1.1.221.1797 , s2cid=1319122 {{cite book , last=Goldreich , first=Oded , title=Randomization Methods in Algorithm Design , chapter=Combinatorial property testing (A survey) , series=DIMACS Series in Discrete Mathematics and Theoretical Computer Science , authorlink=Oded Goldreich , volume=43 , pages=45–59 , year=1999 , doi=10.1090/dimacs/043/04 , isbn=0821870874 , url=http://www.wisdom.weizmann.ac.il/~oded/PS/testSU.ps , doi-access=free {{cite journal , last1=Alon , first1=N. , last2=Duke , first2=R. A. , last3=Lefmann , first3=H. , last4=Rodl , first4=V. , last5=Yuster , first5=R., author5-link=Raphael Yuster , title=The Algorithmic Aspects of the Regularity Lemma , journal=Journal of Algorithms , date=1 January 1994 , volume=16 , issue=1 , pages=80–109 , doi=10.1006/jagm.1994.1005 {{cite journal , last1=Alon , first1=Noga , last2=Fischer , first2=Eldar , last3=Krivelevich , first3=Michael , last4=Szegedy , first4=Mario , title=Efficient Testing of Large Graphs , journal=Combinatorica , date=1 April 2000 , volume=20 , issue=4 , pages=451–476 , doi=10.1007/s004930070001 {{cite book , last1=Alon , first1=Noga , last2=Shapira , first2=Asaf , title=Proceedings of the thirty-seventh annual ACM symposium on Theory of computing , chapter=Every monotone graph property is testable , date=22 May 2005 , pages=128–137 , doi=10.1145/1060590.1060611, isbn=1581139608 , s2cid=14096855 Approximation algorithms Randomized algorithms Theoretical computer science