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

otvety_na_voprosy / 16.Параллельная форма графа алгоритма

.docx
Скачиваний:
35
Добавлен:
11.04.2015
Размер:
66.15 Кб
Скачать

Алгоритму ставится в соответствие ориентированный, ациклический граф,

например такой:

Рассмотрим пару вершин, u и v. Вершинам соответствуют операции, стрелки

означают передачу аргументов. В нашем примере вершина u поставляет

аргументы вершине v. Граф изображает информационные зависимости алгоритма

при фиксированных входных аргументах, поскольку при других аргументах и граф

может оказаться другим. Такой граф обычно называют графом алгоритма. Если

граф не зависит от входных аргументов, то он детерминированный. Для начала

проще рассматривать именно такой. Можно применять для графа стандартную

символику G = (V,E), где V – множество вершн, а E – множество дуг графа G.

Граф алгоритма удовлетворяет следующему утверждению:

Утверждение 1

Пусть задан ориентированный ациклический граф, имеющий n вершин.

Существует число sn , для которого все вершины графа можно так

пометить одним из индексов 1, 2 ,...,s , что если дуга из вершины с

индексом i идет в вершину с индексом j , то i<j .

Пометить вершины графа можно следующим образом. Выберем в графе любое

количество вершин (не обязательно все), не имеющие предшествующих и пометим

их индексом 1. Удалим из графа помеченные вершины вместе с инцидентными им

дугами и повтрим операцию, пометив индексом 2. И т.д. Пока не будет исчерпан

весь граф. Граф из нашего примера будет помечен следующим образом:

Граф, размеченный в соответствии с утверждением 1, называется строгой

параллельной формой графа. Если все входные вершины находятся в одной группе

и помечены одним индексом, то такая строгая параллельная форма называется

канонической. В приведенном выше примере как раз такой граф, а вот если бы в

группе 2 была бы еще одна входная вершина, соединенная, скажем, с крайней

правой в группе 3, то такой граф не был бы каноническим. Для заданного графа,

его каноническая форма единственная. Группа вершин с одинаковыми индексами

образет ярус параллельной формы, а число вершин в группе назывется шириной

яруса. Число ярусов в параллельной форме называется высотой параллельной

формы, а максимальная ширина ярусов называется шириной параллельной формы.

Если в Утверждении 1 заменить неравенство i<j на менее строгое ij , то

граф, размеченный в соответствии с этим неравенством будет уже обобщенной

параллельной формой, с соответствующими определениями обощенного яруса, его

ширины, и т.п.

Параллельные формы графов алгоритма позволяют понять каков запас

параллелизма в алгоритме и как его лучше реализовать на той или иной

архитектуре компьютера. Между реализациями одного и того же алгоритма на

разных компьютерах и различными параллельными формами этого алгоритма есть

некоторое соответствие, которое формулируется в виде следующего утверждения.