Здравствуйте.
Вопрос по битовые величины, чьи значения точно неизвестны.
Обычно значения битовых операций &,^, ... задаются в т.ч. с помощью таблиц истинности.
например
A | B | A&B
![\begin{matrix} 0 & 0 &\!\!\vline\!\!& 0 \\ 0 & 1 &\!\!\vline\!\!& 0 \\ 1 & 0 &\!\!\vline\!\!& 0 \\ 1 & 1 &\!\!\vline\!\!& 1 \end{matrix} \begin{matrix} 0 & 0 &\!\!\vline\!\!& 0 \\ 0 & 1 &\!\!\vline\!\!& 0 \\ 1 & 0 &\!\!\vline\!\!& 0 \\ 1 & 1 &\!\!\vline\!\!& 1 \end{matrix}](https://dxdy-01.korotkov.co.uk/f/0/b/b/0bbf4e85a86b6553dfa98fe62b2363e282.png)
Необходимо провести вычисления как обычными с битами, но с условием, что точное значение бита неизвестно, а есть лишь вероятность(от 0 до 1).
Т.е. рассматриваем значение переменной, как вероятность того, что она равен "1".
Тогда результат вычисления битовых операций можно найти как:
P(a AND b) = Pa * Pb
P(a OR b) = Pa+Pb-Pa*Pb
P(a XOR b) = (1-(Pa*Pb))*(Pa+Pb-Pa*Pb)
P(NOT a) = 1 - Pa
Казалось бы, всё просто, но стоит попробовать функцию чуть посложнее...
Мне досталась:
z = (a & b) ^ ((~a) & c)
Её таблица истинности:
![\begin{matrix} A & B & C & Z \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 1 & 1 \\ 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 \end{matrix} \begin{matrix} A & B & C & Z \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 1 & 1 \\ 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 \end{matrix}](https://dxdy-04.korotkov.co.uk/f/f/3/b/f3beb44c35816143707fa1b087e5526282.png)
Всего вариантов наборов входящих значений 8, и они равновероятны для случайных a,b,c.
На выходе функции - 4 нуля и 4 единицы, следовательно при случайных входящих данных вероятность на выходе получить единицу равна 1/2
Матмоделирование (именем святого RANDOM-а) также дало результат, близкий к 0.5
Однако, если в формулу для Z подставить a=b=с=1/2, вычислить выражения (a AND b) = (~a AND с) = 1/4 , а затем вычислить от них XOR:
0.25 ^ 0.25,
то Z принимает значение 0.41
Растолкуйте, пожалуйста, почему отличаются результаты и как правильно работать с подобными вложенными вероятностями?
В каком разделе математики изучают подобные вещи? В каком учебнике объясняются такие задачки?
Заранее спасибо!