In
mathematics
Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, an evasive Boolean function
(of
variables) is 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 ...
for which every
decision tree algorithm has running time of exactly
. Consequently, every
decision tree algorithm that represents the function has, at worst case, a running time of
.
Definition
The type of algorithms considered in the definition of evasive Boolean function are
decision tree
A decision tree is a decision support system, decision support recursive partitioning structure that uses a Tree (graph theory), tree-like Causal model, model of decisions and their possible consequences, including probability, chance event ou ...
s in which each internal node tests the value of one of the given Boolean variables, and branches accordingly. Each leaf node of the tree specifies the value of the function for inputs that reach that node. The worst case
decision tree complexity of a given decision tree is the number of variables examined on the longest root-to-leaf path of the tree. Every
-variable function has a decision tree algorithm that examines exactly
variables on all inputs, using a decision tree in which all nodes at level
test the
th variable. A function is evasive if no other decision tree for the same function has smaller complexity. For an evasive function, any decision tree must have at least one input that leads to a path in the tree along which all input variables are examined.
[
]
Examples
It is trivial to construct non-evasive functions by constructing decision trees on which every branch terminates before testing all variables. For instance, the always-true function has a decision tree with no tests. For a less trivial example, in which all variables are used to determine the function value, consider the function of three variables , , and that returns either or according to whether is true or false respectively. It has a decision tree that first tests , and then tests only one of or on each branch.
If a branch of a decision tree terminates before testing all variables, then it gives the function value for an even number of combinations of arguments: combinations, where is the number of variables and is the number tested along that branch. Therefore, if a Boolean function has an odd number of combinations of arguments for which it is true, then it must be evasive.[ For instance, the ]logical and
In logic, mathematics and linguistics, ''and'' (\wedge) is the truth-functional operator of conjunction or logical conjunction. The logical connective of this operator is typically represented as \wedge or \& or K (prefix) or \times or \cdo ...
and logical or
In logic, disjunction (also known as logical disjunction, logical or, logical addition, or inclusive disjunction) is a logical connective typically notated as \lor and read aloud as "or". For instance, the English language, English language ...
functions are true for 1 and combinations of arguments, respectively, both of which are odd numbers (for ), so they are evasive.
History
The concept of an evasive function was introduced in connection with the study of graph algorithm
An algorithm is fundamentally a set of rules or defined procedures that is typically designed and used to solve a specific problem or a broad set of problems.
Broadly, algorithms define process(es), sets of rules, or methodologies that are to be f ...
s for graphs defined in an implicit graph
In the study of graph algorithms, an implicit graph representation (or more simply implicit graph) is a Graph (discrete mathematics), graph whose vertex (graph theory), vertices or edges are not represented as explicit objects in a computer's memo ...
model, where an algorithm has access to the graph only through a subroutine for testing the adjacency of vertices. In this application, a graph property can be described as a Boolean function whose input variables are true if an edge is present between two vertices, and a property is evasive if every algorithm must (on some inputs) test the existence of each potential edge. Early work in this area proved that a constant fraction of edges must be tested for any nontrivial monotone graph property; here "nontrivial" means that the function has more than one value, and "monotone" means that adding edges to a graph cannot change the function value from true to false. These partial results motivated the formulation of the Aanderaa–Karp–Rosenberg conjecture
In theoretical computer science, the Aanderaa–Karp–Rosenberg conjecture (also known as the Aanderaa–Rosenberg conjecture or the evasiveness conjecture) is a group of related conjectures about the number of questions of the form "Is there an ...
, still unproven, according to which all nontrivial monotone graph properties are evasive.[. This reference calls evasive properties "exhaustive", but mentions that the word "evasive" is used instead by several other earlier unpublished works.]
The Aanderaa–Karp–Rosenberg conjecture would follow from a more general conjecture on the evasiveness of Boolean functions: that every nontrivial monotone Boolean function that has symmetries taking any variable to any other variable is evasive. This conjecture also remains unproven, but it is known to be true for certain values of , including the prime power
In mathematics, a prime power is a positive integer which is a positive integer power of a single prime number.
For example: , and are prime powers, while
, and are not.
The sequence of prime powers begins:
2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 1 ...
s.[ It has been called the evasiveness conjecture.]
References
{{reflist
Boolean algebra
Decision trees