Граф-схема алгоритма

15.11.2021

Граф-схема алгоритма (ГСА) — конечный связный ориентированный граф G = ⟨ A , V ⟩ {displaystyle G=leftlangle A,V ight angle } , вершины которого a i ∈ A , i = 1 , N ¯ {displaystyle a_{i}in A,i={overline {1,N}}} соответствуют операторам, а дуги v k = ( a i , a j ) ∈ V , k = 1 , M ¯ , i , j = 1 , N ¯ {displaystyle v_{k}=left(a_{i},a_{j} ight)in V,k={overline {1,M}},i,j={overline {1,N}}} задают порядок следования вершин (операторов) алгоритма, где N = | A | {displaystyle N=left|A ight|} — число вершин графа, M = | V | {displaystyle M=left|V ight|} — число дуг. В более широком смысле вершинам графа соответствуют не только операторные вершины, но и условные, начальная и конечная вершины и т. д. При рассмотрении параллельных алгоритмов вводится понятие параллельной граф-схемы алгоритма (ПарГСА), в состав которой входят вершины распараллеливания/синхронизации, функциональность которых обычно совмещается. Иногда в состав ГСА вводятся вершины дополнительных типов: объединения альтернативных дуг (парная вершина для условной вершины), фиктивные операторные вершины, вершины маркировки (с целью обеспечения возможности моделирования выполнения алгоритма сетью Петри), ждущие вершины.

Однако не любой ориентированный граф, составленный из вершин указанных выше типов, может быть отождествлен с корректным алгоритмом. Например, из операторной вершины не может выходить более одной дуги. Поэтому на практике обычно ограничиваются рассмотрением подкласса граф-схем алгоритмов, удовлетворяющих свойствам безопасности, живости и устойчивости. Алгоритмы преобразования ГСА, являющиеся подмножеством алгоритмов обработки графов общего вида, зачастую имеют существенные отличия ввиду использования особых свойств ГСА, что позволяет их упрощение, снижение временной или ёмкостной сложности.

В составе граф-схемы алгоритма могут быть выделены более крупные элементы, представленные подмножествами её вершин и дуг: ветви (линейные цепочки или участки вершин) и фрагменты (начальный, параллельный, альтернативный, циклические с пред-, постусловием и прерыванием). Эквивалентным представлением граф-схемы корректного алгоритма является дерево фрагментов, отражающее порядок вложенности фрагментов.