Evasive Boolean function
   HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, an evasive Boolean function ''ƒ'' (of ''n'' 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 function ( ...
for which every decision tree algorithm has running time of exactly ''n''. Consequently, every decision tree algorithm that represents the function has, at worst case, a running time of ''n''.


Examples


An example for a non-evasive boolean function

The following is a Boolean function on the three variables ''x'', ''y'', ''z'': (where \land is the bitwise "and", \lor is the bitwise "or", and \neg is the bitwise "not"). This function is not evasive, because there is a decision tree that solves it by checking exactly two variables: The algorithm first checks the value of ''x''. If ''x'' is true, the algorithm checks the value of ''y'' and returns it. :(     (\neg x = \text) ~~\Rightarrow~~ ((\neg x \land z) = \text)     ) If ''x'' is false, the algorithm checks the value of ''z'' and returns it.


A simple example for an evasive boolean function

Consider this simple "and" function on three variables: A worst-case input (for every algorithm) is 1, 1, 1. In every order we choose to check the variables, we have to check all of them. (Note that in general there could be a different worst-case input for every decision tree algorithm.) Hence the functions: "and", "or" (on ''n'' variables) are evasive.


Binary zero-sum games

For the case of binary
zero-sum game Zero-sum game is a mathematical representation in game theory and economic theory of a situation which involves two sides, where the result is an advantage for one side and an equivalent loss for the other. In other words, player one's gain is e ...
s, every
evaluation function An evaluation function, also known as a heuristic evaluation function or static evaluation function, is a function used by game-playing computer programs to estimate the value or goodness of a position (usually at a leaf or terminal node) in a g ...
is evasive. In every zero-sum game, the value of the game is achieved by the
minimax Minimax (sometimes MinMax, MM or saddle point) is a decision rule used in artificial intelligence, decision theory, game theory, statistics, and philosophy for ''mini''mizing the possible loss for a worst case (''max''imum loss) scenario. When de ...
algorithm (player 1 tries to maximize the profit, and player 2 tries to minimize the cost). In the binary case, the max function equals the bitwise "or", and the min function equals the bitwise "and". A decision tree for this game will be of this form: * every leaf will have value in . * every node is connected to one of {"and", "or"} For every such tree with ''n'' leaves, the running time in the worst case is ''n'' (meaning that the algorithm must check all the leaves): We will exhibit an
adversary An adversary is generally considered to be a person, group, or force that opposes and/or attacks. Adversary may also refer to: * Satan ("adversary" in Hebrew), in Judeo-Christian religion Entertainment Fiction * Adversary (comics), villain fro ...
that produces a worst-case input – for every leaf that the algorithm checks, the adversary will answer 0 if the leaf's parent is an Or node, and 1 if the parent is an And node. This input (0 for all Or nodes' children, and 1 for all And nodes' children) forces the algorithm to check all nodes: As in the second example * in order to calculate the ''Or'' result, if all children are 0 we must check them all. * In order to calculate the ''And'' result, if all children are 1 we must check them all.


See also

*
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 ...
, the conjecture that every nontrivial monotone graph property is evasive. Boolean algebra