Реализация функций формулами
Классическое определение формулы алгебры логики вводится по шагам:
любая пропозициональная переменная является формулой;
если А формула, то выражение или тоже формула;
если А и В – формулы, то выражения вида (А&В), (АВ), (АВ), (АВ) и прочие, где между А и В стоит пропозициональная связка, отличная от отрицания, – тоже формулы;
ничто иное не является формулой.
Формулы из пункта 1 называют элементарными. Формулы А и В из пунктов 2 и 3, если они не элементарны, называют подформулами составных формул.
При записи формул используются скобки для выделения подформул и указания порядка логических операций. В некоторых случаях скобки могут опускаться, это упрощает запись, делает её компактней. О соглашениях о бесскобочной записи формул будет сказано ниже.
Примеры формул:
1)
2)
3)
4) выражение вида формулой не является.
Итак, как следует из определения и примеров, формулы строятся из пропозициональных переменных, элементарных функций и скобок. Поэтому, когда необходимо подчеркнуть, что в построении формулы U участвуют переменные х1, х2,…,хn, пишут: U(х1,х2,…,хn). А в случае, когда надо указать, из каких элементарных функций построена формула, используется запись: U[f1,f2,…,fs], где f1, f2,…, fs – элементарные функции, встречающиеся в формуле.
Вычисление значений формулы выполняется путем подстановки различных наборов значений переменных, входящих в формулу. Результаты вычислений обычно оформляются в виде таблицы истинности формулы. Такие таблицы могут быть полными и сокращенными.
Для построения полной таблицы истинности исходную формулу разделяют на подформулы и затем вычисляют значение каждой подформулы. Таким образом, если n – это число переменных в формуле, а s – число выделенных подформул, то число столбцов в полной таблице истинности исходной формулы будет равно n+s, а число строк – 2n. При этом последний столбец этой таблицы будет представлять значения формулы.
Для примера рассмотрим построение полной таблицы истинности формулы . Разделим её на подформулы: f1=x, f2=f1y, f3=f2z. Тем самым, таблица будет содержать 8 строк и 6 столбцов. См. таблицу 6.
x | y | z | f1 | f2 | f3 |
0 | 0 | 0 | 1 | 1 | 0 |
0 | 0 | 1 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 1 | 1 |
Таблица 6 |
В последнем столбце таблицы 6 находятся значения исходной формулы.
Сокращенная таблица истинности строится непосредственно под формулой. Для этого выписывают саму формулу, затем под именами переменных записывают столбцы их значений, а под каждой логической связкой – столбец результатов соответствующей логической операции.
Рассмотрим построение сокращенной таблицы истинности на примере той же формулы: . См. таблицу 7.
(( | x | | y) | | z) |
|
1 | 0 | 1 | 0 | 0 | 0 |
|
1 | 0 | 1 | 0 | 1 | 1 |
|
1 | 0 | 1 | 1 | 0 | 0 |
|
1 | 0 | 1 | 1 | 1 | 1 |
|
0 | 1 | 0 | 0 | 1 | 0 |
|
0 | 1 | 0 | 0 | 1 | 1 |
|
0 | 1 | 1 | 1 | 0 | 0 |
|
0 | 1 | 1 | 1 | 1 | 1 | Таблица 7 |
Внизу таблицы стрелками указаны участвующие в операции столбцы, номером в кружочке отмечен порядок выполняемых действий. Столбец результатов отмечен номером 3. Нетрудно заметить, что он совпадает с последним столбцом таблицы 6, но этого и следовало ожидать, поскольку способ оформления вычислений не должен оказывать влияния на результаты.
Из рассмотренных примеров видно также, что значениями формулы могут быть только 0 или 1. Поэтому столбец результатов можно рассматривать, как некоторую истинностную функцию, принимающую те же значения, что и формула, на соответствующих «энках». Эта функция соответствует формуле или, как говорят, реализуется формулой, про формулу в этом случае говорят, что она реализует функцию.
Пусть функция f(х1,х2,…,хn) реализуется формулой U(х1,х2,…,хn). Т.к. функция f может иметь несущественные переменные, то справедливо считать, что формула U реализует любую функцию, эквивалентную f. Если xi – несущественная переменная для функции f, то функцию f можно заменить функцией g путем удаления несущественной переменной. Тогда формула U1, полученная из формулы U отождествлением xi с любой из оставшихся переменных, будет реализовывать функцию g.
Для подтверждения этого факта рассмотрим формулу: . Вычислим значения этой формулы. См. таблицу 8.
((z | & | (x | | y) | | (y | | x)) |
|
0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
|
1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
|
0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
|
1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
|
0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
|
1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
|
0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
|
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | Таблица 8 |
Результат находится в столбце, отмеченном номером 4. Реализуемая формулой функция приведена в таблице 9. Эта функция имеет несущественную переменную z. Удалив эту переменную, получим функцию g(x,y), см. таблицу 10.
x | y | z | f(x,y,z) |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
Таблица 9 |
x | y | g(x,y) |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
Таблица 10 |
Далее отождествим в исходной формуле переменную z с переменной у. При этом будет получена новая формула: . Построим таблицу истинности этой формулы. См. таблицу 11.
((у | & | (x | | y) | | (y | | x)) |
|
0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
|
1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
|
0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
|
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | Таблица 11 |
И, как видно из таблицы 11, новая формула реализует функцию g(x,y).
Если функция fP2 реализуется формулой U[f1,f2,…,fs], сконструированной из функций f1,f2,…,fsP2, то функция f называется суперпозицией функций f1,f2,…,fs или говорят, что функция f получена с помощью операции суперпозиции из функций f1,f2,…,fs.
Yandex.RTB R-A-252273-3- Часть II
- Алгебра двузначной логики
- Функции алгебры логики
- Способы задания функций алгебры логики
- Эквивалентность функций
- Реализация функций формулами
- Эквивалентность формул и тождества
- Упрощение формул
- Двойственные функции и принцип двойственности
- Применение принципа двойственности
- Аналитическая запись функций алгебры логики
- Аналитическое построение сднф и скнф
- Теорема о тройке связок
- Полные системы функций и полиномы Жегалкина
- Замыкание систем функций алгебры логики
- Важнейшие замкнутые классы
- Теорема Поста о полноте
- Минимизация булевых функций
- Основные понятия
- Метод неопределенных коэффициентов
- Тупиковые днф и алгоритм наискорейшего спуска
- Геометрическое представление функций алгебры логики
- Аналитическое построение сокращенной днф
- Локальные алгоритмы
- Алгоритм Куайна
- Диаграммы Вейча–Карно
- Построение днф по карте Карно
- Задачи и упражнения
- Список литературы
- Часть II
- 400131, Волгоград, просп. Им. В.И.Ленина, 28
- 400131, Волгоград, ул. Советская, 35