Русская Википедия:Граф-схема алгоритма

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Файл:Waiting.vertex.png
Ждущая вершина алгоритма

Граф-схема алгоритма (ГСА) — конечный связный ориентированный граф <math>G=\left \langle A, V \right \rangle</math>, вершины которого <math>a_i \in A, i=\overline{1, N}</math> соответствуют операторам, а дуги <math>v_k = \left ( a_i, a_j \right ) \in V, k = \overline{1, M}, i,j = \overline{1, N}</math> задают порядок следования вершин (операторов) алгоритма, где <math>N = \left | A \right|</math> — число вершин графа, <math>M = \left | V \right |</math> — число дуг. В более широком смысле вершинам графа соответствуют не только операторные вершины, но и условные, начальная и конечная вершины и т. д. При рассмотрении параллельных алгоритмов вводится понятие параллельной граф-схемы алгоритма (ПарГСА), в состав которой входят вершины распараллеливания/синхронизации, функциональность которых обычно совмещается. Иногда[1][2][3] в состав ГСА вводятся вершины дополнительных типов: объединения альтернативных дуг (парная вершина для условной вершины), фиктивные операторные вершины, вершины маркировки (с целью обеспечения возможности моделирования выполнения алгоритма сетью Петри), ждущие вершины.

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

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

См. также

Примечания

Шаблон:Примечания

Ссылки

  • Баранов С. И. Синтез микропрограммных автоматов (граф-схемы и автоматы). Л.: Энергия, 1979. 232 с.
  • Лазарев В. Г., Пийль Е. И. Синтез управляющих автоматов. М.: Энергоатомиздат, 1989. 328 с.
  • Автоматное управление асинхронными процессами в ЭВМ и дискретных системах. Под ред. В. И. Варшавского. М.: Наука, 1986. 400 с.
  • Гост

  1. 1,0 1,1 Шаблон:Cite web
  2. Зотов И. В., Титов В. С., Колосков В. А. [и др.] Организация и синтез микропрограммных мультимикроконтроллеров. Курск: изд-во «Курск», 1999. 368 с. ISBN 5-7277-0253-4
  3. 3,0 3,1 Ватутин Э. И., Зотов И. В., Титов В. С. [и др.] Комбинаторно-логические задачи синтеза разбиений параллельных алгоритмов логического управления при проектировании логических мультиконтроллеров. Курск, изд-во КурскГТУ, 2010. 200 с. ISBN 978-5-7681-0523-5
  4. Шаблон:Статья
  5. Шаблон:Cite web