Научная статья на тему 'Программная система дедуктивного логического вывода'

Программная система дедуктивного логического вывода Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
139
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Программная система дедуктивного логического вывода»

Таблица 3

Коэффициенты степени модификации уровня литералов

Вид модификации Обозначение коэффициента Значение коэффициента

Модификация инверсии кх 0,5

Добавление литерала к2 1,0

Удаление литерала кз 1,0

Тогда степень модификации уровня литералов можно рассчитать по формуле:

Мэ^кх-^+кг^+кз-^ , (12)

где N1 - количество инвертированных литералов; N - количество добавленных литералов; N - количество исключенных литералов.

В общем случае следует считать, что качество модификации тем выше, чем меньше ее степень, рассчитанная по формуле (10). Если нет специальных ограничений или требований, то степень

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

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

Список литературы

1. Страбыкин Д.А. Логический вывод в системах обработки знаний / Под ред. Д.В. Пузанкова. - СПб: Изд-во СПбГЭТУ,1998.

2. Страбыкин Д.А., Томчук М.Н. Логический вывод с модификацией заключения в исчислении высказываний. // Вестник Вятского науч. центра Верхне-Волж. отделения Акад. техноло-гич. наук РФ. // Сб. науч. тр. - Киров: ВНЦ. - 2003. -С. 9-16.

ПРОГРАММНАЯ СИСТЕМА ДЕДУКТИВНОГО ЛОГИЧЕСКОГО ВЫВОДА

М.М. Шихов (Вятский государственный университет, г. Киров), Д.А. Страбыкин (Кировский филиал МГЭИ)

В современном мире все большую роль играют интеллектуальные системы (ИнтС) [1].

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

ИнтС=РИС+ПИС+ИнИн+АП, (1)

где РИС - рассуждатель интеллектуальной системы, состоящий из генератора гипотез, доказателя теорем и вычислителя; ПИС - поисковая информационная система, которая доставляет информацию, релевантную цели рассуждения; ИнИн - интеллектуальный интерфейс; АП - подсистема автоматического пополнения базы данных и базы знаний из текстов, образующих информационную среду для ИнтС [1]. В системах, основанных на достоверном выводе, важной частью РИС является подсистема дедуктивного логического вывода. Эта подсистема может активно использоваться и подсистемой АП.

В работе рассматривается программная система дедуктивного логического вывода, в исчислении предикатов первого порядка с переменными на множествах отображений. Предлагаемая система анализируется с трех точек зрения: представление входных для системы данных (структура базы знаний) и введение переменных на множествах отображений; внутреннее представление дан-

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

Структура базы знаний и переменные на множествах отображений

База знаний задается в логике предикатов первого порядка [1,2]. В синтаксис базы знаний были внесены изменения, которые не соответствуют логике первого порядка, а сводимы к ней. Так, в некоторых прикладных задачах возникает необходимость в обобщении элементов множества отображений или создании отображений на этом множестве. Пример такого описания: «для всех допустимых кодов операций КОП процессора, найдется (определена) функция дешифрации БС, результат вычисления которой определяет корректный алгоритм Р выполнения закодированной операции на множестве входных сигналов У и внутреннего состояния процессора 8»: Укоп, ЭВС,УУ,8Р(ВС(У,8)). Данное выражение

не является выражением исчисления предикатов первого порядка, так как под знаком квантора существования находится имя функциональной буквы (БС). Тем не менее, без потери смысла данное выражение может быть преобразовано к выражению вида: Укоп, ЗБС^У^Р^(БС,У,8)), где {

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

горитмом Сколема [3] может быть приведено к виду Укоп,У,8Р(г(БС(коп),У,8)).

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

Приведем несколько правил нахождения производных:

х'=1; (-х)'=-х'; вш(х)'=соэ(х);

со8(х)'=-8т(х); ехр(х)'=ехр(х).

Введем обозначения для данного примера. Функциям предметной области поставим в соответствие одноименные функциональные буквы. Операцию умножения "*" обозначим функциональной буквой ти1. Константа "х" будет обозначать переменную, по которой происходит дифференцирование. Отрицание обозначим функциональной буквой neg. Единице соответствует "1".

Также известно правило нахождения производной суперпозиции функций одного аргумента:

а—8)=а—Л (3)

ах аз ах . ()

С учетом сказанного можно записать правила поиска производных в классическом исчислении предикатов первого порядка (рис.1):

1) а—ах("х", "1")

2) Ух а—ах(х, хх) -> а—ах(пе§(х), пе§(хх))

3) Ух а—ах(х, хх) -> а—ах(эт(х), ши1(соэ(х), хх))

4) Ух а—ах(х, хх) -> а—ах(со«(х), ши1(пеё(«т(х)), хх))

5) Ух а—ах(х, хх) -> а—ах(ехр(х), ши1(ехр(х), хх))

Рис. 1. Правила поиска производных в исчислении предикатов

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

1) а—ах("х", "1")

2) У8 а—а8(г("пе§", 8), г("пе§", 8))

3) У8 а—а8(г("«т", 8), г("со8", 8))

4) У8 а—а8(г("со«", 8), г("пе§", г("вш", 8)))

5) У8 а—а8(г("ехр", 8), г("ехр", 8))

6) У8,гипс а—а8(г(— 8), агав) & а—ах(8, авах) ^

а—ах(г(— 8), шинагаэ, авах))

Рис. 2. Вариант правил поиска производных

Здесь предикат а—а8 при записи а—а8(Л,Б) обозначает, что Б является частной производной по выражению 8 выражения Л, что соответствует

сомножителю в приведенной формуле поиска

производной суперпозиции функций. В данном случае именам функций предметной области соответствуют символы дополнительного множества констант, полученного из множества функциональных букв. А функции соответствует вновь введенное отображение г. Данное представление позволяет получить результат, но внесенные изменения в представлении скажутся и на формуле заключения: d—dx(f("exp",f("sin","x")),Rez).

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

В данном случае не создавались отображения на множестве отображений, поэтому введенная на новом множестве переменная /ипе будет принимать значения только из нового множества дополнительных констант ("neg","sin","еos","exp"). Поэтому можно упростить запись правил, определив лишь переменные, принимающие значения из множества отображений (рис. 3).

1) а—ах("х", "1")

2) У8 а—а8(пеё(8), пе§(8))

3) У8 а—а8(siп(8), сов(8))

4) У8 а—а8(сов(8), пeg(siп(8)))

5) У8 а—а8(ехр(8), ехр(8))

6) Ух,_— а—а8(_—(8), агав) & а—ах(8, авах) ->

а—ах(_—(8), ши1(агав, авах))

Рис. 3. Правила поиска производных после введения

переменных, принимающих значения на множестве отображений

Здесь _— обозначение переменной, принимающей значения на множестве отображений. Таким образом, в данном примере достигнуто максимальное соответствие описания задачи в предметной области и в логике предикатов. Формулу Ух,_— а—а8(_—(8), агав) & а—ах(8, авах) ^ ^ а—ах(_—(8), шиЦаМв^ах)) можно интерпретировать так: «для всех х и функций _— справедливо, что если найдется частная производная агав функции _— по 8 (предикат а—а8) и найдется производная 8 по х (предикат а—ах), то производная —(8) по х будет определяться как произведение

агав и авах».

В приведенном примере поиска производных переменные, принимающие значения на множестве отображений [4], используются в формулах посылок базы знаний и дают преимущества:

• описание задачи на входном языке системы обладает большей наглядностью и в большей степени соответствует описанию предметной области;

• сокращаются объемы базы знаний по сравнению с вариантом описания в классическом исчислении предикатов;

• не требуется дополнительных преобразований базы знаний (по сравнению со вторым приме-

ром базы знаний, приведенном на рисунке 2) при тех же возможностях обобщения.

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

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

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

Внутреннее представление данных и алгоритмы их обработки

Формулы базы знаний приводятся к конъюнктивной нормальной форме. Основным элементом внутреннего представления базы знаний является дизъюнкт (дизъюнкция литералов, литерал - это атом, перед которым может стоять знак отрицания). Различаются области видимости дизъюнктов. Так, для дизъюнктов, если они находятся в общей области видимости, могут существовать общие переменные. За основу взят обобщенный метод параллельного дедуктивного логического вывода. В методе используется процедура деления дизъюнктов [3,5] (рис. 4). Упрощенно ее можно представить следующим образом: пусть получен наиболее общий унификатор X в процессе унификации N литералов делимого X и М литералов делителя У. Если рассматривать делимое и делитель не как дизъюнкты, а как множества литералов, то в результате получим следующие непересекающиеся множества литералов: М^ =Х-ХпХ-У, МКХ =Х-X-Х-У , МВХ =Х-X-Х-У .

X XXX

Mrx Mcd Mry

Рис. 4. Результаты процедуры полного деления дизъюнктов

Если наиболее общий унификатор не был найден, то это соответствует тому, что МСО=0, МКХ=Х, МКУ=У. Множество Х-X есть множество литералов X, в котором все переменные заменены в соответствии с унификатором X .

В дедуктивном выводе X - дизъюнкт базы знаний; У - выводимое заключение. Множество М^ важно для организации дедуктивного вывода, МС0 - для построения цепочки рассуждений, МдУ используется в абдуктивных методах [3]. Наиболее общий унификатор X важен для фиксации значений, полученных переменными в процессе вывода.

Результаты работы системы

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

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

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

• кроме того, если заключение выводимо, доступно для анализа множество цепочек рассуждений (аргументов). Цепочка рассуждения пред-ставима в виде списка, содержащего пары кортежей следующего состава: <индекс дизъюнкта в базе знаний, индекс литерала в дизъюнкте, шаг логического выводах В данном списке фиксируются все пары литералов, входящие во множество McD процедуры деления дизъюнктов.

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

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

Список литературы

1. Вагин В.Н., Головина Е.Ю., Загорянская А.А., Фомина М.В. Достоверный и правдоподобный вывод в интеллектуальных системах. - М.: Физматлит, 2004. - 704 с.

2. Люгер Джордж Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. 4-е изд. / Пер. с англ. - М.: Из-

дат. дом «Вильямс», 2003. - С.5-217.

3. Страбыкин Д. А. Логический вывод в системах обработки знаний. - СПб., 1998. - 164 с.

4. Шихов М.М. Использование дополнительного типа переменных для унификации функторов в исчислении предикатов. //

Сб. матер. Всеросс. науч.-технич. конф.: Наука-производство технология-экология. -Киров: Изд-во ВятГУ, 2006. - Т. 1.- С. 227.

5. Шихов М.М. Оптимизация унификации термов и согласования решений в логическом выводе делением дизъюнктов. // Там же. - 2007. - Т. 1.- С. 351.

МЕТОД ИНТЕГРИРОВАНИЯ СХЕМ ДАННЫХ НА ОСНОВЕ СЕМАНТИЧЕСКОГО ОПИСАНИЯ АТРИБУТОВ

Ф.В. Комар; А.К. Погодаев, д.т.н. (Липецкий государственный технический университет)

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рассмотрим задачу интегрирования схем данных. Пусть заданы две схемы данных S1 и S2,

A1 ={aj ,a2 ,a3 } - множество всех атрибутов схемы данных S1; A2 = {a2,a2,a2,...,am} - множество всех атрибутов схемы данных S2; Ej = {ej,e2,e3,...,ek} - множество всех сущностей схемы данных S1; E2 = {e^ ,e3 ,...,e2} - множество всех сущностей схемы данных S2 . Решением задачи интегрирования схем данных можно считать бинарное отношение, заданное на множестве объектов схем данных, которое определяет соответствие между семантически сходными объектами.

В работе Ronkainen Pirjo "Attribute Similarity and Event Sequence Similarity in Data Mining" (University of Helsinki Report, 1998) показано, что для построения такого рода бинарного отношения необходимо выполнить два основных шага (рис. 1).

Первым шагом является построение матрицы оценок семантического сходства объектов. Эле-

со

X

и и й ч

Объекты схемы данных S2

s ч

s s s

S ^ S„

;1j S1,2 S1,3 • " S1,m

S2,2 S2,3 . " S2,m

;3j S3,2 S3,3 . " s3m 3,m

V,sM

s

[a2,a2,0.81]

[a5,a2,0.79]

[a1,a2,0.34]

п,ш у

0 Оценка сходства объектов Выбор кандидатов

схем данных для отождествления

Рис. 1. Решение задачи отождествления объектов схем данных

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

Оценка семантического сходства объектов схем данных

Пусть - множество значений атрибута Л1 в определенном отдельно взятом отношении; Б={Б15Б2,Б3,...,Бп,} - множество множеств таких значений атрибутов; ф - некоторый строковый шаблон. В качестве языка строковых шаблонов будем использовать общеизвестный язык регулярных выражений.

Определим функцию: ггея(ф,Б1)

pF(9,D()=

D,

(1)

где Гreq(ф,Di) - функция, возвращающая количество строк из множества , которые удовлетворяют шаблону ф; - объем множества .

Определим функцию: 1 ш

рЛ—(ф,Б)=—), (2)

ш Л=1

где Б={Б1,Б2,Б3,...,Бш} - набор множеств значений атрибутов.

Определим функцию: рУ(ф,Ц,Б')=шах(р—(ф,Ц)-рЛ—(ф,Б'),0), (3)

где - множество значений ьго атрибута; Б'- набор всех

множеств значений атрибутов, кроме ьго.

Примем значение функции рУ как численное выражение семантической значимости шаблона ф относительно атрибута Л1 в контексте атрибутов

Л1 = {Л1 ,Л2 ,Л3 ,—,Л1-1,Л1+1, —,Лп } •

i Надоели баннеры? Вы всегда можете отключить рекламу.