Блог пользователя Fefer_Ivan

Автор Fefer_Ivan, 14 лет назад, По-русски

Матрица инцидентности или матрица инциденций - это один из способов задания графа.

Это матрици размера n· m, - где n - количество вершин, а m - количество ребер.

В позиции (i, j) стоит 1 если i-я вершина является началом дуги j, -1 если i-я вершина является концом дуги j и 0 в всех остальных случаях. 

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

Знаете ли вы какое-нибудь применение этой матрицы, не обязательно в написании задач, а, например, в доказательстве какой-нибудь теоремы?

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

14 лет назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится
Теорема Кирхгофа же
upd: а, тоже подумал про матрицу смежности
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Если рёбер сильно меньше, чем вершин — вероятно, эта структура не так уж плоха ;) ...
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Мне кажется, что наоборот, если ребер порядка квадрата вершин. Ведь с использованием матрицы обход всех смежных вершин будет за О(V), что в сумме для всех вершин будет O(V^2), а если хранить граф списком смежности, то обход всех смежных для всех вершин будет за O(E).
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Непонятно. В матрице инцидентности найти все вершины, смежные с данной, можно, лишь найдя все рёбра, смежные с данной вершиной, а это делается за O (E).
      • 14 лет назад, # ^ |
          Проголосовать: нравится +8 Проголосовать: не нравится
        Прошу прощения, читал невнимательно. Мне показалось что имеется ввиду матрица смежности.
14 лет назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

http://www.intuit.ru/department/algorithms/algoconstran/1/

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

PS На мой взгляд на практике такая структура редко применима, но весьма интересна с математической точки зрения.

14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Извиняюсь, читал невнимательно. Просто не ожидал, что это настойчиво употребляется в разной литературе. А можно хотя бы одну книжку, где это описано?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Унимодулярные матрицы в теории целочисленного программирования много где используются. В частности, матрицы инцидентности таковыми являются.