Алгоритм унификации в методе резолюций для логики предикатов

КОМПЬЮТЕРНЫЕ НАУКИ_

УДК 004.822

АЛГОРИТМ УНИФИКАЦИИ В МЕТОДЕ РЕЗОЛЮЦИЙ ДЛЯ ЛОГИКИ ПРЕДИКАТОВ

ПРОХОРОВ А. В., ПРОХОРОВ В. П._

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

В области искусственного интеллекта сегодня акценты сместились в сторону моделей машинного обучения, что позволило компьютерам стать умнее и решать более сложные задачи. Однако не следует забывать, что искусственный интеллект - это сложное поле для исследований, и оно состоит из нескольких компонентов, которые отвечают за общий прогресс в этой области. Так, в целом, всё что требует аргументации и рассуждений, находится пока за пределами возможностей моделей глубинного обучения, неважно, сколько данных в них загрузить. В этой связи исследования, связанные с разработкой интеллектуальных систем - различного рода решателей проблем - вопросно-ответных систем, экспертных систем, систем поддержки принятия решений - и, соответствено, совершенствования механизмов логического вывода, продолжают оставаться актуальными [1,2]. Проблема построения доказательства традиционно понимается как проблема поиска вывода формулы логико-математического языка в соответствующем исчислении. Имеются многочисленные работы, связанные со стандартными логиками (их разрешимыми фрагментами), а также рассматривающие неклассические исчисления (интуиционистские, нечеткие, дескриптивные и т.д.). В то же время предлагаемые формализации зачастую специфичны, не обладают универсальностью и не предлагают обобщений для классов (пусть и родственных) различных теорий представления и обработки знаний. Кроме того, далеко не всегда надлежащее внимание оказывается вопросам ал-

горитмической эффективности предлагаемых подходов.

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

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

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

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

В данной статье рассматриваются принципы построения нового алгоритма унификации, который является основополагающим при реализации дедуктивного вывода в формализованных теориях, построенных на основе исчисления предикатов первого порядка, в том числе и основанных на принципе резолюций. 2. Постановка задачи исследования Процесс вывода некоторого утверждения (следствия) сводится к доказательству противоречия путем формирования общей унифицирующей подстановки. Так, Робинсон Дж. [4] для увеличения эффективности и расширения области практической применимости машинного (автоматического) доказательства теорем, базируясь на основополагающей теореме Эрбрана [3] для исчисления предикатов первого порядка, формулирует новый принцип вывода - принцип резольвенций (резолюций).

Этот метод доказательства объединил процессы подстановки (термов вместо переменных) и проверки результатов таких подстановок на тавтоло-гичность. Доказана полнота принципа резольвенций. Однако процедура поиска доказательства, построенная непосредственно по теореме о резольвенции, неэффективна, так как процесс порождения резольвент может быть бесконечным, в силу теоремы Чёрча, хотя при этом используется лишь единственное правило вывода. Дадим определение резольвенты. Пусть заданы исходные предложения в виде l = {L;} и н = {И;> и переменные, входящие в н = {н;}, не встречаются в l = {L;}. Пусть также {i;} s {l; } и такие два подмножества в {l;} и {И;}, что для объединения {i;} и{: h, существует наиболее общий унификатор я. Тогда два предложения l = {L;} и и = {н;} разрешаются, а новое предложение

R = [{L,} - {l, U [{И,} - {h, }]я является их резольвентой. Или иначе, если C ив - два дизъюнкта и L с C, н с d - два одночленных множества, элементы которых образуют контрарную пару, то дизъюнкт

r = (с - L)U(D - и) называется резольвентой с и d . Резольвента - это выведенное новое предложение, а процесс образования резольвенты из двух исходных предложений называется резольвенцией. При этом процесс резольвенции является общим правилом вывода, объединяющим подстановку modus ponens и

различные типы силлогизмов. Согласно теореме о резольвенте [3] противоречие исходной системы

ви ~ w доказано, если множество резольвент я", полученное на шаге п процесса последовательного порождения резольвент, пусто. Определение приведено для того, чтобы показать необходимость многократного применения процедуры унификации в процессе порождения новых резольвент на множестве литер. При этом исходную систему предложений можно представить в виде конечного множества литералов ь = {1;>, которые имеют сквозную нумерацию, начиная с первого предложения. На первом этапе из множества литералов ь составляется множество контрарных пар X = {х^}, где Ху - контрарная пара двух

литералов и ^, причем, если есть предикат

р , то ^ - : р, и наоборот. Контрарная пара х; ^

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

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

Процесс унификации является основополагающим при реализации принципа дедуктивного вывода. Существует алгоритм унификации, который приводит шаг за шагом к наиболее общему унификатору для унифицируемого множества литералов ь = , если таковой существует. Однако в алгоритме дедуктивного вывода, приведенном в [5, 6], алгоритм унификации отличен от подробно описанного в [3] эвристического алгоритма унификации. Расмотрим новый алгоритм унификации, состоящий из двух основных этапов формирования матриц подстановок и их преобразования по простым правилам матричного анализа и теории множеств. Этап 1. Формирование множества контрарных пар х. Первый этап по существу является подготовительным перед осуществлением полной унификации исходной системы предложений. Он реализован в специальном алгоритме унификации, с использованием которого формируются следующие множества в виде соответствующих квадратных матриц: контрарных пар х = {х; j}; унифицирующих

подстановок п = {п; j}, где j представляет собой множество разрешенных компонентов

подстановки

подстановок

множество подстановки.

Пi,j ={та,в} ;

г = {гц}, где

запрещенных Компоненты

запрещенных

= {2а,в} — компонентов и

та,р 2а,в

определяются на множестве аргументов всех литер , принадлежащих исходной системе

предложений ь .

Этап 2. Формирование наиболее общей подготовки По . Правило подстановки можно сформулировать в более общем виде: вместо предметной переменной у, принадлежащей некоторому классу понятий, разрешается подставить любые термы, принадлежащие данному классу, за исключением примитивных термов, представляющих собой функции Сколема от данной переметной [3]. Подстановки в другие термы являются запрещенными. Формирование общей подстановки по есть процесс последовательного введения элементов П j множества П в по. Перед введением

очередной подстановки п j производится

проверка на противоречие подстановки пj

элементам, принадлежащим по. В случае

противоречия происходит поиск другой пj,

которая удовлетворяла бы условию непротиворечивости.

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

эквивалентности между отождествленными аргументами п0 = ||та р ||, столбцы и строки

которой соответствуют аргументам множества ьо. Эквивалентность здесь понимается в том смысле, что предшествующие термы отождествляются с термами, следующими за ними в лексикографическом порядке. Элементы матрицы принимают лишь два значения: «истина» («1»), если в подстановку входит соответствующий компонент подстановки, и «ложь» («0») в противном случае. Аналогично подстановкам пi j, на первом этапе

унификации формируется матрица постоянных запретов г 0 =| |г а,р||, где

значение «истина» («1») только в том случае, если подстановка р -го (а -го) аргумента вместо а -го (р -го) запрещена.

Введем еще одну матрицу а о =Ц* р || , которую назовем матрицей аргументов функций множества ьо ; так же как и матрицы по , го , матрица ао квадратная п хп , где п - общее число аргументов множества ьо , но не симметричная. Элементы аар матрицы Ао принимают значение «1» лишь в том случае, если а является аргументом функции р . Тогда компоненты подстановки п j заносятся в матрицу По и по формуле

А1 = (ПТ V А0)Т -А0 • (ПТ V А0 )Т = (ПТ • А0 • )Т

матрица аргументов функций Ао преобразуется в

матрицу а1 с учетом подстановки пi j, где т -

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

Затем с учетом По и а1 формируется полная матрица запретов н на данном шаге по формуле

н = (Пт • z Vz• Пт) V а1 V А1 = Пт • z• Пт V а1 V А1 ,(2) где «1 - штрих» означает транспонирование матрицы.

Если в результате поэлементного сравнения матрицы Н и пТ по формуле

Н л ПТ = 0

образуется нулевая матрица, то подстановка п j не противоречит по . В противном случае обнаруживается противоречие. Проиллюстрируем сказанное на примере.

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

12 2 3

р1

6 4 5 7 : Рз^^угХаЬ

для которой на первом этапе унификации получены следующии подстановки:

П1,3 ={т1,6 ,т2,7 } , П2,3 ={т

'-а,р

компонент

запрещенной подстановки, который принимает

и запрещенная подстановка г = ^46^56^67}. Требуется получить общую подстановку по, унифицирующую систему (4). Тогда должны

войти в По

подстановки п13 и п23 , но в том

случае, если п1 3 не противоречат п2 3.

Запишем исходные матрицы:

(0000000^

(1000010^ 0100011 0010001 0001000 0000100 1100010 0110001

Z =

0000000 0000000 0000010 0000010 0001101 0000010

А„ =

Согласно формулам (1) и (2) получим

ПТ =

(0000000^ 0000000 0000000 1110011 1110011 0000000 0000000

ПТ =

(1110011^ 1110011 1110011

0001000 , Ап = 0000100 1110011

1110011

Ч У

(1111111^1 1111111 1111111 Н = 1110011 1110011 1111111 1111111

В результате поэлементного сравнения матриц Н и пТ по формуле (3) получим непустую матрицу

(1110011^ 1110011 1110011 н лпт = 0000000 0000000 1110011 ч1110011

Следовательно, образовать непротиворечивую общую подстановку в данном случае нельзя. Заменим предикат Р2 истемы предложений

3 2

на предикат Р2 = (Ъ, у1), тогда изменится лишь подстановка п23 ={т27 ,т36}, а матрицы z и Ао останутся без изменения. В этом случае получим

н л ПТ = 0 .

(1010010^ (0000000^ 0100001 0000000 1010010 0000000 0001000 ' а1 = 1010010 0000100 1010010 1010010 0000000 ч0100001j [0000000 (0101101^ 1010010 0101101 н = 1010010 1010010 0101101 1010010х

Таким образом, в данном случае образована непротиворечивая общая подстановка По ={П13,П23}, которая представляет собой

наиболее общий унификатор для множества унифицируемых литералов (предикатов). При этом алгоритм унификации основан на реализации типовых операций в соотстветии с новыми выражениями (1) и (2). Следует отметить, что эффективность метода резолюций зависит не только от процесса унификации, но и от выбора стратегий перебора возможных резольвент в процессе вывода, подробно рассмотренных в [3]. 4. Выводы

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

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

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

По =

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

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

Сказанное выше и определяет научную новизну и практическую значимость полученных результатов.

Литература: 1. Шайкин А.Н. Унификация в модели логического вывода / А.Н. Шайкин // Ученые записки Российского государственного социального университета. 2013.Т.1, № 5. С. 54-57. 2. Andreka, H. On A New Semantics for First-Order Predicate Logic / H. Andreka, J. van Benthem, I. Nemeti // Journal of Philosophical Logic. 2017.Vol. 46. Р. 259-267. 3. Нильсон Н. Искусственный интеллект. Методы поиска решений [Текст] / Пер. с англ. В.Л. Стефанюка / Под ред. С.В. Фомина. М.: Мир, 1973. 272 с. 4. Robinson J. A. A Machine-Oriented Logic Based on the Resolution Principle, J. ACM, 12, No, 1, 23-41. [Русский перевод: см. Кибернетический сборник, №7, Новая серия, «Мир», М., 1970.] 5. Прохоров А. В. Облачная платформа разработки интеллектуальных систем поддержки принятия решений [Текст] / А. В. Прохоров, В. П. Прохоров, А. О. Матюшко // Вюник Нацюнального техшчного ушверситету «ХП1». Серiя: Системний аналiз, управлшня та шформацшш технологи. Х.: НТУ «ХП1», 2015. №58 (1167). С. 7276. 6. Прохоров В.П. Принятие решений в системе контроля и анализа параметров движения автотранспорта [Текст] / В.П. Прохоров, А.В. Прохоров // Радиоэлектроника и информатика. 2016.№1 (72). C.32-38. Transliterated bibliography:

1. Shajkin A.N. Unifikacija v modeli logicheskogo vyvoda / A.N. Shajkin // Uchenye zapiski Rossijskogo gosudarstvennogo social'nogo universiteta. T.1, № 5. 2013. S. 54-57.

2. Andreka, H. On A New Semantics for First-Order Predicate Logic / H. Andreka, J. van Benthem, I. Nemeti // Journal of Philosophical Logic. Vol. 46. 2017. pp. 259267.

3. Nil'son N. Iskusstvennyj intellekt. Metody poiska reshenij [Tekst] / Per. s angl. V.L. Stefanjuka / Pod red.

5.V. Fomina. M.: Mir, 1973. 272 s.

4. Robinson J. A. A Machine-Oriented Logic Based on the Resolution Principle, J. ACM, 12, No, 1, 23-41. [Russkij perevod: sm. Kiberneticheskij sbornik, №7, Novaja serija, «Mir», M., 1970.]

5. Prohorov A. V. Oblachnaja platforma razrabotki intellektual'nyh sistem podderzhki prinjatija reshenij [Tekst] / A. V. Prohorov, V. P. Prohorov, A. O. Matjushko // Visnik Nacional'nogo tehnichnogo universitetu «HPI». Serija: Sistemnij analiz, upravlinnja ta informacijni tehnologii. 2015. H.: NTU «HPI», №58 (1167). S. 72-76.

6. Prohorov V.P. Prijnjatie reshenij v sisteme kontrolja i analiza parametrov dvizhenija avtotransporta [Tekst] / V.P. Prohorov, A.V. Prohorov // Radiojelektronika i

informatika. H.: NURE. №1 (72). 2016. C.32-38.

Поступила в редколлегию 02.12.2017 Рецензент: д-р техн. наук, проф. Филатов В.А. Прохоров Александр Валерьевич, д-р техн. наук, доцент, профессор кафедры информационных управляющих систем Национального

аэрокосмического университета им. Н. Е. Жуковского «ХАИ». Научные интересы: распределенные интеллектуальные системы, мультиагентные технологии, онтологии, Semantic Web, grid и cloud компьютинг, промышленная автоматизация, моделирование систем. Адрес: Украина, 61070, Харьков, ул. Чкалова, 17, e-mail: o.prokhorov@khai.edu.

Прохоров Валерий Павлович, канд. техн. наук, с.н.с., генеральный директор научного парка «Радиоэлектроника и информатика» ХНУРЭ. Научные интересы: интеллектуальные системы, системы поддержки принятия решений, механизмы логического вывода, формализованные теории, многозначные логики, категории и морфизмы. Адрес: Украина, 61166, Харьков, пр. Науки, 14, e-mail: valery.prokhorov@nure.ua.

Prokhorov Alexander, Doctor of Technical Sciences, Associate Professor, Professor of Information Control Systems Department, National Aerospace University "Kharkiv Aviation Institute". Research interests: distributed intelligent systems, multi-agent technology, ontology, Semantic Web, grid and cloud computing, industrial automation, systems modeling. Address: Ukraine, 61070, Kharkiv, Str. Chkalov, 17, e-mail: o.prokhorov@khai.edu.

Prokhorov Valery, Candidate of Technical Sciences, Senior Research Fellow, CEO of the Science Park «Radio Electronics and Informatics», Kharkiv National University of Radio Electronics. Research interests: intelligent systems, decision support systems, automated reasoning, nonclassical logics, category theory. Address: Ukraine, 61166, Kharkiv, Science Avenue, 14, e-mail: valery.prokhorov@nure.ua.