Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
discrete_math1.docx
Скачиваний:
332
Добавлен:
30.03.2015
Размер:
1.1 Mб
Скачать

17. Задача о поиске выхода из лабиринта, реберная раскраска графа.

Определение. Графом G называется пара (V, E), где – непустое множество вершин графа, а– множество ребер графа, причем каждое ребро – это неупорядоченная пара различных вершин.

Определение. Говорят, что вершины графа G правильно раскрашены с помощью цветов {c1, c2,…, cr}, если каждой вершине поставлен в соответствие некоторый цвет, причем любым двум смежным вершинам соответствуют разные цвета.

Определение. Реберная раскраска графа называется правильной, если все ребра, инцидентные одной вершине, покрашены в разные цвета.

Задача «поиска выхода из лабиринта».

  • Изобразим модель лабиринта в виде графа.

  • Если мы идем по коридору первый раз, то красим его в зеленый цвет.

  • Когда идем по коридору второй раз, красим его в красный цвет.

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

  • Если из вершины идут несколько коридоров, то выбираем не покрашенный коридор.

  • Когда идем по коридору первый раз, «разматываем нить».

  • Когда идем по коридору второй раз, «наматываем нить».

18. Ориентированные графы, источники и стоки, топологическая сортировка, алгоритм Демукрона.

Определение. Графом G называется пара (V, E), где – непустое множество вершин графа, а– множество ребер графа, причем каждое ребро – это неупорядоченная пара различных вершин.

Определение. Ориентированные графы - графы с ориентированными (имеющими направление) ребрами. У таких графов каждое ребро выходит из его начальной в его конечную вершину и называется дугой. Всякая вершина, в которую не входит ни одна дуга, называется источником, а вершина, из которой нет выходящих дуг – стоком.

Топологической сортировкой ориентированногоn-вершинного графа называется процесс, в результате которого каждой вершине приписывается номер из множества {1, 2, …,n} так, чтобы любая дуга была направлена от вершины с меньшим номером к вершине с бóльшим номером. Известно, что топологическая сортировка возможна лишь в том случае, если граф не содержит ориентированных циклов.

Алгоритм Демукрона для топологической сортировки графа.В этом алгоритме циклически повторяется одно и то же действие: в текущем графе находят источники, нумеруют их минимальными числами из текущего множества и затем удаляют их вместе с выходящими из них дугами. В начальный момент текущий граф – это исходный граф, а текущее множество – это множество {1, 2, …,n}. Алгоритм завершает работу, как только все вершины исходного графа окажутся пронумерованными.

19. Составление расписания выполнения комплекса работ в кратчайшие сроки методами теории графов.

Определение. Графом G называется пара (V, E), где – непустое множество вершин графа, а– множество ребер графа, причем каждое ребро – это неупорядоченная пара различных вершин.

Определение. Ориентированные графы - графы с ориентированными (имеющими направление) ребрами. У таких графов каждое ребро выходит из его начальной в его конечную вершину и называется дугой. Всякая вершина, в которую не входит ни одна дуга, называется источником, а вершина, из которой нет выходящих дуг – стоком.

Процесс

Предш. процессы

Длительность процесса (час)

A

F

2

B

D

8

C

B

2

D

4

E

C, G

5

F

B

4

G

B

3

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

Указанные процессы можно выполнять последовательно с соблюдением очередности. Она устанавливается с помощью топологической сортировки ориентированного графа, соответствующего данному комплексу процессов.

Используя алгоритм Демукрона, получаем следующий порядок выполнения процессов: D,B,C,F,G,A,E. Очевидно, что для выполнения всех процессов в указанном порядке потребуется ровно 28 часов. Однако за счет параллельного выполнения некоторых процессов можно добиться значительного сокращения этого срока. Для этого нужно, чтобы каждый исполнитель приступал к выполнению своего процесса сразу, как только появится такая возможность, т.е. как только завершится выполнение предшествующих процессов.

Если моменты начала и окончания каждого процесса будут такими, как указано в таблице, то выполнение всего комплекса процессов завершится за 20 часов. Нетрудно убедиться, что указанные в таблице моменты начала и окончания процессов не нарушают отношение предшествования между ними, заданное в условии задачи.

Процесс

Момент начала

Момент окончания

D

0

4

B

4

12

C

12

14

F

12

16

G

12

15

A

16

18

E

15

20

Покажем, что 20 часов – это минимально возможный срок для выполнения всего комплекса процессов. Действительно, процессы D,B,GиEявляются «критическими», т.к. они жестко связаны отношением предшествования и поэтому не могут выполняться параллельно. Указанные процессы должны выполняться последовательно и только в указанном порядке. С другой стороны, суммарная их длительность составляет 20 часов. Следовательно, никакой другой порядок выполнения процессов, кроме указанного в таблице, не сможет обеспечить завершение всех процессов в более короткие сроки.

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