Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТИ_Теоретические основы ИТ_ЛП_ЭИ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.52 Mб
Скачать

Пример выполнения работы.

1. Рассмотрим неориентированный граф, заданный следующим входным файлом. Построим графическое представление графа, определяемого этим файлом.

1 2

1 3

2 3

2 7

2 8

3 4

3 5

4 5

5 6

5 8

6 8

6 7

6 9

7 8

7 9

Так как степени всех вершин графа чётны и граф является связным, то в нём существует эйлеров цикл. Построим его, выбрав начальной вершину 1 и считая записи в списках инцидентности вершин упорядоченными по возрастанию номеров вершин. Построим в соответствии с алгоритмом стеки C и CE. Серым цветом в стеке С выделены вершины, которые были перенесены из стека C в стек CE. Белым цветом с стеке С отмечены вершины, находящиеся с стеке на момент окончания его заполнения. Так как списки всех вершин на этом этапе пусты, то далее все они переносятся в стек CE по механизму стека (в обратном порядке).

8

1

7

2

9

3

6

4

5

5

8

6

2

7

7

2

6

8

3

6

5

9

4

7

1

8

3

5

2

3

1

1

C CE

Таким образом, эйлеров цикл имеет вид:

1  2  3  4  5  6  7  2  8  6  9  7  8  5 

3  1.

2. Определим, является ли граф из задания 1 гамильтоновым. Для этого воспользуемся алгоритмом с возвратом, работу алгоритма проиллюстрируем построением дерева решений. Вершинами данного дерева являются вершины графа, ветвями – просматриваемые варианты пути. Дерево будем заполнять в порядке просмотра вершин алгоритмом, варианты пути заполнять слева направо, т.е. ранее присмотренные варианты путей располагаются левее. Построение дерева закончим, найдя 1 вариант гамильтонова цикла или исчерпав все варианты.

Следовательно, граф является гамильтоновым, а гамильтонов цикл имеет вид: 1  2  7  9  6  8  5  4  3  1.

Контрольные вопросы

  1. Сформулируйте необходимые и достаточные условия существования эйлерова цикла и пути в ориентированном и неориентированных графах.

  2. Объясните основную идею алгоритма построения эйлерова цикла и проиллюстрируйте работу алгоритма на примере.

  3. Что называется гамильтоновым циклом в графе?

  4. Объясните принцип выполнения алгоритмов с возвратом.

  5. Постройте одну ветвь дерева решений построения гамильтонова цикла примера и продемонстрируйте на ней механизм возврата.