Определение сильной связности темпоральных графов
Использование теории графов для представления отношений между элементами сложных структур различной природы. Определение связности темпорального графа. Применение метода Мальгранжа для нахождения максимальных компонент сильной связности четких графов.
Рубрика | Математика |
Вид | статья |
Язык | русский |
Дата добавления | 19.01.2018 |
Размер файла | 102,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ОПРЕДЕЛЕНИЕ СИЛЬНОЙ СВЯЗНОСТИ ТЕМПОРАЛЬНЫХ ГРАФОВ
Л.С. Берштейн
А.В. Боженюк
Технологический институт Южного федерального университета, Таганрог
В данной работе рассмотрена модель темпорального графа, в котором инцидентность вершин и ребер изменяется в дискретном времени. Введены понятия транзитивного, обратного транзитивного замыканий и сильной связности темпорального графа. Рассмотрены методы нахождения транзитивного, обратного транзитивного замыканий и сильной связности темпорального графа.
Традиционно теория графов используется для представления отношений между элементами сложных структур различной природы [Кофман, 1975], [Кристофидес, 1978], [Харари, 1973]. При этом данные отношения между элементами являются постоянными и не меняются во времени. Такие графы в работе [Kostakos, 2008] были названы «статическими». В случае, когда отношения между элементами некоторой структуры изменяются во времени, традиционные «статические» графы неприменимы для их описания и моделирования.
В данной работе рассматривается подход к построению темпорального графа, то есть графовой модели, в которой связи между элементами (вершинами графа) меняются во времени. Необходимо отметить, что само понятие темпорального графа (temporal graph) известно в литературе и трактуется в достаточно широком диапазоне [Baldan et al., 2004], [Barzilay et al., 2002], [Bramsen et al., 2006], [Dittmann et al., 2005].
1. Основные понятия и определения
Темпоральным графом назовем тройку G=(X,{t},T), где X - множество вершин графа c числом вершин |X|=n; T={1,2,…,N} - множество натуральных чисел, определяющих (дискретное) время; {t} - семейство соответствий, или отображений множества вершин X в себя в момент времени tT, т.е. (tT)t: XX. Причем, для различных моментов времени эти отображения, в общем случае, различные: (xX)(t1,t2T| t1t2) [t1(x) t2(x)].
Будем считать, что вершина xj является смежной вершине xi по моменту времени tT, если выполняется условие: xjt(xi); вершина xk достижима из вершины x1, если существует такая последовательность вершин
темпоральный граф связность мальгранж
seq(x1,xk) = (x1,x2,…,xk), (1.1)
что , , …, и при этом выполняется условие:
i1 i2 … ik-1, i1, i2,…, ik-1T.
Иными словами, если в последовательности (1.1) каждая последующая вершина смежна предыдущей по моменту времени не меньшем чем моменты, по которым все предыдущие вершины в этой последовательности являются смежными.
Значение ik-1 назовем временем достижимости вершины xk из вершины x1.
Если существует несколько L последовательностей вида (1.1) из вершины x1 в вершину xk, то значения для каждой последовательности могут быть различными. Наименьшее из них назовем минимальным временем достижимости вершины xk из вершины x1, т.е.:
.
Темпоральный граф G назовем сильно связным, если каждая вершина графа достижима из любой другой вершины за конечное время.
Величину
назовем временем сильной связности темпорального графа G. Иными словами, каждая вершина графа достижима из любой другой вершины за время не более tscon.
Для определения сильной связности темпорального графа и времени сильной связности введем понятия транзитивного и обратного транзитивного замыканий темпорального графа.
Определение 1. Транзитивным замыканием вершины xiX будем называть множество пар:
,
где величина tjT определяет минимальное время, за которое вершина xj достижима из вершины xi. причем, ti=1. Если вершина xj ни за какое время не достижима из вершины xi, то будем полагать, что tj=.
Определение 2. Обратным транзитивным замыканием вершины xiX будем называть множество пар:
,
где величина аналогично транзитивному замыканию, определяет минимальное дискретное время, за которое вершина xi достижима из вершины xj. причем, . Если вершина xi не достижима из вершины xj, то будем полагать, что .
Пример 1. Для темпорального графа G, приведенного на рисунке 1, множества времени T={1,2,3} и вершины x1 транзитивным и обратным транзитивным замыканием являются: и .
Рис. 1. Пример темпорального графа
Для нахождения сильной связности темпорального графа воспользуемся идеей метода Мальгранжа для нахождения максимальных компонент сильной связности четких графов. Для этого берем произвольную вершину и находим для нее транзитивное замыкание и обратное транзитивное замыкание. Затем находим их пересечение , где .
Если время , то исходный темпоральный граф сильно связный, а время сильной связности определится как: .
В противном случае темпоральный граф не является сильно связным.
Так для темпорального графа G, приведенного на рис.1, имеем:
= =.
Отсюда следует, что темпоральный граф G является сильно связанный и время сильной связности равно 2.
2. Нахождение транзитивного замыкания
Обозначим через ij, i,j=1,2,…, n - подмножество моментов времени, когда вершина xi смежна с вершиной xj. По определению будем считать, что ii=T, т.е. вершина смежна сама с собой в любой момент времени.
Рассмотрим подход для нахождения транзитивного замыкания произвольной вершины, например, х1:
Берем вершину х1. Присваиваем ей наименьшее значение времени достижимости «1». Всем вершинам {xj} смежным с вершиной х1 присваиваем время достижимости tj=min{1j}. После этого помечаем вершину х1 как «просмотренную».
Выбираем произвольную вершину xk, помеченную временем tk, и не являющуюся еще просмотренной. Для всех вершин {xj} смежных с вершиной xk вычисляем время t'j следующим образом: если tk>max{kj}, то t'j=; если tkmax{kj}, то определяем наименьшее t'j{kj} так, что бы выполнялось t'j= tk. Если вершина xj еще не просмотренная, и время не было присвоено, то присваиваем ей время tj=t'j; Если вершине xj уже было присвоено некоторое время tj, но t'j<tj, то присваиваем новое время tj=t'j, и кроме того, вершину xj помечаем как непросмотренную. После этого вершину xk, помечаем как просмотренную.
Процесс продолжается до тех пор, пока все вершины, помеченные временем, не станут просмотренными.
В результате каждой просмотренной вершине будет присвоено минимальное время достижимости из вершины х1. Те вершины, которые останутся не помеченными и не просмотренными, не будут достижимыми из вершины х1. Помеченные временем вершины войдут в транзитивное замыкание с соответствующим временем.
Пример 2. Рассмотрим пример нахождения транзитивного замыкания вершины х1 для графа G, приведенного на рисунке 2:
Рис.2. Нахождение транзитивного замыкания вершины х1
- Присваиваем вершине х1 время достижимости «1». Вершине x2 смежной с вершиной х1 присваиваем время достижимости t2=min{1,2}=1. Вершине x4 смежной с вершиной х1 присваиваем время достижимости t4=min{1,3}=1. После этого помечаем вершину х1 как «просмотренную».
- Берем одну из помеченных временем и не просмотренных вершин (x2, x4) - например вершину x2. Вершине x3 смежной с вершиной х2 присваиваем время достижимости t3= 1. После этого помечаем вершину х2 как «просмотренную».
- Далее берем одну из помеченных временем и не просмотренных вершин (x3, x4) - например вершину x3. Вершине x5 смежной с вершиной х2 присваиваем время достижимости t5= 3. После этого помечаем вершину х3 как «просмотренную».
- Берем одну из помеченных временем и не просмотренных вершин (x5, x4) - например вершину x5. Так как (любое) время из множества 56 меньше чем t5, то вершине x6 ничего не присваиваем, а вершину x5 помечаем как просмотренную.
- Берем единственную помеченную временем и не просмотренную вершину x4. Для вершины x5 вычисляем t'5,=2. Так как величина t'5<t5, то вершине x5 присваиваем новое время t5,=2 и помечаем ее как непросмотренную. Вершину x4 помечаем как просмотренную.
- Берем единственную помеченную временем и не просмотренную вершину x5. Для вершины x6 вычисляем t2,=2. Вершину x5 помечаем как просмотренную.
- Берем единственную помеченную временем и не просмотренную вершину x6. Помечаем ее как просмотренную.
- Так как все вершины графа просмотрены, то по помеченным вершинам (входят все вершины множества X) записываем транзитивное замыкание: .
3. Нахождение обратного транзитивного замыкания
Рассмотрим теперь подход для нахождения обратного транзитивного замыкания произвольной вершины, например, х1:
Берем вершину х1. Присваиваем ей значение наименьшего времени достижимости «1». Всем вершинам {xj}, которым вершина х1 является смежной, присваиваем множество пар времени Tj={<tj/tj>}, где tjj1. После этого помечаем вершину х1 как «просмотренную».
Пример 3. Для фрагмента графа, приведенного на рисунке 3, множество пар Tj={<2/2>,<3/3>,<4/4>}.
Рис. 3. Фрагмент графа
Выбираем произвольную вершину xk, помеченную множеством пар Tk, и не являющуюся просмотренной. Всем вершинам {xj}, для которых вершина xk является смежной, вычисляем множество T'j согласно правилам:
Пусть множество пар Tk={<a1/a2>}, а подмножество времени смежности jk={b}. Каждый элемент b сравниваем со всеми вторыми элементами a2.
Если во всех парах множества Tk второй элемент a2>b, то присваиваем T'j=.
Если ba2, то пару <a1/b> записываем в T'j. После этого, все пары в T'j сравниваем между собой. Если существуют две пары <a1/a2> и <a3/a4>, такие, что a1a3 и a2a4, то пару <a1/a2> вычеркиваем из множества T'j.
В таблице 1 приведены примеры нахождения множества T'j:
Табл.1. Примеры нахождения множества T'j
Tk |
jk |
T'j |
|
{<2/2>,<3/3>} |
{4} |
||
{<2/2>,<3/3>,<4/4>} |
{2,3} |
{<2/2>,<3/3>} |
|
{<2/2>,<4/4>} |
{2,3} |
{<2/2>,<4/3>} |
|
{<2/2>,<3/3>,<4/4>} |
{1} |
{<2/1>} |
Количество пар в T'j определяет число моментов времени, когда вершина х1 достижима из xj. Причем, первый элемент пары (a1) определяет само время достижения, а второй элемент (a2) определяет последнее (т.е., наименьшее) время в пути из вершины xj в вершину x1. Естественно, что выполняется неравенство a1a2.
Если вершина xj еще не просмотренная, и множество Tj ей еще не было присвоено, то присваиваем Tj =T'j;
Если вершине xj уже было присвоено множество пар Tj, то производим сравнение Tj T'j и формируем новое множество пар Tjnew.
Рассмотрим правило сравнения множеств Tj и T'j и формирования множества Tjnew:
Пусть множество Tj={<a1/a2>}, а T'j ={<b1/b2>}.
Сформируем вначале Tjnew=Tj={<a1/a2>}. Затем, каждую пару <b1/b2> из T'j сравним с каждой парой <a1/a2> из Tjnew согласно правилу:
- Если a1b1 и a2 b2, то пару <a1/a2> вычеркиваем из множества Tjnew. После этого в любом случае пару <b1/b2> дописываем во множество Tjnew.
Пример 4. Рассмотрим пример формирования множества Tjnew. Пусть множество Tj={<7/3>,<4/2>,<3/1>}, а множество T'j={<3/3>,<2/1>}. Произведя сравнения по рассмотренному правилу, получаем множество Tjnew={<3/3>,<4/2>,<2/1>}.
Если множество Tjnew отличается от старого множества Tj, то вершине xj приписываем новое множество Tj=Tjnew, и кроме того, вершину xj помечаем как непросмотренную. Вершину xk помечаем как просмотренную.
Процесс продолжается до тех пор, пока все вершины, помеченные временем, станут просмотренными.
В результате каждой просмотренной вершине будет присвоено множество пар времени достижимости вершины х1. Наименьший первый элемент пар множества определит минимальное время достижения вершины х1. Те вершины, которые останутся не помеченными и не просмотренными, не будут достижимыми из вершины х1. Помеченные временем вершины войдут в обратное транзитивное замыкание с соответствующим временем.
Пример 5. Рассмотрим пример нахождения обратного транзитивного замыкания вершины х1 для графа G, приведенного на рисунке 2.
Вершине х1 присваиваем значение наименьшего времени достижимости «1». Вершине x2, которой вершина х1 является смежной, присваиваем множество пар времени , а вершине х4 - множество пар . После этого помечаем вершину х1 как «просмотренную» (рис.4).
Рис.4. Нахождение обратного транзитивного замыкания вершины х1
- Выбираем вершину x2, помеченную множеством пар T2 и не являющуюся просмотренной. Для вершины x3, для которой вершина x2 является смежной, вычисляем множество T'3={<2,1>,<4,3>}. Так как вершина x3 не была помечена, то присваиваем T3=T'3={<2,1>,<4,3>} и помечаем ее как помеченную. Аналогично присваиваем вершине x5 множество T5={<2,1>,<4,3>} и x6 множество T6={<2,1>,<4,3>}, помечая их как просмотренные.
- Выбираем помеченную и непросмотренную вершину x4. Для вершины x5 определяем множество T'5={<1,1>}. Далее определяем новое множество T5={<1,1>,<4,3>} и вершину x5 опять помечаем как непросмотренную. Аналогично для вершины x6 находим новое множество T6={<1,1>,<4,3>}. После чего опять помечаем их как просмотренные.
- Так как все вершины графа просмотрены, то по помеченным вершинам (входят все вершины множества X) записываем обратное транзитивное замыкание:
.
Таким образом, рассматриваемый темпоральный граф G является сильно связным, а время сильной связности равно 2.
Благодарности. Работа выполнена при финансовой поддержке РФФИ (проект № 10-01-00029а).
Список литературы
1. Кофман А. Введение в прикладную комбинаторику. - М.: Наука, 1975.
2. Кристофидес Н. Теория графов. Алгоритмический подход. - М.: Мир, 1978.
3. Харари Ф. Теория графов. - М.: Мир, 1973.
4. Baldan P., Corradini A., Konig B. Verifying finite-state graph grammars: An unfolding-based approach. // Proc. of CONCUR'04, vol.3170 of Lecture Notes in Computer Science, Springer, 2004.
5. Barzilay R, Elhadad N., McKeown K. Inferring strategies for sentence ordering in multidocument news summarization. // Journal of Artificial Intelligence Research. 2002. №17.
6. Bramsen P.J. Doing Time: Inducing Temporal Graphs. // Technical report, Massachusetts Institute of Technology, 2006.
7. Dittmann F., Bobda C. Temporal graph placement on mesh-based coarse grain reconfigurable systems using the spectral method // From Specification to Embedded Systems Application. Springer. 2005. №184.
8. Kostakos V. Temporal graphs. // Proc. of Physica A: Statistical Mechanics and its Applications. Vol.388. Issue 6. Elsevier, 2008.
Размещено на Allbest.ru
Подобные документы
Общее понятие, основные свойства и закономерности графов. Задача о Кенигсбергских мостах. Свойства отношения достижимости в графах. Связность и компонента связности графов. Соотношение между количеством вершин связного плоского графа, формула Эйлера.
презентация [150,3 K], добавлен 16.01.2015Спектральная теория графов. Теоремы теории матриц и их применение к исследованию спектров графов. Определение и спектр предфрактального фрактального графов с затравкой регулярной степени. Связи между спектральными и структурными свойствами графов.
дипломная работа [272,5 K], добавлен 05.06.2014Понятие матрицы достижимости и связности. Операция удаления вершины из графа. Алгоритм выделения компонент сильной связности. Разработка и листинг программы на языке Turbo Pascal, осуществляющей вычисление матрицы достижимости по заданному алгоритму.
курсовая работа [584,3 K], добавлен 26.04.2011Основные понятия теории графов. Расстояния в графах, диаметр, радиус и центр. Применение графов в практической деятельности человека. Определение кратчайших маршрутов. Эйлеровы и гамильтоновы графы. Элементы теории графов на факультативных занятиях.
дипломная работа [145,5 K], добавлен 19.07.2011Теория графов как раздел дискретной математики, исследующий свойства конечных множеств с заданными отношениями между их элементами. Основные понятия теории графов. Матрицы смежности и инцидентности и их практическое применение при анализе решений.
реферат [368,2 K], добавлен 13.06.2011История возникновения, основные понятия графа и их пояснение на примере. Графический или геометрический способ задания графов, понятие смежности и инцидентности. Элементы графа: висячая и изолированная вершины. Применение графов в повседневной жизни.
курсовая работа [636,2 K], добавлен 20.12.2015Ориентированные и неориентированные графы: общая характеристика, специальные вершины и ребра, полустепени вершин, матрицы смежности, инцидентности, достижимости, связности. Числовые характеристики каждого графа, обход в глубину и в ширину, базис циклов.
курсовая работа [225,5 K], добавлен 14.05.2012Понятие "граф". Отношения между разнородными элементами. Матричное представление графов. Операции над графами. Маршруты, цепи, циклы. Метрические характеристики графа. Приложение теории графов в различных областях науки и техники. Листинг программы.
курсовая работа [725,8 K], добавлен 15.12.2008Основные понятия теории графов. Степень вершины. Маршруты, цепи, циклы. Связность и свойства ориентированных и плоских графов, алгоритм их распознавания, изоморфизм. Операции над ними. Обзор способов задания графов. Эйлеровый и гамильтоновый циклы.
презентация [430,0 K], добавлен 19.11.2013Восстановление графов по заданным матрицам смежности вершин. Построение для каждого графа матрицы смежности ребер, инцидентности, достижимости, контрдостижимости. Поиск композиции графов. Определение локальных степеней вершин графа. Поиск базы графов.
лабораторная работа [85,5 K], добавлен 09.01.2009