Алгебра графов — различия между версиями
Gpevnev (обсуждение | вклад) (Новая страница: «'''Алгебра графов''' (англ. ''Graph algebra'') {{---}} способ построить на пространстве [[Основные опре...») |
Gpevnev (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
− | '''Алгебра графов''' (англ. ''Graph algebra'') {{---}} способ построить на пространстве [[Основные определения теории графов#Ориентированные графы | ориентированных графов]] алгебраическую структуру. Впервые такая возможность была продемонстрирована McNulty и George F. [https://www.researchgate.net/publication/225490641_Inherently_nonfinitely_based_finite_algebras | + | '''Алгебра графов''' (англ. ''Graph algebra'') {{---}} способ построить на пространстве [[Основные определения теории графов#Ориентированные графы | ориентированных графов]] алгебраическую структуру. Впервые такая возможность была продемонстрирована McNulty и George F. в 1983 году.<ref>[https://www.researchgate.net/publication/225490641_Inherently_nonfinitely_based_finite_algebras 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.]</ref> |
== Основные определения == | == Основные определения == | ||
{{Определение | {{Определение | ||
Строка 88: | Строка 88: | ||
Дело в том, что способ представления в виде списка смежности либо матрицы смежности, широко используемых в императивных программах, оказался очень тяжело применим в функциональной среде. Компилятор при представлении графа в виде списка не может проверить, ни его корректность в приныпе, ни корректность совершения некоторой операции над ним. Но если представить граф в виде последовательных операций из просевших графов, то почти все проблемы связанные с построением графа и проверкой его корректности устраняются. | Дело в том, что способ представления в виде списка смежности либо матрицы смежности, широко используемых в императивных программах, оказался очень тяжело применим в функциональной среде. Компилятор при представлении графа в виде списка не может проверить, ни его корректность в приныпе, ни корректность совершения некоторой операции над ним. Но если представить граф в виде последовательных операций из просевших графов, то почти все проблемы связанные с построением графа и проверкой его корректности устраняются. | ||
− | Подробная реализация на языке Haskell может быть [https://blogs.ncl.ac.uk/andreymokhov/an-algebra-of-graphs/ | + | Подробная реализация на языке Haskell может быть найдена в этой статье.<ref>[https://blogs.ncl.ac.uk/andreymokhov/an-algebra-of-graphs/ An algebra of graphs {{---}} "no time" Andrey Mokhov's blog]</ref> |
== См. также == | == См. также == | ||
* [[Основные определения теории графов]] | * [[Основные определения теории графов]] | ||
+ | |||
+ | ==Примечания== | ||
+ | |||
+ | <references /> | ||
+ | |||
== Источники информации == | == Источники информации == | ||
* [https://www.researchgate.net/publication/225490641_Inherently_nonfinitely_based_finite_algebras 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 ] | * [https://www.researchgate.net/publication/225490641_Inherently_nonfinitely_based_finite_algebras 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 ] |
Версия 12:44, 18 декабря 2017
Алгебра графов (англ. Graph algebra) — способ построить на пространстве ориентированных графов алгебраическую структуру. Впервые такая возможность была продемонстрирована McNulty и George F. в 1983 году.[1]
Содержание
Основные определения
Определение: |
Пустой граф (англ. empty graph) — граф в котором нет вершин и ребер. Здесь и далее будем обозначать его как . То есть . |
Определение: |
Одиночный граф (англ. singleton graph) — граф состоящий из одной вершины. Здесь и далее будем обозначать его как просто строчной буквой. То есть |
Определение: |
Алгеброй графов (англ. algebra of graphs) называется множество ориентированных графов с двумя определенными на нем операциями.
Пусть и . Тогда
|
Утверждение: |
Любой граф можно представить в виде последовательности применения операций сложения и соединения. |
Действительно, |
Cвойства операций
Данные операции обладают следующими свойствами очевидными из определения
Сложение
- Наличие нейтрального элемента
Утверждение: |
- Коммутативность:
Утверждение: |
- Aссоциативность:
Утверждение: |
Соединение
- Наличие левого и правого нейтральных элементов:
Утверждение: |
- Ассоциативность:
Утверждение: |
Левая часть:
Правая часть: |
Другие свойства
- Левая и правая дистрибутивность:
Утверждение: |
Левая часть:
Правая часть: Правая дистрибутивность доказывается аналогично. |
- Декомпозиция:
Утверждение: |
Левая часть:
Правая часть: |
Применения
Построение графов в функциональных языках
Построенная нами алгебраическая структура очень полезна для использования в функциональных языках программирования. До введения понятия алгебры графов работа с ними в функциональных языках была очень неудобна и часто порождало ошибки.
Дело в том, что способ представления в виде списка смежности либо матрицы смежности, широко используемых в императивных программах, оказался очень тяжело применим в функциональной среде. Компилятор при представлении графа в виде списка не может проверить, ни его корректность в приныпе, ни корректность совершения некоторой операции над ним. Но если представить граф в виде последовательных операций из просевших графов, то почти все проблемы связанные с построением графа и проверкой его корректности устраняются.
Подробная реализация на языке Haskell может быть найдена в этой статье.[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