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

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Алгебра кортежей — математическая система моделирования и анализа многоместных отношений.

Использование термина[править]

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

Иное значение термина рассматривается в работах Б. А. Кулика — этот вариант излагается в данной статье.

Определение[править]

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

  • переименование атрибутов;
  • перестановка атрибутов;
  • добавление нового фиктивного атрибута;
  • элиминация атрибута из АК-объекта.

На чем основана АК[править]

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

Структуры АК[править]

Обозначения[править]

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

АК-объекты, заданные в одном пространстве атрибутов, называются однотипными.

Элементарный кортеж[править]

  • Элементарный кортеж в АК соответствует кортежу элементов в многоместных отношениях. Например, запись . означает, что  — элементарный кортеж, при этом .

В АК элементарные кортежи являются элементами множеств (отношений), выраженных другими типами АК-объектов.

Компоненты[править]

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

полная компонента — , равна домену соответствующего (по месту её расположения в кортеже) атрибута (используется в C-кортежах и C-системах);
пустое множество — , (используется в D-кортежах и D-системах).

C-кортеж[править]

  • C-кортеж — кортеж множеств, ограниченный прямыми скобками. Интерпретируется как множество элементарных кортежей, содержащихся в прямом произведении этих множеств. Например, означает, что и .

C-система[править]

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

D-кортеж[править]

Прежде, чем определить D-кортеж, нужно определить диагональную C-систему.

  • Диагональная C-система — C-система размерности , у которой все недиагональные компоненты равны

Пример:

  • D-кортеж — отношение, равное диагональной C-системе, записанное в виде кортежа диагональных компонент и ограниченное перевернутыми квадратными скобками.

В частности, в формуле

правая часть равенства — D-кортеж.

D-система[править]

  • D-система — ограниченная перевернутыми квадратными скобками матрица компонент, которая интерпретируется как пересечение содержащихся в ней однотипных D-кортежей.

Так

Основные соотношения[править]

Основные соотношения АК основаны на свойствах прямого произведения множеств.
Пусть заданы C-кортежи         и    

Тогда

  •  ;
  • для любого C-кортежа если хотя бы одна компонента равна , то  ;
  •  ;
  • ;
  • где дополнение компоненты в D-кортеже вычисляется относительно домена соответствующего атрибута;
  • , тогда и только тогда, когда для всех .

Операции с атрибутами[править]

  • Переименование атрибутов используется при замене переменных, в частности, в алгоритмах вычисления транзитивного замыкания бинарного отношения.
  • Перестановка атрибутов — операция, при выполнении которой в матрице АК-объекта меняются местами столбцы. При этом в некоторых случаях (например, при обращении отношений) порядок атрибутов в схеме отношения остается неизменным.
  • Добавление фиктивного атрибута осуществляется только в том случае, если добавляемый атрибут отсутствует в схеме отношения АК-объекта. При этом в C-кортежи и в C-системы в соответствующие столбцы добавляется фиктивные компоненты , а в D-кортежи и D-системы — фиктивные компоненты .
Если в АК-объект вводится фиктивный атрибут, то эта процедура соответствует известному в исчислении предикатов правилу вывода, которое называется правилом обобщения. Например, если D-система
соответствует формуле исчисления предикатов, то, добавив в этот АК-объект фиктивный атрибут , получим АК-объект
который соответствует формуле , выводимой из формулы по правилу обобщения.
  • Элиминация атрибута осуществляется так:
из АК-объекта удаляется столбец, а из его схемы отношения — соответствующий атрибут.
Доказано, что для C-кортежй и C-систем элиминация атрибута означает «навешивание» квантора в соответствующую формулу, а для D-кортежй и D-систем — квантора .

Обобщённые операции[править]

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

С учётом этого предложено (см. книгу Б. А. Кулика, А. А. Зуенко и А. Я. Фридмана) ввести в алгебру кортежей обобщённые операции (, ) и обобщённые отношения (, ). Это те же операции алгебры множеств над отношениями с предварительным добавлением недостающих атрибутов. Доказано, что алгебраическая система с обобщёнными операциями и отношениями изоморфна алгебре множеств .

Связь алгебры кортежей с исчислением предикатов[править]

  • C-кортежу в исчислении предикатов соответствует конъюнкция одноместных предикатов с разными переменными. Например,
    C-кортежу
    соответствует логическая формула , где
и  — области определения переменных и ; .
  • D-кортежу соответствует дизъюнкция одноместных предикатов с разными переменными. Например,
    D-кортежу
    соответствует логическая формула , где
.
  • C-системе соответствует дизъюнкция C-кортежей, D-системе — конъюнкция D-кортежей.
  • Элементарный кортеж, входящий в состав непустого АК объекта, соответствует выполняющей подстановке логической формулы.
  • АК-объект, оказавшийся при проверке пустым, соответствует тождественно ложной формуле.
  • АК-объект , если он равен , соответствует общезначимой формуле или тавтологии.
  • Непустой АК-объект соответствует выполнимой формуле.
  • Методы квантификации в АК с помощью операций с атрибутами приведены выше.
  • Домены атрибутов в АК могут быть любыми не обязательно равными друг другу множествами. Это означает, что структуры АК соответствуют формулам многосортного исчисления предикатов.
  • Логический вывод в АК основан на теореме.
Теорема. Пусть даны АК-объекты . Тогда есть следствие , тогда и только тогда, когда .

Возможные применения[править]

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

Логическая задача[править]

По мотивам задач из книги известного логика Раймонда Смаллиана «Принцесса или тигр?».

Перед узником три комнаты, в одной из них принцесса, в другой — тигр, а третья — пустая. Узнику нужно войти в комнату с принцессой. Заданы всего две подсказки:

  1. Во 2-й комнате нет тигра, а 3-я комната не пуста.
  2. 1-я комната не пуста, а во второй нет тигра.

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

Пояснение: пусть T — в комнате тигр, P — в комнате принцесса, E — комната пуста. Тогда в структурах АК подсказки можно записать так:
  1. .
  2. .

Литература[править]