Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1237

.pdf
Скачиваний:
3
Добавлен:
15.11.2022
Размер:
12.77 Mб
Скачать

3. ПЕРЕЧИСЛЕНИЕ ДЕРЕВЬЕВ. КОД ПРЮФЕРА

Перечисление так называемых помеченных деревьев (каждая вершина имеет свой номер) осуществляется с помощью кодирования их кодом Прюфера, названного в честь немецкого математика Хайн-

ца Прюфера, работавшего в теории абелевых

 

групп, алгебраической теории чисел, теории

 

графов и др.

 

Кодирование Прюфера задаёт биекцию

 

(взаимно-однозначное отображение) между

 

множествами помеченных деревьев с n вер-

 

шинами и последовательностями длиной

 

n –2 из чисел от 1 до n – 2.

 

Рассмотрим алгоритм кодирования на

 

примерах [11].

Хайнц Прюфер

Дано: дерево с n вершинами – поме-

ченное дерево, каждая вершина имеет свой

(нем. Ernst Paul Heinz

номер.

Prüfer, 1896–1934)

 

Требуется получить: код Прюфера длиной n – 2.

Алгоритм кодирования и декодирования рассмотрим на примерах.

Пример кодирования. Построить код Прюфера по дереву

(рис. 3.1).

Рис. 3.1. Помеченное дерево с n = 8

1. Выбираем лист с наименьшим номером: v = 1, сосед: 3. Получаем код (3). Удаляем («отключаем») лист 1 (рис. 3.2).

61

Рис. 3.2. Первый шаг алгоритма кодирования

2. Остался лист с наименьшим номером: v = 2, сосед: 3. Полу-

чаем код (3, 3) (рис. 3.3).

Рис. 3.3. Второй шаг алгоритма кодирования

3. Теперь лист с наименьшим номером: v = 3, сосед: 4. Получим код (3, 3, 4 (рис. 3.4).

Рис. 3.4. Третий шаг алгоритма кодирования

4. Лист с наименьшим номером: v = 7, сосед: 5. Код (3, 3, 4, 5) (рис. 3.5).

62

Рис. 3.5. Четвёртый шаг алгоритма кодирования

5. Лист с наименьшим номером: v = 5, сосед: 4. Код (3, 3, 4, 5, 4) (рис. 3.6).

Рис. 3.6. Пятый шаг алгоритма кодирования

6. Лист с наименьшим номером: v = 4, сосед: 6. Код (3, 3, 4, 5, 4, 6) (рис. 3.7).

Рис. 3.7. Шестой шаг алгоритма кодирования

Остаются две вершины 6 и 8, соединенные ребром. Искомым кодом Прюфера для заданного дерева будет (3, 3, 4, 5, 4, 6).

Пример декодирования. Построить дерево по коду Прюфера

(3, 3, 4, 5, 4, 6):

63

1. Записываем код Прюфера P = (3, 3, 4, 5, 4, 6) и множество вершин V = (1, 2, 3, 4, 5, 6, 7, 8). v = 1, добавляем ребро (1, 3) (рис. 3.8).

Рис. 3.8. Первый шаг декодирования

2. P = (3, 4, 5, 4, 6), V = (2, 3, 4, 5, 6, 7, 8). v = 2, добавляем ребра (2, 3) (рис. 3.9).

Рис. 3.9. Второй шаг декодирования

3. P = (4, 5, 4, 6), V = (3, 4, 5, 6, 7, 8). v = 3, добавляем ребра (3, 4) (рис. 3.10).

Рис. 3.10. Третий шаг декодирования

64

4. P = (5, 4, 6), V = (4, 5, 6, 7, 8). v = 7, добавляем ребра (7, 5) (рис. 3.11).

Рис. 3.11. Четвёртый шаг декодирования

5. P = (4, 6), V = (4, 5, 6, 8). v = 5, добавляем ребра (5, 4) (рис. 3.12).

Рис. 3.12. Пятый шаг декодирования

6. P = (6), V = (4, 6, 8). v = 4, добавляем ребра (4, 6) (рис. 3.14).

Рис. 3.13. Шестой шаг декодирования

7. V = (6, 8). V состоит из двух вершин, добавляем ребра (6, 8) (рис. 3.14).

Рис. 3.14. Седьмой шаг декодирования

65

Итак, получили дерево (рис. 3.15).

Рис. 3.15. Результат декодирования

Результат декодирования совпадает с рис. 3.1.

С помощью кода Прюфера можно, например, кодировать информацию, представленную не просто строками – цепочками символов, а деревьями (описывающими файловую структуру, молекулы и пр.), что может рассматриваться как своего рода «двухмерные цепочки», без циклов. А можно и матрицу смежности дерева кодировать!

Полученный по дереву код Р можно ещё раз закодировать, например, так, как описано в [3, 4] и уже передавать получателю.

66

Марков Андрей Андреевич
(1856–1922)

4. ГРАФ МАРКОВСКОЙ ЦЕПИ

Марковская цепь – последовательность случайных событий с дискретным – конечным (или с чётным) числом исходов, изображаемая ориентированным графом, нагруженным вероятностями или интенсивностями переходов из состояния в состояние. Названа в честь выдающегося российского математика А.А. Маркова старшего.

Марков, Андрей Андреевич – выдающийся русский математик, внёсший большой вклад в теорию вероятности, математический анализ и теорию чисел. Отец другого выдающегося российского математика А.А. Маркова младшего.

Если в марковской цепи существует предельное распределение вероятностей

при числе дискретных шагов n ∞, не зависящее от начального состояния, то это определяет установившийся режим системы. Такая система называется статически устойчивой, а марковский процесс – эргодическим. Переход к эргодическому процессу – переходный процесс. Используются в динамических моделях надежности систем.

Для описания и анализа графов марковских цепей используются уравнения Колмогорова – Чепмена.

А.Н. Колмогоров

Сидни Чепмен (Sydney Chapman,

(1903–1987)

1888–1970)

67

Колмогоров Андрей Николаевич – советский математик, академик, один из крупнейших математиков ХХ века.

Сидни Чепмен – английский математик, геофизик и астроном. Рассмотрим пример. Определить коэффициент готовности ап-

паратуры системы охраны, если она состоит из двух блоков, соединённых последовательно, параметр потока отказов блока w = 0,01,

параметр потока восстановления блока µ =1. Ремонт осуществля-

ет один ремонтник [12].

Построим граф переходов системы (рис. 4.1), где 0 – состояние работоспособности (оба блока исправны); 1 – отказал любой из двух блоков (отказ системы); 2 – отказали оба блока (отказ системы.)

Рис. 4.1. Граф марковской цепи – граф переходов аппаратуры системы охраны

Получим по этому графу марковской цепи систему дифференциальных уравнений (Колмогорова–Чепмена):

P0(t) = −2wP0 (t) P1 (t),

P1(t) = 2wP0 (t) (w )P1(t) P2 (t),P2(t) = wP1(t) −µP2 (t).

Решение будем искать для установившегося режима, тогда получаем алгебраические уравнения:

Pi(t) =0, а P0 + P1 + P2 =1:

68

0 = −2wP0 P1,

0 = 2wP0 (w )P1 P2 ,

0 = wP1 −µP2 ,1 = P0 + P1 + P2 .

Из первого уравнения

P0 = 2µw P1.

Из третьего уравнения

P1 = wµ P2.

Тогда

P0 = µ22 P2.

2w

Подставляя эти значения в четвёртое уравнение, получаем

µ2

 

P +

µ

 

P

+ P =1,

2w2

 

 

2

w 2

2

 

 

P2 =

 

 

 

2w2

 

 

 

,

 

µ2 +2wµ+2w2

P0 =

 

 

 

µ2

 

,

 

µ2 +2wµ+2w2

 

KГ = P0 ,

 

KГ =

1

=0,98.

1+2 102 +2 104

Решим систему алгебраических уравнений, описывающих граф марковской цепи, в СКМ «Маткад».

69

Рис. 4.2. Решение в СКМ Маткад

Берём два первых уравнения + последнее (три уравнения, три неизвестных) (рис. 4.2).

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]