Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория языков программирования методов трансляции.-1.pdf
Скачиваний:
13
Добавлен:
05.02.2023
Размер:
1.36 Mб
Скачать

20

1.6. Некоторые понятия теории графов

Ориентированные графы

Определение.

Неупорядоченный ориентированный граф G – это пара (A, R): A – множество элементов, называемых вершинами;

R – отношения на множестве А.

Пример:

G=(A, R), A={1, 2, 3, 4}, R={(1, 1), (1, 2), (2, 3), (2, 4), (3, 4), (4, 1), (4, 3)} (рис. 1.7).

2

1

4

3

Рис. 1.7. Пример ориентированного графа

Пара (a, b) – называется дугой (или ребром) графа G.

Определение.

Пусть G1=(A1, R1) и G2=(A2, R2) - G1 и G2 равные (изоморфные), если существует биективное отображение f:A1®A2 такое, что aR1b тогда и только тогда, когда f(a)R2f(b), т.е. в графе G1 из вершины а в вершину b ведет дуга тогда и только тогда, когда в графе G2 из вершины, соответствующей а, ведет дуга, соответствующая вершине b.

Части вершинам и/или дугам графа иногда приписывают некоторую информацию (разметку). Такие графы называются помеченными.

Определение.

(A, R) – граф. Разметкой графа называется пара функций f и g, где f (разметка вершины) отображает А в некоторое множество, а g (разметка дуг) отображает R в некоторое(возможно отличное от первого) множество.

21

Пусть G1=(А1, R1) и G2=(А2, R2) – равные помеченные графы, если существует такое биективное отображение h: A1,….,An, что:

1)aR1b тогда и только тогда, когда h(a)R2h(b), т.е. графы равны как непомеченные;

2)f1(a)=f2(h(a)), т.е. соответствующие вершины имеют одинаковые метки;

3)g1((a,b))=g2((h(a), h(b))), т.е. соответствующие дуги имеют оди-

наковые метки.

Пример. G1={{a, b, c}{(a, b), (b, c), (c, a)}} и G2={{0, 1, 2}{(1, 0), (2, 1), (0, 2)}} (рис. 1.8).

Разметка графа G1 определяется формулами: f (a) = f1 (b) = x;

f1 (c) = y;

g1 ((a, b)) = g1 ((b, c)) = a;

g1 ((c, a)) = b.

Разметка графа G2 определяется формулами f2 (0) = f2 (2) = x;

f1 (1) = y;

g2 ((0, 2)) = g 2 ((2,1)) = a;

g2 ((1, 0)) = b.

Графы равны.

Определение.

Последовательность вершин (а0, а1, …, аn), n³1 называется путем длины n из вершины а0 в вершину аn , если для каждого 1£ i£ n существует дуга, выходящая из аi-1 и входящая в вершину аi.

Циклом называется путь (а0, а1, …, аn), в котором а0 = аn .

Граф называется сильно связанным, если для двух различных вершин a и b существует путь из а в b.

Степенью по входу вершины а назовем число входящих в нее дуг, степенью по выходу – число выходящих из нее дуг.

 

 

 

22

 

 

x

 

 

y

 

b

 

 

1

a

a

 

b

a

x a

 

c y

x 0

2 x

 

b

 

 

a

Рис. 1.8. Равные помеченные графы

Ориентированные ациклические графы

Ациклическим графом называется граф, не имеющий циклов(рис. 1.9).

Вершина, степень, по входу которой 0, называется базовой. Вершина, степень, по выходу которой0, называется листом (или

концевой вершиной).

Если (a, b) – дуги ациклического графа, то а называется прямым предком b, а b – прямым потомком а.

1

2

3

4

5

6

7

8

9

Рис. 1.9. Пример ациклического графа

Деревья

Определение.

Деревом Т называется ориентированный графG=(A, R) со специальной вершиной rÎA, называемой корнем, у которого:

1)степень по входу r равна 0;

2)степень по входу всех остальных вершин дерева Т равна 1;

23

3) каждая вершина достижима из r.

Определение.

Поддеревом дерева Т=(A, R) называется любое дерево Т¢=(A¢, R¢), у которого (рис. 1.10):

1)A¢ не пусто и содержится в А;

2)R¢=(A¢´ A¢) Ç R;

3)ни одна вершина A - A¢ не является потомком вершины A¢.

1

3

2

3

4

5

6

4

5

6

Рис. 1.10. Примеры дерева

Упорядоченные графы

Упорядоченным графом называется пара (A, R), где А - множество вершин, а R – множество линейно упорядоченных списков дуг, каждый элемент которого имеет вид ((a, b1), (a, b2),…,(a,bn)) (рис. 1.11).

Этот элемент показывает, что из вершины а выходит n дуг, причем первой из них считается дуга, приходящая в b1 , второй - в b2 и т.д.

Разметкой упорядоченного графаG=(A, R) назовем такую пару функций f и g, что:

1)f:A®S для некоторого множества S (f помечает вершины);

2)g отображает R в последовательность символов из некоторого множества Т так, что образом списка ((a, b)). ((a, b)) является последовательность из n символов (помеченные дуги).