2014 dxdy logo

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

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




 
 Задача о равенстве булевых функций
Сообщение05.12.2010, 02:34 
Аватара пользователя
Вот условие задачи:
Пусть булевы функции $\mathit{f}$ и $\mathit{g}$ имеют одно и то же число существенных переменных, равное $\mathit{r}$. Тогда каждый набор ${\widetilde{\alpha} \in \{ 0, 1 \} ^{\mathit{r}} }$ однозначно определяет набор значений существенных переменных каждой из функций. Пусть для любого такого $\widetilde{\alpha}$ значения функций $\mathit{f}$ и $\mathit{g}$ на соответствующих наборах своих существенных переменных равны. Следует ли отсюда, что эти функции равны?

Совершенно запутался в определениях и поэтому не получается дать ответ на поставленный в условии вопрос. Вот мои рассуждения.
Во-первых возникает мысль отождествить функцию $\mathit{f}$ с функцией $\mathit{\widetilde{f}}$, которая получается из $\mathit{f}$ "удалением" несущественных переменных. Но, если подумать, то такое отождествление не совсем корректно, ведь функции $\mathit{f}$ и $\mathit{\widetilde{f}}$ имеют различные области определения и, следовательно, различны.
Примем теперь во внимание определение равенства булевых функций, данное в тексте этого учебника (МГТУ им. Баумана, вып. XIX, 2001г., стр. 390):
Булевы функции $\mathit{f}$ и $\mathit{g}$ называют равными, если их существенные переменные соответственно равны и на каждом наборе значений этих переменных функции $\mathit{f}$ и $\mathit{g}$ принимают равные значения.
К сожалению в учебнике не поясняется выражение "...их существенные переменные соответсвенно равны...". Пытаясь понять это выражение, можно пойти не формальным путем и сказать, например, что переменные двух различных функций равны, если они обозначены одним и тем же символом. Но такое определение имеет смысл в том случае, когда функции рассматриваются, если можно так выразиться, в одном и том же "контексте". Если же они рассматриваются бесконтекстно, то такое определение равенства переменных не имеет никакого содержательного смысла.
Подойдем к вопросу с формальной точки зрения. Можно тогда попытаться определить равенство переменных двух различных функций, как равенство индексов переменных в качестве элементов соответствующих кортежей (тогда ответ на вопрос задачи будет отрицательным, т. к. в условии ничего не говорится о совпадении индексов). Но, опять-таки, такое определение равенства переменных имеет смысл, если обе функции являются функциями от одного и того же числа переменных (т. е. их областью определения является одна и та же булева алгебра). Если же $\mathit{f}$ определена на $\mathbb{B}^n$, а $\mathit{g}$ - на $\mathbb{B}^m$, то, например, в случае $n < m$ может оказаться, что индексы некоторых существенных переменных функции $\mathit{g}$ больше $n$.
Можно тогда попытаться определить равенство существенных переменных как изоморфность упорядоченных множеств их индексов (как элементов соответствующих кортежей). Но в этом случае ответ на вопрос задачи уже будет положительным.

Подскажите, пожалуйста, какое же все-таки определение является верным. Или хотя бы укажите источники, в которых данный вопрос рассматривается полнее (и, возможно, строже), чем в обозначенном выше учебнике.

 
 
 
 Re: Задача о равенстве булевых функций
Сообщение05.12.2010, 11:14 
Bach в сообщении #383707 писал(а):
и сказать, например, что переменные двух различных функций равны, если они обозначены одним и тем же символом.

Ну да. Вот например, $x\vee y$ и $a\vee b$ — не равны. Хотя бы потому, что их конъюнкция не равна ни одной из этих функций.
Вообще, в математике "равны" означает "являются одним и тем же предметом".

 
 
 
 Re: Задача о равенстве булевых функций
Сообщение05.12.2010, 14:31 
Аватара пользователя
Bach в сообщении #383707 писал(а):
Вот условие задачи:
Пусть булевы функции $\mathit{f}$ и $\mathit{g}$ имеют одно и то же число существенных переменных, равное $\mathit{r}$. Тогда каждый набор ${\widetilde{\alpha} \in \{ 0, 1 \} ^{\mathit{r}} }$ однозначно определяет набор значений существенных переменных каждой из функций. Пусть для любого такого $\widetilde{\alpha}$ значения функций $\mathit{f}$ и $\mathit{g}$ на соответствующих наборах своих существенных переменных равны. Следует ли отсюда, что эти функции равны?


Ну ответ-то нет, не следует. Всё как раз из-за того, что вообще говоря не выполнено:
Bach в сообщении #383707 писал(а):
"...их существенные переменные соответсвенно равны...".


Хотя конечно, столько страниц исписано в этой книжке по поводу этого вопроса что всех запутаешь.

Я всё-таки на месте авторов побоялся бы называть это равенством, а назвал бы эквивалентностью хотя бы. А слово равенство раз и на всегда закрепил бы за равенством в смысле равенства функций.

А аккуратного определения и не надо, любое из них будет коряво, а суть, для чего это нужно, проста. Вот её и надо в голове держать. (Вы же понимаете в чём суть, для чего это надо?)

(Оффтоп)

А на часть ваших вопросов возможно ответит $\lambda$-исчисление :)

 
 
 
 Re: Задача о равенстве булевых функций
Сообщение07.12.2010, 01:24 
Аватара пользователя
mkot в сообщении #383828 писал(а):
Вы же понимаете в чём суть, для чего это надо?

Скорее "ощущаю" на интуитивном уровне. Формулировать это "ощущение", честно говоря, не пытался. Но если попытаться... Мне кажется, что ответ будет зависеть от конкретной ситуации, в которой это явление рассматривается. Ну, например, оно встречается при минимизации СДНФ или систем булевых функций, что, в свою очередь, используется при построении булевых автоматов. Можно привести и другие примеры...

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

 
 
 
 Re: Задача о равенстве булевых функций
Сообщение09.12.2010, 01:46 
Аватара пользователя
Ну что же, и на том спасибо

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group