Алгебра графов — различия между версиями
| Gpevnev (обсуждение | вклад) м | Gpevnev (обсуждение | вклад)  м | ||
| Строка 7: | Строка 7: | ||
| {{Определение | {{Определение | ||
| |definition= | |definition= | ||
| − | '''Одиночный граф''' (англ. ''single graph'') {{---}} [[Основные определения теории графов#Ориентированные графы|граф]] состоящий из одной вершины. Здесь и далее будем обозначать его как просто строчной буквой. То есть <tex> a = \{a, \varnothing \}</tex> | + | '''Одиночный граф''' (англ. ''single graph'') {{---}} [[Основные определения теории графов#Ориентированные графы|граф]] состоящий из одной вершины. Здесь и далее будем обозначать его как просто строчной буквой. То есть <tex> a = \{a, \varnothing \}</tex> или граф содержащий толко одну вершину <tex>a</tex>. | 
| }} | }} | ||
| {{Определение | {{Определение | ||
| Строка 17: | Строка 17: | ||
| }} | }} | ||
| == Cвойства операций ==   | == Cвойства операций ==   | ||
| − | Данные операции обладают следующими свойствами очевидными из определения | + | Данные операции обладают следующими свойствами очевидными из определения. | 
| === Сложение === | === Сложение === | ||
| * Наличие нейтрального элемента | * Наличие нейтрального элемента | ||
Версия 01:03, 19 декабря 2017
Алгебра графов (англ. 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
