Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Хабаровск.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
18.81 Mб
Скачать

2.5. Функционально полные системы функций алгебры логики. Базис и его выбор

2.5.1. Функционально полные системы функций алгебры логики

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

Система функций АЛ называется функционально полной, если с помощью функций данной системы, применяя операции суперпозиции и подстановки, можно получить любую, сколь угодно сложную ФАЛ [1], [2], [5], [6]–[8].

В АЛ существует пять классов функций, обладающих особыми свойствами. Любая ФАЛ, полученная посредством применения к функциям данных классов операций суперпозиции и подстановки, обязательно будет относиться к классу, на основании функций которого она получена. Следовательно, в функционально полной системе ФАЛ должна содержаться хотя бы одна функция, не относящаяся ни к одному из этих классов. К таким особым классам относятся классы ФАЛ, обладающие следующими свойствами:

  • сохранения нуля;

  • сохранения единицы;

  • линейности;

  • монотонности;

  • самодвойственности.

Рассмотрим на примере функций двух аргументов каждый из особых классов функций АЛ, отмечая при этом принадлежность каждой ФАЛ к соответствующему классу символом "+" (табл. 2.3).

Таблица 2.3

Принадлежность функции двух аргументов к соответствующим классам

Значения аргументов

Функции

f0

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

f11

f12

f13

f14

f15

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

Сохраняющие "0"

+

+

+

+

+

+

+

+

Сохраняющие "1"

+

+

+

+

+

+

+

+

Линейные функции

+

+

+

+

+

+

+

+

Монотонные

+

+

+

+

+

+

Самодвойственные

+

+

+

+

Класс функций, сохраняющих константу ноль, включает функции, для которых справедливо соотношение

Данные функции всегда принимают нулевое значение на нулевом наборе аргументов. К данному классу относятся функции , каждая из которых при также равна нулю (см. табл. 2.3).

Класс функций, сохраняющих константу единица, включает функции, для которых выполняется соотношение

К этому классу относятся функции , , , …, с нечётными номерами, принимающие единичное значение при (см. табл. 2.3). Чтобы система ФАЛ являлась функционально полной, она должна содержать хотя бы одну функцию, равную нулю на единичном наборе аргументов.

Класс линейных функций, включающий ФАЛ, которые могут быть представлен полиномом первой степени следующего вида:

(2.22)

Входящие в выражение (2.22) коэффициенты , , …, представляют собой некоторые константы, равные нулю или единице. Для проверки линейности функции и определения данных коэффициентов используют таблицу истинности рассматриваемой ФАЛ. Например, для функции "И" (см. табл. 2.3), определяемой как конъюнкция переменных, справедливы соотношения:

На основании приведённых соотношений, очевидно, что функция конъюнкции переменных f1 не может быть представлена полиномом (2.22), следовательно, она является нелинейной.

Для ФАЛ от двух аргументов линейными функциями будут: f0, f3, f5, f6, f9, f10, f12, f15. В функционально полной системе должна содержаться хотя бы одна нелинейная функция, так как нельзя получить нелинейные функции из линейных.

Класс монотонных функций включает ФАЛ, значения которых не убывают при возрастании набора аргументов. Для таких функций справедливо соотношение

,

где

Если значение каждого аргумента второго набора больше или равно значению того же аргумента первого набора, то второй набор не меньше первого. Примером таких наборов могут являться наборы: 00 и 11, 01 и 11, 10 и 11. Наборы, для которых значения одних аргументов больше или равны, а других – меньше или равны значениям одноимённых аргументов, относятся к несравниваемым наборам. Примером несравниваемых наборов для функций двух аргументов являются наборы 01 и 10.

К монотонным относятся функции f0, f1, f3… (см. табл. 2.3). Функция f2 не является монотонной, так как на наборе 10 она принимает единичное значение, а на наборе 11 – равна нулю. Учитывая, что из монотонных функций нельзя получить немонотонную функцию, то в функционально полной системе ФАЛ должна содержаться хотя бы одна немонотонная функция.

Класс самодвойственных функций, для которых инвертирование значений каждого из аргументов сопровождается инверсией самой функции. Для самодвойственных функций справедливо соотношение

Наборы аргументов считаются противоположными, если значения каждого аргумента одного набора имеют противоположные значения с соответствующими аргументами другого набора. Очевидно, что самодвойственная функция принимает противоположные значения на противоположных наборах аргументов. Для ФАЛ от двух аргументов самодвойственными будут являться функции: f3, f5, f10, f12.

Принадлежность любого набора функций АЛ к функционально полной системе определяется на основании теоремы Поста – Яблонского, которая формулируется следующим образом [1], [5].

Для того чтобы система ФАЛ являлась функционально полной системой, необходимо и достаточно, чтобы она включала хотя бы одну функцию, не сохраняющую константу "0", хотя бы одну функцию, не сохраняющую константу "1", хотя бы одну нелинейную функцию, хотя бы одну не монотонную функцию, хотя бы одну несамодвойственную функцию.

Следовательно, в функционально полную систему ФАЛ двух аргументов должны входить функции, совместно перекрывающие все строки табл. 2.3 клетками, не отмеченными символом "+".

На основании теоремы Поста – Яблонского и табл. 2.3 можно выделить следующие функционально полные системы функций АЛ:

  • дизъюнкция, конъюнкция, отрицание – функции f7 , f1, f10 (f12);

  • дизъюнкция и отрицание – функции f7 , f10 (f12);

  • конъюнкция и отрицание – функции f1, f10 (f12);

  • отрицание дизъюнкции – функция f8;

  • отрицание конъюнкции – функция f14;

  • константа нуль, конъюнкция и равнозначность – функции f0, f1, f9;

  • константа нуль, дизъюнкция и равнозначность – функции f0, f7, f9;

  • неравнозначность, конъюнкция и равнозначность – функции f6, f1, f9;

  • неравнозначность, дизъюнкция и равнозначность – функции f6, f7, f9;

  • неравнозначность, конъюнкция и константа "1" – функции f6, f1, f15;

  • неравнозначность, дизъюнкция и константа "1" – функции f6, f7, f15;

  • неравнозначность и импликация – функции f6, f11 (f13);

  • равнозначность и запрет импликации – функции f9, f2 (f4) и т. д.

Используя принцип суперпозиции и подстановки из функций двух аргументов можно построить функционально полные системы ФАЛ для большего количества аргументов.