Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретка / Книги / Галиев Ш.И. Математическая логика и теория алгоритмов (2002).pdf
Скачиваний:
2274
Добавлен:
25.02.2016
Размер:
7.49 Mб
Скачать

30

следующим образом. Если в выбранной строке буква Аj принимает значение И, то в K0 она входит с отрицанием, если Аj, то Аj входит в K0 без отрицания. Конъюнкция построенных конституент нуля и будет с.к.н.ф.

Рассмотрим пример на построение с.к.н.ф. для пропозициональной формы, рассмотренной выше. Решение. Таблица истинности уже построена. Выберем строки, где А принимает значение Л, т. е. строки с номерами: 4, 6 и 7. Для четвертой строки элементарная сумма (конституента нуля) представляется в виде А В С; для шестой в виде: А В С, а для седьмой - А В С. В результате получим с.к.н.ф.:

(А В С)&( А В С)&( А В С).

Второй метод построения с.к.н.ф. – метод равносильных преобразований – заключается в следующем.

Для заданной формы А находим к.н.ф., которая имеет вид К1&K2&…&Km, затем добиваемся выполнения указанных выше условий .

Если в некоторое Ki входит некоторая буква вместе с ее отрицанием, то Ki – тавтология и из к.н.ф. множитель Ki можно исключить. Если при такой процедуре нужно отбросить все множители из к.н.ф., то А – тавтология и с.к.н.ф. не существует.

Если некоторый множитель к.н.ф., например Ki, не содержит букву А, то вводим ее согласно равносильности

Ki ( Ki А)&( Ki А).

Таким образом, добиваемся, чтобы каждый множитель к.н.ф. содержал все аргументы исходной формулы А.

Если в некотором множителе окажутся одинаковые слагаемые, то оставляем только одно из них. Если в полученной форме окажутся одинаковые множители, то оставляем только один из них. В результате получим с.к.н.ф.

§ 10. Булева (переключательная) функция

Булевой переменной назовем переменную, которая принимает одно из двух возможных значений. Ясно, что высказывание можно рассматривать как частный случай булевой переменной, ибо высказывание принимает только одно из двух значений: Л или И.

Функция ƒ12,...,An) называется булевой (переключательной)

функцией, если она может принимать одно из двух возможных значений, когда ее аргументы принимают тоже одно из этих двух значений.

Очевидно, что истинностная функция является частным случаем булевой функции.

Значения булевой функции и булевых переменных можно обозначать любыми символами, например, + и -, либо 1 и 0. В дальнейшем значения булевых переменных и функций будем обозначать через 1 и 0.

31

При исследовании высказываний, истинностных функций и пропозициональных форм нигде не использовалась природа значений "истина" (И) и "ложь" (Л). Тогда всюду И и Л можно рассматривать как символы, служащие для различения двух значений. Поэтому И можно переобозначить через 1, а Л - через 0, и все результаты, полученные для истинностных функций, будут справедливы для булевых функций. Более того, булевы функции можно отождествить с истинностными функциями.

Выражения ( А), (А&В), (А В), (А В), (АВ) можно рассматривать как булевы функции, значения которых определяются по таблицам построенным для пропозициональных форм ( А), (А&В), (А В), (А В), (АВ) соответственно, если в них всюду заменить И на 1, а Л на 0. Эти таблицы будем тоже называть таблицами истинности.

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

Можно показать, что число различных булевых функций от n

переменных равно N= 22n . Например: для n=1 N=4, для n=2 N=16, для n=3 N=256, для n=5 N - более четырех миллиардов.

Булеву функцию можно задать с помощью таблиц, аналитически, графически и т.п.

§ 11. Приложение алгебры высказываний к анализу и синтезу контактных (переключательных) схем

Алгебра высказываний находит весьма широкое практическое применение. Рассмотрим приложение алгебры высказываний к анализу и синтезу контактных (переключательных) схем.

Контакты (переключатели) можно рассматривать как переменные и обозначать буквами А, В, С,... или теми же буквами с числовыми индексами: А1 2 ,...,В1 2 ,...,С12,... . Каждая из переменных может принимать одно и только одно из двух возможных значений: если контакт А разомкнут, то по определению А=0, если контакт А замкнут, то по определению А=1.

Под контактной (переключательной) схемой понимается схема,

состоящая из замкнутых и разомкнутых контактов, соединенных параллельно, или последовательно, или смешанным образом.

Отрицанием контакта А называется контакт, равный 1, если А=0, и равный 0, если А=1. Отрицание контакта А обозначается через А.

Очевидно, что последовательное соединение двух контактов А и В моделируется конъюнкцией переменных А и В, а параллельное соединение - их дизъюнкцией, см. Рис. 1.1.

32

 

А

А

В

 

В

Рис. 1.1.

Известно, что любую булеву функцию можно представить, используя только , &, , причем относится только к буквам. Следовательно, любую булеву функцию можно представить в виде контактной схемы.

Используя булевы функции, можно строить контактные схемы, удовлетворяющие заданным требованиям (производить синтез контактных схем), а также преобразовывать, упрощать схемы (производить анализ контактных схем). Покажем это на примере.

Требуется построить контактную схему для голосования комитета из трех человек. При голосовании "за" - нажатием кнопки свет должен загораться тогда и только тогда, когда "за" проголосовало большинство.

Решение. В нашем случае имеем три переменные. Обозначим их через А, В, и С. По условию свет должен загораться тогда и только тогда, когда большинство этих переменных принимает значение 1, т.е. имеем таблицу:

A

B

C

 

Используя эту таблицу, находим булеву функцию,

1

1

1

1

выбирая строки, оканчивающиеся на 1:

 

 

 

0

1

1

1

A&B&C A&B&C A& B&C A&B& C. (1.11)

1

0

1

1

По этой функции строим схему, которая имеет четыре

0

0

1

0

параллельные ветви в каждой из которых по три

1

1

0

1

контакта, см. Рис. 1.2.

 

 

 

 

 

 

0

1

0

0

 

 

А

 

В

С

1

0

0

0

 

 

 

0

0

0

0

 

 

 

 

 

 

 

 

 

 

А

 

В

С

 

 

 

 

 

 

Эта схема выполняет

 

 

 

поставленную

задачу.

А

В

С

Полученная

 

 

схема

 

 

 

содержит 12 контактов, и

А

В

С

естественно

 

попытаться

 

 

 

проанализировать

данную

 

 

 

схему:

 

нельзя

 

ли,

 

 

 

например,

 

уменьшить

 

 

 

количество

 

контактов

в

 

 

 

переключательной схеме.

 

 

 

Можно

получить,

что

 

Рис. 1.2.

 

форма

(1.11)

равносильна

 

 

 

33

форме А&В А&С В&С, которую преобразуем к виду: А&В С&(А В). Тогда схема будет содержащей всего пять контактов, см. Рис. 1.3.

Очевидно, что анализ позволил сильно упростить контактную схему.

АВ

А

С

В

Рис. 1.3.

§ 12. Приложение алгебры высказываний к анализу и синтезу схем из функциональных элементов

Огромные скорости работы современных ЭВМ достигнуты за счет применения бесконтактных схем, работающих значительно быстрее, чем контактные схемы. В ЭВМ применяются электронные приборы, реализующие основные логические операции (отрицание, конъюнкцию, дизъюнкцию и др.).

Не касаясь структуры и физических основ этих устройств, называемых функциональными элементами, обозначим их условно следующим образом:

 

устройство, реализующее отрицание;

 

&

устройство, реализующее конъюнкцию;

 

1

устройство, реализующее дизъюнкцию.

Ограничимся только этими устройствами, хотя на практике существуют функциональные элементы, реализующие и другие операции, например, отрицание конъюнкции и т. п. Но можно обойтись только перечисленными тремя устройствами, так как любую булеву функцию можно выразить, используя только , &, .

34

Об этих устройствах (функциональных элементах) мы знаем лишь следующее:

 

устройство, реализующее отрицание имеет один

 

вход и один выход. Сигнал появляется на выходе,

 

когда на входе нет сигнала, и не появляется сигнал,

 

когда на вход подан сигнал.

&

устройство, реализующее конъюнкцию, имеет два

и более входов и один выход. Сигнал появляется

 

 

на выходе тогда и только тогда, когда на все входы

 

поданы сигналы.

 

1

устройство, реализующее дизъюнкцию, имеет два и

 

 

более входов и один выход. Сигнал появляется на

 

 

 

 

 

 

выходе тогда и только тогда, когда подан сигнал

 

 

 

хотя бы на один вход.

 

 

 

 

Этих свойств элементов достаточно для решения задач синтеза и

анализа схем из этих элементов.

 

 

 

 

Рассмотрим пример построения одноразрядного сумматора двоичных

чисел. Заданы двоичные числа а1а2…аk…аn и b1b2…bk…bn. Требуется

построить сумматор для k –го разряда. Задача состоит в конструировании

схемы (Рис. 1.4) с тремя входами А, В, С и двумя выходами S и Р, чтобы при

 

 

подаче на входы А и В сигналов, изображающих

 

S

двоичные цифры - слагаемые данного разряда, а на

 

вход С - сигнала, изображающего значение

C

P

переноса из соседнего младшего разряда, получить

 

 

на выходе S значение суммы в данном разряде, а на

A

B

выходе Р - значение переноса в соседний старший

разряд.

 

 

 

 

 

 

Напомним, что сложение чисел в двоичной

 

 

системе производится следующим образом: 0+0=0,

Рис. 1.4.

0+1=1+0=1,

1+1=10,

1+1+1=11

и

т.д.

 

 

Воспользовавшись этой таблицей сложения чисел в

двоичной системе, получим таблицу:

 

 

 

 

A

B

C

S

P

1

1

1

1

1

0

1

1

0

1

1

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

 

 

 

 

 

35

1

0

0

1

0

0

0

0

0

0

 

 

 

 

 

Считая, что 0 и 1 есть значения булевой функции, и выбирая строки, оканчивающиеся на 1, получим:

S=А&В&С А& В&С А&В& С А& В& С,

(1.12)

Р=А&В&С А&В&С A& В&С А&В& С

Имея выражение (1.12), уже можно построить схему из функциональных элементов, выполняющих поставленную задачу. Но поскольку схема построена из функциональных элементов, выполняющих некоторые операции, то возникает задача такого упрощения, чтобы она содержала как можно меньше знаков операций. Можно показать, что

Р=А&ВvА&СvВ&С,

S=А&В&Сv(АvВvС)& Р.

Тогда получим схему (Рис. 1.5), которая выполняет поставленную задачу, причем схема содержит значительно меньше функциональных элементов по сравнению со схемой, которая получилась при ее построении по (1.12) без проведения преобразований.

А

 

 

&

В

 

 

&

С

 

C

&

1

&

1

 

 

S

 

 

 

1

P

&

Рис. 1.5.

Лишь только, подведя итог, Ты свой дневной закончишь труд, …

Д. Чосер