9

$\DeclareMathOperator{\th}{th}$ A Boolean function $f:\{0,1\}^n \to \{0,1\}$ is monotone if for all $a_1,\dots,a_n,a'_1,\dots,a'_n$, if $a_i \leq a'_i$ for all $1 \leq i \leq n$ then $f(a_1,\dots,a_n) \leq f(a'_1,\dots,a'_n)$.

Some obvious examples of monotone functions are the threshold functions $$\th^n_k(a_1,\dots,a_n) = \begin{cases}1 &\text{if at least $k$ of the inputs are $1$} \\ 0 &\text{else}\end{cases}$$ The AND, OR, and majority functions are all threshold functions with $k = n$, $k=1$, and $k = \lceil n/2\rceil$ respectively. The constant $0$ and $1$ functions are also threshold functions with thresholds $k=n+1$ and $k=0$.

These can be generalized into weighted threshold functions $$\th^n_{c_1,\dots,c_n;k} = \begin{cases}1 &\text{if $\sum_{i=1}^n c_ia_i \geq k$} \\ 0 &\text{else}\end{cases}$$ for nonnegative weights $c_i$. A basic threshold function has all of the weights equal to $1$. (Note that this is my own notation.)

My question: Can every monotone Boolean function be written as a weighted threshold function? If not, what is the counterexample with the fewest variables.


My thoughts so far for small $n$:

In one variable, the monotone functions are the constant $0$ and $1$ functions and the identity, which are $\th^1_{1;2}$, $\th^1_{1;0}$, and $\th^1_{1;1}$ respectively.

In two variables, the nontrivial monotone functions are $\wedge$ and $\vee$, which are $\th^2_{1,1;2}$ and $\th^2_{1,1;1}$. The trivial cases, which don't depend on both of the variables, can be written by using a zero coefficient for the unused variable -- for instance, the function $f(a_1,a_2) = a_1$ is the threshold function $\th^2_{1,0;1}$.

In three variables, the only interesting case is $f(a_1,a_2,a_3) = (a_1 \vee a_2) \wedge a_3$, along with its dual and versions with rotated variables. This function $f$ is in fact the weighted threshold map $\th^3_{1,1,2;3}$ because $a_1+a_2+2a_3 \geq 3$ if and only if $a_3 = 1$ and at least one of $a_1,a_2$ is also $1$.

D.W.
  • 6,040

2 Answers2

8

Here's a counterexample with 6 variables; I don't know whether there are smaller counterexamples. I'll describe the example in terms of a "voting rule" whereby 6 voters decide between 2 alternatives, 0 and 1. The Boolean function I want is the outcome of the following voting rule.

The voters are 3 lords and 3 peasants. Each voter votes for 0 or 1. If the 3 lords all agree then that's the final decision (the peasants' votes don't matter). But if the lords' votes are not unanimous, then their votes are discarded and the peasants decide by a simple majority vote.

It's easy to check that this is monotone; a winning "coalition" doesn't lose if more voters join it. But why is it not a threshold function?

Consider one particular lord L and one particular peasant P. If the other 2 lords vote 0 and the other 2 peasants vote 1, then L's vote determines the outcome, regardless of P's vote. If L votes 0, the lords are unanimous and the outcome is 0. If L votes 1, then the peasants make the decision and, since 2 have voted 1, the decision is 1 regardless of P's vote. It follows that a threshold function gives L more weight than P, since, in this situation, L's vote matters and P's doesn't.

But now consider a different situation The 2 lords other than L disagree; one votes 0 and the other votes 1. And the 2 peasants also disagree. Now, no matter what L does, the lords are not unanimous, so the peasants decide, by majority vote. Since the other two peasants have disagreed, P's vote will provide a majority and so decide the outcome. So, in this situation, L's vote doesn't matter but P's does. Any threshold function must give P more weight than L. This contradicts the result of the previous situation, so there can't be a threshold scheme for this voting rule.

Andreas Blass
  • 76,956
7

$\DeclareMathOperator{\th}{th}$ I have an additional simple counterexample for $n=4$. $f(a_1,a_2,a_3,a_4) = (a_1 \wedge a_2) \vee (a_3 \wedge a_4)$.

Suppose $f = \th^4_{c_1,c_2,c_3,c_4;k}$. Then since $f(1,1,0,0)=1$, we have $c_1+c_2 \geq k$. Likewise, $c_3+c_4 \geq k$. However, since $f(1,0,1,0) = 0$, we have $c_1+c_3 < k$ and likewise $c_2+c_4<k$.

So adding these inequalities, $c_1+c_2+c_3+c_4 \geq 2k$ but also $c_1+c_2+c_3+c_4 < 2k$, which is a contradiction.

@Andreas Blass's solution, however, is very good and creative, and it will remain my accepted answer.