Формально-графическая интерпретация логического вывода

УДК 681.3

Братчиков Игорь Леонидович, Сазонова Наталья Викторовна

ФОРМАЛЬНО-ГРАММАТИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ

ЛОГИЧЕСКОГО ВЫВОДА

Аннотация

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

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

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

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

© И.Л. Братчиков, Н.В. Сазонова, 2010

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

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

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

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

В [1] класс К2 строится из так называемых абстракционных отображений задач класса А, а задача В е К2 называется абстракционной задачей или абстракцией задачи А е Кг Для успешного применения данного метода необходимо, чтобы, во-первых, абстракционная задача решалась существенно проще исходной и, во-вторых, чтобы решения абстракци-онной задачи позволяли сократить перебор, необходимый для поиска решений исходной задачи.

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

Для полноты изложения приведем ее краткую формулировку. Пусть имеется конечное множество логических формул Е = {Н1, Н2, ..., Нп}, которые обычно называются гипотезами, а также еще одна формула С. С называется логическим следствием множества Е, если она принимает значение «истина» при любой интерпретации, при которой все гипотезы множества Е принимают значение «истина». Проблема дедукции заключается в проверке того, является ли С логическим следствием множества Е. Для решения проблемы дедукции используются два метода - прямой и обратной дедукции. Первый из них заключается в проверке на невыполнимость формулы

Н1 & ... & Нп & -,С,

а второй - в проверке общезначимости формулы

0Н1 V ... V -,Нп V С.

В системах ИИ, как правило, применяется метод прямой дедукции, причем гипотезы множества Е и отрицание С представляются в виде хорновских дизъюнктов, то есть таких дизъюнктов, которые имеют не более одной позитивной литеры (под позитивной литерой понимается предикат, а под негативной - отрицание предиката).

Обозначив позитивные литеры через 1, а негативные через —11, определим три группы хорновских дизъюнктов:

1) унитарные позитивные дизъюнкты (УПД), состоящие из одной позитивной литеры и имеющие вид (1);

2) точные дизъюнкты (ТД), состоящие из позитивной и хотя бы одной негативной литер и имеющие вид (1, —111? ..., —|1п), п £ 1;

3) негативные дизъюнкты (НД), состоящие лишь из негативных литер и имеющие вид (^115 ..., -|1п).

В рамках логической модели базы знаний представляются в виде совокупности хорновских дизъюнктов первых двух групп:

1. УПД применяются для указания свойств и отношений, установленных для

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

2. ТД используются для представления правил, с помощью которых выводятся новые факты, явно не представленные в виде УПД. Семантика этих дизъюнктов такова: предикат, представленный литерой 1, принимает значение «истина», если установлено, что предикаты, представленные литерами ..., 1п, истинны.

Вопросы пользователей удобно формулировать в виде конъюнкции позитивных литер: (11 & ... & 1п), отрицание которой является негативным дизъюнктом: ( |11 V ... V 01„).

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

= (1, 11, ..., 1т), а2 = ( 01, 1'1, ..., 1'п),

г = (^ ^ l'l, 1'п).

Здесь ^ и d2 - дизъюнкты, содержащие контрарную пару (1, 01), 1 и 1'. - литеры (позитивные или негативные), г -резольвента.

Метод ВЛР применяется к множеству Т = Е и{^}, где Е - база знаний, состоящая из хорновских дизъюнктов первых двух групп, а ^ - НД, представляющий вопрос пользователя: ^ = 0С. Целью является получение в качестве резольвенты пустого дизъюнкта Е, и, если эта цель достигнута, проблема дедукции решается положительно. Это означает, что пользователю может быть предоставлена интересующая его информация. Особенность данного метода заключается в том, что процедура резолюции применяется лишь к парам, у которых один из элементов является негативным дизъюнктом. На первом шаге - это на последующих -резольвенты, полученные на предыдущих

шагах. Последовательность шагов, в результате которых выводится Е, называется логическим выводом С из Е.

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

Сначала рассмотрим так называемую пропозициональную абстракцию [1], которая определяется следующим образом. Класс задач К1 - это проблема дедукции для множеств Т в логике предикатов (ЛП), класс К2 - проблема дедукции для множеств Т' в логике высказываний (ЛВ). Абстракция задачи из К1 строится следующим образом. Пусть дизъюнкт d = (11 , ..., и d е Т. Тогда его абстракционное отображение d' = (1'1 , ..., 1'п), где 1'. = р, если 1. = р(Ц, ..., 1т) и 1'. = 0р, если 1 = 0р(11, ..., 1т). Иначе говоря, абстракция задачи из К1 строится путем замены предикатов, входящих в дизъюнкты, соответствующими высказываниями. В логике высказываний резолюционные методы имеют полиномиальную оценку трудоемкости Сп2, а в некоторых случаях и Сп. Существенное различие в трудоемкости алгоритмов решения этих задач послужило основанием для разработки данного метода.

Особенностью описанного отображения является то, что одним и тем же предикатам с различными значениями аргументов будут соответствовать одинаковые высказывания. Например, абстракционное отображение дизъюнкта ((р(х,у), 0q(x,a), 0q(b,y)) таково: (р, 0q, 0q), а для дизъюнкта ((р(х,у), 0р(х,а), 0q(b,y)) получим (р, 0р, 0q). Сокращение одинаковых литер и исключение дизъюнктов, содержащих пары литер вида р и 0р, недопустимо, так как приводит к несоответствию выводов в ЛВ и ЛП. Поэтому нами используется понятие мультидизъюнкта, то есть дизъюнкта, который может содержать несколько литер, представленных одним предикатом. Применение процедуры резолюции к мультидизъюнктам называется ш-резолюцией. Кроме того, абстракцион-

ные отображения различных дизъюнктов исходной задачи могут совпадать. Например, дизъюнктам ((р(х,у), ^(Ъ,у)) и ((р(х^), —^(а,Ъ)) соответствует одно и то же отображение (р, —Для правильной работы описываемого нами алгоритма необходимо включать в множества Т' все экземпляры таких дизъюнктов.

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

В [3] предложена формально-грамматическая модель множеств хорновских дизъюнктов в исчислении высказываний. С ее помощью осуществляется предварительная настройка модуля ВЛР для работы с конкретными множествами Т', что позволяет повысить эффективность модуля, а в некоторых случаях вообще избежать его применения. Эта модель представлена в виде КС-грамматики без терминальных символов и начального нетерминала. Приведем ее определение.

Пусть Е' = ..., и в дизъюнктах множества используются высказывания Р1' ..., Рт. Образуем грамматику О(Е') = (N5 О), где N - множество нетерминальных символов, О - множество правил вывода. Нетерминальные символы суть высказывания: N = {р1? ..., рт}, а правила вывода строятся по дизъюнктам из Е' следующим образом:

1. По точному дизъюнкту

^ = (р, ^Рр ..., 0Рк), к £ 1 строится правило р  р1...рк.

2. По унитарному позитивному дизъюнкту di = (р) строится укорачивающее правило р  е, где е - пустая цепочка.

НД (^р15 ..., 0рк) представляется цепочкой р1...рк, а метод ВЛР интерпретируется как поиск вывода в грамматике О(Е') пустой цепочки: р1...рк е.

Настройка модуля ВЛР выполняется алгоритмом, выделяющим укорачивающие символы и формирующим для каждого из

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

Пусть имеется некоторая грамматика О указанного выше вида. Обозначим через W формируемое подмножество укорачивающих символов грамматики, через 8(р) - формируемые для каждого символа из W списки правил вывода, с которых могут начинаться выводы пустой цепочки из нетерминала р. Алгоритм выделения укорачивающих символов и соответствующих им правил вывода представим в виде следующего итеративного процесса:

W0 = { р I р  е е О };

80(р) = { И I И = р  е, ИеО},

то есть включаем в W0 те символы грамматики, для которых в ней имеются укорачивающие правила вывода, а в соответствующие 80 - сами укорачивающие правила. Пусть уже получены Wi и 8^) для всех Рj е Wi. Выполним очередной шаг итеративного процесса следующим образом:

Wi+l = Wi и { р I р  р1р2 ... рп е О;

pi е Wi, 1 = 1, ... , п }; 8ы(р) = ^(р) и { И I И = р  р1р2 ... рп; р1 е Wl , 1 = 1, ... , п; И е ^(р)},

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

Алгоритм заканчивает работу, когда на некотором шаге j+1 окажется, что имеют

место равенства Sj+1

для каждого рк е W. Очевидно, число шагов алгоритма не превышает числа нетерминальных символов грамматики О.

Легко показать, что в любом выводе рк е могут применяться только прави-

ла из списков 8. Подмножество W и списки 8 являются результатом работы алгоритма предварительной настройки.

Теперь можно перейти к описанию первой модификации алгоритма ВЛР в исчислении предикатов для множеств, представленных хорновскими дизъюнктами. Алгоритм состоит из двух основных модулей:

1. Модуль предварительной настройки. Состоит из двух шагов. На первом шаге строится абстракционное отображение Т' множества Т, на втором - формируется грамматика О(Е') и выполняется описанный выше алгоритм выделения укорачивающих символов.

2. Модуль, реализующий модифицированный метод ВЛР. Его исходными данными при заданной БЗ являются НД в ЛП, представляющий вопрос пользователя, его абстракционное отображение в ЛВ и соответствующая цепочка ю нетерминалов в О(Е').

Соответствующий алгоритм выполняет следующие действия:

1. Осуществляет перебор вариантов вывода ю е в грамматике О(Е'). При этом используются списки 8 правил грамматики, что гарантирует вывод е для каждого варианта, реализуемого при переборе.

2. По каждому варианту вывода в грамматике строит решение абстракционной задачи, то есть вывод Е в ЛВ.

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

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

Приведем пример применения описанного алгоритма.

Пример 1

Пусть задана следующая БЗ в ЛП в виде множества Е (а и Ь - константы, х -переменная):

1)

2)

3)

4)

5)

6)

7)

Пропозициональные абстракции (множество Е'):

1)

2)

3)

4)

5)

6)

Грамматика То = { N о }: ^ { р, ц, г, 1 }; О:

1) р  qu

2) р  qг

3) р  1

4) г  q1

5) ц  11

6) 1  е

7) 1  е

Подмножество укорачивающих символов W = {р, ц, г, 1}. Отметим, что в него не попал символ и.

Списки правил, выделенных для символов грамматики:

8(р) = (3,2), 8(ц) = (5), 8(г) = (4), 8(1) = (6,7).

Пусть задана цель С = р(х)&г(х). Ее отрицание 0С = (0р(х), 0г(х)). Абстрак-

ция —1С = (0Р, —|Г). Соответствующая цепочка ю = рг. Оба символа ю являются укорачивающими. Следовательно, абстракция цели выводима. Используем параллельный алгоритм, для построения вывода исходной цели, формируя вывод в грамматике с указанием применяемых правил и соответствующие им схемы (табл. 1).

Пара литер, для которых потребовалось найти унификатор такова: —¿(а) и 1(Ъ). Так как а и Ъ константы, унификатора для них нет. Следовательно, данный вариант вывода оказался непродуктивным. Осуществляя перебор, алгоритм применит на последнем шаге правило 7, что приведет к успеху. Затем будут подобраны правила 6 и 7, получено следующее продолжение вывода (см. табл. 2).

Итак, успешный вариант вывода получен. Однако работа алгоритма продолжается, так как требуется найти все возможные варианты вывода. Осуществляя

перебор, алгоритм применит на шаге 2 правило 7 (см. табл. 3).

Возникла ситуация, аналогичная рассмотренной выше: для пары —^(а) и q(b) не существует унификатор и, следовательно, данный вариант вывода снова оказался непродуктивным. Читатель легко убедится, что применение на первом шаге правила (2) также не приведет к успеху. Отметим, что алгоритм не применял правило 1 - оно не попало в список правил, с которых может начинаться вывод е из р (так как и не является укорачивающим).

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

Табл. 1

№ Вывод в в(Е') Вывод в Е' Вывод в Е Унификатор

шага и номера правил

1 рг (3) (-Ф, 0Г) (-ф(х), -,г(х)) не нужен

2 1г (6) Ы, пг) Ы(х), 0Г(х)) {(х.Ъ)}

3 г (4) ( 0Г) (0Г(Ь)) {(х,Ъ)}

4 Ч1 (5) (-Ч 0) (^Ч(Ь), 01(а)) не нужен

5 (6) (—|1, —|1, —|1) Ы(а), -,1(Ъ), -,1(а)) униф. отказ

Табл. 2

№ шага Вывод в в^(Е)) и номера правил Вывод в f(E) Вывод в Е Унификатор

5 Ш (7) (—|1, —|1, —|1) Ы(а), -,1(Ъ), -,1(а)) не нужен

6 11 (6) (—|1(Ъ), 01(а)) не нужен

7 1 (7) (01) Ы(а)) не нужен

8 е -

Табл. 3

№ Вывод в в^(Е)) Вывод в f(E) Вывод в Е Унификатор

шага и номера правил

2 1г (7) (01, 0Г) (01(х), 0Г(х)) {(х.а)}

3 г (4) ( 0Г) (0г(а)) {(х,а)}

4 Ч1 (5) Ьч, 01) (^Ч(а), 01(а)) униф. отказ

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

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

Так называемая абстракция второго уровня [4, 5] определяется следующим образом. Класс задач К1 - это по-прежнему проблема дедукции для множеств Т в логике предикатов. Класс К2 строится следующим образом. Пусть дизъюнкт d = (11, ..., 1п), где каждая литера 1 есть предикат р1(11, ..., 1п) или его отрицание. Тогда его абстракционное отображение ^ = (1'1, ..., 1'п), где

a) если все термы ^ (1 £ j < п) предиката р1 являются константами, то 1'. =

b)если среди 1j есть хотя бы одна переменная, то 1'. = р1(1'1, ..., 1'п) или 1'. = 0р1(1'1, ..., 1'п) соответственно, причем если ^ - константа, то 1'j = в противном случае = «_».

Как видно из определения, абстрак-ционные отображения сохраняют число аргументов-термов исходных предикатов, а также термы, являющиеся константами. Однако термы-переменные заменяются нейтральным символом «_». В [5] эти отображения названы псевдо-предикатами.

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

новки. Вместо этого проверяется отношение соответствия контрарных литер, в связи с чем псевдо-унификатор может рассматриваться как предикат, принимающий значение «истина» (true), если для контрарных литер указанное отношение выполнено, и «ложь» (false) в противном случае.

Процедура псевдо-унификации достаточно проста. Отношение соответствия для контрарных литер выполнено, если:

a) они представлены совпадающими псевдо-предикатами;

b) они представлены псевдо-предика-тами P(t'1, ..., t'n) и P(t"1, ..., t"n) и для каждой пары термов выполнено одно из следующих двух условий: либо они совпадают, либо один из термов представлен знаком «_», а второй - константой.

Обозначим процедуру псевдо-унифи-кации через pu(l1? l2). Процедура резолюции не имеет существенных отличий от стандартной.

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

Пусть E' = (d1? ..., dn) и в дизъюнктах множества используются псевдо-предикаты Р1' •••' Pm (для простоты мы опускаем аргументы). Образуем грамматику G(E') = (N, Q), где N - множество нетерминальных символов, Q - множество правил вывода. Нетерминальные символы суть псевдо-преди-каты: N = {p1? pm}, а правила вывода представляются схемами, которые строятся так:

1. По точному дизъюнкту

dj = (p, —ip1? 0Pk), k > 1 строится схема p  pr..pk.

2. По унитарному позитивному дизъюнкту dj = (p) строится схема укорачивающих правил p  е.

Каждая схема p  w задает множество правил вывода следующим образом. Пусть P - множество псевдо-предикатов, для которых выполнено отношение соответствия с p: pu(p, p') = true, если p' e P.

Тогда p'  Ю является правилом, заданным указанной схемой.

НД (^Рр ..., —ipk) представляется цепочкой p1...pk, а метод ВЛР интерпретируется как поиск вывода в грамматике G(E') пустой цепочки: p1—pk е.

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

Пусть имеется некоторая грамматика G(E'). Обозначим через W формируемое подмножество укорачивающих символов грамматики, через S(p) - формируемые для каждого символа из W списки схем правил вывода, с которых могут начинаться выводы пустой цепочки из нетерминала p. Алгоритм выделения укорачивающих символов и соответствующих им схем представим в виде следующего итеративного процесса:

W0 = { p I p  е е Q };

S0(p) = { R I R = p  е, R е Q },

то есть включаем в W0 те символы грамматики, для которых в ней имеются схемы укорачивающих правил вывода, а в соответствующие S0 - сами схемы.

Пусть уже получены W. и S.(p) для всех p е Wj. Выполним очередной шаг итеративного процесса следующим образом:

Wi+1 = Wj u { p I p  p1p2 ... pn е Q; для pj найдется такой pj' е W., что pu(p., pj') = true, i = 1, ..., n };

Sj+1(A) = Sj(A) u { R I R = p  p1p2 ... pn ; R е Q\ Sj(p); R удовлетворяет условию, сформулированному строкой выше}.

Таким образом, в Wj+1 включаются все символы из Wj и те символы грамматики, для которых найдутся схемы, все символы правых частей которых либо включены в Wj, либо для них найдутся символы из W., удовлетворяющие отношению соответствия. В соответствующие Sj+1 вклю-

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

Алгоритм заканчивает работу, когда на некотором шаге j+1 окажется, что имеют место равенства Sj+1(p) = Sj(p) для всех p е N. Примем W = Wj и S(p) = Sj(p) для каждого p е W. Очевидно, число шагов алгоритма не превышает числа нетерминальных символов грамматики G(E').

Подмножества W и S обладают свойствами, несколько отличными от свойств одноименных подмножеств при использовании пропозициональной абстракции. Нетерминал p е W определяет семейство укорачивающих символов, в которое входит он сам, а также все символы p' такие, что pu(p, p') = true. В процессе вывода могут применяться правила, определенные схемами из S. Эти особенности позволяют, с одной стороны, проверить выводимость е из нетерминала, воспользовавшись подмножеством W, а с другой стороны, выполнять процедуру псевдоунификации уже на стадии формирования вывода в грамматике. Обе эти возможности очевидным образом повышают эффективность ВЛР. Отметим также, что аналогично пропозициональной абстракции предварительная настройка гарантирует перебор лишь успешных вариантов выводов в грамматике и в абстракцион-ной задаче.

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

Пример 2

Пусть задана следующая БЗ в ЛП в виде множества Е (а, Ь, с, d, е - константы, х, у, z - переменные):

1. р1

2. р20М,')

3. р3

4.

5.

6.

7.

8. (р5(х,а), 0р3(х,у), 0р2(Ь,а,е)) Применяя абстракцию второго уровня, получим Е':

1. р1

2. р2

3. р3

4.

5.

6.

7.

8. (р5(_,а), 0р3(_,_), 0р2(Ь,а,е)) Осуществим предварительную настройку алгоритма, для чего сформируем грамматику:

1. р1(а)  е

2. р2(Ь,а,_)  е

3. р3(с,а)  е

4. р1

5. р1

6. р2

7. р5

8. р5

Вычислим множества W и 8:

W = { р1(а), р2(Ь,а,_), р3(с,а), р1(_),р5(_,а), р5(_,е)}.

8(р1(а)) = (1), 8(р2(Ь,а,_)) = (2), 8(р3(с,а)) = (3), 8(р1(_)) = (5), 8(р5^,а)) = (8), 8(р5(_,е)) = (7).

Пусть задана цель С = р5(х,у)&р20М,а).

Ее отрицание 0С = (0р5(х,у), 0p2(b,z,a)).

Абстракция второго уровня: Ьр5(_,_) , 0р2(^_,а)).

Соответствующая цепочка ю = р5(_,_)р2(Ъ,_,а).

Проверим выводимость е из ю: ри(р5(_,_),р5(_,а)) = 1гие; ри(р2(Ъ,_,а), p2(b,a,_)) = 1гие.

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

Итак, найден первый вариант вывода. Но работа алгоритма продолжается, так как имеется еще один вариант вывода (табл. 5).

Табл. 4

№ Вывод в О(Е') Вывод в Е' Вывод в Е Унифика-

лага и номера правил тор

1 Р5(_,_)Р2(Ь,_,а) (8) (^Р5(_,_), 0 Р2(Ь,_,а)) (0Р5(х,у), ^(Ъ^а)) {(у,а)}

2 Рз(_,_)Р2(Ь,а,е)р2(Ь,_,а) (3) ЬРз(_,_), 0Р2(Ь,а,е), 0р(Ь,_,а)) (( 'Рз(х,у), 0Р2(Ь,а,е), 0Р2 (b,z,a)) {(х.с), (у,а)}

3 Р2(Ь,а,е)р2(Ь,_,а) (2) (^Р2(Ь,а,е), -,р(Ь,_,а)) (0Р2(Ь,а,е), 0РОМ,а)) {(^,е)}

4 Р2(Ь,_,а) (2) (0р(Ь,_,а)) ЬР0М,а)) {(z,a), (w,a)}

5 е -

Табл. 5

№ Вывод в О(Е') Вывод в Е' Вывод в Е Унифика-

шага и номера правил тор

1 Р5(_,_)Р20Ъ,_,а) (7) (0Р5(_,_), 0 Р2(b,_,a)) (0Р5(х,у), ^(Ъ^а)) {(у,е)}

2 Р1(Ь) Р2^,_,а) (5) (0Р1(Ь), -p2(b,_,a)) ((0Р1(Ь), ^ф^а)) {(Х.Ь)}

3 Р2(Ь,_,а) (2) ( 0Р2(Ь,_,а)) (^ф^а)) {(z,a), (w,a)}

4 е -

Работа алгоритма закончена. Мы видим, что были найдены два варианта вывода в грамматике и в абстракции. Оба вывода оказались продуктивными и позволили сформировать выводы в ЛП. При переборе не использовалась схема 4, так

как она не вошла в 8(р1(_)). В [5] указывалось, что при решении данной задачи (без предварительной настройки) были получены четыре псевдо-унификационных отказа и один непродуктивный вывод. Таким образом, предварительная настройка значительно повысила эффективность ВЛР.

Литература

1. Plaisted D. A. Theorem Proving with Abstraction // Artificial Intelligence. Vol. 16, №. 1. 1981. P. 47-108.

2. Анисимова И.Н., Братчиков И.Л. Двухэтапный алгоритм логического вывода в ЭОС // Труды Международного семинара «Искусственный интеллект в образовании». Казань, 1996. С. 16-19.

3. Анисимова И.Н., Братчиков И.Л. Формально-грамматическая модель метода резолюций для исчисления высказываний // Вестник СПбГУ. Сер. 1. Математика. Механика. Астрономия. Вып. 3 (№ 15) 1996. С. 3-7.

4. Bratchikov I.L. Application of Abstraction Method for Search of Logical Inference in Knowledge Bases // Proceedings of FDPW'2001-2002: Advances in Methods of Modern Information Technology, Vol. 4. Petrozavodsk, 2003. P. 167-178.

5. Братчиков И.Л. Суживающие стратегии поиска логического вывода на основе метода абстракций // Вестник Санкт-Петербургского университета. Сер. 10. Вып. 1-2. 2005. С. 56-63.

Abstract

In this paper restricting (reducing search) strategies for resolution algorithms of logical inference in knowledge bases formed in terms of logical model of knowledge are considered. Peculiarity of these strategies is preliminary adjustment to a concrete knowledge bases. For the adjustment an abstraction and formal-grammar interpretation of the deduction problem is used. An abstraction is a function that maps certain class of problems Kj onto a simpler class K2. In order to solve a problem A e Kj it is mapped onto a problem B e K2. Then B is solved and its solutions are used for searching solutions of the initial problem A. In the paper class Kj is the deduction problem in the first-order predicate calculus. Two abstractions are considered for Kj. The first one is propositional abstraction in which K2 is the deduction problem in the propositional calculus. In the second one the deduction problem is solved for structures named pseudo-predicates. For both abstractions formal-grammar interpretations are proposed that allow to fulfill the preliminary adjustment which guarantees searching only successful variants of inference . Given examples illustrate virtues of suggested methods.

Keywords: knowle3dge base, logical model of knowledge, deduction problem, restricting strategy of logical inference, input linear resolution, abstraction method, formal grammar.

Братчиков Игорь Леонидович, доктор физико-математических наук, профессор кафедры математической теории микропроцессорные систем управления факультета прикладной математики - процессов управления СПбГУ, braigor@yandex.ru,

Сазонова Наталья Викторовна, кандидат педагогических наук, доцент кафедры информатики математического факультета РГПУ им. А.И. Герцена, natvic1959@mail.ru.

© Наши авторы, 2010. Our authors, 2010.