In the below article, we are going to find the number of Boolean Functions possible from the given sets of binary number.
Statement-1:
Suppose two sets are set ‘A’ = {1, 2, 3, 4, …….., n} where each number will be either ‘0’ or ‘1’ and hence the total number of boolean variable possible will be and set ‘B’ = {0, 1}. Now the number of possible boolean function when counting is done from set ‘A’ to ‘B’ will be .
Explanation:
As we know that boolean variable is either ‘0’ or ‘1’ and in the set ‘A’ there are ‘n’ numbers and each number will be either ‘0’ or ‘1’ and hence the total number of possible boolean variable are . Now set ‘A’ contain boolean variable and set ‘B’ contain 2 boolean variable.
This can be understood with help of below diagram:
Each element of set ‘A’ makes a function with each element of set ‘B’ hence one element of set ‘A’ makes two function with set ‘B’ and hence total number of possible boolean functions are where is the number of element in set ‘A’.
Statement-2:
Suppose two sets of ternary variable are set ‘A’ = {1, 2, 3, 4, …….., n} where each number will be either ‘0’ or ‘1’ or ‘2’ and hence the total number of ternary variable possible will be and set ‘B’ = {0, 1}. Now the number of possible boolean function when counting is done from set ‘A’ to ‘B’ will be .
Explanation:
As we know that ternary variables are ‘0’ or ‘1’ or ‘2’ and in the set ‘A’ there are ‘n’ numbers and each number will be either ‘0’ or ‘1’ or ‘2’ and hence the total number of possible ternary variables are . Now set ‘A’ contain ternary numbers and set ‘B’ contain 2 boolean variable.
This can be understood with help of below diagram:
Each element of set ‘A’ makes a function with each element of set ‘B’ hence one element of set ‘A’ makes two functions with set ‘B’ and hence the total number of possible boolean functions are where is the number of elements in set ‘A’.
Note:
Similarly for a set ‘A’ of ‘n’ numbers of k-ary variable and set ‘B’ of p-ary variable then the total number of p-ary possible function will be .
Last Updated :
25 Nov, 2019
Like Article
Save Article
Логические функции.
Заметим, что значение логической формулы определяется значениями входящих в формулу переменных. Таким образом, каждая формула может рассматриваться как способ задания функции алгебры логики.
Логической функцией называют функцию, аргументы которой и сама функция принимают значения ноль или единица.
Логические функции могут быть заданы аналитически (с помощью логической формулы) или табличным способом.
Выясним количество логических функций для двух аргументов.
Совокупность значений логической формулы в последнем столбце трактуется как строка нулей и единиц (бинарная строка) длины n. Заметим, что существует ровно 2n различных бинарных строк длины n. Таблица истинности для логической формулы, включающей две переменные, содержит 4 строки. Таким образом, существует 16 различных логических функций от двух аргументов.
x | y | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 |
---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
x | y | f9 | f10 | f11 | f12 | f13 | f14 | f15 | f16 |
---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
- f1(x, y) = 0 — константа «ложь»
- f2(x, y) = x ∧ y — конъюнкция
- f3(x, y) = ¬ (x ⇒ y) — отрицание импликации
- f4(x, y) = х — функция равна первому аргументу
- f5(x, y) = ¬ (y ⇒ x) — отрицание обратной импликации
- f6(x, y) = у — функция равна второму аргументу
- f7(x, y) = x ⊕ y — разделительная (строгая дизъюнкция)
- f8(x, y) = x ∨ y — дизъюнкция
- f9(x, y) = x ↓ y — стрелка Пирса
- f10(x, y) = x ≡ y — эквивалентность
- f11(x, y) = ¬ y — отрицание второго аргумента
- f12(x, y) = y ⇒ x — обратная импликация
- f13(x, y) = ¬ x — отрицание первого аргумента
- f14(x, y) = x ⇒ y — импликация
- f15(x, y) = x | y — штрих Шеффера
- f16(x, y) = 1 — константа «истина»
При увеличении числа аргументов количество логических функций значительно возрастает. Тем не менее, следует помнить, что любую логическую функцию можно выразить через базовый набор, например, через конъюнкцию, дизъюнкцию и инверсию.
Логические функции, соответствующие
логическим операциям В2aВ,
называют элементарными. Количество
логических функций отnпеременных определяется выражением
22n,
поскольку|Bn|=2n,
а на каждом из2nнаборов логическая функция может
принимать одно из значений из того же
множества В (табл.5.4).
Табл.5.4
-
№
Набор
Номер
логической функциип/п
значений
переменных
0
1
2
3
…
22n-1
1
00…00
0
1
0
1
…
1
2
00…01
0
0
1
1
…
1
3
00…10
0
0
0
0
…
1
4
00…11
0
0
0
0
…
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
…
.
.
.
22
11…11
0
0
0
0
1
Например, рассмотрим все логические
функции одной переменной (табл.5.5).
Табл.5.5
-
Логическая
функциях
f0(x)
f1(x)
f2(x)
f3(x)
0
0
1
0
1
1
0
0
1
1
Поскольку
221=4,
то имеется четыре логических функции
одной переменной, две из них — константы:f0(x)=0,f3(x)=1.f0(x)- константа нуля,f3(x)- константа единицы. Здесь номер функции
означает десятичное число, соответствующее
двоичному числу, записанному в первом
и последнем столбцах табл.5.5.
Функция f1(x)=х,
т.е. совпадает со значением переменной.
Эта функция называется функцией
повторения. Функцияf2(x)=нам уже известна — это инверсия.
Можно заметить, что для каждой функции
одной переменной существует инверсная
ей:
f0(x)=3(х)==1;
f3(x)=0(х)==0;
f1(x)=2(х)==х;
f2(x)=1(х)=.
Рассмотрим все функции двух переменных
(табл.5.6).
Табл.5.6
Вес разряда вектора
значения функции
-
20
21
22
23
Набор
Название
Формула
20
х1
0
1
0
1
функции
(Вебба)
21
х2
0
0
1
1
f0
0
0
0
0
Константа 0
0
f1
1
0
0
0
Функция Пирса
(Вебба), «стрелка Пирса», ИЛИ-НЕх1¯х2=
f2
0
1
0
0
Запрет х2
х1
f3
1
1
0
0
Отрицание х2
f4
0
0
1
0
Запрет х1
х2
f5
1
0
1
0
Отрицание х1
f6
0
1
1
0
Сложение по mod2
х1Åх2=
х1Úх2
f7
1
1
1
0
Функция
Шеффера, «штрих Шеффера»,И-НЕ
х1|х2=
Ú
f8
0
0
0
1
Конъюнкция, И
х1х2
f9
1
0
0
1
Эквиваленция
(эквивалентность)
х1«х2=
х1х2Ú
f10
0
1
0
1
Повторение
х1х1
f11
1
1
0
1
Импликация
х2в х1х2®х1
Úх1
f12
0
0
1
1
Повторение
х2х2
f13
1
0
1
1
Импликация
х1в х2х1®х2
Úх2
f14
0
1
1
1
Дизъюнкция,
ИЛИх1Úх2
f15
1
1
1
1
Константа
1f1
Всего таких функций имеется 222=24=16.
Согласно табл.5.6 существуют две функции
— константы 0,1, которые не зависят от
значения переменных. Есть функции,
зависящие только от одной переменной.
Такие функции называют вырожденными.
Перечислим их:
f0(x1x2)=0;
f5(x1x2)=;f3(x1x2)=;
f15(x1x2)=1;f10(x1x2)=х1;f12(x1x2)=х2.
Некоторые функции мы тоже уже знаем:
конъюнкцию f8(x1x2)=х1х2(точку между х1и
х2опускаем); дизъюнкциюf14(x1x2)=х1Úх2;
эквиваленцию (эквивалентность)f9(x1x2)=х1«х2=х1х2Ú(здесь эквиваленция представлена в виде
дизъюнкции двух конъюнкций, что можно
доказать, составив таблицу истинности);
импликациюf13(x1x2)=х1®х2=Úх2;
импликациюf11(x1x2)=х2®х1=Úх1.
Кроме этого, имеются другие функции,
зависящие от двух переменных: f1(x1x2)=носит название функции Пирса (Вебба)
(«стрелка Пирса»),f7(x1x2)=Úносит название функции Шеффера («штрих
Шеффера»),f2(x1x2)=х1называется запретом х2, аf4(x1x2)=х2— запретом х1. Функцияf6(x1x2)называется сложением по модулю два, это
функция, инверсная эквиваленции и
обозначается х1Åх2(mod2).
Элементарные логические функции
позволяют получить сложные функции от
большего числа аргументов путем
подстановки в данную функцию вместо ее
переменных других функций. Такой метод
получения функций называется суперпозицией.
Например, имея элементарные функции
двух переменных z1=x1x2
иz2=x3Úx4можно получить функцииz3=х1(x3Úx4),z4=x3Úх1x2,
зависящие от трех переменных.
При использовании суперпозиции возникает
следующая проблема: каким должен быть
минимальный состав элементарных
логических функций, который позволяет
путем их суперпозиции получить любую
сколь угодно сложную логическую функцию
от конечного числа переменных.
Эта проблема называется проблемой
функциональной полноты логических
функций. Для ее решения были выделены
следующие классы логических функций:
1) Класс функций, сохраняющих константу
0. В этот класс входят функции, которые
на нулевом наборе переменных принимают
нулевое значение: f(00…0)=0.
Такова, например, конъюнкцияf8=х1х2f8(00)=0×0=0.
2) Класс функций, сохраняющих константу
1. В этот класс входят функции, которые
на единичном наборе переменных принимают
единичное значение: f(11…1)=1.
Этим свойством также обладает конъюнкцияf8(11)=1×1=1.
Классы 1,2 легко устанавливаются по
таблице истинности.
3) Класс самодвойственных функций.
Логические функции f(х1х2…хn)
иg(х1х2…хn)
называются двойственными, если
имеет место равенство
f(х1х2…хn)=,
т.е. если одна функция получается из
другой, если провести замену всех
переменных на их инверсии и провести
инверсию функции.
Например, f8(х1х2)=х1х2иf14(x1x2)=х1Úх2двойственны:
.
Это можно доказать, построив таблицу
истинности:
Табл.5.7
-
х1
х2
х1х2
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
Логическая функция называется
самодвойственной, если она двойственна
по отношению к самой себе:
f(х1х2…хn)=.
Такова, например, функция f10(x1x2)=x1:
.
Самодвойственность
устанавливается по таблице истинности
следующим образом: значения функции,
симметричные относительно середины
таблицы инверсны. Например, дляf10(x1x2)значения функции представляют собой
вектор 01 01, каждый разряд которого
является инверсным по отношению к
симметричному разряду относительно
середины, отмеченной пунктиром. Эти
разряды соответствуют инверсным наборам
х1х2: 00 — 11, 01 — 10. Самодвойственны
функции,,х2,х1.
4) Класс линейных функций. Логическая
функция называется линейной, если
возможно представление в виде линейного
полинома, использующего функцию сложения
по модулю 2 (mod2):
f(x1x2)=с0Åс1х1Åс2х2,
где с0,с1,с2— константы
0,1.
Например, для сложения по модулю 2(mod2):
f6(x1x2)=х1Åх2.
с0=0, с1=с2=1:
f6(x1x2)=0Å1×х1Å1х2.
Получим все линейные функции двух
переменных, задав все возможные значения
с0с1с2(табл.5.8).
Табл.5.8
-
с0
с1
с2
Вид полинома
0
0
0
0
Можно
доказать,0
0
1
х2
используя, например,
0
1
0
х1
таблицу
истинности,0
1
1
х1Åх2
что:
1
0
0
1
1
0
1
1Åх2
=
1
1
0
1Åх1
=
1
1
1
1Åх1Åх2
=
Видно, что каждая линейная функция имеет
инверсную ей. Таким образом, линейные
функции — константа 0, константа 1,
повторение х1,х2, инверсии:,,
сложение по модулю 2 (х1Åх2)
и инверсная ей эквиваленция.
5) Класс монотонных функций. Монотонная
функция на большем сравнимом наборе
переменных принимает не меньшие значения.
Это удобно проверять на решетках Хассэ.
Так, для двух переменных решетка имеет
вид рис.5.1.
На рис.5.1 видно, что 11>01>00,
11>10>00(частично упорядоченное
множество наборов).
Рис.5.1. Решетка Хассэ для двух переменных
с указанием значений f10(х1х2)=х1
Очевидно, что константы 0,1 — монотонные
функции, дизъюнкция, и конъюнкция —
монотонные функции, повторения х1,х2— монотонные функции. На рис.5.1 проставлены
значения монотонной функции х1.
Система логических функций называется
функционально полной, если любая
произвольная логическая функция от
любого числа переменных может быть
представлена в виде суперпозиции
логических функций из этой системы.
Функционально полная система логических
функций называется минимальной, если
удаление из нее хотя бы одной функции
превращает ее в неполную. Критерий
функциональной полноты логических
функций устанавливает теорема
Поста-Яблонского, в которой утверждается,
что для функциональной полноты систем
логических функций необходимо и
достаточно, чтобы они содержали следующие
функции:
— не сохраняющую константу 0;
— не сохраняющую константу 1;
— несамодвойственную;
— нелинейную;
— немонотонную.
Функционально полные системы логических
функций представляют собой базис. Всего
можно получить 17 различных минимальных
базисов из логических функций двух
переменных.
Оказывается, имеются функции, обладающие
всеми пятью отмеченными свойствами.
Таковы функции f1(x1x2)=иf7(x1x2)=Ú.
Часто их называют соответственно ИЛИ-НЕ,
И-НЕ. Таким образом, это базисы, состоящие
из одной функции (базис Вебба и базис
Шеффера). Этот факт очень важен при
технической реализации дискретных
устройств: достаточно иметь элементы,
реализующие только одну из этих функций,
чтобы построить любую, сколь угодно
сложную схему. Более подробно этот
вопрос будет рассмотрен при изучении
синтеза автоматов.
Имеются базисы, состоящие из двух
функций:
Иногда используется не минимальный
базис — из трех функций:
Имеется и довольно экзотический базис
Жегалкина:
В дальнейшем нам пригодится так называемый
импликативный базис
Если рассматривать логические функции
большего числа аргументов, то можно
поставить задачу отыскания базисов, не
зависящих от их некоторых модификаций
соответствующих функций. Такие модификации
могут быть, например, вызваны подстановкой
констант 0,1 и инверсией переменных, что
происходит при некоторых отказах
соответствующих логических элементов.
Такие базисы называют толерантными.
Например, логическая функция четырех
переменных
— толерантный базис — функционально
полная толерантная функция, которая
при подстановке констант вместо
переменных или при инверсии переменных
модифицируется также в базисную функцию:
Соседние файлы в папке TURIN
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Логические функции
Любую логическую формулу можно рассмотреть как функцию F(x1, x2, …, xn), где x1, x2, …, xn – это логические переменные, которые могут принимать только значения «истина» (1) и «ложь» (0). Значение логической функции также либо «истина» (1) и «ложь» (0). Все рассмотренные ранее бинарные и унарные логические операции можно считать функциями от соответствующего числа переменных: отрицание F(x)= не x, конъюнкция F(x,y)=x & y, дизъюнкция F(x,y)=x v y, разделительная дизъюнкция F(x,y)=x Δ y, импликация F(x,y)=x → y, эквивалентность F(x,y)=x ↔ y. Однако это не все функции, которые можно построить от двух переменных x и y. Каждая логическая функция от двух переменных имеет 4 возможных набора значений аргументов, и мы можем определить, какое количество различных логических функций от двух переменных может существовать:
N = 24 = 16.
Таким образом, существует 16 различных функций от двух переменных, каждая из которых может быть задана своей таблицей истинности.
Аргументы |
Логические функции |
||||||||||||||||
x |
y |
F1 |
F2 |
F3 |
F4 |
F5 |
F6 |
F7 |
F8 |
F9 |
F10 |
F11 |
F12 |
F13 |
F14 |
F15 |
F16 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
Так как функций от двух переменных всего 16, то в алгебре логики все эти функции имеют свои имена:
F1(x,y)=0 | константа ложь |
F2(x,y)=x&y | конъюнкция |
F3(x,y)=не (x→y) | отрицание импликации |
F4(x,y)=x | функция равна первому аргументу |
F5(x,y)=не (y→x) | отрицание обратной импликации |
F6(x,y)=y | функция равна второму аргументу |
F7(x,y)=x Δ y | разделительная дизъюнкция |
F8(x,y)=x v y | дизъюнкция |
F9(x,y)=x ↓ y | стрелка Пирса(отрицание дизъюнкции) |
F10(x,y)=x ↔ y | эквивалентность |
F11(x,y)=не y | отрицание второго аргумента |
Заметим, что одна и та же функция может выражаться различными формулами. Например, функция штрих Шеффера может быть выражена как формулой не (x & y) так и формулой не x v не y.
Для большего числа переменных также можно подсчитать количество различных функций. Для k логических переменных можно построить m = 2k различных наборов значений, то есть любая таблица истинности функции от k переменных будет иметь 2k строк. Поэтому количество различных функций от k переменных будет 2m = 22k.
Отметим, что задаются логические функции двумя способами:
1) с помощью таблицы истинности:
x |
y |
f |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
2) аналитически с помощью соответствующих формул:
f(x,y)=x&y
Последнее изменение: Суббота, 7 марта 2015, 09:21
Автор | Сообщение | ||
---|---|---|---|
Заголовок сообщения: Подсчитать число особых логических функций Добавлено: 10 май 2021, 23:52 |
|||
|
Здравствуйте, уважаемые участники форума. Не могу понять, как подойти к задаче по вычислению количества логических функций, подходящих под условие: [math](S cup L) — T _{0}[/math].
|
||
Вернуться к началу |
|
||
3D Homer |
Заголовок сообщения: Re: Подсчитать число особых логических функций Добавлено: 11 май 2021, 00:56 |
KuznetsovSA писал(а): Не могу понять, как подойти к задаче по вычислению количества логических функций, подходящих под условие: [math](S cup L) — T _{0}[/math]. Строго говоря, это не условие, а множество, и оно бесконечно. Если вас интересуют функции от [math]n[/math] переменных, то, думаю, их число можно найти по формуле [math]|Soverline{T}_0|+|Loverline{T}_0|-|SLoverline{T}_0|[/math].
|
|
Вернуться к началу |
|
KuznetsovSA |
Заголовок сообщения: Re: Подсчитать число особых логических функций Добавлено: 11 май 2021, 13:58 |
3D Homer писал(а): Если вас интересуют функции от n Разве можно складывть мощности множеств не убедившись, что они не содержат общих элементов?
|
|
Вернуться к началу |
|
KuznetsovSA |
Заголовок сообщения: Re: Подсчитать число особых логических функций Добавлено: 11 май 2021, 15:23 |
3D Homer писал(а): Где я предлагаю это делать: просто складывать? Вы написали 3D Homer писал(а): |ST¯¯¯¯0|+|LT¯¯¯¯0|−|SLT¯¯¯¯0| . А прямые скобки [math]left| right|[/math] обозначают взятие мощности множества, т.е. его длины.
|
|
Вернуться к началу |
|