Шефферовы функции — это логические функции, которые могут быть созданы с использованием только одной операции, называемой штрих Шеффера (или с комплиментом).
Формула штриха Шеффера для двух переменных (называемых также массивом) выглядит как отрицание их конъюнкции: f(x, y) = ¬(x ∧ y). Таким образом, шефферовы функции являются универсальными, то есть с их помощью можно выразить любую другую логическую функцию.
Более общая формула штриха Шеффера для n переменных может быть представлена как f(x1, x2, …, xn) = ¬(x1 ∧ x2 ∧ … ∧ xn), где xi — переменные.
Рассмотрим примеры шефферовых функций от двух переменных:
- f(x, y) = ¬(x ∧ y) — штрих Шеффера
- f(x, y) = ¬x ∨ ¬y — дизъюнкция с комплиментом
- f(x, y) = ¬x ⇒ y — имликация с комплиментом
Также существуют шефферовы функции от большего числа переменных: от трех, четырех и т.д. Их формулы могут быть выражены аналогично формуле для двух переменных, просто с большим количеством конъюнкций.
Определение шефферовой функции
Шефферовая функция представляет собой логическую функцию, которая принимает на вход n переменных и возвращает значение, определенное в соответствии с таблицей истинности данной функции. В теории булевых функций шефферовы функции считаются базисными, то есть с их помощью можно представить любую другую логическую функцию.
Шефферова функция имеет следующий вид:
ƒ(x1, x2, …, xn) = ¬x1 ∧ ¬x2 ∧ … ∧ ¬xn
Здесь ¬ обозначает логическую операцию отрицания (NOT), а ∧ обозначает логическую операцию конъюнкции (AND).
Таким образом, шефферовы функции являются функциями отрицания и конъюнкции, которые вместе могут быть использованы для построения логических операций ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ и других.
Формула шефферовых функций
Обозначается формула Шеффера как ↑(x, y) = ¬(x ∧ y), где символ ↑ является операцией отрицания логического ИЛИ.
Формула Шеффера имеет следующую таблицу истинности:
- ↑(0, 0) = 1
- ↑(0, 1) = 1
- ↑(1, 0) = 1
- ↑(1, 1) = 0
Используя формулу Шеффера, можно задать любую булеву функцию. Например, функции ИЛИ и НЕ могут быть выражены через формулу Шеффера:
- Функция ИЛИ: (x ∨ y) = ↑(¬x, ¬y)
- Функция НЕ: ¬x = ↑(x, x)
Также, формула Шеффера позволяет выразить все остальные логические операции, используя комбинации отрицания логического ИЛИ.
Таблица истинности шефферовых функций
Шефферовы функции обозначаются как NAND (от английского «not and»). Они имеют следующие три возможных набора значений:
NAND(0, 0) = 1
NAND(0, 1) = 1
NAND(1, 1) = 0
Эти значения показывают, что NAND-функции возвращают 1 только в случае, если оба входных аргумента равны 0, и возвращают 0 во всех остальных случаях.
Таким образом, таблица истинности шефферовых функций будет выглядеть следующим образом:
Аргумент 1 | Аргумент 2 | NAND |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Таблица истинности шефферовых функций помогает нам лучше понять, как эти функции работают и как их можно применять в логических выражениях. Они имеют множество практических применений, включая построение компьютерных цепей и разработку логических операций.
Примеры шефферовых функций от двух переменных
Наиболее известными примерами шефферовых функций в логике являются:
- Импликация Шеффера: обозначается как p→q и имеет значение 1 только тогда, когда либо p равно 0, либо q равно 1.
- Исключающее ИЛИ Шеффера: обозначается как p⊕q и имеет значение 1 только тогда, когда p и q разные.
Используя эти две функции, можно выразить любую другую логическую функцию от двух переменных. Например, конъюнкцию (и) можно выразить как p→q, а дизъюнкцию (или) можно выразить как p⊕(p→q).
Применение шефферовых функций в логических вычислениях позволяет унифицировать работу с разными типами функций и упростить их представление и анализ.
Пример 1: конъюнкция
Пример:
Если А = истина и В = истина, то А ∧ В = истина.
Если А = истина и В = ложь, то А ∧ В = ложь.
Если А = ложь и В = истина, то А ∧ В = ложь.
Если А = ложь и В = ложь, то А ∧ В = ложь.
Пример 2: дизъюнкция
Шефферова функция от двух переменных, реализующая операцию дизъюнкции, имеет следующую формулу:
φ(A, B) = ¬(A ∧ B)
где A и B — логические переменные, ∧ — оператор конъюнкции, а ¬ — оператор отрицания.
Эта формула говорит нам, что шефферова функция для операции дизъюнкции равна отрицанию конъюнкции двух переменных.
Пример использования шефферовой функции для дизъюнкции:
- A = Истина и B = Истина : φ(A, B) = ¬(A ∧ B) = ¬(Истина ∧ Истина) = ¬(Истина) = Ложь.
- A = Истина и B = Ложь : φ(A, B) = ¬(A ∧ B) = ¬(Истина ∧ Ложь) = ¬(Ложь) = Истина.
- A = Ложь и B = Истина : φ(A, B) = ¬(A ∧ B) = ¬(Ложь ∧ Истина) = ¬(Ложь) = Истина.
- A = Ложь и B = Ложь : φ(A, B) = ¬(A ∧ B) = ¬(Ложь ∧ Ложь) = ¬(Ложь) = Истина.
Таким образом, шефферова функция от двух переменных, реализующая операцию дизъюнкции, возвращает Истина только в случае, когда хотя бы одна из переменных равна Истина.
Примеры шефферовых функций от трех переменных
Шефферовы функции, также известные как функции Шеффера, представляют собой логические функции, которые могут быть использованы для универсального изображения любой другой логической функции. Шефферова функция от трех переменных определяется следующим образом:
f(x, y, z) = Ш(x, y, z) = (x | y) | z
Здесь символ «|» обозначает операцию логического ИЛИ, а символ «Ш» является обозначением для Шефферовой функции.
Вот несколько примеров Шефферовых функций от трех переменных:
1) Ш(0, 0, 0) = (0 | 0) | 0 = 0
Если все переменные равны 0, то результат будет равен 0.
2) Ш(1, 0, 0) = (1 | 0) | 0 = 1
Если первая переменная равна 1, а остальные переменные равны 0, то результат будет равен 1.
3) Ш(1, 1, 0) = (1 | 1) | 0 = 1
Если первые две переменные равны 1, а третья переменная равна 0, то результат будет равен 1.
4) Ш(1, 0, 1) = (1 | 0) | 1 = 1
Если первая и третья переменные равны 1, а вторая переменная равна 0, то результат будет равен 1.
5) Ш(1, 1, 1) = (1 | 1) | 1 = 0
Если все переменные равны 1, то результат будет равен 0.
Эти примеры демонстрируют основные свойства Шефферовых функций от трех переменных.
Пример 3: импликация
Imp(a,b) = ¬a ∨ b
где a и b — переменные, ¬ — отрицание, ∨ — дизъюнкция.
Пример:
Пусть a = истина (1), b = ложь (0).
Тогда Imp(1,0) = ¬1 ∨ 0 = 0 ∨ 0 = 0.
Таким образом, импликация двух булевых переменных a и b равна ложи (0), если a истинно (1) и b ложно (0).