Изменения

Перейти к: навигация, поиск

Выражение функции XOR через медианы

122 байта добавлено, 14:35, 5 ноября 2018
Нет описания правки
}}
Разберемся с условием. Нам предлагается выразить Мы хотим доказать, что побитовый $\mathrm {xor}$ с $2m+1$ аргументами выражается с помощью медианы с $2m+1$ аргументом. Аргументами является набор $\{s_i\}$, получаемый следующим образом:
* Выпишем последовательность $x_1, x_2, \ldots, x_{2m}$
* Первую половину аргументов (а их ровно $m$) возьмем с отрицанием ($\neg x_1, \neg x_2, \ldots, \neg x_m, x_{m+1}, x_{m+2}, \ldots, x_{2m}$)
{{Лемма
|statement=Каждой $s_i$ можно однозначно сопоставить в пару такую $s_j$, что все переменные с отрицанием из $s_i$ в $s_j$ будут без отрицания и наоборот.
|proof=Мы строим набор ${s_i}$, циклически сдвигая отрезок отрицания переменных, пока не получим все возможные. Совершив ровно $m$ таких шагов, мы сдвинем начала начало отрезка отрицания на следующую позицию после его конца. Таким образом, там, где был отрезок отрицания, будет отрезок без отрицания, и наоборот.
}}
Назовем такую пару $(s_i, s_j)$ '''двойственной''', и будем обозначать через $\neg s_i$ двойственную $s_i$ пару.
|statement=Если в $s_i$ ровно $n$ самостоятельных единиц, то в $\neg s_i$ их будет $(2m - n)$.
|proof=
В двойственной паре У двойственного элемента все единицы станут нулями, а все нули {{---}} единицами. А всего единиц позиций $2m$.
}}
{{Утверждение
|statement=Среди ${x_i}$ четное число единиц $\Leftrightarrow$ найдется двойственная пара с одинаковым количеством , элементы которой имеют одинаковое количество самостоятельных единиц, равным равное $m$.
|proof=
Пусть $A_i$ {{---}} множество аргументов $s_i$ с отрицанием, $B_i$ {{---}} без отрицания. Оба множества по условию мощности $m$.
$\Leftarrow$
Нужно приравнять Приравняем количества самостоятельных единиц в паре: $(m - a_i) + b_i = a_i + (m - b_i) \Leftrightarrow a_i = b_i$
А $a_i$ и $b_i$ {{---}} количества единиц в $A_i$ и в $B_i$ соответственно, и, так как множество всех аргументов $s_i$ это $A_i \cup B_i$, то $(a_i+b_i)$ и есть количество единиц среди ее аргументов.
Но $a_i = b_i$, значит $a_i + b_i$ четное.
Вообще, утверждения "нашлась двойственная пара с одинаковым числом , элементы которой имеют одинаковое количество самостоятельных единиц" (1) и "нашлась $s_i$ с количеством самостоятельных единиц, равным $m$" (2) равносильны.
И правда, выше мы поняли, что (1) $\Leftrightarrow a_i = b_i$. Посчитаем количество самостоятельных единиц в $s_i$. $((m - a_i) + b_i) = m \Leftrightarrow a_i = b_i$.
#* Тогда в каждой $s_i$ будет стоять вместо него $0$, то есть количество аргументов-единиц в точности равно количеству самостоятельных единиц.
#* Пусть $k_i \geqslant m + 1 \Rightarrow k_{i + m} \leqslant m - 1$ (и аналогично с противоположным знаком) $\Rightarrow$ в обычных парах одна $s_i$ будет равна $1$, а вторая $0$.
#* При нечетном количестве единиц особенных пар не будет, будет только ровно $m$ обычных пар, из каждой ровно одна $s_i$ даст единицу. Тогда среди всех $s_i$ будет ровно $m$ единиц, и, подставив их в конечную медиану, вместе с $\neg x_0 = 1$, получим ровно $m + 1$ аргумент, равный $1$. Тогда медиана вернет $1$, чего что и должен вернуть $\oplus$ нечетного числа единиц.#* При четном количестве у нас найдется особенная пара, а в этих $s_i$ и $\neg s_{i}$ ровно по $m$ самостоятельных единиц, а значит, они обе будут равны $0$. Тогда всего среди $s_is$ будет не более $(m - 1$ $) s_i = 1$равных одному, значит, конечная медиана вернет $0$, что и нужно при $\oplus$ четного числа единиц.
# $x_0 = 1$
#* Тогда в каждой $s_i$ будет стоять вместо него $1$, то есть количество аргументов-единиц для $s_i$ на один больше количества самостоятельных единиц.
#* Пусть $k_i \geqslant m + 1 \Rightarrow k_{i + m} \leqslant m - 1$ (и аналогично с противоположным знаком) $\Rightarrow$ по-прежнему (тут с учетом $x_0 = 1$) в обычных парах одна $s_i$ будет равна $1$, а вторая $0$.
#* При нечетном количестве единиц особенных пар нет, будет снова только ровно $m$ обычных пар, из каждой ровно одна $s_i$ даст единицу. Тогда среди всех $s_i$ будет ровно $m$ единиц, и, подставив их в конечную медиану, вместе с $\neg x_0 = 0$, получим ровно $m$ аргументов, равных $1$. Тогда медиана вернет $0$, чего что и должен вернуть $\oplus$ четного числа единиц.#* При четном количестве у нас найдется особенная пара, а в этих $s_i$ и $\neg s_{i}$ ровно по $m$ самостоятельных единиц, а значит, они обе будут равны $1$, ведь вместе с $x_0 = 1$ среди аргументов медиан будет по $m + 1$ единиц. Тогда всего среди $s_i$ будет не менее $m + 1$ $s_i = 1$, значит, конечная медиана вернет $1$, что и нужно при $\oplus$ четного нечетного числа единиц.
}}
66
правок

Навигация