- •Предисловие
- •Введение
- •Глава 1. Множества
- •§ 1. Множества н их спецификация
- •§ 2. Простейшие операции над множествами
- •X ∉ ø при любом х.
- •§ 3. Диаграммы Венна
- •§ 4. Подмножества и доказательства
- •§ 5. Произведения множеств
- •Глава 2. Отношения
- •§ 1. Основные понятия
- •§ 2. Графические представления
- •§ 3. Свойства отношений
- •§ 4. Разбиения и отношения эквивалентности
- •§ 5. Отношения порядка
- •§ 6. Отношения на базах данных и структурах данных
- •§ 7. Составные отношения
- •§ 8. Замыкание отношений
- •Глава 3. Функции
- •§ 1. Функции и отображения
- •§ 2. Обратные функции и отображения
- •§ 3. Мощность множеств и счетность
- •§ 4. Некоторые специальные классы функций
- •§ 5. Аналитические свойства вещественных функций
- •§ 6. Операции
- •Глава 4. Основные понятия арифметики
- •§ 1. «Малая» конечная арифметика
- •§ 2. «Большая» конечная арифметика
- •§ 3. Двоичная арифметика
- •§ 4. Логическая арифметика
- •Глава 5. Алгебраические структуры
- •§ 1. Алгебраические структуры и подструктуры
- •§ 2. Простейшие операционные структуры
- •§ 3. Кольца и поля
- •§ 4. Линейная алгебра
- •4.1. Векторные пространства о линейные преобразования.
- •§ 5. Решетка и булевы алгебры
- •§ 6. Замкнутые полукольца
- •Глава 6. Матрицы
- •§ 1. Матрицы и бинарные отношения на конечных множествах
- •§ 2. Матрицы над другими алгебраическими структурами
- •§ 3. Матрицы и векторные пространства
- •Глава 7. Теория графов
- •§ 1. Вводные понятия
- •§ 2. Маршруты, циклы и связанность.
- •§ 3. Планарные графы
- •3.1. Теоремы Эйлера и Куратовского.
- •3.2. Раскраска карт и графов.
- •§ 4. Структуры данных для представления графа
- •§ 5. Обход графа
- •5.2. Обход графа по глубине.
- •5.4. Остовные леса обходов по глубине и ширине.
- •§ 6. Ориентированные графы
- •6.2. Маршруты и связность в орграфах.
- •Глава 8. Языки и грамматики
- •§ 1. Основные понятия
- •§ 2. Грамматики с фразовой структурой
- •2.1. Основные определения.
- •§ 3. Контекстно-свободные языки
- •§ 4. Понятия грамматического разбора и грамматических модификаций
- •§ 5. Грамматики операторного предшествования
- •Глава 9. Конечные автоматы
- •§ 1. Общие понятия
- •§ 2. Конечные автоматы
- •§ 3. Регулярная алгебра
- •Глава 10.Компьютерная геометрия
- •§ 1. Системы координат для подмножеств r3
- •§ 2. Преобразования
- •§ 3. Кривые и поверхности
§ 2. Матрицы над другими алгебраическими структурами
Мы уделяем много внимания матрицам над полукольцами (Z2, /\, \/) и (B, /\, \/, ) однако ничего не сказали о матрицах, чьи элементы принадлежат другим структурам. Сначала мы рассмотрим вопрос о том, что надо требовать от структуры (S, , +) для того, чтобы матрицы над S обладали нужными свойствами. Затем обсудим технику вычислений, применяемую в ситуациях, когда операция замыкания корректно определена.
2.1. Обобщенные матрицы. Пусть
(
,
,
)
обозначает множество
(п,
(S,
,
+)) матриц п
п над
(S,
,
+) с операциями
и
,
определенными в терминах
и +. Можно легко определить матрицы над
произвольным непустым множеством,
однако индуцированные при этом
операции над матрицами могут быть
некорректными и обладать неестественными
свойствами, Рассмотрим вначале операцию
сложения.
Если М и N — согласованные матрицы над S, тогда по определению
Для получения использовалась только одна операция сложения +. Поэтому сложение матриц выполняется просто. Однако для того, чтобы операция была коммутативна и ассоциативна, теми же самыми свойствами должно обладать (S, +). Отсюда следует, что нулевая матрица существует тогда и только тогда, когда существует двусторонняя ) единица 0 по отношению к + в S. Аналогично существование аддитивных обратных элементов в зависит от существования аддитивных обратных элементов в S. Поэтому сложение на всегда может быть определено. Причем, хотя для того, чтобы ( , ) стало коммутативной группой, требуется выполнение многих свойств на (S, +), многое можно получить даже тогда, когда операция + не обладает достаточным набором хороших свойств.
В противоположность этому умножение в требует гораздо большего от S. По аналогии с матрицами над (Z2, /\, \/) положим
Поскольку суммирование проводится в S, то для корректного определения умножения в необходимо, чтобы результат не зависел от порядка суммирования. Это будет выполнено, если сложение в S ассоциативно.
Не следует ожидать, что умножение в будет коммутативно; даже (так как ( , ), зависит от (S, ) и (S, +)) для того, чтобы обеспечить ассоциативность в ( , ), требуется больше, чем ассоциативность в (S, ). Рассмотрим следующий пример, в котором будут выполнены левая и правая дистрибутивность над +, ассоциативность в (S, ) и ассоциативность и коммутативность
в (S, +).
Пример 2.1. Пусть M, N и Р — матрицы размерности 1 2, 2 3 и 3 1 соответственно. Тогда
При проведении выкладок предполагалось, что + ассоциативна, поэтому некоторые скобки были опущены. //
Пока все это выглядит не очень оптимистично, поскольку лишь небольшое число структур может удовлетворять условиям, накладываемым на (S, , +). Заметим также, что для существования единичной матрицы требуется, чтобы:
а) 0 x = 0 = x 0 для всех x S, где 0 —аддитивная единица в S (напомним, что это условие не является аксиомой поля);
б) S должно иметь двустороннюю мультипликативную единицу.
Тем не менее можно проверить, что если (S, , +) — кольцо пли поле, тогда все вышеуказанные условия выполнены и ( , , )—кольцо.
Понятия упорядочения и замыкания матриц над более узкими структурами, такими как упорядоченные поля и т. п., становятся слишком сложными и поэтому обсуждаться не будут.
Как уже отмечалось в
упражнении 6.1, мы можем рассматривать
(п,
(Z2,
/\, \/))
как
(п,
В). Аналогично мы можем
обобщить вычисления на другие родственные
алгебраические структуры, однако
требуется тщательность, чтобы
сформулировать условия на то, какую
систему попользовать. Например, Z2
Z3
путем обычного включения Z2
Z3
(А
В
обозначает тождественное
отображение на А, где
А
В)
следует, что
А (п, Z2) А (п, Z3).
Пусть теперь дана матрица из 0 и 1. Спрашивается, определена она на {0, 1} или же на {0, 1, 2}? Это необходимо знать для перехода к построению арифметики. Конечно (как будет показано в § 3), все это зависит от того, что мы пытаемся вычислять. Аналогичные проблемы возникают с любыми включениями, особенно (п, В), (п, Z2), (п, Z), (п, Zm), (п, Q) и (п, R).
2.2. Алгоритм Уоршолла. В этом разделе мы опишем быстрый способ вычисления (транзитивного или рефлексивного) замыкания квадратных матриц над (Z2, /\, \/). Этот способ — один из вариантов метода Уоршолла; представим его в виде программы. Еслп М — матрица размерности п п над (Z2, /\, \/), то ее можно преобразовать в М+ следующим образом:
for j from 1 to п do
for i from 1 to n do
if i j and Мij = 1 then
for k from 1 to n do
Mik
Mik
\/ Mjk.
Чтобы вычислить М*, мы можем прибавить I или в начале, или в конце, используя соотношение
М*= (M + I)+ = M+ + I.
Пример 2.2. Пусть
тогда, используя алгоритм, заменим 0 на 1 в следующих элементах: (1, 4), (1, 5), (3, 4), (3, 5), (5, 2), (5, 5), (2, 2,), (2, 3), (3, 3).
Получим матрицу
//
Мы не будем доказывать, что
программа выполняет нужные действия,
однако отметим, что смысл программы
состоит в том, что если i
≠ j
и
Mij=1,
то (i,
j)
для некоторого р
≤ n,
где
— отношение, порожденное М.
Поэтому
заменим i-ю
строку на дизъюнкцию i-й
и j-й
строк, чтобы указать, что все, что
относится к j,
также относится и к i.
Очевидно, что при i = j выполнение этого шага не дает никакого выигрыша. Основная сложность проверки правильности программы — убедиться в том, что ничего не пропущено. Читатель сможет доказать это самостоятельно, прочитав гл. 7.
Метод Уоршолла дает значительный выигрыш по сравнению с прямым использованием определения замыкания; он может быть еще улучшен, однако это требует использования более сложных структур данных, и поэтому мы не будем больше этим заниматься.
Этот метод можно многими путями приспособить для получения различных оценок, связанных с матрицами (отношениями), простейшим из которых является понятие «расстояния» между элементами множества, связанными отношением . Расстояние между двумя точками х и у (d(x, у)) равно наименьшему n такому, что n N и у n(х). Если М — матрица, соответствующая , то, заменяя циклы следующим образом, получим требуемый результат:
if Mij ≠ 0 then
for k: from 1 to n do
if Mij ≠ 0 and
(Mik = 0 or Mik > Mij + Mik)
then Mik Мij + Mjk.
Здесь используется арифметика над Z (а не над Z2).
Пример 2.3. Применение описанной выше процедуры к матрице из предыдущего примера дает
//
Упражнение 6.2.
Определение. Говорят, что две (n n)-матрицы X и Y над полем F подобны над F, если существует обратимая матрица P над F такая, что
X = P-1YP. //
Показать, что отношение, индуцируемое подобием на (п, F), является отношением эквивалентности и что матрица I подобна только себе.
Показать, что если A, B (п, F) для некоторого п N и некоторого поля F, тогда
(А + В)T = A T + B T, (AB)T=BTAT.
Определение. Стохастической матрицей называется действительная матрица над ({х: 0 ≤ x ≤ 1}, , +) такая, что сумма элементов в каждой строке равна 1. //
Показать, что множество 3 3 стохастических матриц не замкнуто по отношению к сложению, но замкнуто по отношению к умножению. Установить, какие свойства поля (R) при этом использовались.
