Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Представление алгоритмов взвешенными графами. Основные определения матрицы следования информационного графа. Алгоритмы ее получения



ИГ используются для представления схем алгоритмов, не содержащих логические операторы. ИЛГ – для содержащих.

ИГ и ИЛГ представляются с помощью выражения G = (X, P, D), X –множество вершин i, X={1..m}. Это множество вершин графа, соответствующие множеству операторов параллельного алгоритма. P = {1..Pm} – множество весов вершин графа.

В общем случае Pi – вектор.

Если Pi - скаляр, то рассматривается решение этой задачи на однородной ВС (с одинаковыми процессорами). Тогда Pi – время решения i-ой процедуры.

Если Pi – вектор, предполагается решение этой задачи на неоднородной ВС. И, тогда, если система содержит S разнотипных процессоров, то вектор Pi = { Pi1,…, Pis}, где Pi1,…, Pis – набор времен решения i-ой процедуры на нек-ом типе процессора из множества S.

D – множество дуг гафов. Дуги бывают двух типов: di Є D1, dj Є D2, D = D1 U D2.D1- множество информационных дуг графа. D2 – множество информационно-логических дуг графа.

ИЛ дуги графа исходят из логических блоков графа. И дуги графа исходят из выполняемых блоков графа. Дуги dj нагружены метками True или False.

Граф, содержащий только информационные дуги называется информационным графом.

Аналогично – ИЛГ. ИГ мы также будем называть информационный граф схемы алгоритма, аналогично ИЛГ.

ИГ: ИЛГ:

 
 
 
 
 
(1,3,∞)
(2,1,7)
(1,2,3)
(1,4, ∞)
(1,5,6)
 
 
 
 
 
 
 
 
(1,4, ∞)
 
T
F
 

Нумерация в кружке – имя процедуры (номер вершины). Скобки – вектора весов (тут 3х мерные вектора) Номер позиции – тип процессора. ∞ - на этом процессоре данная процедура не выполняется.

Вычисление матриц следования, расширенных матриц следования и матриц следования с транзитивными связями.

Определение 1. Если в параллельном алгоритме существует связь между операторами α, β и α – исполнительный блок, то в графе G существует дуга di Î D1, исходящая из вершины α и входящая в вершину β. Эту связь будем обозначать α → β.

Определение 2. Если в параллельном алгоритме существует связь между операторами α, β и α – логический блок, то в графе G существует дуга di Î D2, исходящая из вершины α и входящая в вершину β. Эту связь будем обозначать или соответственно и называть связь по управлению.

Связь определяет связь между операторами, если оператор α принимает значение “ TRUE ”, связь - в противном случае.

Связи α → β, , назовём задающими связями.

Определение 3. Путями в графе G назовём последовательности вершин α1,…, αn, такие, что для любой пары вершин αi, αi+1 существует дуга uÎD1 U D2, исходящая из вершины αi и входящая в вершину αi+1.

В графе G нет циклов, поэтому все пути имеют конечную длину. Кроме того, будем считать, что значения логических переменных не связаны друг с другом, поэтому в процессе реализации алгоритма возможен любой из допустимых путей.

Определение 4. Характеристикой пути в графе G назовем количество вершин, входящих в этот путь.

Определение 5. Длиной пути в графе G со скалярными весами вершин назовем сумму весов вершин, составляющих этот путь.

Определение 6. Путь максимальной длины Ткр в графе G со скалярными весами вершин назовем критическим. В одном графе может быть несколько критических путей.

В качестве примера алгоритмов в виде схемы последовательного и параллельного алгоритмов с некоторыми трехмерными весами вершин представлен рис. 3.

 
 
 
 
 
 
 
 
 
T
F
T
F
(3,2,3)
(4,5,6)
(3,∞,1)
(1,1,1)
(2,2,1)
(1,3,3)
(2,1,2)
(1,2,1)
 
 
 
 
 
 
 
 
 
(3,2,3)
(1,3,3)
(4,2,1)
(3,∞,1)
(4,5,6)
(2,1,2)
(1,1,1)
(1,2,1)
(2,2,1)
T
F


Нумерация блоков в последовательном алгоритме дана в соответствии с ярусностью. В качестве формального средства обработки графов введем матрицу следования S. В матрице следования для удобства использования в столбцах помечены значением 1 все выходящие из данной вершины связи, а в строках – все входящие в заданную вершину связи.

Более точное определение матрицы следования заключается в следующем: i –ой вершине графа G ставятся в соответствие i – ые столбец и строка матрицы, если существует связь по управлению , то элемент матрицы равен (i,j) = jT, порождает значение (i,j) = jF, при j → i образуется (i,j) = 1. Остальные элементы матрицы равны 0.

Если мы хотим сказать, что между элементом i и j существует некоторая связь, то будем писать i → j. Для отражения весов вершин вводится понятие расширенной матрицы следования SR: прибавляется дополнительно k столбцов с номерами m+1,…,m+k, где k – размерность вектора весов вершин граф – схемы.





Дата публикования: 2015-02-18; Прочитано: 390 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...