Научная статья на тему 'Моделирование логических знаний и знаниевого вывода средствами СУБД'

Моделирование логических знаний и знаниевого вывода средствами СУБД Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шиян Т. А.

It is considered in the paper abilities of automatic conclusions of knowledge about formal theories, these abilities base on Relational Database Management System and offered by author theoretical model of representation of knowledge about formal theories. It is considered some abilities of pseudo-deduction based on the model and the structure of representation of knowledge. It is described some ways of production of new theories and knowledge about them.

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

Текст научной работы на тему «Моделирование логических знаний и знаниевого вывода средствами СУБД»

Моделирование логических знаний и знаниевого вывода средствами СУБД

Т. А. Шиян

abstract. It is considered in the paper abilities of automatic conclusions of knowledge about formal theories, these abilities base on Relational Database Management System and offered by author theoretical model of representation of knowledge about formal theories. It is considered some abilities of pseudo-deduction based on the model and the structure of representation of knowledge. It is described some ways of production of new theories and knowledge about them.

1 Введение

Идея моделирования баз знаний (БЗ) и знаниевого вывода на них средствами СУБД не столь нелепа, как представляют апологеты «знаниевой» инженерии. Во-первых, у такого подхода есть экономическая подоплека: право доступа к некоторой реляционной СУБД и к интерпретатору некоторого серверного языка программирования входит обычно в минимальный пакет услуг хост-провайдеров, тогда как создание и поддержка в сети СУБЗ может потребовать значительных финансовых вложений. Во-вторых, различие между БД и БЗ в значительной степени принадлежит области идеологии. Основное различие (принимаемое в ИИ) между данными и знаниями — связанность. Данное — это относительно элементарный текст, фиксирующий некоторую информацию о предметной области. Простые данные можно объединять в более сложные. Знания — это структура, состоящая из элементарных (относительно данной структуры) данных и многочисленных и разнородных связей между ними. На основании этих связей мы можем из одних данных «выводить» другие. Но современная методология проектирования реляционных БД подразумевает разбиение данных на

достаточно простые фрагменты, объединяемые средствами таблиц и межтабличных связей. В каждой реляционной СУБД реализована полнофункциональная реляционная алгебра, благодаря чему мы имеем возможность манипулировать данными и осуществлять необходимые выводы. Таким образом, единственными реальными (но не принципиальными) различиями между СУБД и СУБЗ являются, во-первых, необязательность автоматического поддержания связности БД (реализовано в некоторых коммерческих СУБД) и, во-вторых, хранение в БЗ не только «хорошо структурированных данных» о предметной области, но и сведений о вычислительных процедурах, посредством которых из одних данных можно получать другие. Второе отличие также не принципиально, поскольку в СУБД часто предусматриваются средства определения собственных процедур и функций, что позволяет свести роль внешнего интерфейса только к операции приложения некоторой функции к соответствующему набору данных-аргументов.

Описав предметную область как структуру взаимосвязанных объектов и представив ее в виде реляционной БД, мы получаем не только положительный ответ на вопрос о разрешимости рассуждений о данной предметной области, но и машинно реализованный механизм осуществления этих рассуждений. Ниже описывается теоретическая модель представления логических знаний о формальных теориях, положенная в основу информационной системы по логике Theo.ru. Из сказанного выше следует, что все рассматриваемые выводы эффективно вычисляемы средствами реализованной в СУБД реляционной алгебры. При этом акцент делается не на вопросах технической реализации теоретической модели средствами реляционной СУБД, а на вычислительных возможностях вывода знаний о предметной области в рамках данной теоретической модели и некоторых ее уточнений.

2 Классы базовых объектов и их взаимосвязи

Базовая модель содержит четыре класса объектов: «формальные теории», «формальные языки, или классы формул (ППФ)», «классы термов (ППТ)», «формальные алфавиты». Обозначу эти классы объектов через Theor, Lang, Term и Alph. Меж-

ду объектами разных классов заданы перекрестные отношения: «теория — язык», «язык — класс ППТ», «язык — алфавит», так что элементарная структура предметной области имеет следующий вид:

Класс ППТ

Класс ППТ и алфавит понимаются как атрибуты (в терминологии объектно-ориентированного подхода) языка, а язык — как атрибут теории. Поскольку это отношения типа много — один, то можно представить их в виде функций:

• L(T) — язык теории T;

• A(L) — алфавит языка L;

• Tr(L) — класс термов языка L.

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

• At(T) =df A(L(T)) — алфавит теории T;

• Trt(T) =df Tr(L(T)) — класс термов теории T;

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

• Сгапд-а(А) =$ {х / Л(х) = А} — множество языков в алфавите А;

• Сгапд-г(Тг) =<$ {х /Тг(х) = Тг} — множество языков с классом термов Тг;

• Снеог^^) =<$ {х /Цх) = Ь} — множество теорий в языке

Ь;

• Снеог-а(А) =<$ {х / Л^х) = А} — множество теорий в алфавите А;

• С^еог^ХТг) =<$ {х / Тг^х) = Тг} — множество теорий с классом термов Тг.

Второй подход задается следующими функциями:

• Кгапд-а(Ь) =<$ С1апд-а(Л(Ь)) = {х /Л(х) = Л(Ь)} — множество языков в том же алфавите, что и язык Ь;

• Капд-г(Ь) =<$ Сапд-г(Тг (Ь)) = {х / Тг (х) = Тг (Ь)} — множество языков с тем же классом термов, что и язык Ь;

• Кыог-1(Т) =$ Снеог-1 (ЦТ)) = {х /Цх) = ЦТ)} — множество теорий в том же языке, что и теория Т;

• КШеог-а(Т) =$ Сыог-аЛг(Т)) = {х / Лг(х) = Лt(Т)} — множество теорий в том же алфавите, что и теория Т;

• Кыог-г(Т) =$ СШеог-г(Тг ^Т)) = {х / Тгг(х) = Тгг(Т)} — множество теорий с тем же классом термов, что и теория Т.

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

• Ь ~а Ц Л(Ь\) = Л(Ь2) — отношение эквивалентности языков по алфавиту;

• Ь\ Ь2 Тг(Ь\) = Тг(Ь2) — отношение эквивалентности языков по классу термов;

• Ti T2 ^df L(Ti) = L(T2) — отношение эквивалентности теорий по языку;

• Ti T2 ^df At(Ti) = At(T2) — отношение эквивалентности теорий по алфавиту;

• Ti ~tt T2 ^df Trt(Ti) = Trt(T2) — отношение эквивалентности теорий по классу термов.

В результате факторизации по этим отношениям получаем следующие разбиения (классификации) множеств Lang и Theor: [Lang}—a, [Lang] —t, [Theor] —i, [Theor}—ta, [Theor}—tt.

В заключение хочу еще раз отметить, что все выводы, рассмотренные в данном параграфе, основаны (кроме реализованной в СУБД реляционной алгебры) всего лишь на трех базовых функциях (отношениях) A, Tr и L, задаваемых в таблицах БД при определении языков и теорий.

3 Отношения порядка на классах базовых объектов

Первоначальной основной целью разработки Theo.ru было создание системы автоматической 3^-визуализации соотношений формальных теорий по дедуктивной силе. Поэтому в модель исходно было введено отношение частичного строгого порядка, соответствующее соотношению формальных теорий по дедуктивной силе. Поскольку формальная теория понимается как множество формул, доказуемых в данной теории, то отношение по дедуктивной силе (для теорий с непустым множеством теорем) совпадает с отношением «быть подмножеством». Это отношение представлено в БД своей диаграммой Хассе (транзитивной редукцией), т.е. перечислением всех пар только ближайших объектов (отношение R-Theor). Поэтому первая задача — установление по диаграмме Хассе полного отношения порядка. Транзитивное замыкание отношения R, произвольно упорядочивающего некоторое множество, можно получить, используя операцию умножения отношений, определяемую следующим образом [1]:

• Ri о R2 = {< x,y > / 3z(< x,z > eRi & < z,y > eR2)}.

Если некоторое отношение R умножается само на себя, то говорят о возведении этого отношения в степень:

1. Я1 = Я;

2. Яп+1 = Яп о Я.

Операция транзитивного замыкания Я определяется как объединение всех степеней отношения Я:

• Ттаиз(Я) = и Я\

1=1

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

п

• Ттаив(Я) = и Яг,

1=1

где и — степень последнего не пустого Яг. Для получения нестрогого частичного порядка Ттаив(Я) необходимо объединить с соответствующим диагональным отношением.

Наоборот, из отношения строгого (полного и некоторых случаев неполного) порядка Я можно получить его транзитивную редукцию (диаграмму Хассе) по формуле:

• Я\Я2.

Основным типом задач, который приходится решать системе Theo.ru в процессе ее работы, является вывод из знаний о порядке на некотором классе объектов знаний о порядке на некоторой произвольной выборке объектов из этого класса. Рассмотрим подробней проводимые при этом вычисления. Пусть на множестве М задано отношение строгого порядка Я и имеется описание упорядоченного множества < М, Я > в виде системы < М, ЯI >, где ЯI — транзитивная редукция Я. Пусть также задана произвольная выборка из М, обозначим ее — М1. Задача — построить описание < М1,Я11 > упорядоченного множества, которое получается из < М, Я > за счет сокращения М до М1. Поскольку множество М1 уже задано, то остается найти отношение Я1. Эта задача решается следующим алгоритмом.

1. R = Trans(Rf) — восстанавливаем Rf до R;

2. Ri = (M\ х M\) П R — получаем ограничение порядка R на множество Mi;

3. Rif = Ri\(Ri о Ri) — получаем искомую транзитивную редукцию порядка Ri .

Поскольку объекты остальных классов также понимаются как множества (множество букв, множество термов и множество формул), то и на них определяется отношение порядка, совпадающее с отношением «быть подмножеством» (соответствующие транзитивные редукции, хранимые в БД: Rbang, RTerm, R-Alph). Причем, эти отношения таковы, что функции A, Tr, L, At, Trt задают гомоморфизмы относительно соответствующих нестрогих порядков:

• Ti С T2 ^ L(Ti) С L(T2);

• Li С L2 ^ A(Li) С A{L2);

• Li С L2 ^ Tr (Li) С Tr (L2);

• Ti С T2 ^ At(Ti) С At(T2);

• Ti С T2 ^ Trt(Ti) С Trt(T2).

Таким образом, имея описание порядка на Theor и функции A, Tr, L (At и Trt — производны), можно вывести некоторые знания о порядках на Lang, Term и Alph:

• Ti С T2 & L(Ti) = L(T2) ^ L(Ti) С L(T2);

• Li С L2 & A(Li) = A(L2) ^ A(Li) С A(L2);

• Li С L2 & Tr (Li) = Tr (L2) ^ Tr (Li) С Tr (L2);

• Ti С T2 & At(Ti) = At(T2) ^ At(Ti) С At(T2);

• Ti С T2 & Trt(Ti) = Trt(T2) ^ Trt(Ti) С TrtT).

Правда, эти знания могут оказаться недостаточными, поэтому в Theo.ru реализована частично избыточная модель со всеми четырьмя изначально заданными отношениями порядка.

Все знания о порядке на одном классе объектов можно выводить из знаний о порядке на другом классе, если гомоморфизм (из второго класса в первый) обладает полнотой относительно этих порядков. Пусть имеются два произвольно упорядоченных множества < Mi, R\ > и < , R2 > и функция ф из Mi в Ы2, являющаяся гомоморфизмом относительно R\ и R2, тогда ф — сильный гомоморфизм, если выполнено условие (1):

• (Vx1,X2eM2)(3y1,y2eM1 )((xiR2X2 & фУ) = xi & ф(у2) = X2) ^ yiRy).

Из этого условия следует, что любой изоморфизм будет сильным гомоморфизмом, но не наоборот. Если отношение R2 транзитив-но, то для вычисления R2 по Ri достаточно соблюдения «более слабого» условия (2):

• Для всех Xi и X2 из M2, ближайших относительно R2, (3yi,y2tMi)((xiR2X2 & ф(у1) = xi & ф(у2) = X2) ^ yiRiy2).

• Гомоморфизм буду называть полным, если для него выполнено хотя бы одно из условий (1) и (2).

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

Гомоморфизм L из Theor в Lang можно сделать полным, вводя в Theor тривиальные (совпадающие с множеством ППФ) теории для каждого языка из Lang. Гомоморфизмы A (из Lang в Alph) и Tr (из Lang в Term) не являются полными ни логически, ни фактически, поскольку в БД Theo.ru имеются такие языки, алфавиты и классы термов, что:

• A(Li) С A(L2) & -(Li С L2);

• Tr(Li) С Tr(L2) & -(Li С L2).

Иллюстрацией для обоих случаев могут быть языки негативных сингулярных силлогистик оккамовского и аристотелевского типа, описанные в [2]. Фактической полноты гомоморфизмов A и Tr можно добиться, подбирая ad hoc и вводя в БД новые языки, отвечающие условиям полноты для A и Tr.

4 Возможности псевдодедукции

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

Например, для каждой формальной теории кроме языка указывается множество схем аксиом и правил вывода, посредством которых можно задать данную теорию. Пусть Rules — класс множеств правил вывода и R — функция, сопоставляющая теории T множество правил вывода Rl, фигурирующих в определении теории и относительно которых она замкнута. Пусть Axiom — множество схем формул, фигурирующих в БД в качестве схем аксиом при определении теорий; Rax — бинарное отношение между элементами Theor и Axiom. Тогда аксиоматика теории T есть Ax(T) = {x /Rax(T, Ax)}. Такое представление знаний об аксиоматике теорий предоставляет целый ряд интересных дополнительных возможностей знаниевого вывода. В частности, у нас появляется возможность вывода знаний о том, в какой теории доказуема некоторая формула и какие формулы доказуемы в некоторой теории. Возможность этих выводов основана на знании:

• FeTi & Ti С T2 ^ FeT2, что аналогично:

• Ti b F & Ti С T2 ^ T2 b F.

На основании этого общего знания имеем более частное:

• если F используется в качестве аксиомы T\ и T\ С T2, то T2 h F.

Соответственно, снимая квантор всеобщности либо по F, либо по T2, получаем знания:

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

• в теории доказуемы все формулы, которые используются в качестве аксиом в ее формулировке или в формулировках ее подтеорий.

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

5 Алгоритмы порождения новых теорий

Анализируемый способ представления знаний о формальных теориях позволяет осуществлять еще ряд интересных выводов, пока не реализованных в Theo.ru. Автоматическое замыкание БД относительно некоторых из этих алгоритмов привело бы к нарушению полноты системы относительно порядка на Theor. Это связано с тем, что добавление каждой новой теории к БД требует выяснения ее отношений по дедуктивной силе с теориями, уже находящимися в БД. Но процедуры сравнения теорий по дедуктивной силе не автоматизированы и в общем виде автоматизированы быть не могут в силу проблемы разрешимости (иначе путем сравнения теорий T и T + A решался бы вопрос о доказуемости или не доказуемости в T произвольной формулы A из языка этой теории). Тем не менее, сама возможность осуществления таких выводов важна с теоретической точки зрения

и может найти применение в дальнейшем. Рассмотрим несколько возможных групп алгоритмов порождения знаний о новых формальных теориях на основе уже имеющихся в БД знаний.

Порождение тривиальных теорий. Как было указано выше, можно добиться полноты гомоморфизма L из Theor в Lang, введя в Theor тривиальные теории (совпадающие с классами ППФ) для каждого языка из Lang. Такие теории можно получать автоматически, приняв в качестве правила вывода: A Ь B. Для языков с импликацией этого же можно добиться, приняв в качестве аксиомы схему формул (A D B), а в качестве правила вывода — modus ponens. Возможны и некоторые другие частные алгоритмы, учитывающие возможность наличия различных правил вывода (поскольку множество формул является формальной теорией не само по себе, а относительно некоторого дедуктивного замыкания). Эта группа алгоритмов позволяет отслеживать место порожденных теорий относительно R-Theor, поскольку созданная так теория будет максимальной для данного языка, а отношения между максимальными (тривиальными) теориями совпадают с отношениями между их классами ППФ.

Порождение теорий путем пропозиционального замыкания. При формулировке пропозициональных теорий мы не учитываем структуру простых предложений. Но если мы пропозициональные параметры заменим на элементарные предикатные формулы, то получим формулировку исходной пропозициональной теории в новом языке. Таким образом, если в Lang есть пропозициональный язык Ь\ и предикатный язык такие, что множества логических (не дескриптивных) знаков в них совпадают (способ описания алфавитов позволяет это проверять), то для каждой теории Ti в Ь\ можно получить ее формулировку в Ь2: значения функций Ax и R для новой теории остаются как у теории Ti, а значение L меняется на Ь2. Возможны модификации алгоритма, учитывающие варианты дедуктивных замыканий (множеств правил вывода) теорий в Ь\ ив L2, уже имеющихся в Theor. Алгоритмы этой группы в основном позволяют отслеживать место порожденных теорий относительно RTheor, но это требует учета множества частных случаев. Введение некоторых дополнительных ограничений «на целостность» БД позволяет уменьшить число возможных случаев и обеспе-

чить возможность автоматического определения места каждой вновь порожденной теории относительно И,ть,е0г.

Объединение теорий. Объединение двух формальных теорий (относительно замыкания Си) в одном и том же языке на базе КЛВ определяется формулой [3]:

• Т1 + Т2 = Си([Т1}и[Т2}).

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

При задании теорий некоторыми исчислениями (с одним и тем же множеством правил вывода) мы получаем (Т1 + Т2) простым объединением аксиом (схем аксиом) этих исчислений. Таким образом, основным алгоритмом порождения этого частного вида объединений теорий будет:

• ВД) = ЦТ2) & Я(Т{) = Я(Т2) ^ ЦТ1 + Т2) = Ь(Т{) & ЩП + Т2) = ЩТх) & Ax(Т1 + Т2) = Ax(Т1) и Ax(Т2).

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

• Если в Theor не существует такой теории Т3, чтобы (< Т1,Тз >,< Т2,Тз > еВ,тне0г), то можно добавить в Theor теорию Тз такую, что Тз = (Т1 + Т2), а в Ятьеог — пары теорий < Т1, Т3 > и < Т2, Т3 >.

• ЗТз(< Т1,Тз >, < Т2,Тз > еЯтнеог) ^

1. (Т1 + Т2) С Тз,

2. ВД) = 1(Тз) ^ (Т1 + Т2) С Тз.

Пересечение теорий. Этот алгоритм не реализуем средствами только реляционной алгебры и требует использования символьных операций (осуществляются средствами организации интерфейса между БД и пользователем). Пересечение двух формальных теорий (относительно замыкания Си) в одном и том же языке на базе КЛВ совпадает с их пересечением как множеств. Но получить из формулировок Т1 и Т2 формулировку (Т1 П Т2) сложней. Если язык этих теорий содержит конъюнкцию и дизъюнкцию, то для конечно аксиоматизируемых теорий (других теорий в БД нет) мы имеем [3]:

• (Т\ П Т2) = Си(Кт1 V Кт2), где Кт1 и Кт2 — конъюнкции аксиом теорий Т\ и Т2.

Поскольку ((А Л В) V (А Л С)) = А Л (В V С), то получаем следующий алгоритм порождения пересечений теорий:

• 1(Тг) = 1(Т2) & Я(Тг) = Я(Т2) ^ ВД П Т2) = Ь(Т{) & Я(Тг П Т2) = Я(Тг) & Ax(Т1 П Т2) = {Кт1 V Кт2} = (Ax(Т1) П Ax(Т2)) и {Ст1 V Ст2}, где Ст1 и Ст2 — конъюнкции аксиом теорий Т\ и Т2, не вошедших в Ax(Tl)ПAx(Т2).

Этот алгоритм также не позволяет для всех случаев точно определять местоположения новой теории относительно Ятмог • Выводимые о местоположении новой теории знания таковы:

• Если в Theor не существует такой теории Т3, чтобы (< Тз,Т1 >,< Тз,Т2 > еЯтнеог), то можно добавить в Theor теорию Т3 такую, что Т3 = (Т1 П Т2), а в Ятнеог — пары теорий <Тз,Т1 > и <Тз,Т2 >;

• ЗТз(< Тз,Т1 >, < Тз,Т2 > еЯтнеог) ^

1. Тз С (Т1 П Т2),

2. 1(Т1) = ЦТз) ^ Тз С (Т1 П Т2).

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

6 Заключение

В первой части статьи описана базовая модель < О, К > (О = {ТЪ,еог, Ьапд, Тегт, Alph}, К = {= Ь, = Л^^ = Тг; ЯтНеог, ЯЬапд, Ятегт, Ял1Рн}), служащая в качестве онтологии для синтеза знаний о формальных теориях, рассмотрены выводы, осуществимые в рамках базовой модели. Во второй части — описан один из возможных (реализованный в Theo.ru) способов представления знаний об аксиоматике формальных теорий и возможности знаниевого вывода, открываемые таким способом

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

Литература

[1] Лисовский К.Ю., Марков А.С. Базы данных. Введение в теорию и методологию. М., 2004.

[2] Маркин В.И. Силлогистические теории в современной логике. М., 1991.

[3] Смирнов В.А. Логические методы анализа научного знания. М., 2002.

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