Классы ФАЛ. Теорема Поста – Яблонского



 

Определим предварительно пять классов булевых функций. Клас­сом К0 булевых функций  сохраняющих констан­ту 0, называется множество функций вида

При фиксированном n число функций этого класса составляет половину всех функций алгебры логики  Классом K1 буле­вых функций сохраняющих константу I, называет­ся множество функций вида Проверим на принадлежность к классу К0 и К1 функцию

Классом Кл линейных булевых функций называется множество функций вида

где  – знаки операций сложения по модулю два. Число членов этого класса равно 2n+1. Проверим, является ли булева функция  линейной. Найдем неизвестные коэффициенты из предположения о линейности этой функции.

На наборе < 0000 >

Аналогично определим коэффициенты С1, С2, С3, С4:

Проверив функцию на наборах (0100), (0010), (0001), получим, что С2 = 0, С3 = 0, С4 = 1. Окончательно получаем

Это равенство в каждой из остальных I I точек не сохраняется. Дейст­вительно, в точке (1,1,1,1) имеем

          

Следовательно, сделанное предложение является неверным. Функция  нелинейная:

Классом Кс самодвойственных булевых функций называется множество булевых функций вида

Нетрудно показать, что рассматриваемая в качестве примера функция  не является самодвойственной. Для этого необходимо проверить на всех 2n наборов значение функций и

Классом Км монотонных булевых функций называется  множество булевых функций вида

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

Рассмотренные классы функций определяют возможность выбрать критерий полноты и в дальнейшем минимальный набор функций, доста­точный для представления любой. Критерий полноты задается теоремой Поста-Яблонского, которая в наиболее простой формулировке будет следующей:

система S функций алгебры логики является полной, тогда и только тогда, когда выполняется пять условий: существуют функций  не сохраняющая константу нуль:  функция  не сох­раняющая константу единица: нелинейная функция, несамодвой­ственная функция и немонотонная функция, в системе S. Выбрав, как ра­нее из табл. 4.4, функции (основные функции алгебры логики), построим таблицу и найдем все ба­зисы.

Преобразуем мультипликативно-аддитивную форму в аддитивно-муль­типликативную; порождаем все покрытия столбцов строками табли­цы 4.13

Каждое из полученных покрытий порождает базис

базис Вебба;

базис Шеффера;

 

импликативный базис;

 

 

коимпликативный базис;

импликативный базис;

конъюнктивный базис;

дизъюнктивный базис;

 коимпликативный базис;

 

 

 

 

базис Жегалкина;

 

Техническая реализация базисных функций может быть основана на использовании различных физических явлений. Согласно ГОСТ 2.743-72.

Таблица 4.13

Идентификатор строки

Функция

Классы

К0 К1 Кл Кс Км
0   1   1  
b 1     1 1  
c 2   1 1 1 1
d 6   1   1 1
e 7     1 1  
g 8 1 1 1 1 1
k 9 1     1 1
m 12 1 1     1
n 13 1   1 1 1
p 14 1 1 1 1 1
r 15 1     1  

 

базисные элементы графически изображают в виде прямоугольника, в которых инверсные входы и выходы изображают в виде незаштрихованых кружков и ставят 1, если внешняя связка «дизъюнкция», и – &, если – «конъюнкция», за исключением сложения по модулю два (тогда сверху ставят М2) и эквивалентности (обозначают =) (рис. 4.1) [13].

Рис. 4.1

Синтез логических схем

 

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

Рассмотрим задание функции принятия решения комитетом "трех". Каждый член комитета при одобрении закона нажимает свою кнопку, ес­ли большинство членов согласны, то резолюция принимается, что фикси­руется регистрирующим прибором. Устройство, которое реализует дан­ную функцию, имеет таблицу истинности (табл.414). От таблицы ис­тинности всегда можно перейти к ФАЛ с помощью алгоритма построения совершенной дизъюнктивной или совершенной конъюнктивной нормальной формы.

Рассмотрим алгоритм нахождения совершенной дизъюнктивной нор­мальной формы (СДНФ).

1. Отмечаем наборы, на которых функция принимает значение 1.
Для функции (табл.4.14) это наборы 011, 101, 110, 111.

2. Переменные , принявшие в этих наборах значение 1, обозначаем как , а принявшие значение 0 – как .

3. Для каждого набора записываем элементарную конъюнкцию ранга n, состоящую из  и  Для отмеченных наборов табл.4.14 это есть

4. Объединяем элементарные конъюнкции ранга n знаком дизъюнк­ции, в результате получаем совершенную дизъюнктивную нормальную фор­му. Для рассматриваемого примера

х1 х2 х3
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

 

Аналогично может быть найдена совершенная конъюнктивная нор­мальная форма. Эту задачу можно рассматривать как двойственную к задаче нахождения СДНФ.

1. Отмечаются наборы функций, на которых она принимает значение
0 (это наборы 000, 001, 010, 100).

2. Переменные х і, принявшие на этих наборах значение I, при­равниваем к , а принявшие 0 – х i;

3. Для каждого набора записывается дизъюнкция переменных, соответствующая этому набору. Для нашего примера это

4. Объединяем полученные дизъюнкции знаком конъюнкции, в ре­зультате получаем совершенную конъюнктивную нормальную форму. Для
рассматриваемого примера СКНФ  =  

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

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

которое сводится к четырем возможным решениям

                                

                                

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

Теорема [13]. Любая функция f(x1,..., хn) представима в виде разложения Шеннона:

 по всем наборам .

Подставим произвольно вместо первых k переменных их значения Тогда левая часть доказываемой форму­лы равна Правая часть представляет собой дизъюнкцию 2k конъюнкций вида  которые этой подстановкой разобьются на два класса. К первому классу относится конъюнкция, у которой набор  совпадает с набором

Эта конъюнкция равна левой части формулы. Ко второму классу отно­сятся 2к-1 конъюнкций, у каждой из которых хотя бы в одной пере­менной . Следовательно, каждая из них равна нулю. Тогда на основании соотношения получаем, что ле­вая и правая части формул равны при любой подстановке переменных  В предельном случае (k = n) для любой ФАЛ f(x1,...,хn), не равно нулю,

по всём наборам  где

т.е. имеем совершенную дизъюнктивную нормальную форму. Аналогично записывается двойственное разложение Шеннона:

 по всем наборам  

и его предельный случай

 по всем наборам где

является совершенной конъюнктивной нормальной формой функции

Разложение Шеннона дает возможность представить любую функ­цию от n переменных через функции от (n – m) переменных, называе­мых остаточными функциями. Так, например, при m = 1 имеем представ­ление функции от п переменных через функции от (n – 1) перемен­ной (нулевую и единичные остаточные функции первого порядка от аргументу хк):

 Разложение Шеннона и алгоритмы получения СДНФ и СКНФ представ­ляют любую функцию алгебры логики в базисе   который может быть приведен к базисам или с помощью формул до Моргана. Поэтому остановимся более подробно на представлении функций алгебры логики в базисе . Во-первых, покажем, что представление Функции в СДНФ (или соответственно в СКНФ) неэкономно. Для этого введем определение. Переменную или ее отрицание будем называть первичным термом. Количество первичных термов, которые образуют логичес­кую формулу, называется ее сложностью и обозначается Так, в задаче о голосовании (см. табл. 4. 14) сложность СДНФ найденной функции будет = 12. Очевидно, что при реализации функций алгебры логики в виде некоторых устройств необходимо найти некоторые представления их, имеющее наиболее экономную реализацию.

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

Конъюнкция, называется элементарной, если в этой конъюнкции каждое переменное, от которого зависит ФАЛ, встречается не более одного раза.

Дизъюнкция элементарных конъюнкций называется дизъюнктивной нормальной формой (ДНФ). Отсюда следует, что СДНФ является самой слож­ной ДНФ, так как объединяет конъюнкции длиной n (ранга n). Число элементарных конъюнкций, входящих в ДФ, называется ее длиной; ДФ, имеющая наименьшую длину по сравнению со всеми другими ДФ, эквивалент­ными данной функции, называется кратчайшей ДНФ (КДНФ).

Дизъюнктивная нормальная форма, содержащая наименьшее число букв по сравнению со всеми другими (имеющая наименьшую сложность), эквивалентными данной функции, называется минимальной для ДНФ (МДНФ). Аналогичные определения можно дать и для конъюнктивных нормальных форм [16, 17].

Еще раз подчеркнем, что мы будем, рассматривать лишь класс аналитических представлений для функций f(x1,..,xn), определяемой об­щей формулой  где – элементарные конъюнкции различных рангов.

Таким образом, задача нахождения экономного представления сво­дится частично к задаче нахождения минимальной дизъюнктивной нор­мальной формы. На основании свойств , – были получены две опе­рации, поз-воляющие значительно упростить аналитическое представле­ние ФАЛ. Этими операциями являются операция склеивания = , которая доказывается элементарно  ( ) = , так как = , и элементарного поглощения =  ( аналогично имеются и для конъюнктивного представления операция склеивания и поглощения ).

Если их применять к СДНФ (или любой исходной ДНФ) или СКНФ, то наступит момент, когда они уже будут неприменимы. В этом случае по­лучим тупиковую нормальную форму. Тупиковых форм может быть несколь­ко. Вид каждой зависит от порядка применения операций поглощения и склеивания к элементарным конъюнкциям. Получая все возможные тупи­ковые формы для конкретной функции и сравнивая их по сложности (количеству ), можно найти все минимальные формы. Однако оказалось, что число тупиковых ДНФ  при большом  довольно велико :

.                                             (4.11)

Таким образом, уже для  порядка 10-15 перебор становится весьма большим и процесс нахождения МДНФ становится малоэффективным. Поэтому усилиями специалистов, работавших в 60-х гг., были созданы методы нахождения МДНФ, ориентированные на использование ЭВМ. Вначале опи­шем наиболее простой по своим идеям метод неопределенных коэффициен­тов. Рассмотрим его на примере функции от трех переменных. Для это­го запишем функцию ƒ в виде следующей ДНФ:

 

                                                          (4.12)

Здесь представлены все возможные конъюктивные члены, которые могут входить в дизъюнктивную форму представления Коэффи­циенты k с различными индексами являются неопределенными и подби­раются так, чтобы получающаяся после этого ДНФ была минимальной. Ес­ли теперь задавать всевозможные наборы значений аргументов  и приравнивать получен-ное после этого выражение к значению функции на выбранных наборах, то получим систему 23 уравнений для определения коэффициентов k:

Значение правых частей этой системы уравнений определяет конк­ретную функцию. Если набор такой, что на нем функция равна нулю, то в правой части соответствующего уравнения будет стоять нуль. Для удовлетворения этого уравнения необходимо приравнять к нулю все коэффициенты К, входящие в левую часть рассматриваемого уравнения. Рассмотрим все наборы, на которых данная функция обращения в нуль, получим вое нулевые коэффициенты К. В уравнениях, в которых справа стоят единицы, вычеркнем слева все нулевые коэффициенты. Из оставшихся коэффициентов приравняем к единице коэффи­циент, определяющий конъюнкцию наименьшего возможного ранга, а остальные коэффициенты в левой части данного уравнения примем равными нулю. Взяв по одному коэффициенту из каждой строки и приведя подобные согласно правилу  получим набор коэффициентов, который определяет элементарные конъюнкции, входящие в МДНФ.

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

Запишем для нее систему уравнений:

1)

2)

3)

4)

5)

6)

7)

8)

Из уравнений 5, 6 и 7 в силу свойств дизъюнкции получаем

После исключения этих коэффициентов исходная система примет вид

Приравняем к единице каждый крайний слева коэффициент, а осталь­ные – нулю. Получим

Отсюда  и Метод неопределенных коэффициентов (и аналогичный ему метод минимизирующих карт) характеризуется тем, что для минимизируемой функции нужно знать все элементарные конъюнкции, которые могут входить в ДНФ этой функции. При этом число уравнений равно 2n, а число членов в каждом уравне­нии 2n – 1. Это показывает, что при n > 8 + 9 система уравнений ста­новится громоздкой.

Рассмотрим метод, который использует перебор не всех возможных конъюнкций для функции от n переменных, а только тех, которые могут присутствовать в ДНФ, эквивалентной минимизируемой функции. Этот метод был предложен в 1956 г. Мак-Класки, который усовершенствовал метод Квайна в направлении уменьшения перебора. С этой целью исход­ная функция, заданная в СДНФ, задается в виде двоичных наборов, на которых она равна единице. Двоичные наборы группируются в подгруппы по числу единиц в двоичном наборе. Двоичные наборы, соответствующие элементарным конъюнкциям ранга n и различающиеся на одну единицу, проверяются на склеивание. В результате получаются элементарные конъ­юнкции ранга n–1. Все элементарные конъюнкции ранга n, для которых невозможна операция склеивания, выписываются отдельно и называются первичными импликантами ранга n. Они должны обязательно входить в так называемую первичную импликантнуго таблицу. Полученные элементарные конъюнкции ранга n–1 также разбиваются на группы по числу еди­ниц, и происходит сравнение между элементарными конъюнкциями сосед­них групп на склеивание. Элементарные конъюнкции ранга n–1, которые не могут быть склеены, дописываются в список первичных импликант, а полученные элементарные конъюнкции ранга n–2 снова разбиваются по группам, и процесс продолжается до тех пор, пока возможна хотя бы одна операция склеивания. После того как операция склеивания становится неприменимой, все оставшиеся элементарные конъюнкции ранга n – m дописываются в число первичных импликант, и находится мини­мальное покрытие набором первичных импликант исходной функция; минимальный покрывающий набор и будет составлять МДНФ. Рассмотрим действие этого алгоритма на примере. Пусть задана СДНФ функции на наборах с номерами 3, 4, 5, 7, 9, 11, 12, 13. Выпишем двоичные эквиваленты номеров (наборы на которых функция принимает значение I): 0011, 0100, 0101, 0111, 1001, 1011, 1100, 1101. Это соответствует функции

Напишем двоичные эквиваленты по группам:

нулевая группа: нет;

первая группа: 0100;

вторая группа: 0011, 0101, 1001, 1100;

третья группа: 0111, 1011, 1101.

Сравнивая соседние группы на склеивание, вместо склеенных (исключенных переменных) записываем знак тире. Дня примера, сравнивая 0100 и 0101,получаем 010 – (что соответствует

В результате сравнения и склеивания между двоичными эквивалентами элементарных конъюнкций 4-го ранга были получены элементарные конъ­юнкции 3-го ранга.

Первая группа: 010- , -100;

вторая группа: 0-11, -011, 01-1, 10-1, 1-01, 110-.

Сравнивая элементарные конъюнкции 3-го ранга, находим элемен­тарные конъюнкции 2-го ранга. Здесь есть только одна – первой груп­пы: это -10-. Элементарные конъюнкции 3-го ранга, которые не склеи­лись, включим в число первичных импликант: 0-11, -01l, 01-1, 10-1, 1-01. Составим таблицу меток, число столбцов которой равно числу на­боров, на которых функция принимает значение единица; число строк равно числу первичных импликант (табл. 4.15).

Для нахождения минимального набора импликант, покрывающих всю таблицу (имеющих метки во всех столбцах) и составляющих минималь­ную дизъюнктивную форму, проделаем следующие операции [I6].

1. Найдем столбцы, в которых одна метка, и выпишем первичные
(существенные) импликанты, дающие эту метку. Для рассматриваемого
примера такой импликантой является -10-. Она должна обязательно содержаться в МДНФ. Исключаем строки, содержащие существенные импликанты и столбцы, имеющие метки, от существенных импликант. Получаем сокращенную импликантиую таблицу (табл. 4.16).

2. Исследуется полученная после первого этапа таблица на нали­чие столбцов, имеющих абсолютно одинаковые метки. Если такие име­ются, то остается только один столбец, остальные вычеркиваются. И снова строится таблица (для данного примера таких столбцов нет).

3. Если после выбрасывания некоторых столбцов на втором этапе
в таблице появляются отроки, в которых нет ни одной метки, то пер­вичные импликанты, соответствующие этим строкам, исключаются из дальнейшего рассмотрения.

4. Выбирается минимальный набор первичных импликант, имеющий мет­ки во всех столбцах. При нескольких возможных вариантах, такого выбо­ра отдается предпочтение варианту покрытия с минимальным суммарным числом букв в простых импликантах, образующих покрытия.

Таблица 4.15

Первичные импликанты 0100 0011 0101 1001 1100 0111 1011 1101
0-11   V       V    
-011   V         V  
01-1     V     V    
10-1       V     V  
1-01       V       V
-10- V   V   V     V

 

Таблица 4.16

Первичные импликанты 0011 1001 0111 1011
0-11 V   V  
-011 V     V
01-1     V  
10-1   V   V
1-01   V    

 

Для рассматриваемой функции выбираем 0-11и 10-1. Полученный набор с выбранной ранее первичной существенной импликантой -10- составляют минимальную дизъюнктивную форму функции Дальнейшее упрощение аналитической записи ФАЛ осуществляется за счет вынесения за скобки. Так, полученную ми­нимальную форму функции можно записать в виде

уменьшив сложность на еди­ницу.

Проблему минимизации можно решить и в других базисах. Основ­ная трудность при этом состоит в построении подходящих характерис­тических функций в том или ином базисе. Проблема минимизации имеет большое практическое значение, так как она является первым этапом синтеза надежных схем. При практическом использовании методов ми­нимизации надо помнить о принятых допущениях. Во-первых, при под­счете длины аналитического представления не учитывали отрицания над буквами. Если для реализации отрицания в схеме требуется спе­циальный элемент, то, очевидно, при выборе минимальной формы, из мно­жества эквивалентных минимальных форм необходимо выбирать те формы, которые содержат минимальное число отрицаний.

Рассмотрим синтез логических схем. Порядок синтеза зададим сле­дующей последовательностью.

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

2. Выражаем связки V, &, – в виде суперпозиции заданного бази­са (если синтез не в базисе V, &, –).

3. Подставляем результаты п.2 в выражение, полученное в п.1,
отмечая при этом стыки блоков, моделирующие V, &, – в заданном ба­зисе.        

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

Этот метод можно успешно применять при проектировании простых схем. Проектирование сложных логических схем требует применения САПР (систем автоматического проектирования). Один из методов, ос­нованный на разложении Шеннона, дает хорошие результаты. Как из­вестно,

позволяет при наличии блоков исключения k переменных свести реализацию булевой функции от п переменных к реализации функции от  переменных. В частности, при k = 1 имеем

Размерность остаточных функции  в свою очередь можно понизить, исключая t  переменных и т. д. до тех пор, пока остаточные функции не будут иметь простой вид и их реали­зация в заданном базисе не представит затруднений. Сложность оста­точных функций зависит от порядка исключения переменных в заданной булевой функции  Число возможных способов исключе­ния' переменных растет комбинаторно. Например, при использовании только блоков, исключающих одну переменную на каждом уровне, это число равно n! Но на каждом уровне можно исключать различное число переменных. Выбрать оптимальное решение довольно трудно. В нас­тоящее время имеется один эвристический способ, который основан на анализе множества взаимосвязей переменных, задаваемых ФАЛ. Этот спо­соб основан на понятии производной от функции алгебры логики.

Производная первого порядка  от ФАЛ по переменной х i равна сумме по модулю два остаточных (нулевой и единичной) функций ис­ходной функции алгебры логики

                           (4.13)

Как правило, перед взятием производной находится ее МДНФ. Например

 Производная первого порядка от ФАЛ определяет условия, при которых эта функция изменяет зна­чение при переключении  (изменении значения  на противоположное). Эти условия выражаются в том, что производная должна быть равна 1.

Аналогично вводится понятие смешанной производной k-го поряд­ка [I3]:

                                 (4.14)

Смешанную производную k-го порядка вычисляют последовательным дифференцированием k раз исходной ФАЛ. Производная k-го порядка находится через смешанные производные по формуле

     (4.15)

и определяет условия, при которых эта функция изменяет значение при одновременном изменении значений переменных  Вы­ражение производной, определяющее это условие, должно быть равно 1. Из анализа наборов переменных, на которых производная принимает зна­чение 1, определяем условия переключения функции  Очевидно, чем больше этих наборов, тем больше условий переключения. Критерий оп­тимального исключения заключается в исключении сначала переменных, при переключении которых ФАЛ переключается при максимальном числе условий. Это максимальное число определяется весом производной, ко­торый определяется числом наборов аргументов ранга n –m  (n – чис­ло переменных, m – порядок производной), на которых производная принимает значение единица. При использовании блоков исключения m переменных находят производные m-го порядка от реализуемой функ­ции и ищут максимальное значение веса производной:

которое и определяет исключаемые переменные. Для получения остаточных ФАЛ снова находятся производные определяются веса, а производная от рассматриваемой остаточной функции, имеющая максимальный вес, определяет соответствующие переменные, которые исключаются на этом ярусе для этой остаточной функции и т.д., пока остаточные функции не будут иметь простую реализацию. Рассмотрим простой пример. Пусть была найдена МДНФ ФАЛ от пяти переменных [13]: и имеются в наличии блоки исключения одной переменной (рис. 4.2). Определяем переменную х i, по которой производная  имеет наибольший вес, т.е. функция  зависит от нее более существительно. Имеем

Для нахождения веса  построим таблицу истинности, по которой определяем число наборов, на которых производная принимает единичное значение – это и будет весом  (табл. 4.17).

Таблица 4.17

х2

х3

х4

х5

0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1

 

Нетрудно видеть, что  принимает единичное значение на семи наборах, т.е.  Если построим аналогичные таблицы истинности для  то непосредственным подсчетом числа наборов, на которых производные принимают значение единица, получим

 

Рис. 4.2

Максимальное значение  получается при дифференцировании функции по переменной х3. Исключая эту переменную, получаем две остаточные функции – единичную  и нулевую  Аналогично определяем производные и их веса то единичной и нулевой остаточных функции:

Для нахождения веса строим таблицу истинности, по которой подсчитываем вес (число наборов, на которых  принимает значение единица). Например, для  построим табл. 4.18 и получим

Построив аналогичные таблицы истинности для остальных производных остаточных функций, получим

Таблица 4.18

х2

х4

х5

(1)
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Максимальное значение производной от единичной остаточной функции полу­чим по переменной х1. Следовательно, она является одной из исключаемых перемен­ных на втором ярусе. Вторую исключае­мую переменную определим после диффе­ренцирования нулевой остаточной функ­ции f (0) и нахождения весов  для всех х i:

Аналогично, как и для нахождения весов необходимо построить таблицы истинности для . Например, для  она имеет вид

Таблица 4.19

х1

х2

х5

(1)
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

 

По табл. 4.19 определяем, что  Аналогично, построив таблицы, можно определить, что

  

В связи с тем, что  можно выбрать любую переменную для исключения на втором ярусе. Выберем х4; таким образом, на втором ярусе исключаем х1 и х4. Исключая х1, получаем следующее остаточные функции:

 

Исключая х4, получаем остаточные функции следующего вида:

Остаточные функции  могут быть реализованы стандартными блоками (см. рис. 4.1). В результате получаем логическую схему, реализующую функцию  (рис 4.3).

Рис. 4.3

 

Критерий оптимальности переменных имеет эвристический характер, что основано на предположении о том, что чем больше вес производной тем больше функция  зависит от переменной хi. Если имеются блоки исключения m переменных, то построение схемы проводят аналогично, вычисляя вес производных m -го порядка:

 

Логические исчисления

 

В современной математике большое распространение получил так называемый аксиоматический метод. Сущность его состоит в своеобраз­ном способе определять математические объекты и отношения между ни­ми. Предположим, что, изучая систему каких-то объектов, мы употреб­ляем определенные термины, выражающие свойства этих объектов и от­ношения между ними. При этом мы не определяем ни самих объектов, ни этих свойств и отношений, но высказываем ряд определенных утверж­дений, которые должны для них выполняться. Очевидно, что эти ут­верждения выделяют из всевозможных систем объектов, их свойств и отношений между ними такие системы, для которых они выполнены. Та­ким образом, сделанное утверждение можно рассматривать как опреде­ление системы объектов определенного класса, их свойств и отноше­ний между ними. Рассмотрим пример.

Пусть дана система каких-то объектов, которые мы будем обоз­начать буквами латинского алфавита, и между ними установлено отно­шение, выражаемое термином "предшествует". Не определяя ни объек­тов, ни отношений "предшествует", мы высказываем для них следующие утверждения:

1) никакой объект не предшествует сам себе;

2) если х предшествует у, а у предшествует z , то х пред­шествует z .

Нетрудно видеть, что существуют такие системы объектов, с та­кими отношениями между ними, что если под термином "х – предшеству­ет у" понимать данное отношение, то наши утверждения окажутся ис­тинными. Пусть, например, объектами х, у, ... являются действительные числа, а отношение "х предшествует у" представляет собой "х меньше у"

Здесь утверждения 1 и 2 выполняются.

Системы объектов с одним отношением, для которых положения 1 и 2 выполнимы, образуют определенный класс, а положения 1 и 2 мы мо­жем рассматривать как определение систем этого класса. Утверждения, посредством которых мы таким образом выделяем совокупность объектов, носят название аксиом. Делая логические выводы из аксиом, мы будем получать утверждения, справедливые для любой системы объектов, удов­летворяющих данным аксиомам. Более значительным примером аксиомати­ческого определения является система аксиом геометрии. Соответствие между аксиомами и предметами реального мира всегда имеет приближен­ный характер. Если мы, например, поставим вопрос, удовлетворяет ли реальное физическое пространство аксиомам геометрии Эвклида, то пред­варительно мы должны дать физическое определение геометрических терминов, содержащихся в аксиомах, как то: "точка", "прямая", "плос­кость" и др., т.е. указать те физические обстоятельства, которые этим терминам соответствуют. После этого аксиомы превратятся в физи­ческие утверждения, которые можно подвергнуть экспериментальной проверке. После такой проверки мы можем ручаться, за истинность наших ут­верждений с той точностью, какую обеспечивают измерительные прибо­ры [17]. 

В общем случае интерпретации систем аксиом черпаются из круга математических понятий. Самым мощным источником интерпретаций для всевозможных систем аксиом является теория множеств. Однако и здесь возникает вопрос: является ли теория множеств вполне надежным осно­ванием для аксиоматического метода? На этот вопрос мы частично от­ветим, рассмотрев два наиболее важных исчисления – исчисление выс­казываний и исчисление предикатов, являющихся основой построения сов­ременных систем баз знаний [18, 19].

Под высказыванием будем понимать, как и ранее, утверждение, относительно которого в любой момент можно сказать, является оно ис­тинным или ложным, или, по крайней мере, предполагать, что ему мо­жет быть приписана такая интерпретация, В 4.1 были изложены основ­ные законы алгебры высказываний, которую мы называем булевой. Здесь мы рассмотрим аксиоматическую логическую систему, адекватную алгеб­ре высказываний и называемую исчислением высказываний (ИВ). Остано­вимся на ней более подробно, так как исчисление высказываний входит как составная часть во все другие логические исчисления. Описание всякого исчисления заключает в себе описание символов этого исчисления (алфавита), формул, являющихся конечными конфигурациями сим­волов, и после этого определение истинных формул. Зададим алфавит ИВ:

где переменные высказывания;  логические связки (смысл тот же, что и в алгеб­ре высказываний);  скобки; секвенция. Сек­венциями называются выражения вида  (где любые формулы).  где n > 0 ("Из  следует ")  ("  доказуемо").  где n > 0 ("система противоречива"). Формулы ИВ представляют собой конеч­ные последовательности символов алфавита. Для обозначения формул будем употреблять большие готические буквы Эти буквы не яв­ляются символами исчисления. Они представляют собой только услов­ные сокращенные обозначения формул. Полное определение формул име­ет рекурсивный характер: указываются некоторые исходные формулы и затем правила, позволяющие из формул образовывать новые формулы. Смысл этого определения состоит в том, что под формулой мы будем понимать такие и только такие строчки, которые могут быть образова­ны из исходных формул путем последовательного применения указанных в определении правил образования новых формул. Определение фор­мулы:

а) переменное высказывание есть формула;

б) если и  – формулы, то строчки

                                                                                                     (4.16)

также формулы.

В этом определении в а) указываются исходные формулы, которые здесь, представляют собой переменные высказывания. Будем их назы­вать элементарными формулами (атомами). В б) указываются правила, Позволяющие из полученных формул образовывать новые. Таким образом, понятие формулы определено. Приведем примеры.

Переменные высказывания А и В есть формулы в силу а). Следо­вательно, на основании б) (АВ) и ( ( АВ))  (А В) также фор­мулы. Чтобы доказать, что приведенная нами для примера строчка есть формула, мы должны рассуждать так. Так как А и В – формулы, то  и (АВ) также формулы. Так как  и ( АВ) формулы, то ( (А→В)) также формула. Так как А и В формулы, то В) также формула. Так как ( ( АВ)) и В) формулы, то ( ( АВ)) В) также формула. Отсюда видно, что для доказательства того, что данная строчка является формулой, требуется произвести ее конструкцию по указанной выше схеме (а), б)). Так что при построении формулы мы должны построить все ее части. Точное определение части формулы имеет также рекурсивный характер, связанный с операциями, употребляемыми при конструкции формул. Дадим определение части фор­мулы.

1. Частью каждой элементарной формулы (атома, переменного выс­казывания) является только она сама.

2. Допустим, что определены части формул  и . Частями формулы будут все части формул и  и сама формула
Также определяются части формул и . Если ввести
ранжирование силы связок (связка  связывает сильнее, чем v, в v
сильнее, чем , то формулы можно в некоторых случаях писать без скобок (если это не противоречит заданному с помощью cкобок порядку выполнения операций). Так, форму будем читать в виде .Кроме того, будем опус­кать внешние скобки. Например, формула запишется в виде будет правильно построенной формулой (ППФ).

Следующим шагом в описании исчисления высказываний будет выде­ление некоторого класса формул, которые мы будем называть истинны­ми или выводимыми в исчислении высказываний. Определение истинных формул имеет такой же рекурсивный характер, как и определение фор­мулы. Сначала определяются исходные истинные формулы, а затем правила, позволяющие из имеющихся истинных формул образовывать новые. Эти правила мы будем называть правилами вывода, а исходные истинные формулы – аксиомами. Образование истинной формулы из исход­ных истинных формул или аксиом путем применения правил вывода бу­дем называть выводом данной формулы из аксиом [17].

Аксиомами исчисления высказываний (ИВ) являются следующие тож­дественные истинные формулы (тавтологии, формулы, истинные при любых  значениях входящих в них высказываний и интерпретированные о помощью таблиц истинности логики высказываний):

1)

2)

3)

4)

5)

6)

7)

8)

9)

10)

11)

В исчислении высказываний следует два основных правила вывода.

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

2. Правило заключения. Если  и  истинные формулы в исчислении высказываний, то также истинная формула.

Пример. Покажем, что  истинная в ИВ формула. Возьмем аксиому 5. Заменим А формулой получим истинную фор­мулу Заменим С на А, по­лучим истинную формулу  Видим, что представляет аксиому 4 и является истинной. Поэтому, применяя правило заключения, получаем истинную формулу  Посылка этой формулы является аксиомой 3 и поэтому есть истинная формула. Применяя правило заключения, по­лучаем требуемую формулу

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

Будем считать, что формула  выводима из формул  если формулу  можно вывести только путем правила заключения (его будем записывать в виде  приняв за исходные формулы  и все истинные в ИВ формулы.

Точное определение выводимости формулы  из формул называемых исходными, формулируется следующим образом:

а) каждая формула  выводима из формул

б) каждая истинная в ИВ формула выводима из

в) если формулы и  выводимы из  то формула  также выводима из

Утверждение, что формула  выводима из будем за­писывать с помощью секвенций [17]:

Теорема дедукции: если формула  выводима из формул то истинная формула. Докажем сначала, что если то На основе индукции можно провести следующие рассуждения. Докажем, что оно верно, если является либо одной из формул либо истинной формулой ИВ. Случай, когда истинная формула, очевиден. Затем покажем, что если наше утверждение верно для формул  и  то оно верно для  Если совпадает с форму­лой  то либо либо і < n. В первом случае истинная формула. Поэтому  Пусть і < n, тогда подстановками в аксиому 1 получим  последняя формула как истинная формула выводима из формул Но формула также выводима из формул Поэтому формула выводима из формул

Формула

является истинной в ИВ, так как она получается подстановкой в аксиому          2. Поэтому эта формула выводима из  Обе посылки этой формулы выводимы (по условию) из Применяя два раза правило заключения, мы получаем формулу , которая, следовательно, также выводима из формул Таким образом, мы доказали, что если  то  Это утверждение верно и при h = 1. Теперь, применяя проведенное обозначение еще n – 2 раз (обозначая первый раз  через  через  и т.д.), получаем  Но можно применить тоже рассуждение еще раз. Тогда получим

чем и доказана теорема дедукции.

С помощью теоремы дедукции довольно несложно доказываются не­спорые теоремы, например

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

Если сделаем подстановку в последнюю формулу, заменив А  фор­мулой а  то получим истинную формулу

Если формулы и окажутся истинными, то, применяя сложное правило заключения к последней формула, найдем, что формула  также истинна. Таким образом, мы получаем правило, ко­торое записывается так:

Это правило носит название правила силлогизма (исключение третьего).

Если обозначить  произвольная секвенции, то в общем случае правилом вывода будет называться выражении вида

                                                                    (4.19)

называется непосредственным следствием  по данному правилу вывода.

Обозначим конечные последовательности формул (возможно, пустые), тогда в исчислении высказываний, с учетом расширения алфавита за счет введения секвенций, можно записать следующее производные (сложные) правила вывода [15]:

 

1)  (введение );

2)  (удаление );

3)  (удаление );

4)  (введение );

5)  (введение );

6)  (удаление );

7)  (введение );

8)  (удаленеие );

9)  (введение – );

10)  (сведение к противоречию);

11)  (удаление –);

12)  (уточнение);

13)  (расширение);

14)  (перестановка);

15)  (сокращение);                                                           (4.20)

Таким образом, вывод в ИВ с секвенцией есть конечная последоваельность секвенций i такая, что для каждого  есть либо аксиома, либо непосредственное следствие предыдущих секвенций по правилам 1-15. Секвенция  называется выводимой в ИВ, если существует вывод в ИВ, оканчивающийся

Одной из важнейших теорем, используемой при автоматизации вы­вода, является теорема эквивалентности: пусть формула (А) содер­жит переменные высказывания А и пусть формулы , и  эквивалент­ны. Тогда формулы и  получаемые из  заменой А соответственно на  и также эквивалентны. Точнее

                                         (4.21)

Полное доказательство этой теоремы дано в [9, 17].

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

При рассмотрении любого исчисления возникает проблема непроти­воречивости – одна из кардинальных проблем математической логики [9, 17].

Логическое исчисление называется непротиворечивы, если в нам не выводимы никакие две формулы, из которых одна является отрицани­ем другой. Иными словами, непротиворечивое исчисление – это такое ис­числение, что, какова бы ни была формула , никогда формулы  и  не могут быть одновременно выведены из аксиом этого исчисления с по­мощью указанных в нем правил. Имеет место теорема: исчисле­ние высказываний непротиворечиво. Как мы уже говорили выше, каждую формулу ИВ можно рассматривать в то же время как формулу алгебры высказываний. Покажем, что все формулы, выводимые в ИВ и рассмотренные как формулы алгебры высказываний, являются тождественно истинными, т.е. принимают значение И при всех значениях переменных. Легко не­посредственно проверить, что аксиомы исчисления высказываний таковы. Покажем, что если формула  содержащая переменное А, тождест­венно истинна, то и формула  получаемая из подстановкой, также тождественно истинна. В самом деле,  при всех значениях переменной принимает значение И(1). В таком случае ы(И) и ы(Л) имеют значение И, каковы бы не были значения других переменных. Но  при любых, значениях переменных может иметь только значение И или Л. Отсюда следует, что ы( ) всегда будет иметь значение И.

Докажем, что если формулы ы и ы  тождественно истинны, то формула  также тождественно истинна. Если (ы тождественно истин­на, то она всегда имеет значение И. Так как ы  всегда принима­ет значение И, то  не может принять значение Л ни при каких зна­чениях переменных, иначе формула  приняла бы значение И→Л, которое,по определению следования в алгебре высказываний, есть Л.

Итак, мы показали, что:

– все аксиомы тождественно истинные формулы;

– применяя к тождественно истинным формулам правила вывода, мы получаем такие тождественно истинные формулы.

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

При доказательстве непротиворечивости ИВ показано, что всякая формула, выводимая в ИВ, является тождественно истинной, если ее рассматривать как формулу алгебры высказываний. Возникает обратный вопрос: будет ли всякая тождественно истинная формула алгебры высказываний выводима в исчислении высказываний. Этот вопрос и пред­ставляет собой проблему полноты в широком смысле для исчисления выс­казываний, которая решается положительно для ИВ. Не менее важное зна­чение, чем понятие полноты в широком смысле, имеет понятие полноты логического исчисления в узком смысле. Логическое исчисление назы­вается полным в узком смысле, если присоединение к его аксиомам ка­кой-нибудь не выводимой в нем формулы приводит к противоречию. Ис­числение высказываний полно в узком смысле.

Как уже говорилось, всякое логическое исчисление может быть за­дано следующим образом: задается алфавит, определяется понятие фор­мулы и истинной формулы. Это делается путем указания, во-первых, не­которых исходных формул, объявленных истинными и называемых аксио­мами и, во-вторых, правил вывода, с помощью которых из истинных формул можно образовывать новые истинные формулы. Для всякого тако­го исчисления возникает вопрос о независимости его аксиом. Вопрос этот ставится следующим образом: логично ли какую-нибудь аксиому вывести из остальных, применяя правила вывода данной системы? Показано [17], что система аксиом исчисления высказываний независима, т.е. ни одна из аксиом не может быть выведена из других.

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

Исчисление предикатов включает в себя исчисление высказываний и позволяет устанавливать новые свойства через введение функций на бес­конечных, в общем случае, множествах предметов. Функция F, принимаю­щая одно из значений 0 или 1, аргументы которой пробегают значения из произвольного множества М, называется предикатом. Предикаты, зависящие от одного аргумента х – F(х), описывают свойства предмета и по существу не отличаются от элементарных высказываний. Например, F(x), "х – простое число". F(x) принимает значение 1 (истина) или 0 (ложь) в зависимости от того, что подставим вместо х; F(1) – исти­на, F(8) – ложь. Предикаты от двух переменных задают взаимоотноше­ния двух предметов F(x, y). Например, F(x,у):х > у. Если взять х = 5, у = 2, F (5,2) = 1; х= 5, у = 10, F(5, 10) = 0.

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

1) х – сын, у – отец, z – дед, F(x , y , z) = x есть сын у и внук z или

2) F(x , y , z) = x + y = z или

3) F(x , y , z , u , v) = x + y + z + u + v = 50.

Истинность или ложность предиката как функции зависит от того, какие конкретные значения примут переменные. Предикат можно, таким образом .трактовать как n-арное отношение в множестве М. Предикат если находится в отноше­нии R , определяемом этим предикатом;  то эти элементы не находятся в отношении .

Из приведенного понятия предиката как функции, определенной на произвольном множестве М и принимающей два значения И или Л (1 или 0), видно, что введенное понятие позволяет свести большое коли­чество отношений реального мира к понятию предиката. Зададим исчис­ление предикатов как аксиоматическую систему аналогично исчислению высказываний.

Рассмотрим алфавит исчисления предикатов:

предметные переменные;

предметные символы;

функциональные символы;

предметные константы;

логические символы;

вспомогательные символы;

секвенция.

Выражение  назовем сигнатурой. Дадим определение терма сигнатуры:

1. Всякая предметная переменная или предметная константа – терм.

2. Если f – функциональная буква и  – термы, то  – терм. Атомарной формулой сигнатуры  назовем произвольное слово  где  – n-мерный предикатный символ из , – термы сигнатуры .

Дадим определение новым логическим символам  которые называются кванторами существования и всеобщности соответственно и служат для упрощения структуры сложных логических рассуждений. Условим­ся обозначать выражение "для всякого элемента  свойство R вы­полнено" как  а выражение "существует, по крайней ме­ре, один элемент , обладающий свойством R" – как  

После этого можно ввести понятие формулы:

1. Атомарная формула есть формула.

2. Если ы и  – формулы, то фор­мулы.

3. Если формула, а х – предметная переменная, то формулы.

В выражении формула называется областью действия квантора

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

Формула ы называется замкнутой формулой или предложением, ес­ли всякое нахождение переменной в ы является связанным. Формула ы сигнатуры назовем тождественно истинной (или тавтологией), если ы истинна при любых значениях свободных переменных. Часть формулы определяется в исчислении предикатов аналогично определению в ис­числении высказываний. Будем говорить, что формула ы семантически следует из множества формул Г (символически Г ы), если для любой алгебраической системы m из истинности в m всех формул из Г при некоторых значениях переменных следует истинность ы  в m при тех же значениях переменных. В ИП, как и в ИВ, вводится система аксиом:

1)

2)

3)

4)

5)                                                         (4.22)

6)

7)

8)

9)

10)

11)

12)

В аксиомах А, В, С – любые формулы. В аксиомах 11, 12 F(х) – формула, t – терм, свободный для х в F(x), F(t) – формула, полу­ченная из F(x) заменой всех свободных вхождений х на t.

В связи с введением кванторов для того, чтобы построенные фор­мулы были правильно построенными формулами (ППФ), необходимо:

а) в формуле свободные и связанные переменные обозначать разными буквами;

б) если какой-либо квантор находится в области действия друго­го квантора, то переменные, связанные этими кванторами, обозначать разными буквами.

Кванторы  и  являются двойственными друг другу и могут быть выражены один через другой:

                                                      (4.23)

Как и в случае исчисления высказываний, в исчислении предика­тов вовводятся два основных правила вывода, позволяющие получать истинные формулы. Этими правилами являются правило заключения и пра­вило подстановки. Правило заключения: если G и GH – истинные формулы, то Н – также истинная формула. Правило подстановки в связи с наличием кванторов, связанных и свободных переменных, зна­чительно сложнее правила подстановки исчисления высказываний. Поэ­тому рассмотрим правило подстановки в переменное высказывание и пе­ременный предикат. В исчислении высказываний формула, в которой за­мещается переменной высказывание в истинной формуле, могла быть произвольной, здесь необходимо наложить некоторые дополнительные ус­ловия на эти формулы, так как иначе в результате подстановки может получиться выражение, даже не являющееся формулой [17, 18].

Замещение перешнного высказывания. Пусть формула  содер­жит, переменное высказывание А. Тогда мы можем заменить в формуле ы букву А всюду, где она входит, любой формулой G, удовлетворяющей следующим условиям:

1. Свободные переменные в G обозначены буквами, отличными от связанных переменных в ы, и связанные переменные в G – буквами, отличными от свободных переменных в ы .

2. Если А в ы находится в области действия квантора, обозна­ченного какой-то буквой, то эта буква не входит в G. Такое замеще­ние называется подстановкой формулы G  в переменное А.

Пример. Пусть  есть формула

В таком случае А нельзя заменить формулой  или формулой так как при таком замещении не соблюдено условие 2. Если все же произвести это замещение, то полученная строчка не будет фор­мулой, так как в ней два квантора, один из которых находится в об­ласти действия другого, обозначены одинаковыми буквами. Замещение буква А формулой возможно, так как в этом случае условия 1, 2 выполнены. Полученная в результате тако­го замещения строчка

является формулой.

Замещение переменного предиката. Пусть формула содержит переменный предикат F от n переменных и пусть имеется формула  содержащая n свободных переменных  (вооб­ще говоря,  может содержать и другие переменные), где  буквы, отличные от всех предметных переменных формулы ы . Если для формулы  соблюдено условие I и еще условие:

3. Если F в ы находится в области действия квантора, связивающего какую-либо букву, то эта буква не входит в  то возможна подстановка формулы  в ы вместо предиката F. Операция подстанов­ки формулы  в формулу ы(F) вместо F (...) представляет собой замещение каждой элементарной формулы вида  (где _ какие-то переменные, не обязательно различ­ные), входящей в ы, выражением, полученным из  переименованием переменных  буквами  соответственно, При этом иолжно быть жестко указано, какому из переменных  соответствует пустое место в F (...).

Пример. Пусть формула ы имеет вид  Требуется произвести подстановку, заменив F формулой (  Пусть при этом первое пустое место в F(...) соответствует переменному t1, в второе – t2. Условия 1 и 3 здесь выполнены, и результатом подстановки будет формула

Рассмотрим еще два важных правила: замены свободного предмет­ного переменного и переименование связанных предметных переменных. Пусть формула ы является истинной формулой в ИП и формула ы/ получена из ы замещением любого свободного предметного переменного другим сво­бодным предметным переменным так, что замещаемое переменное заме­няется одинаковым образом всюду, где оно в формулу ы входит; тог­да ы/ является истинной формулой исчисления предикатов.

Пример. Рассмотрим формулу

Произведем в ней подстановку в переменное у. Заменив его перемен­ным z, получим формулу

Если формула ы является истинной формулой ИП, то формула ы' полу­ченная из ы замещением связанных переменных другими связанными пе­ременными, отличными от всех свободных переменных формулы ы, также является истинной формулой. При этом замещаемое связанное перемен­ное в формуле ы должно заменяться одинаковым образом всюду в об­ласти действия квантора, связывающего данное переменное, и в самом кванторе.

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

Пример. Рассмотрим формулу

Применяя операцию переименования связанных переменных, мы можем

С учетом расширения алфавита исчисления высказываний ввдением секвенций обощенные правила вывода исчисления высказываний с секвенцией формулы (4.20) в исчислении предикатов с секвенцией дополняются следующими правилами вывода [14]:

16)  (введение );

17)  (удаление );

18)  (введение );

19)  (удаление ).                                                         (4.24)

Здесь ы (t) получается из ы (х) заменой всех свободных вхождений х на t ; Г4 – конечная последовательность формулы, не содержащая х свободно; Д – формула, не содержащая х свободно; Г – конечная последовательность формул, возможно пустая.

Формулы (4.20) исчисления высказываний полностью входят в чис­ло формул ИП, Правила 16, 18 формул (4.24) обычно называются прави­лами связывания квантором [17, 20, 21].

Вопрос о непротиворечивости исчисления предикатов легко решается в положительном смысле. В отличие от исчисления высказываний ис­числение предикатов является неполным в узком смысле, что легко до­казывается, если интерпретировать квантор существования как конеч­ную или бесконечную дизъюнкцию (в зависимости от мощности множества, на котором определены' предикаты), а квантор всеобщности-как конечную или бесконечную конъюнкцию. Например, для множества

Исчисление предикатов является основой при создании баз зна­ний и основ автоматического вывода. Рассмотрим прикладные вопросы ИВ и ИП при представлении знаний и в автоматическом выводе.

 

Модели представления знаний

 

В настоящее время наиболее перспективными решателями экс­пертных систем считаются системы, созданные на основе дедуктивных и индуктивных схем рассуждения, метода программируемых доказа­тельств и интегральный подход, позволяющий использовать для реше­ния одного и того же класса задач несколько методов одновременно.

К дедуктивным подходам относится прежде всего логическое про­граммирование, в котором для представления знаний используется фор­мальный аппарат исчисления предикатов первого порядка и его расши­рение. Под исчислением (или дедуктивной системой) понимается сис­тема, в которой существует некоторое число исходных объектов (ак­сиом) и некоторое число правил построения (правил вывода) новых объектов из исходных и уже построенных. При этом в исчислениях (в отличие от алгоритмов) порядок применения правил вывода может быть произвольным. Можно считать, что исчисление предикатов является рас­ширением классического исчисления высказываний, в котором высказы­вание рассматривается как единое целое, не обладающее внутренней структурой, а истинность или ложность высказываний фиксирована. В исчислении предикатов, как было показано, основным объектом являет­ся переменное высказывание (предикат), истинность или ложность которого зависит от значений входящих в него переменных. Для обозна­чения области значений, как известно, используются два квантора –квантор всеобщности и квантор существования  Как из­вестно, в исчислении высказываний формулы строятся индуктивным спо­собом с помощью связок  (дизъюнкция, конъюнкция, отрицание, импликация). Исчисление предикатов включает в себя все формулы исчисления высказываний, а также формулы, содержащие кроме символов высказываний предикатные символы с кванторами. Выделенное подмножество тождественно истинных формул, истинность которых не зависит от истинности входящих в них высказываний, называется аксиомами. Они были приведены в 4.4.

Как известно, за исключением двух последних все остальные аксиомы являются аксиомами исчисления высказываний. В исчислении пре­дикатов имеется множество правил вывода. Основными из них являются правило заключения (модус поненс) и правило подстановки. При использовании формул логики предикатов совсем не обязательно ограничиваться какой-то определенной формой описания для выражения смысла высказываний. Здесь имеется возможность различных представлений, что зависит от взглядов конкретного человека. Такое многообразие со­ответствует многообразию оборотов речи в естественном языке. Знания, которые могут быть представлены с помощью логики предикатов, являют­ся фактами, представляемыми логическими формулами. Для представления какой-либо области в виде логических формул прежде всего необ­ходимо выбрать константы, которые определяют объекты в данной облас­ти, а также функциональные символы и предикатные символы, которые определяют соответственно функциональную зависимость и отношения меж­ду объектами. Символы других типов являются общими и не зависят от конкретного мира [21].

Следовательно, определив константы, функциональные и предикат­ные символы, можно построить логические формулы, описывающие данную область. Записать знания в виде логических формул не удается в тех случаях, когда затруднен выбор указанных трех групп символов или же когда эти знания превышают возможности представления в логике пре­дикатов.

Автоматическое преобразование предложений, написанное на естественном языке, в язык формальных систем типа логики предикатов. называется пониманием естественного языка. Это очень сложная проб­лема, и удалось в ней добиться лишь частичных результатов. При транс­ляции, помимо выбора трех символов, возникает проблема, касающаяся и логических символов. Примером тому является символ V. B интерпрета­ции логики высказывания выражение Р "или" Q допускает, что и Р и Q  могут быть истинными. В данном случае "или" называется "нераз­делительное или". Если одно из выражений Р и Q – истина, а другое ложь, то "или" называется "исключающее или". В естественном языке "или" может употребляться как в значении "неразделитвльное или", так и в значении "исключающее или". Например, в предложении "все лю­да являются мужчинами или женщинами" "или" интерпретируется как иск­лючающее "или". Поскольку V означает неразделительное или, то для того, чтобы в выражении Р или Q "или" имело смысл "исключающее или", следует записать, например,

Еще одна проблема связана с символом →. РQ имеет такой же смысл, как и  v Q, например "если 5x5=30, то все компьютеры име­ют одинаковое быстродействие" интерпретируется как истина. И все же, обычное предложение вида РQ показывает причинно-следственные связи между Р и Q , и если в логике предикатов и в логике высказы­ваний отбросить смысл предикатных символов, то теряется связь со смыслом Р и Q, поэтому такое отношение выходит за рамки логики предикатов.

Будем предполагать, что при описании конкретной ситуации в ви­де логической формулы были использованы связки  и кванторы и получена правильно построенная формула (ППФ). Для удоб­ства машинного вывода ее надо представить в так называемой префикс­ной нормальной форме. Для начала научимся исключать из ППФ связки →  и  По определению, эти связки могут быть следующим образом представлены через оставшиеся три связки:

Если теперь воспользоваться этими выражениями, то во всех ком­бинациях ППФ можно ограничиться только тремя связками. Предикат, не содержащий переменных, аналогичен высказыванию, поэтому такие предикаты будем обозначать просто как F и G. Когда некоторое отно­шение выполняется для любого квантора (  или ), то сложно опи­сывать эти два отношения, вводя каждый раз V и , поэтому такой случай принято записывать как Qx:

                           (4.25)

Эта пара формул показывает, что «высказывание не имеет отношения к квантору переменной, которая включена в другой предикат». Рассматрим важнейшие соотношения ИП. Согласно принципу двойственности имеем

 

                                                       (4.26)

Чтобы в этом убедиться, обратимся к простому примеру. Положим, что областью изменения х является множество  При этом допустим, что истинной является только F(a), F(б), H(в). Тогда левая часть первой формулы не выполняется, а ее правая часть является истиной. Следовательно, левая и правая части не равны. И обратно, если левая часть выполняется, то ясно, что непременно выполняется и правая часть, т.е. для формулы справедливо не равенство, а связка →:

                   (4.27)

Для второй формулы аналогично, если обратиться к тому же примеру и принять, что справедливо только F(a) и Н(б), то левая часть бу­дет истиной, а правая часть не выполняется. Далее, если справед­лива правая часть, то непременно справедлива и левая, поэтому вы­полняется

                           (4.28)

Итак, непосредственно саму по себе нельзя получить префиксную формулу. Ее удается построить введением новых переменных. Смысл последних двух формул в том, что описание для двух разделенных предикатов не совпадает с описанием, использующим эти предикаты одновременно как единое целое и с одинаковыми переменными. Поскольку диапазон из­менения переменных, входящих в предикаты, лежит внутри этого объеди­ненного предиката, то на практике в этих двух формулах можно, изме­нив все переменные в их правых частях, записывать в следующем виде:

                  (4.29)

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

                (4.30)

В конечном итоге для этого случая необходимо вводить новые переменные.  Описанное правило рассматривалось применительно к предикатам одной переменной; при получении многих переменных его можно использовать последовательно к каждой из них [21].

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

1) используя формулы  заменяем  и  на

2) воспользовавшись выражениями

(правила де Моргана)                       (4.31)

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

3. Вводятся новые переменные для формулы (4.26).

4. Используя формулы (4.26) – (4.30), получают представления формул в префиксной нормальной форме.

В качестве примера рассмотрим следующее выражение А, которое надо привести к префиксной нормальной форме, т.е. чтобы все кван­торы были перед правильно построенной формулой, а не внутри:

                  (4.32)

В соответствии с изложенной процедурой А будет преобразова­но следующим образом:

Из 1):

Из 2):

Из формулы (4.26)         

Из формулы (4.26)  

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

Конечно, использование кванторов является неотъемлемым усло­вием правильного отражения семантики языка предикатов, и поэтому, прежде чем их исключать, необходимо выполнить надлежащие процеду­ры, которые позволят полностью сохранить семантику. Процедуры такого рода вводятся через понятие сколемовской функции. Для описания той функции рассмотрю следующий простой пример.  об­разует резьбовое соединение (х, у): для каждого х (болта) сущест­вует у (гайка), такой, что х образует соединение с у. Это означа­ет, что если выделить один конкретный х (болт), то дал этого х су­ществует у, удовлетворяющий функции "образует резьбовое соединение (х, у.)". Иными словами, у зависит от х или же у, должен опреде­ляться в зависимости от х. Это отношение х и у, может рассматри­ваться как своеобразное функциональное отношение в том смысле, что если задано х, то существует и соответствующий ему у (может быть, подбираемое по ГОСТу или таблицам метрических или дюймовых резьб).

Отсюда следует, что у можно заменить на функцию f(x), кото­рая описывает данное отношение. Поскольку функция f(x) возникла в конечном итоге из того обстоятельства, что переменная у проквантифицирована квантором  при подстановке этой функции на место у данный факт будет тем самым отражен, и сам по себе квантор  уже не потребуется. Таким образом, исходную логическую формулу можно будет переписать в виде  образуется резьбовое соединеннее х, f(x)). Подобная функция называется сколемовской [20].

Сколемовокая функция необходима дм того, чтобы предикатная формула в качестве своих аргументов включала только те исходные пе­ременные, которые влияют на переменные, связанные квантором сущест­вования. Приоритетность действия кванторов, имеющихся в префиксной форме представления, определяется в порядке слева направо. Напри­мер, формула имеет тот смысл, что "для всех х существует некоторый у, такой, что истина при всех z", Из этой формулы следует, что переменной, которая влияет на свя­занную квантором  переменную у, является только х; значит, ее ло­гично переписать в следующем виде:

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

образует резьбовое соединение (х, у) = образует резьбовое соединение (х, у).

Если проделать эту операцию для ранее рассмотренного примера, то получим

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

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

и можно будет упростить формальное представление без потери информа­ции, содержащейся в исходной формуле. Такого рода формальное пред­ставление предикатных формул принято называть сколемовской нормаль­ное формой [17, 21].

Следующим шагом на пути к применению автоматического вывода является переход err полученных в предыдущем разделе результатов к конъюнктивной нормальной форме, а затем – к описанию предикатных формул в форме предложений (клаузальной форме). Обычно предикатная формуле в сколемовской нормальной форме представляет собой несколько преди­катов, содержащих переменные и соединенных различными связками. Од­нако, далее на этом этапе нормализации форма представления одинако­вых по смыслу предикатных формул неопределена и все еще остается некоторая произвольность толкования изначально заданных выражений. Например,  означает то же самое, что и  По смыслу формула совпадает с распределительным законом конъюнкции относительно дизъ­юнкции: Используя его и еще соотношения

                                                                                   (4.32а)

можно любую логическую формулу автоматически преобразовать к дизъюнктивной. нормальной форме (ДНФ) или конъюнктивной нормальной форме, (КНФ), не теряя при этом ее смысла. Можно получить совершенные СДНФ СКНФ через таблицу истинности.

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

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

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

                                   (4.33)

Если проследить операции приведения к нормальной форме в об­ратном направлении, то получим

                   (4.34)

Однако из формул (4.29) и (4.30), которые связывают кванторы и связку , следует

 

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

                                   (4.35)

Поэтому формула (4.33), приведенная к конъюнктивной нормальной форме, будет такой же, что и соответствующие предложения, заданные по отдельности как независимые логические формулы. И наоборот, конъюнктивную нормальную форму для формулы (4.32) можно разложить на предложения. Множество предложений, полученных в результате разложе­ния, называется клаузальным множеством.

В последнее время предметом самого широкого обсуждения в обра­ботке знаний стали предложения Хорна, которые используются в языке логического программирования ПРОЛОГ. Рассмотрим их отношение к ло­гике предикатов первого порядка. Все описанные клаузальные формулы (предложения) представляют собой несколько предикатов, объединенных связкой V. В общем, виде эти формулы содержат предикаты и отрицания предикатов, т.е. клаузальная формула означает то же самое, что и формула вида

                          (4.36)

Преобразование в клаузалъную форму соответствует описанию ло­гической формулы самого общего вида группой формул вида (4.36). При атом формулы вида (4.36) в зависимости от величины k и l классифицируются по нескольким типам:

1) тип 1; k = 0, l = 1. Предложение представляет собой единичный предикат, и оно может быть записано как где  являются термами. В случае, когда вое термы константы, они описывают факты, ко­торые 'соответствуют данным, хранящимся в базе данных. Если термы со­держат переменные, то они задают общезначимые представления, выска­зываемые для группы фактов. Например, таким представлением является ИЗМЕНЯЕМОСТЬ (х): "Все течет, все изменяется".    

2) тип 2: k ≥ 1, l = 0.

Этот тип можно записать в виде

                                       (4.37)

Обычно он используется для описания вопроса. Причиной, по которой данный тип предложения становится вопросом, является то, что ответ на вопрос реализуется в виде процедуры доказательства. Однако для этого доказательства используется так называемый метод опровержения, при котором создается отрицание вопроса и доказывается, что отрица­ние не выполняется. Такая форма вопроса принимает вид (4.37).

3) тип 3: k ≥ 1, l = 1.

Этот тип соответствует знанию в форме ЕСЛИ - ТО:

 

4) тип 4: k = 0, l  > 1.

Этот тип имеет вид

                                   (4.37а)

и используется при представлений фактов, содержащих нечеткости. Обычно нечеткости возникают при неполноте информации. Формула (4.37а) имеет неполную информацию в том смысле, что.из нее нельзя опреде­лить, какой из предикатов среди  является истиной.

5) тип 5: k ≥ 1, l > 1.

Это наиболее общий тип, выражаемый формулуй (4.36). Например,к этому типу относятся представления вида

Родители (х, у) → отец (х, у)  мать (х, у).

В системе предложений Хорна среди всех перечисленных типов предло­жений допустимы предложения типа 1, 2, 3, а типы 4 и 5 запрещены. Системы, ограниченные предложениями Хорна, не допускают представлений с использованием типов 4 и 5, однако эти системы сравнительно легки в реализации, и поэтому они нашли самое широкое применение.

 


Дата добавления: 2018-11-24; просмотров: 1091; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!