Алгебра графов
НЕТ ВОЙНЕ |
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Алгебра графов (англ. algebra of graphs) — способ построить на пространстве ориентированных графов алгебраическую структуру. Впервые такая возможность была продемонстрирована McNulty и George F. в 1983 году.[1]
Содержание
Основные определения
Определение: |
Пустой граф (англ. empty graph) — граф в котором нет вершин и ребер. Здесь и далее будем обозначать его как . То есть . |
Определение: |
Одиночный граф (англ. single graph) — граф состоящий из одной вершины. Здесь и далее для удобства будем обозначать и одиночный граф и множество его вершин одной буквой. Например, — граф содержащий толко одну вершину . |
Определение: |
Алгеброй графов (англ. algebra of graphs) называется множество ориентированных графов с двумя определенными на нем операциями.
Пусть и . Тогда
|
Cвойства операций
Данные операции обладают следующими свойствами очевидными из определения.
Сложение
- Наличие нейтрального элемента
Утверждение: |
- Коммутативность:
Утверждение: |
- Aссоциативность:
Утверждение: |
Соединение
- Наличие левого и правого нейтральных элементов:
Утверждение: |
- Ассоциативность:
Утверждение: |
Левая часть:
Правая часть: |
Другие свойства
- Левая и правая дистрибутивность:
Утверждение: |
Левая часть:
Правая часть: Правая дистрибутивность доказывается аналогично. |
- Декомпозиция:
Утверждение: |
Левая часть:
Правая часть: |
Утверждение: |
Любой граф можно представить в виде композиции сложений и соединений. |
Действительно, | , где это послeдовательное применение операции сложения графов.
Построение графов в функциональных языках
Построенная нами алгебраическая структура очень полезна для использования в функциональных языках программирования. До введения понятия алгебры графов работа с ними в функциональных языках была очень неудобна и часто порождало ошибки.
Дело в том, что способ представления в виде списка смежности либо матрицы смежности, широко используемых в императивных программах, оказался очень тяжело применим в функциональной среде. Компилятор при представлении графа в виде списка не может проверить, ни его корректность в принципе, ни корректность совершения некоторой операции над ним. Но если представить граф в виде последовательности операций из простейших графов, то почти все проблемы, связанные с построением графа и проверкой его корректности, устраняются.
Подробная реализация на языке [2].
См. также
Примечания
Источники информации
- McNulty, George F.; Shallon, Caroline R. (1983), "Inherently nonfinitely based finite algebras", Universal algebra and lattice theory (Puebla, 1982), Lecture Notes in Math., 1004, Berlin, New York: Springer-Verlag, pp. 206–231
- Algebra of Parameterised Graphs — Andrey Mokhov, Victor Khomenko, Newcastle University UK, ACM Transactions on Embedded Computing Systems, Vol. 1, No. 1, Article 1, Publication date: January 2014 .
- An algebra of graphs — "no time" Andrey Mokhov's blog
- Graphs à la carte — "no time" Andrey Mokhov's blog