2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Полином Жегалкина
Сообщение01.12.2020, 12:55 
Аватара пользователя


22/07/08
1416
Предместья
Daniil_Sh в сообщении #1494679 писал(а):
Это уже результат подстановки

То-есть, с самой подстановкой, вплоть до получения ее результата, Вам всё ясно?
И Вы, по известным $f(x_1,x_2\dots,x_n)$ и $g(z_1,z_2\dots,z_n)$ и без таблиц истинности можете в одно действие находить такую $h(y_1,y_2\dots,y_n)$, что
$f(x_1,x_2\dots,x_n)\oplus h(y_1,y_2\dots,y_n)=g(z_1,z_2\dots,z_n)$,
и, соответственно, $g(z_1,z_2\dots,z_n)\oplus h(y_1,y_2\dots,y_n)=f(x_1,x_2\dots,x_n)$?

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение01.12.2020, 16:41 


16/08/20
34
Важно, чтобы была композиция функций, а не просто сложение. Хочу найти все нули функции $f(x_1,x_2,...,x_n)$. Если получилось, например, $f(p_1(x_1,x_2,...,x_n),...,p_n(x_1,x_2,...,x_n))=x_1+g(x_2,...,x_n)$, то я переберу $2^{n-1}$ наборов по $x_2$,..., $x_n$, получу автоматически соответствующие значения $x_1$, и с помощью обратной подстановки найду те наборы, на которых зануляется $f$. А если есть $g\oplus h=f$, то из $g=0$ не следует , что $f=0$.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение02.12.2020, 06:35 
Аватара пользователя


22/07/08
1416
Предместья
Daniil_Sh в сообщении #1494781 писал(а):
А если есть $g\oplus h=f$, то из $g=0$ не следует , что $f=0$.

А если есть $f=x_1\oplus g$, то из $g=0$ также не следует $f=0$, но Вас это не смущает.

-- Ср дек 02, 2020 05:44:03 --

Daniil_Sh в сообщении #1494781 писал(а):
то я переберу $2^{n-1}$ наборов по $x_2$,..., $x_n$

А почему Вы решили, что наборов будет $2^{n-1}$, а не $2^n$?
У Вас же в примере, приведенном в стартовом сообщении, полиномы $x_2$ и $x_3$ от трех переменных.
А $x_1=z_1$. Тогда что Вы собрались перебирать сокращенным перебором?

-- Ср дек 02, 2020 05:54:38 --

(Оффтоп)

Daniil_Sh в сообщении #1494781 писал(а):
Важно, чтобы была композиция функций, а не просто сложение.

Вспомнилось почему-то...
Цитата:
«Почему сие важно в-третьих?» — «Сие в-третьих не важно»
/А.И. Куприн "Поединок"/

:D


-- Ср дек 02, 2020 06:04:40 --

Daniil_Sh в сообщении #1494781 писал(а):
Хочу найти все нули функции $f(x_1,x_2,...,x_n)$.

И для решения этой задачи Вы хотите применить метод подстановки вместо себя какого-либо участника форума? :D
Тогда Вы выбрали самый не подходящий для такой подстановки раздел форума.

Дело в том, что в разделе ПРР запрещено давать полное решение задачи,
а рекомендуется мягко и ненавязчиво подталкивать ТС к тому, чтобы он решил ее сам.
Я Вас подталкиваю, а Вы упираетесь.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение02.12.2020, 12:42 


16/08/20
34
Если есть $f=x_1\oplus g$, то из $g=0$, конечно, не следует $f=0$. У меня есть две функции: $f(x_1,x_2,...,x_n)$ и $\bar{f}(x_1,x_2,...,x_n)=x_1\oplus g(x_2,x_3,...,x_n)$, и я знаю, что $f \circ p =\bar{f}$ для некоторой обратимой функции $p:\mathbb{F}_{2}^{n}\rightarrow \mathbb{F}_{2}^{n}$. Если я найду нули функции $\bar{f}$, то с помощью $p^{-1}$ найду нули функции $f$. А нули функции $\bar{f}$ находятся из условия $x_1=g(x_2,...,x_n)$ перебором по $n-1$ переменным, то есть нули $\bar{f}$ имеют вид $(g(x_2,...,x_n),x_2,...,x_n)$. Тогда нули функции $f$ можно найти по формуле $p^{-1}(g(x_2,...,x_n),x_2,...,x_n)$.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение03.12.2020, 07:40 
Аватара пользователя


22/07/08
1416
Предместья
Хорошо.
Так в чем вопрос-то?
Вроде Вы во всем и сами разобрались... :D

-- Чт дек 03, 2020 07:14:23 --

Одно только небольшое уточнение.
Насколько я понял, в примере из стартового поста у Вас сделана подстановка:
$x_1=x_1$, откуда следует, что $g(x_2,x_3)=0$.
У полинома $\bar{f}(x_1,x_2,x_3)=x_1$ - четыре нуля.
Найдите их любым способом, хоть перебором, и выпишите здесь в явном виде.
Я хочу на них посмотреть!

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение03.12.2020, 16:22 


16/08/20
34
Там $p_1(z_1,z_2,z_3)=z_1$, $p_2(z_1,z_2,z_3)=z_1\oplus z_2 \oplus z_1z_3\oplus z_1z_2$, $p_3(z_1,z_2,z_3)=z_1\oplus z_3\oplus z_1z_2\oplus z_1z_3$, а $f(x_1,x_2,x_3)=x_1x_2\oplus x_2x_3\oplus x_1x_3$. Значит $\bar{f}(z_1,z_2,z_3)=f\circ p(z_1,z_2,z_3)=z_1\oplus z_2z_3$. Нули функции $\bar{f}$: 000, 001, 010, 111. Здесь $p^{-1}=p$, поэтому нули функции $f$: $(p_1(0,0,0),p_2(0,0,0),p_3(0,0,0))=(0,0,0)$, $(p_1(0,0,1),p_2(0,0,1),p_3(0,0,1))=(0,0,1)$, $(p_1(0,1,0),p_2(0,1,0),p_3(0,1,0))=(0,1,0)$, $(p_1(1,1,1),p_2(1,1,1),p_3(1,1,1))=(1,0,0)$.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение03.12.2020, 18:26 
Аватара пользователя


22/07/08
1416
Предместья
Daniil_Sh в сообщении #1495053 писал(а):
Нули функции

Ну вот и замечательно!

Поищите поиском " Разложение логической функции по переменным ",
или сразу " Разложение Шеннона ",
и будет Вам счастье...

И, кстати, я Вам с самого начала намекал, что если уж речь идет о перестановках,
то существует функция $h(y_1,y_2,\dots{y_n})$, оператор перестановки, такая, что переводит функцию $f(x_1,x_2,\dots{x_n})$ в функцию $g(z_1,z_2,\dots{z_n})$ путем
операции сложения по модулю два: $f\oplus{h}=g$, и эта же функция, тем же самым путем производит обратную перестановку: $g\oplus{h}=f$.
И найти ее можно точно так же: $h=f\oplus{g}$.

Но все это - лишние движения, ибо решить Вашу задачу можно по разному и даже проще,
чем Вы там себе придумали.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение04.12.2020, 10:22 


16/08/20
34
Я понимаю, что можно просто за счёт сложения получить нужную функцию, но тогда неясно, как по нулям функции $g$ восстановить нули функции $f$.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение04.12.2020, 13:26 
Аватара пользователя


22/07/08
1416
Предместья
Daniil_Sh в сообщении #1495208 писал(а):
но тогда неясно, как по нулям функции $g$ восстановить нули функции $f$.

И всего-то?

Мне гораздо труднее чем Вам.
Мне "неясно", что именно Вам "неясно". :D

Если бы Вы сформулировали однозначно условие, а заодно привели бы ответ для вашего примера, из стартового поста,
каким Вы его видите, я бы мог Вам помочь чем-то.

А так у Вас в стартовом сообщении -
подстановка $x_1 = x_1$.
А уже в следующем Вашем сообщении эта же подстановка выглядела, как:
$p(z_1, z_2, z_3) = z_1$.
Еще через пару сообщений вдруг оказывается, что:
Daniil_Sh в сообщении #1494606 писал(а):
$x_i\oplus g(x_1,...,x_{i-1},x_{i+1},...,x_n)$
.
И теперь, сделав эту подстановку, как в стартовом сообщении ($x_1 = x_1$), получаем:
$x_1 =x_1 \oplus g(x_1,x_2,x_3)$,
откуда $g(x_1,x_2,x_3)=0$
А подставив, как в следующем сообщении, $p(z_1, z_2, z_3) = z_1$. , получаем нечто другое:
$x_1 =x_1 \oplus g(x_1,x_2,x_3)=x_1 \oplus {z_1}$, откуда опять следует $z_1=0$, а $x_1$ и вообще не определено,
поскольку сокращается.
Вы уж определитесь как-нибудь однообразно, что куда подставлять, а я Вам подскажу тогда уже про обратную подстановку.

Кстати, то же самое и для остальных двух переменных:
Daniil_Sh в сообщении #1494002 писал(а):
$x_2=z_1\oplus z_2 \oplus z_1z_3\oplus z_1z_2$,

Здесь у Вас $x_2 = z_2 \oplus g(z_1,z_3)$,
где $g(z_1,z_3) = z_1 \oplus z_1z_3 \oplus z_1z_2$?
Или всё же $x_2 = g(z_1,z_2,z_3)=z_1\oplus z_2\oplus z_1z_2\oplus z_1z_3$?
Определитесь уже, чему в Вашем примере равно $g(\dots{z_n}\dots)$,
а то у Вас в разных сообщениях трактуется по разному...

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение04.12.2020, 14:59 


16/08/20
34
В примере функция $f(x_1,x_2,x_3)=x_1x_2\oplus x_1x_3 \oplus x_2x_3$, и делается подстановка $x_1=p_1(z_1,z_2,z_3)$, $x_2=p_2(z_1,z_2,z_3)$, $x_3=p_3(z_1,z_2,z_3)$, где $p_1(z_1,z_2,z_3)=z_1$, $p_2(z_1,z_2,z_3)=z_1\oplus z_2 \oplus z_1z_3\oplus z_1z_2$, $p_3(z_1,z_2,z_3)=z_1\oplus z_3\oplus z_1z_2\oplus z_1z_3$. Выполняем подстановку $f(p_1(z_1,z_2,z_3),p_2(z_1,z_2,z_3),p_3(z_1,z_2,z_3))=p_1p_2\oplus p_1p_3\oplus p_2p_3$ $=$ $z_1(z_1\oplus z_2 \oplus z_1z_3\oplus z_1z_2)\oplus z_1(z_1\oplus z_3\oplus z_1z_2\oplus z_1z_3)$ $\oplus (z_1\oplus z_2 \oplus z_1z_3\oplus z_1z_2)(z_1\oplus z_3\oplus z_1z_2\oplus z_1z_3)=...=z_1\oplus z_2z_3$.
Теперь у меня две функции $f=x_1x_2\oplus x_1x_3 \oplus x_2x_3$ и $\bar{f}=z_1\oplus z_2z_3$, и я знаю, что если $(z_1^*,z_2^*,z_3^*)$ – ноль функции $\bar{f}$, то $(p_1(z_1^*,z_2^*,z_3^*),p_2(z_1^*,z_2^*,z_3^*),p_3(z_1^*,z_2^*,z_3^*))$ – ноль функции $f$.
А в первом сообщении должно быть $x_1=z_1$, просто не исправить уже было.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение05.12.2020, 09:23 
Аватара пользователя


22/07/08
1416
Предместья
Daniil_Sh в сообщении #1495278 писал(а):
Теперь у меня две функции

Третья - в подарок! :D
У которой нули будут там, где значения $(z_1,z_2,z_3)$ совпадают со значениями
$(p_1(z_1,z_2,z_3),p_2(z_1,z_2,z_3),p_3(z_1,z_2,z_3))$.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение06.12.2020, 05:02 
Аватара пользователя


22/07/08
1416
Предместья
Daniil_Sh в сообщении #1495278 писал(а):
В примере функция $f(x_1,x_2,x_3)=x_1x_2\oplus x_1x_3 \oplus x_2x_3$, и делается подстановка $x_1=p_1(z_1,z_2,z_3)$, $x_2=p_2(z_1,z_2,z_3)$, $x_3=p_3(z_1,z_2,z_3)$, где $p_1(z_1,z_2,z_3)=z_1$, $p_2(z_1,z_2,z_3)=z_1\oplus z_2 \oplus z_1z_3\oplus z_1z_2$, $p_3(z_1,z_2,z_3)=z_1\oplus z_3\oplus z_1z_2\oplus z_1z_3$

Для закрепления изученного материала предлагаю топикстартеру решить простенький пример на суперпозицию булевых функций.

Цитата:
Для функции $f(x_1,x_2,x_3)=x_1 \oplus x_2x_3$
сделать подстановку:
$x_1=p_1(z_1,z_2,z_3)$, $x_2=p_2(z_1,z_2,z_3)$, $x_3=p_3(z_1,z_2,z_3)$,

где $p_1(z_1,z_2,z_3)=z_1$,
$p_2(z_1,z_2,z_3)=z_1\oplus z_2 \oplus z_1z_3\oplus z_1z_2$,
$p_3(z_1,z_2,z_3)=z_1\oplus z_3\oplus z_1z_2\oplus z_1z_3$.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение07.12.2020, 13:13 


16/08/20
34
В примере $p^{-1}=p$, поэтому $x_1\oplus x_2x_3$ преобразуется к $z_1z_2\oplus z_2z_3\oplus z_1z_3$.
Но я не знаю, что делать с функцией, значения которой ноль, если $(z_1,z_2,z_3)=(p_1(z_1,z_2,z_3),p_2(z_1,z_2,z_3),p_3(z_1,z_2,z_3))$.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение07.12.2020, 17:12 
Аватара пользователя


22/07/08
1416
Предместья
Daniil_Sh в сообщении #1495589 писал(а):
В примере $p^{-1}=p$, поэтому $x_1\oplus x_2x_3$ преобразуется к $z_1z_2\oplus z_2z_3\oplus z_1z_3$.

Это не в примере, это в булевой алгебре работает для любого примера.

Если у нас есть булева функция $f(x_1,x_2,x_3)$, и другая булева функция $g(z_1,z_2,z_3)$,
у которых значения некоторых строк в таблицах истинности совпадают (у обоих для данной строки нули, или у обоих - единицы), а значения остальных строк - не совпадают (нулю одной функции в этой строке соответствует единица у другой функции), то существует такая булева функция (оператор перестановки) , которая переводит одну функцию в другую и наоборот.

Этот перевод реализуется сложением по модулю $2$ полинома Жегалкина любой из функций, с функцией - оператором перестановки.
$f(x_1,x_2,x_3)\oplus h(x_1,x_2,x_3)=g(x_1,x_2,x_3)$.
и наоборот:
$g(z_1,z_2,z_3)\oplus h(z_1,z_2,z_3)=f(z_1,z_2,z_3)$

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

Как найти функцию - оператор перестановки, не составляя таблиц истинности?

Нужно сложить полиномы Жегалкина двух исходных функций по модулю два.
$h(x_1,x_2,x_3)=g(x_1,x_2,x_3)+f(x_1,x_2,x_3)$
Как раз у этой функции нули будут там, где у обеих исходных функций будут нули, или у обеих исходных функций будут единицы. А единицы у нее будут в тех строках, где исходные функции имеют разные значения. В тех строках, которые у исходной функции "переставлены".

Для Вашего примера:
$f(z_1,z_2,z_3)=z_1z_2\oplus z_2z_3\oplus z_1_z_3$
$g(z_1,z_2,z_3)=z_1\oplus z_2z_3$,
откуда находим:
$h(z_1,z_2,z_3)=z_1\oplus z_1z_2 \oplusz_1z_3$.
Ничего не напоминает вид этой функции?

Daniil_Sh в сообщении #1495589 писал(а):
Но я не знаю, что делать с функцией, значения которой ноль, если $(z_1,z_2,z_3)=(p_1(z_1,z_2,z_3),p_2(z_1,z_2,z_3),p_3(z_1,z_2,z_3))$.


На это есть простой рецепт:

Лукомор в сообщении #1495098 писал(а):
Поищите поиском " Разложение логической функции по переменным ",
или сразу " Разложение Шеннона ",


Лучше всего сразу глянуть параграф 11.2.6.
Это разложение и даст сразу необходимые подстановки, которые суть :
$h_1(z_1,z_2,z_3)$
$h_2(z_1,z_2,z_3)$
$h_3(z_1,z_2,z_3)$
в формулы:
$x_1(z_1,z_2,z_3)=g_1(z_1,z_2,z_3)\oplus h_1(z_1,z_2,z_2)$
$x_2(z_1,z_2,z_3)=g_2(z_1,z_2,z_3)\oplus h_2(z_1,z_2,z_2)$
$x_3(z_1,z_2,z_3)=g_3(z_1,z_2,z_3)\oplus h_3(z_1,z_2,z_2)$,
соответственно:
$g_1(x_1,x_2,x_3)=f_1(x_1,x_2,x_3)\oplus h_1(x_1,x_2,x_2)$
$g_2(x_1,x_2,x_3)=f_2(x_1,x_2,x_3)\oplus h_2(x_1,x_2,x_2)$
$g_3(x_1,x_2,x_3)=f_3(x_1,x_2,x_3)\oplus h_3(x_1,x_2,x_2)$,
для обратной подстановки.

 Профиль  
                  
 
 Re: Полином Жегалкина
Сообщение08.12.2020, 00:23 
Аватара пользователя


22/07/08
1416
Предместья
Лукомор в сообщении #1495615 писал(а):
откуда находим:
$h(z_1,z_2,z_3)=z_1\oplus z_1z_2 \oplusz_1z_3$

Я дико извиняюсь, в опечатку вкралась ошибка! :D
Функция - оператор перестановки будет на самом деле такой:
$h(z_1,z_2,z_3)=z_1\oplus z_1z_2 \oplus z_1z_3$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2, 3  След.

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



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

Сейчас этот форум просматривают: epros


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

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