реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Вопрос по булевым функциям.
des333
сообщение Apr 30 2011, 19:14
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Вопрос, вроде, простой, а что-то никак додуматься не могу.
Даже гуглить пытался - безуспешно. sm.gif

Какое минимальное количество булевых функций арности (n-1) нужно, чтобы выразить любую булеву функцию арности n?

Заранее спасибо!


--------------------
Go to the top of the page
 
+Quote Post
Alexium
сообщение May 1 2011, 08:54
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Имеется в виду количество именно функций, или термов? Если функций - мне кажется, что одна, т.е. всегда найдется базис из одной функции (если n > 1), хотя доказать не могу.
Go to the top of the page
 
+Quote Post
des333
сообщение May 1 2011, 11:59
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(Alexium @ May 1 2011, 12:54) *
Имеется в виду количество именно функций, или термов?


Имелось в виду, конечно, количество термов (так сказать количество "вызовов" любых функций). sm.gif


Неправильно выразился. А так-то и стрелка Пирса или штрих Шеффера образуют базис при n=2. sm.gif


--------------------
Go to the top of the page
 
+Quote Post
Alexium
сообщение May 1 2011, 14:42
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 3-03-10
Пользователь №: 55 790



Цитата(des333 @ May 1 2011, 14:59) *
Неправильно выразился. А так-то и стрелка Пирса или штрих Шеффера образуют базис при n=2.

Ну вот и я о том же подумал sm.gif
Тогда на ваш вопрос и мне интересно узнать ответ.
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение May 2 2011, 10:40
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Цитата(des333 @ May 1 2011, 15:59) *
Неправильно выразился. А так-то и стрелка Пирса или штрих Шеффера образуют базис при n=2. sm.gif

Штрих Шеффера и стрелка Пирса определяют базис для любого n. sm.gif

Для получения базисов из n-арных булевых функций, а также полных систем функций1), можно предложить такой подход: перебираем все n-арные функции (а их у нас 2^(2^n)) и проверяем их на принадлежность 5 классам Поста, после чего по полученной таблице принадлежности к классам Поста составляем базисы. Думаю, их будет много.

Вот здесь приведено доказательство, что базис содержит не более 4 функций для любого n.

Заинтересовались синтезом в базисе таблиц перекодировки? biggrin.gif

1)Например, если говорить строго - И-ИЛИ-НЕ - это полная система, но не базис, так как она избыточна. Удалением И или ИЛИ получаем уже базис. Хотя я и сам иногда говорю "в базисе И-ИЛИ-НЕ", что неправильно.
Go to the top of the page
 
+Quote Post
yes
сообщение May 3 2011, 12:38
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(des333 @ Apr 30 2011, 23:14) *
Вопрос, вроде, простой, а что-то никак додуматься не могу.
Даже гуглить пытался - безуспешно. sm.gif

Какое минимальное количество булевых функций арности (n-1) нужно, чтобы выразить любую булеву функцию арности n?

Заранее спасибо!


может я мыслю примитивно, да и половина слов в теме мне неизвестна sm.gif

но я понял вопрос так - у нас есть таблица истинности для n переменных (2^n строк), сколькими таблицами для n-1 переменных ее можно представить?

для n>2 кажется очевидным, что нужно 3 таблицы - группируем строки так, чтобы по одной переменной было упорядочено, верхняя таблица n-1 для этой переменной==0, нижняя n-1 для ==1 и мультиплексор - трехвходовая функция/таблица

кажется, что по этой причине всякие ксайлинсы/альтеры пихают мультиплексор в свой слайс - таким образом задешего поднимают "арность"
----------
а тупой актел так не делает и херня получается
Go to the top of the page
 
+Quote Post
des333
сообщение May 3 2011, 17:16
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(Sergey'F @ May 2 2011, 14:40) *
Штрих Шеффера и стрелка Пирса определяют базис для любого n. sm.gif

Для получения базисов из n-арных булевых функций, а также полных систем функций1), можно предложить такой подход: перебираем все n-арные функции (а их у нас 2^(2^n)) и проверяем их на принадлежность 5 классам Поста, после чего по полученной таблице принадлежности к классам Поста составляем базисы. Думаю, их будет много.

Вот здесь приведено доказательство, что базис содержит не более 4 функций для любого n.

Заинтересовались синтезом в базисе таблиц перекодировки? biggrin.gif

1)Например, если говорить строго - И-ИЛИ-НЕ - это полная система, но не базис, так как она избыточна. Удалением И или ИЛИ получаем уже базис. Хотя я и сам иногда говорю "в базисе И-ИЛИ-НЕ", что неправильно.



Я уже пояснил, что имел в виду не количество функций, а количество термов.

Например, сколько минимум нужно использовать функций стрелки Пирса (считайте, вызовов функций - термов), чтобы выразить любую функцию от 3-х аргументов.



Цитата(yes @ May 3 2011, 16:38) *
но я понял вопрос так - у нас есть таблица истинности для n переменных (2^n строк), сколькими таблицами для n-1 переменных ее можно представить?

Вы правильно поняли вопрос. sm.gif



Цитата(yes @ May 3 2011, 16:38) *
для n>2 кажется очевидным, что нужно 3 таблицы - группируем строки так, чтобы по одной переменной было упорядочено, верхняя таблица n-1 для этой переменной==0, нижняя n-1 для ==1 и мультиплексор - трехвходовая функция/таблица


Вы абсолютно правы. Посыпаю головы пеплом - как можно было до этого не додуматься. sm.gif
Правда, думал над вариантом n = 2, дальше не стал, т.к. подумал, что если так не могу додуматься, то больше - и подавно. А при n=3 все становиться гораздно легче. sm.gif
Спасибо!


--------------------
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение May 3 2011, 20:59
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Цитата(des333 @ May 3 2011, 21:16) *
Вы абсолютно правы. Посыпаю головы пеплом - как можно было до этого не додуматься. sm.gif

Да, в таком смысле не понял вопрос. На всякий случай - в дискретной математике это называется разложением Шеннона. sm.gif Еще используется разложение Рида через XOR. Вот здесь в начале выведены.
Go to the top of the page
 
+Quote Post
des333
сообщение May 4 2011, 17:39
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(Sergey'F @ May 4 2011, 00:59) *
Да, в таком смысле не понял вопрос. На всякий случай - в дискретной математике это называется разложением Шеннона. sm.gif Еще используется разложение Рида через XOR. Вот здесь в начале выведены.


Спасибо! Как-то быстро я забыл дискретную математику. sm.gif


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 21:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016