Добавил:
logic-cor.narod.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгебра_кортежей

.pdf
Источник:
Скачиваний:
34
Добавлен:
19.11.2020
Размер:
3.43 Mб
Скачать

Мы с детства приучены к тому, что Шерлок Холмс использовал дедуктивный метод. А так ли это? По определению дедукция – это когда имеются какие-то посылки или аксиомы и какие-то правила вывода, с помощью которых мы получаем следствия. Но мысль Холмса работала в другом направлении. Он знал некоторые факты, связанные с преступлением. Эти факты мало что говорили о мотивах преступления или о том, кто это преступление совершил. Если принять факты за аксиомы, то следствием этих фактов должно было стать некое утверждение, которое прямо указывает на того, кто преступник. Но по всем правилам логики из известных фактов такое утверждение получить было невозможно. Поэтому Холмс на первых этапах не пытался найти доказательства, а домысливал некоторые гипотезы или факты, которые позволяли бы построить строгую логическую цепочку между известными и пришедшими в голову фактами и самим преступлением. Таким образом, в данном случае дедукция была завершением мыслительной деятельности, а основная работа заключалась в том, чтобы найти не само следствие, а нечто, позволяющее его получить. Это нечто в логике называется не дедукцией, а абдукцией. Таким образом, метод Шерлока Холмса скорее абдуктивный, чем дедуктивный.

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

1953 году.

Дадим формальное определение абдукции. Пусть B – предполагаемое следствие из посылок A1, …, An, причем известно, что утверждение A G B, где по-прежнему A = A1 G G An, неверно. Тогда формула H является допустимым абдуктивным заключением, если соблюдаются два условия:

1)H – корректная гипотеза (т.е. H G A не содержит коллизий);

2)(H G A) G B (т.е. при добавлении H в систему посылок

150

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

Рассмотрим интерпретацию абдукции с помощью диаграмм Эйлера. Когда B не является следствием A, то возможны два варианта: пересечение этих множеств пусто или не пусто (рис. 4.1). Обозначим закрашенную часть A, равную A \G B, как R.

Рис. 4.1. Соотношения между посылками (A) и невыводимым

следствием (B)

Вариант справа на рис. 4.1 – вырожденный. В таком случае никакое добавление посылок ни к чему не приведет. При непустом пересечении A и B (левая часть рисунка) получение абдуктивного заключения возможно, для этого область R должна быть полностью исключена из области допустимых гипотез, в противном случае H G A не будет включено в B. Значит, область

допустимых гипотез есть дополнение R, т.е. H G R.

Пусть Ri – некоторое надмножество R (на рис. 4.2 оно ограничено прерывистой линией), тогда возможны два случая (рис. 4.2). Ri можно рассматривать как некоторую гипотезу Нi.

Рис. 4.2. Варианты ситуаций при выборе гипотез

В первом случае (на рисунке слева) Ri не охватывает полностью A, значит, при пересечении Ri G A получим непустое множество, включенное в B, и Ri будет формально корректным абдуктивным заключением. Вырожденный случай, когда Ri G A = , показан на рисунке справа. Здесь видно, что Ri

151

полностью покрывает не только R, но и A. К такой ситуации применимо правило Дунса-Скотта: из лжи можно вывести все, что угодно. Поэтому при формировании Ri надо не только обеспечивать R G Ri, но и следить за тем, чтобы не выполнялось A G Ri.

Из вышесказанного следует

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

1.Вычислить «остаток» R = A \G B;

2.Построить промежуточный объект Ri такой, чтобы соблюдалось R G Ri;

3.Вычислить Hi = Ri (тогда Ri далее можно обозначить как Hi );

4.Вычислить Hi G A и выполнить проверку на наличие коллизий; если коллизии обнаружены, то возвратиться к шагу 2, иначе конец алгоритма.

Поиск вариантов Ri на шаге 2 относится к задачам вывода следствий, алгоритм решения приведен в предыдущем подразделе. В качестве иллюстрации рассмотрим задачу из примера 4.3.

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

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

 

 

 

 

 

 

 

{1}

{1}

{0}

A[X1X2X3X4] =

{1}

{0}

;

{0}

{0}

{1}

{1}

 

 

 

 

 

 

 

B[X1X2X3X4] = [ {1} ].

Далее используем алгоритм.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{1}

{1}

{0}

 

 

 

1. R = A \

 

B =

 

 

{1}

{0}

 

 

 

 

[ {0} ] = [{0} {0} {1} {1}].

 

G

 

 

 

 

 

 

 

 

G

 

 

 

 

{0}

{0}

{1}

{1}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

152

2.Здесь можно выбрать в качестве Ri любую проекцию R. Пусть это будет R[X4]. Тогда получим Ri = [ {1}].

3.Hi = Ri = [ {0}].

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

 

 

{1}

{1}

 

{0}

 

 

 

 

{1}

 

 

 

 

 

 

 

 

 

 

 

A G

 

 

 

 

 

 

G

[ {0}] =

{1}

{0}

Hi =

{1}

{0}

 

 

 

 

 

.

 

{0}

{0}

{1}

{1}

 

 

 

 

{1}

{0}

{0}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Рассмотрим более сложные примеры.

Пример 4.8. [Страбыкин, 2008]. База знаний диагностики автомобиля содержит следующие правила.

1)если ИЗ ВЫХЛОПНОЙ ТРУБЫ ЧЕРНЫЙ ДЫМ, то БОГАТАЯ СМЕСЬ или РАННЕЕ ЗАЖИГАНИЕ.

2)если СИНИЙ ДЫМ, то ПОВЫШЕННЫЙ РАСХОД МАСЛА.

3)если ВЫХЛОПНАЯ ТРУБА ЧЕРНАЯ, то БОГАТАЯ СМЕСЬ или РАННЕЕ ЗАЖИГАНИЕ или ПОВЫШЕННЫЙ РАСХОД МАСЛА.

4)если ПОВЫШЕННЫЙ РАСХОД МАСЛА, то ИЗНОС МАСЛОСЪЕМНЫХ КОЛПАЧКОВ или ИЗНОС ПОРШНЕВЫХ КОЛЕЦ или ИЗНОС ЦИЛИНДРОВ.

5)если НОРМАЛЬНАЯ КОМПРЕССИЯ, то нет ИЗНОСА ПОРШНЕВЫХ КОЛЕЦ и нет ИЗНОСА ЦИЛИНДРОВ.

Предполагается, что следствие должно быть таким:

Если НОРМАЛЬНАЯ КОМПРЕССИЯ и ВЫХЛОПНАЯ ТРУБА ЧЕРНАЯ и СИНИЙ ДЫМ, то ИЗНОС ПОРШНЕВЫХ КОЛЕЦ.

Требуется проверить правильность следствия, а в случае неудачи подобрать абдуктивное заключение.

Введем обозначения:

153

x1 – выхлопная труба черная; x2 – богатая смесь;

x3 – раннее зажигание;

x4 – нормальная компрессия; x5 – повышенный расход масла;

x6 – из выхлопной трубы черный дым; x7 – из выхлопной трубы синий дым; x8 – износ маслосъемных колпачков; x9 – износ поршневых колец;

x10 – износ цилиндров.

Выразим правила формулами исчисления высказываний.

1)x6 (x2 x3);

2)x7 x5;

3)x1 (x2 x3 x5);

4)x5 (x8 x9 x10);

5)x4 ( x9 x10).

Предполагаемое следствие описывается формулой (x4 x1 x7) x9. Тогда база знаний, записанная в виде импликаций, есть множество из

шести дизъюнктов, входящих в определенную КНФ (правило 5 преобразуется в конъюнкцию двух дизъюнктов):

( x6 x2 x3) ( x7 x5) ( x1 x2 x3 x5) ( x5 x8 x9 x10)( x4 x9) ( x4 x10).

Данную КНФ можно представить как D-систему

 

{1}

{1}

 

 

{0}

 

 

 

 

 

 

 

 

 

{1}

 

{0}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A[X1X2X3X4X5X6X7X8X9X10] = {0}

{1}

{1}

 

{1}

 

 

 

 

 

.

 

 

 

 

{0}

 

 

{1}

{1}

{1}

 

 

 

 

 

{0}

 

 

 

 

{0}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{0}

{0}

Заключение в данном примере дается формулой (x4 x1 x7) x9, которая равна дизъюнкции ( x1 x4 x7 x9) и моделируется D-кортежем

B[X1X4X7X9] = ]{0} {0} {0} {1}[.

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

154

одним из авторов программы. После вычисления по формуле R = A \G B получим C-систему:

X1

X2

X3

X4 X5 X6 X7 X8 X9 X10

R = {1}

{1}

 

{1}

{1}

 

{1}

{1}

{0} {0} .

{1}

{0}

{1}

{1}

{1}

 

{1}

{1} {0}

{0}

{1}

{0}

{0}

{1}

{1}

{0}

{1}

{1}

{0}

{0}

В верхней строке для облегчения анализа записаны имена атрибутов. Рассмотрим, как применить полученную структуру для поиска вариантов Ri и абдуктивного заключения Hi (шаги 2 и 3 алгоритма). Для этого пригодны методы, представленные в подразделе 4.2.

Сформируем набор неполных проекций в R. В данном примере такими проекциями являются: [X1], [X4], [X5], [X7], [X8], [X9], [X10], [X2X3X6]. Выбранные проекции позволяют легко находить АК-объекты Ri и соответствующие им логические формулы. Выберем проекцию [X1X9]. После сокращений она будет равна C-кортежу R[X1X9] = [{1} {0}]. Используя алгоритм вывода произвольных следствий из п.4.2, можно сформировать следующие формулы для Ri:

1)x1 x9 (соответствует C-кортежу Ri);

2)(x1 x9) ( x1 x9);

3)x1 x9 (формулы 2 и 3 соответствуют АК-объектам, которые

покрывают C-кортеж Ri) и т.д.

 

Возьмем

в

качестве

Ri проекцию [X2X3X6].

Она

является C-системой

{1}

 

 

 

 

 

 

 

 

{0}

{1}

 

 

,

которая

равна D-кортежу ]{1}

{1}

{0}[ и соответствует

 

 

 

 

 

 

 

 

 

{0}

{0}

{0}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

формуле x2 x3 x6 . Отрицание этой формулы равно x2 x3 x6 , оно подходит в качестве абдуктивного заключения.

Пример 4.9 (Волшебная фраза). Один путешественник был захвачен племенем, вождь которого дал пленнику возможность сказать только одну фразу. Если фраза оказывалась правдивой, то его сбрасывали с высокой скалы. Если она была лживой, то путешественника должны были растерзать львы. Но ни того, ни другого не случилось. Требуется найти "волшебную фразу", спасшую жизнь путешественнику. Приведенное решение ошибочно, извините!

Пусть А – некоторое искомое высказывание, В – "путешественник сброшен со скалы", С – "путешественник растерзан львами". Запишем посылки на языке исчисления высказываний:

155

1.А В = A В.

2.A С = A C.

Полученные высказывания можно представить как D-систему:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{0}

 

{1}

 

 

 

{0}

*

 

*

 

{1}

*

*

=

{0}

*

{1}

P[ABC] =

{1}

 

 

 

 

=

 

 

{1}

 

 

 

 

 

*

 

 

 

{1}

.

 

 

 

 

 

{1}

 

{1}

 

*

 

{0}

{1}

{1}

*

Для спасения путешественника из системы посылок должно быть

выведено

 

утверждение

 

 

 

 

или,

на

 

 

языке

 

АК

С-кортеж

 

B

C

 

 

 

S[ABC] = [* {0} {0}].

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Необходимо найти подходящую гипотезу (абдуктивное заключение),

дающую решение задачи. Для этого воспользуемся тем же алгоритмом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R[ABC] = P[ABC] \ S[ABC] =

{0}

*

{1}

 

 

 

 

 

 

 

 

=

 

 

 

 

 

{0}

 

{0}]

 

 

 

 

 

 

 

[*

 

 

 

=

 

 

 

 

.

 

 

 

 

 

 

{1}

{1}

*

 

 

 

 

 

 

 

 

 

 

 

 

{0}

{0}

{1}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{1}

{1}

{0}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выберем следующие проекции (содержащие атрибут A)

 

 

 

 

 

{0}

{0}

 

 

 

 

 

 

{0}

 

{1}

.

 

 

 

 

 

 

 

 

 

 

 

 

R1[AB] =

 

 

 

и R2[AC] =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{1}

{1}

 

 

 

 

 

 

 

{1}

 

{0}

 

 

 

 

 

 

 

 

 

 

 

 

Им соответствуют гипотезы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{1}

{1}

 

 

 

 

{1}

*

 

 

{0}

*

 

 

 

{1}

 

{0}

 

 

Н1 = R1 [AB] =

 

 

 

=

 

 

=

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{0}

{0}

 

{0}

{1}

 

{1}

{0}

 

{0}

{1}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{0}

{1}

 

 

 

{0}

*

 

{1}

*

 

 

 

{0}

 

{0}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Н2 = R2 [AC] =

 

 

 

 

 

 

=

 

 

 

 

 

 

=

 

.

 

 

 

 

 

 

{1}

{0}

 

{1}

{1}

{0}

 

{0}

 

{1}

{1}

 

 

Первая из них означает эквивалентность высказываний А и B, а вторая – А и С. Следовательно, путешественнику нужно сказать либо фразу: "Меня не сбросят со скалы", либо фразу "Меня растерзают львы".

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

156

Глава 5. Управление данными и знаниями на базе алгебры кортежей

В каждой естественной науке заключено столько истины, сколько в ней есть математики.

Иммануил Кант.

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

5.1.Метрические аспекты алгебры кортежей

5.1.1.Представление измеримых систем в алгебре кортежей

Понятие меры (A) множества A является естественным обобщением

следующих понятий [Колмогоров, 1972]:

1)длины отрезка;

2)площади плоской фигуры;

3)объема пространственной фигуры;

4)приращения f(b) – f(a) неубывающей функции f(t) на полуинтервале [a,b);

5)интеграла от неотрицательной функции по некоторой линейной, плоской или пространственной области.

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

157

В качестве первой из них возьмем такую меру дискретных множеств, как количество элементов. Эту меру в теории множеств принято называть мощностью множеств, но всеми свойствами меры (о них далее) обладают только мощности конечных множеств. Мощность множества A обозначается как A (см. п.1.4).

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

как стремящееся к пределу отношение lim

n(A)

, где n(U) – количество

n(U)

n

 

элементов возрастающего ряда универсума, n(A) – количество элементов множества A, изменяющееся по мере возрастания U. Например, если U – натуральный ряд, а A – множество чисел, кратных 3, то можно доказать, что относительная мощность A стремится к 1/3. Эта мера имеет много общих свойств с вероятностной мерой и легко может быть определена во многих случаях и для бесконечных подмножеств бесконечного множества. Например, относительная мощность подмножества четных чисел во множестве всех чисел натурального ряда равна 1/2, а относительная мощность всех чисел, кратных конечному целому числу k, равна 1/k. Разумеется, с помощью относительной мощности различимы далеко не все подмножества счетных бесконечных множеств. Так, меру 0 имеют все конечные подмножества счетного множества и некоторые бесконечные множества, например, множество квадратов целых чисел. Для бесконечных подмножеств счетного множества, имеющих нулевую меру, можно использовать асимптотическую меру, т.е. аналитическую функцию, стремящуюся к нулю по мере возрастания ряда чисел, но имеющую конечное значение на конечном отрезке.

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

158

Аксиомы меры множеств:

1)мера есть действительное неотрицательное число;

2)если A B = , то (A B) = (A) + (B);

3)для произвольных множеств A и B

(A B) = (A) + (B) (A B).

В качестве примера рассмотрим систему, универсум которой бесконечное множество N положительных целых чисел. Ее подмножества есть числа, кратные каким-то целым конечным числам k. Обозначим такие подмножества Nk. Ясно, что относительная мощность универсума этой системы равна 1, а относительная мощность каждого из множеств Nk равна 1/k. Предположим, нам необходимо определить относительную мощность подмножества, содержащего объединение всех чисел, кратных 2 (N2), и чисел, кратных 3 (N3). Из свойств меры множеств очевидно, что

(N2 N3) = (N2) + (N3) (N2 N3).

Ясно, что N2 N3 представляет собой множество чисел, кратных 6, поэтому (N2 N3) = 1/6. Отсюда

(N2 N3) = 12 13 16 23.

В более общем случае:

(Nm Nk)= m1 1k R(m1,k) ,

где R(m, k) – наименьшее общее кратное чисел m и k.

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

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

159