Content deleted Content added
No edit summary |
copy editing |
||
Line 1:
In [[mathematics]], an '''
== Examples ==
=== An example for a non-evasive boolean function ===
<math>f(x,y,z) = (x \wedge y) \vee (\urcorner x \wedge z)</math> <br>▼
: <math>f(x,y,z) = (x \wedge y) \vee (\urcorner x \wedge z) \, </math>
(where <math> \wedge</math> is the bitwise "and", <math>\vee</math> is the bitwise "or", <math>\urcorner </math> 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
: <math> ( \urcorner x = \text{false}
If x is false, the algorithm checks the value of z and returns it. <br>▼
=== A simple example for an evasive boolean function ===
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 there could be a different worst case input for every decision tree algorithm). <br>▼
▲A worst
== Binary zero-sum games ==
For the case of binary [[
Note that in every zero-sum game, the value of the game is achieved by the [[minimax]] algorithm (player 1 tries to maximize the profit, and player 2 tries to minimize the cost). <br>▼
In the Binary case, the max function equals the bitwise or, and the min function equals the bitwise and. <br>▼
A decision tree for this game will be of the form: <br>▼
* every leaf will have value in {0,1}.▼
* every node is connected to one of {and, or}▼
▲
For every such tree with <math>n</math> leaves, the running time in the worst case is <math>n</math> (meaning that the algorithm must check all the leaves): <br>▼
We'll show an [[Adversary (online algorithm)|adversary]] 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. <br>▼
▲In the
This input (0 for all Or nodes' children, and 1 for all And nodes' children) forces the algorithm to check all nodes: <br> ▼
like in the second example▼
▲* every leaf will have value in {0, 1}.
▲For every such tree with
▲We
▲This input (0 for all Or nodes' children, and 1 for all And nodes' children) forces the algorithm to check all nodes:
* 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==
|