Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Порядковая функция графа



Пусть задан граф G=(X,s), а N0, N1,..., Nr - такие подмножества, что:

N0={xi/xi Î X, s (-1)xi=Æ}

N1={xi/xi Î X-N0, s (-1)xiÌ N0}

N2={xi/xi Î X-(N0 È N1), s (-1)xiÌ (N0 È N1)}

.......................................................

Nr={xi/xi Î X- Nk, s (-1)xiÌ Nk }

Суть задания множеств N0, N1,..., Nr: в множество N0 ни одна дуга не входит. В любое из оставшихся множеств могут входить дуги только из множеств, номера индексов которых меньше номера индекса рассматриваемого множества. Сказанное даёт возможность разбить всё множество вершин графа Х на (r +1) ярусов со связями между ярусами по типу "с предыдущего в последующие".

Графически множества N0, N1,..., Nr могут быть проиллюстрированы так:

Функция О(х), определяемая равенством

(xiÎNk)Þ (O(xi)=k)

называется порядковой функцией графа без контуров.

Пример. Задан граф G.

Множество Х, можно, например, разбить на подмножества N0, N1,..., N3, т.е. задать порядковую функцию следующим образом:

Подмножества N0, N1,..., Nr называются обычно уровнями.

Рассмотрим алгоритм нахождения уровней графа:

1. Задать граф матрицей смежности.

2. Образовать дополнительную к матрице смежности строку l0, в каждой её клетке записать число единиц по соответствующему столбцу матрицы смежности. Вершины графа, соответствующие нулевым клеткам строки l0, образуют подмножество N0.

3. Вычеркнуть из матрицы смежности строки, соответствующие вершинам графа, вошедшим в N0.

4. Образовать дополнительную строку l1, заменив в ней нулевые клетки строки l0 крестиками. В остальные клетки строки l1 вписать число единиц по соответствующему столбцу матрицы смежности графа. Вершины графа, соответствующие нулевым клеткам строки l1, образуют подмножество N1.

5. Процесс образования дополнительных строк li прекратить, когда все строки матрицы смежности будут вычеркнуты.

Пример. Задан граф G (из предыдущего примера).

                 
                 
                 
                 
                 
                 
                 
                 
                                 
l0              

N0={1}

l1 Х            

N1={2,3,4}

l2 Х Х Х Х      

N2={5,6}

l3 Х Х Х Х Х Х  

N3={7}

Примечание: если граф содержит контур, то обязательно появится строка без нулей. Поэтому предложенный алгоритм даёт возможность установить наличие контуров в графе. Петля также определяется как контур.





Дата публикования: 2015-01-13; Прочитано: 737 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...