Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

В частном случае конечного простого графа матрица смежности представляет собой (0,1) -матрицу с нулями на диагонали. Если граф неориентированный (то есть все его ребра двунаправленные), матрица смежности симметрична . Связь между графом и собственными значениями и собственными векторами его матрицы смежности изучается в спектральной теории графов .

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

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

Для простого графа с множеством вершин U = { u 1 ,…, u n } матрица смежности представляет собой квадратную матрицу A размера n × n , у которой элемент A ij равен единице, когда есть ребро от вершины u i до вершины u. j и ноль, когда ребра нет. [1] Все диагональные элементы матрицы равны нулю, так как ребра от вершины к самой себе ( петли ) не допускаются в простых графах. Также иногда полезно в алгебраической теории графов заменять ненулевые элементы алгебраическими переменными. [2]Ту же концепцию можно распространить на мультиграфы и графы с петлями, сохранив количество ребер между каждыми двумя вершинами в соответствующем матричном элементе и допустив ненулевые диагональные элементы. Циклы могут быть засчитаны один раз (как одно ребро) или дважды (как две вершины-ребра), если соблюдается согласованное соглашение. Ненаправленные графы часто используют второе соглашение о подсчете циклов дважды, тогда как ориентированные графы обычно используют первое соглашение.

Двудольного графа [ править ]

Матрица смежности из двудольного графа , чьи две части имеют р и ы вершины могут быть записаны в виде

где B - матрица размера r × s , а 0 r , r и 0 s , s представляют собой нулевые матрицы r × r и s × s . В этом случае меньшая матрица B однозначно представляет граф, а оставшиеся части A могут быть отброшены как избыточные. B иногда называют матрицей двойственности .

Формально, пусть G = ( U , V , Е ) является двудольный граф с частями U = { U 1 , ..., у г }, V = { v 1 , ..., v s } и ребер Е . Матрица взаимосопряженности - это матрица B размером r × s 0–1, в которой b i , j = 1 тогда и только тогда, когда ( u i , v j )E .

Если G - двудольный мультиграф или взвешенный граф , то элементы b i, j считаются количеством ребер между вершинами или весом ребра ( u i , v j ) соответственно.

Матрица смежности двудольного графа полностью унимодулярна . Это означает, что определитель каждой квадратной подматрицы в ней равен -1, 0 или +1.

Варианты [ править ]

Матрица ( a , b , c ) -сопоставления A простого графа имеет A i , j = a, если ( i , j ) является ребром, b, если это не так, и c на диагонали. Матрица смежности Сейдел является (-1, 1, 0) -adjacency матрица. Эта матрица используется при изучении сильно регулярных графов и двуграфов . [3]

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

Примеры [ править ]

Ненаправленные графики [ править ]

Следующее здесь соглашение (для неориентированных графов) состоит в том, что каждое ребро добавляет 1 к соответствующей ячейке в матрице, а каждый цикл добавляет 2. [4] Это позволяет легко определить степень вершины, взяв сумму значений в соответствующей строке или столбце матрицы смежности.

Направленные графики [ править ]

Матрица смежности ориентированного графа может быть асимметричной. Матрицу смежности ориентированного графа можно определить так, что

  1. ненулевой элемент A ij указывает ребро от i до j или
  2. он указывает край от j до i .

Первое определение обычно используется в теории графов и анализе социальных сетей (например, в социологии, политологии, экономике, психологии). [5] Последнее более распространено в других прикладных науках (например, динамических системах, физике, сетевых науках), где A иногда используется для описания линейной динамики на графах. [6]

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

Тривиальные графики [ править ]

Матрица смежности полного графа содержит все единицы, кроме по диагонали, где есть только нули. Матрица смежности пустого графа - это нулевая матрица .

Свойства [ править ]

Спектр [ править ]

Матрица смежности неориентированного простого графа симметрична и, следовательно, имеет полный набор действительных собственных значений и ортогональный базис собственных векторов . Набор собственных значений графа - это спектр графа. [7] Собственные значения принято обозначать как

Наибольшее собственное значение ограничено сверху максимальной степенью. Это можно увидеть как результат теоремы Перрона – Фробениуса , но это легко доказать. Пусть v будет одним собственным вектором, связанным с, а x - компонентом, в котором v имеет максимальное абсолютное значение. Без потери общности предположим, что v x положительно, поскольку в противном случае вы просто берете собственный вектор , также связанный с . потом

Для d -регулярных графов d - первое собственное значение A для вектора v = (1,…, 1) (легко проверить, что это собственное значение, и оно максимальное из-за вышеприведенной оценки). Кратность этого собственного значения - это количество связных компонент G , в частности для связных графов. Можно показать, что для каждого собственного значения его противоположность также является собственным значением A, если G - двудольный граф . [8] В частности, - d является собственным значением двудольных графов.

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

Изоморфизм и инварианты [ править ]

Предположим, что даны два ориентированных или неориентированных графа G 1 и G 2 с матрицами смежности A 1 и A 2 . G 1 и G 2 являются изоморфны тогда и только тогда , когда существует перестановка матрицы P такой , что

В частности, 1 и 2 являются похожи , и , следовательно , имеют тот же минимальный многочлен , характеристический полином , собственные значения, определитель и след . Поэтому они могут служить инвариантами изоморфизма графов. Однако два графа могут иметь одинаковый набор собственных значений, но не быть изоморфными. [9] Такие линейные операторы называются изоспектральными .

Матричные силы [ править ]

Если является матрица смежности направленного или ненаправленного графа G , то матрица п (то есть произведение матриц из п копий А ) имеет интересную интерпретацию: элемент ( я , J ) дает число (направленный или неориентированные) блуждания длины n от вершины i до вершины j . Если n - наименьшее неотрицательное целое число, такое, что для некоторых i , j элемент ( i , j) Из А п положительна, то п есть расстояние между вершиной I и вершиной J . Это подразумевает, например, что число треугольников в неориентированном графе G в точности след от А 3 делится на 6. Матрица смежности может быть использованачтобы определитьли или нет графика подключен .

Структуры данных [ править ]

Матрица смежности может использоваться как структура данных для представления графов в компьютерных программах для управления графами. Основной альтернативной структурой данных, также используемой в этом приложении, является список смежности . [10] [11]

Поскольку каждая запись в матрице смежности требует только одного бита, ее можно представить очень компактно, занимая только | V | 2 /8 байт для представления ориентированного графа, или (с помощью насадочной треугольной формы , и только хранить нижнюю треугольную часть матрицы) приблизительно | V | 2 /16 байты для представления неориентированного графа. Хотя возможны несколько более сжатые представления, этот метод приближается к теоретико-информационной нижней границе минимального числа битов, необходимых для представления всех графов с n вершинами. [12] Для хранения графиков в текстовых файлахможно использовать меньшее количество битов на байт, чтобы гарантировать, что все байты являются текстовыми символами, например, используя представление Base64 . [13] Помимо экономии места, эта компактность способствует локализации ссылок . Однако для большого разреженного графа списки смежности требуют меньше места для хранения, потому что они не тратят впустую пространство для представления ребер, которых нет . [11] [14]

Альтернативная форма матрицы смежности (которая, однако, требует большего пространства) заменяет числа в каждом элементе матрицы указателями на граничные объекты (при наличии ребер) или нулевыми указателями (при отсутствии ребра). [14] Также возможно сохранять веса ребер непосредственно в элементах матрицы смежности. [11]

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

См. Также [ править ]

  • Матрица лапласа
  • Матрица самоподобия

Ссылки [ править ]

  1. ^ Биггс, Норман (1993), алгебраическая теория графов , Кембриджская математическая библиотека (2-е изд.), Cambridge University Press, определение 2.1, стр. 7.
  2. ^ Харари, Frank (1962), "Определитель матрицы смежности графа", SIAM Review , 4 (3): 202-210, Bibcode : 1962SIAMR ... 4..202H , DOI : 10,1137 / 1004057 , MR 0144330 .
  3. Перейти ↑ Seidel, JJ (1968). «Сильно регулярные графы с (-1, 1, 0) матрицей смежности, имеющей собственное значение 3» . Лин. Alg. Appl. 1 (2): 281–298. DOI : 10.1016 / 0024-3795 (68) 90008-6 .
  4. ^ Шум, Кеннет; Блейк, Ян (18 декабря 2003 г.). «Расширительные графики и коды» . Том 68 серии DIMACS по дискретной математике и теоретической информатике . Алгебраическая теория кодирования и теория информации: семинар DIMACS, алгебраическая теория кодирования и теория информации. Американское математическое общество. п. 63.
  5. ^ Боргатти, Стив; Эверетт, Мартин; Джонсон, Джеффри (2018), Анализ социальных сетей (2-е изд.), SAGE, стр. 20
  6. ^ Ньюман, Марк (2018), Сети (2-е изд.), Oxford University Press, стр. 110
  7. Biggs (1993) , глава 2 («Спектр графа»), стр. 7–13.
  8. ^ Brouwer, Andries E .; Хемерс, Виллем Х. (2012), «1.3.6 Двудольные графы» , Спектры графов , Universitext, Нью-Йорк: Springer, стр. 6-7, DOI : 10.1007 / 978-1-4614-1939-6 , ISBN 978-1-4614-1938-9, Руководство по ремонту  2882891
  9. ^ Годсил, Крис ; Ройл, теория алгебраических графов Гордона , Springer (2001), ISBN 0-387-95241-1 , стр.164 
  10. ^ Гудрич и Тамассия (2015) , стр. 361: «Есть две структуры данных, которые люди часто используют для представления графов: список смежности и матрица смежности».
  11. ^ a b c d Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Стейн, Клиффорд (2001), «Раздел 22.1: Представления графов», Введение в алгоритмы (второе издание), MIT Press и McGraw-Hill, стр. 527–531, ISBN 0-262-03293-7.
  12. ^ Туран, Дьёрдите (1984), "О сжатом представлении графов", Дискретная прикладная математика , 8 (3): 289-294, DOI : 10.1016 / 0166-218X (84) 90126-4 , МР 0749658 .
  13. ^ Маккей, Брендан , Описание кодировок graph6 и sparse6.
  14. ^ a b c Гудрич, Майкл Т .; Тамассия, Роберто (2015), Разработка алгоритмов и приложения , Wiley, стр. 363.

Внешние ссылки [ править ]

  • Вайсштейн, Эрик В. "Матрица смежности" . MathWorld .
  • Fluffschack - обучающая веб-игра на Java, демонстрирующая взаимосвязь между матрицами смежности и графами.
  • Структуры открытых данных - Раздел 12.1 - Матрица смежности: представление графа матрицей , Пат Морин
  • Café math: Матрицы  смежности графов : применение матриц смежности к вычислениям, производящим серии прогулок.