Циклический участок: различия между версиями
Glk (обсуждение | вклад)  (Создана новая страница размером '''Циклический участок''' (''Loop region'') -  конструкция, позволяющая на основе анал...)  | 
				KEV (обсуждение | вклад)  Нет описания правки  | 
				||
| Строка 1: | Строка 1: | ||
'''Циклический участок''' (''Loop region'') -    | '''Циклический участок''' (''[[Loop region]]'') -    | ||
конструкция, позволяющая на основе анализа ''уграфа'' с  | конструкция, позволяющая на основе анализа ''[[уграф|уграфа]]'' с  | ||
<math>n</math> вершинами и <math>m</math> дугами за время <math>O(nm)</math> выявлять  | <math>n</math> [[вершина|вершинами]] и <math>m</math> [[дуга|дугами]] за время <math>O(nm)</math> выявлять циклическую структуру [[алгоритм|алгоритма]] и находить отношения частот  | ||
циклическую структуру алгоритма и находить отношения частот  | |||
выполнения между всеми подмножествами его элементов, которые  | выполнения между всеми подмножествами его элементов, которые  | ||
не противоречат ''достоверным отношениям частот выполнения'', если уграф <math>G</math> алгоритма является ''регуляризуемым''.  | не противоречат ''достоверным отношениям частот выполнения'', если уграф <math>G</math> алгоритма является ''[[регуляризуемый граф|регуляризуемым]]''.  | ||
Пусть <math>G_0=G, G_1, \ldots, G_r</math>   | Пусть <math>G_0=G, G_1, \ldots, G_r</math> - такая последовательность  | ||
уграфов, в которой только <math>G_r</math> не содержит нетривиальных  | уграфов, в которой только <math>G_r</math> не содержит нетривиальных  | ||
''бикомпонент'', и для любого <math>i</math> уграф <math>G_i</math> получается  | ''[[бикомпонента|бикомпонент]]'', и для любого <math>i</math> уграф <math>G_i</math> получается  | ||
из <math>G_{i-1}</math> удалением в каждой нетривиальной бикомпоненте  | из <math>G_{i-1}</math> удалением в каждой нетривиальной бикомпоненте  | ||
<math>C</math> уграфа <math>G_{i-1}</math> всех дуг, заходящих в один из ее    | <math>C</math> уграфа <math>G_{i-1}</math> всех дуг, заходящих в один из ее    | ||
''входов''. Эту ''входную вершину'' бикомпоненты <math>C</math> называют  | ''[[вход|входов]]''. Эту ''[[входная вершина подграфа|входную вершину]]'' бикомпоненты <math>C</math> называют ее ''[[голова|головой]]'', а удаленные дуги - ''[[дуга повторения уровня i|дугами повторения уровня <math>i</math>]]''.  | ||
ее ''головой'', а удаленные дуги   | |||
Пусть <math>I_i</math> обозначает множество  | Пусть <math>I_i</math> обозначает множество  | ||
всех дуг повторения уровня <math>i</math>.  | всех дуг повторения уровня <math>i</math>.  | ||
Части схемы <math>G</math>, называемые ее  | Части схемы <math>G</math>, называемые ее  | ||
'''  | '''циклическими участками''',  | ||
определяются по следующим двум правилам:  | определяются по следующим двум правилам:  | ||
1) '''  | 1) '''Циклический участок''' нулевого уровня в уграфе <math>G</math> один; он состоит  | ||
из всех тех вершин и дуг, которые принадлежат путям по <math>G_r</math>  | из всех тех вершин и дуг, которые принадлежат [[путь|путям]] по <math>G_r</math>  | ||
от <math>p_0</math> к <math>q_0</math>, и имеет ''головой'' вершину <math>p_0</math>;  | от <math>p_0</math> к <math>q_0</math>, и имеет ''головой'' вершину <math>p_0</math>;  | ||
2) пусть для некоторого <math>i</math>, <math>i>0</math>, <math>C</math>   | 2) пусть для некоторого <math>i</math>, <math>i>0</math>, <math>C</math> - бикомпонента схемы  | ||
<math>G_{i-1}</math> с головой <math>p</math>, тогда в <math>G</math> имеется циклический  | <math>G_{i-1}</math> с головой <math>p</math>, тогда в <math>G</math> имеется циклический  | ||
участок уровня <math>i</math> с головой <math>p</math>; он состоит из всех тех  | участок уровня <math>i</math> с головой <math>p</math>; он состоит из всех тех  | ||
| Строка 29: | Строка 27: | ||
из <math>C</math> удалением всех дуг повторения уровня <math>j>i</math>.  | из <math>C</math> удалением всех дуг повторения уровня <math>j>i</math>.  | ||
См. также ''Участок повторяемости.''  | ==См. также ==  | ||
''[[Участок повторяемости]].''  | |||
==Литература==  | ==Литература==  | ||
[Касьянов/88]  | [Касьянов/88]  | ||
Версия от 06:59, 7 мая 2010
Циклический участок (Loop region) - конструкция, позволяющая на основе анализа уграфа с [math]\displaystyle{ n }[/math] вершинами и [math]\displaystyle{ m }[/math] дугами за время [math]\displaystyle{ O(nm) }[/math] выявлять циклическую структуру алгоритма и находить отношения частот выполнения между всеми подмножествами его элементов, которые не противоречат достоверным отношениям частот выполнения, если уграф [math]\displaystyle{ G }[/math] алгоритма является регуляризуемым.
Пусть [math]\displaystyle{ G_0=G, G_1, \ldots, G_r }[/math] - такая последовательность уграфов, в которой только [math]\displaystyle{ G_r }[/math] не содержит нетривиальных бикомпонент, и для любого [math]\displaystyle{ i }[/math] уграф [math]\displaystyle{ G_i }[/math] получается из [math]\displaystyle{ G_{i-1} }[/math] удалением в каждой нетривиальной бикомпоненте [math]\displaystyle{ C }[/math] уграфа [math]\displaystyle{ G_{i-1} }[/math] всех дуг, заходящих в один из ее входов. Эту входную вершину бикомпоненты [math]\displaystyle{ C }[/math] называют ее головой, а удаленные дуги - дугами повторения уровня [math]\displaystyle{ i }[/math]. Пусть [math]\displaystyle{ I_i }[/math] обозначает множество всех дуг повторения уровня [math]\displaystyle{ i }[/math]. Части схемы [math]\displaystyle{ G }[/math], называемые ее циклическими участками, определяются по следующим двум правилам:
1) Циклический участок нулевого уровня в уграфе [math]\displaystyle{ G }[/math] один; он состоит из всех тех вершин и дуг, которые принадлежат путям по [math]\displaystyle{ G_r }[/math] от [math]\displaystyle{ p_0 }[/math] к [math]\displaystyle{ q_0 }[/math], и имеет головой вершину [math]\displaystyle{ p_0 }[/math];
2) пусть для некоторого [math]\displaystyle{ i }[/math], [math]\displaystyle{ i\gt 0 }[/math], [math]\displaystyle{ C }[/math] - бикомпонента схемы [math]\displaystyle{ G_{i-1} }[/math] с головой [math]\displaystyle{ p }[/math], тогда в [math]\displaystyle{ G }[/math] имеется циклический участок уровня [math]\displaystyle{ i }[/math] с головой [math]\displaystyle{ p }[/math]; он состоит из всех тех вершин и дуг, из которых достижима [math]\displaystyle{ p }[/math] в графе, полученном из [math]\displaystyle{ C }[/math] удалением всех дуг повторения уровня [math]\displaystyle{ j\gt i }[/math].
См. также
Литература
[Касьянов/88]