2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Преобразование Жегалкина
Сообщение14.02.2009, 21:48 
Заслуженный участник


18/03/07
1068
Надеюсь, все помнят, как по таблице булевой функции строится СДНФ…

Объединяются через дизъюнкцию все элементарные конъюнкции, соответствующие наборам, на которых функция принимает значение 1. Соответствие задаётся следующим образом: если значение переменной в наборе равно 1, то она входит в элементарную конъюнкцию сама по себе, а если равно 0, то она входит в элементарную конъюнкцию с отрицанием.

Но давайте попробуем объединять элементарные конъюнкции через строгую дизъюнкцию, а сами элементарные конъюнкции строить по «дающим единицу» наборам вот как: если значение переменной в наборе равно 1, то она входит в элементарную конъюнкцию, если же 0, то не входит (для набора из одних нулей соответствующей элементарной конъюнкцией будет просто единица).

Функцию, полученную таком вот образом на основании исходной функции $f$, обозначим через $F(f)$.

Проблема в том, что отнюдь не всегда $F(f)\equiv f$. Однако же, всегда $F(F(f))\equiv f$. Что и требуется доказать :).

 Профиль  
                  
 
 
Сообщение23.02.2009, 06:56 
Заслуженный участник


08/04/08
8556
Если $f(a_{i1}, a_{i2},..., a_{in}) = b_i$, то $F(f)= \sum\limits_{i=0}^{2^n-1} b_i \prod\limits_{j=1}^n x_j^{aij}$ - формула для преобразования Жегалкина (можно рассматривать $a_{ij}$ как цифры индекса $i$ в двоичной системе счисления). То есть можно рассматривать $F$ как функцию формулы от $n$ переменных, а можно как функцию $2^n$ булевых констант.
Доказать можно по индукции по $n$ (только обозначения немного кривые, если кто знает лучше - напишите):
Для $n=1$ проверяем, что $F(F(f)) \equiv f$:
$f \to F(f) \to F(F(f))$
$(0, 0) \to (0, 0) \to (0, 0)$
$(0, 1) \to (0, 1) \to (0, 1)$
$(1, 0) \to (1, 1) \to (1, 0)$
$(1, 1) \to (1, 0) \to (1, 1)$
Пусть для любой $f$ от $n-1$ переменных $F(F(f)) \equiv f$.
$f(x_1, ..., x_n) = f^1(x_1, ..., x_{n-1}) + x_n f^2(x_1, ..., x_{n-1})$
$F_n(f(x_1,...,x_n,)) |_{x_n=0} = F_{n-1}(f(x_1,...,x_{n-1},0))$. Слева - преобразование Жегалкина от функции $n$ nеременных, в которую потом подставили $x_n =0$, а справа - преобразование Жегалкина функции $n-1$ переменных $f(x_1,...,x_{n-1},0)$. Причем, если рассматривать преобразования Жегалкина как функции от энки булевых констант, то у функции справа размерность $2^n$, а у функции слева - $2^{n-1}$, поэтому они разные и для различия пишется индекс.
Это соотношение доказывается через формулу для преобразования Жегалкина. Обе части при определенном выборе порядка аргументов равны $ \sum\limits_{i=0}^{2^{n-1}-1} b_i \prod\limits_{j=1}^n x_j^{aij}$.
Представим $f$ как $f(x_1, ..., x_n) = f^1(x_1, ..., x_{n-1}) + x_n f^2(x_1, ..., x_{n-1})$.
При $x_n = 0$ $f(x_1, ..., x_n) = f^1(x_1, ..., x_{n-1})$, и тогда $F(F(f(x_1,...,x_n))|_{x_n=0} = F(F(f^1(x_1, ..., x_{n-1})) = f^1(x_1, ..., x_{n-1})$ по предположению индукции.
Если $x_n=1$, то $f(x_1, ..., x_n) = f^1(x_1, ..., x_{n-1}) + f^2(x_1, ..., x_{n-1})$, а функция $F$ - аддитивна, поэтому опять по предположению индукции $F(F(f)) = F(F(f^1))+F(F(f^2)) = f^1+f^2$.
Таким образом, формула $F(F(f)) = f$ верна при $x_n=0$, и верна при $x_n=1$. Значит, она верна и в общем случае для $n$ переменных, значит по индукции верна для всех $n$.

З.Ы. А можно ли найти число $f: F(f) \equiv f$.

 Профиль  
                  
 
 
Сообщение26.02.2009, 21:20 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
Строгая дизъюнкция --- это исключающее "или"? Или что-то иное?

P. S. Непонятно, кстати, как определяется $F(f)$ для функции, тождественно равной нулю. Для такой функции, впрочем, и с. д. н. ф. не определена :)

 Профиль  
                  
 
 
Сообщение27.02.2009, 07:19 
Заслуженный участник


08/04/08
8556
Строгая дизъюнкция - действительно исключающее или, она же сумма по модулю 2.
Вроде как если $f \equiv 0$, то и $F(f) \equiv 0$.

 Профиль  
                  
 
 
Сообщение27.02.2009, 09:37 
Заслуженный участник


18/03/07
1068
А я ведь вроде подписывался на эту тему…


Sonic86 писал(а):
Доказать можно по индукции по $n$
Представим $f$ как…

Ну да, как-то так. По индукции, за счёт возможности разложить функцию в какой-то композит из функций меньшей размерности.
Помню, что какие-то похожие результаты доказываются индукцией по числу единиц в наборе, но не уверен, что это применимо здесь.

Sonic86 писал(а):
А можно ли найти число $f: F(f) \equiv f$

В выходные посчитаю для функций вплоть до четырёхместных, а потом попытаюсь подумать.
И доказательство тоже внимательно посмотрю в выходные :).

 Профиль  
                  
 
 
Сообщение27.02.2009, 12:58 
Заслуженный участник


08/04/08
8556
Честно говоря я писал всю таблицу функций и отображал ее 2 раза. Там все видно. Поэтому мне было бы удобнее в терминах таблиц рассуждать, но я не умею :-(

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group