4635
правок
KEV (обсуждение | вклад) Нет описания правки  | 
				KEV (обсуждение | вклад)  Нет описания правки  | 
				||
| Строка 1: | Строка 1: | ||
'''Регуляризуемый граф''' (''[[Regularizable graph]]'')   | '''Регуляризуемый граф''' (''[[Regularizable graph]]'') —   | ||
''[[уграф]]'' <math>G</math>, для которого существует такая  | ''[[уграф]]'' <math>\,G</math>, для которого существует такая  | ||
последовательность уграфов  | последовательность уграфов  | ||
<math>G_0=G,G_1,\ldots,G_l,</math>    | <math>G_0=G,G_1,\ldots,G_l,</math>    | ||
что <math>G_l</math>   | что <math>\,G_l</math> — ''[[тривиальный граф|тривиальный]]'' уграф, а каждый  | ||
<math>G_i</math>  | <math>\,G_i,</math> <math>\,i>0,</math> является ''[[фактор-уграф|фактор-уграфом]]'' уграфа <math>\,G_{i-1}</math>  | ||
относительно некоторого множества попарно непересекающихся  | относительно некоторого множества попарно непересекающихся  | ||
''[[интервал|интервалов]]''.  | ''[[интервал|интервалов]]''.  | ||
| Строка 13: | Строка 13: | ||
Справедлива  | Справедлива  | ||
теорема   | теорема Касьянова—Хехта—Ульмана о том, что    | ||
''уграф регуляризуем тогда и только тогда, когда выполняется любое из следующих свойств: <math>G</math>   | ''уграф регуляризуем тогда и только тогда, когда выполняется любое из следующих свойств: <math>\,G</math> — [[сводимый уграф|сводим]], <math>\,G</math> — [[аранжируемый граф|аранжируем]], <math>\,G</math> — [[разборный граф|разборный]], <math>\,G</math> — [[одновходовый граф|одновходовый]], <math>\,G</math> не содержит [[запрещенный подграф|запрещенного подграфа]], <math>\,G</math> имеет единственный [[каркас]].''  | ||
Большинство современных языков высокого уровня являются  | Большинство современных языков высокого уровня являются  | ||
| Строка 24: | Строка 24: | ||
причем в среднем зоны занимают небольшую часть программы  | причем в среднем зоны занимают небольшую часть программы  | ||
(около <math>4\%</math>). С другой стороны, существует [[алгоритм]], который  | (около <math>4\%</math>). С другой стороны, существует [[алгоритм]], который  | ||
эквивалентными дублированиями преобразует любой уграф <math>G</math> в  | эквивалентными дублированиями преобразует любой уграф <math>\,G</math> в  | ||
такой регуляризуемый уграф, в котором имеется не более чем  | такой регуляризуемый уграф, в котором имеется не более чем  | ||
<math>2^{\min(m(p),k(p))}</math> экземпляров любой [[вершина|вершины]] <math>p</math> уграфа  | <math>\,2^{\min(m(p),k(p))}</math> экземпляров любой [[вершина|вершины]] <math>\,p</math> уграфа  | ||
<math>G</math>  | <math>\,G,</math> <math>\,m(p)</math> — количество различных ''многовходовых зон''  | ||
уграфа <math>G</math>  | уграфа <math>\,G,</math> содержащих <math>\,p,</math> а <math>\,k(p)</math> — минимальное такое  | ||
число, что имеется множество, состоящее из <math>k(p)</math> вершин и  | число, что имеется множество, состоящее из <math>\,k(p)</math> вершин и  | ||
включающее хотя бы по одной вершине каждой из тех  | включающее хотя бы по одной вершине каждой из тех  | ||
многовходовых зон уграфа <math>G</math>  | многовходовых зон уграфа <math>\,G,</math> которые целиком лежат в  | ||
максимальной многовходовой зоне, содержащей вершину <math>p</math>  | максимальной многовходовой зоне, содержащей вершину <math>\,p.</math>  | ||
Поэтому в реальных случаях даже для языков "неструктурного"  | Поэтому в реальных случаях даже для языков "неструктурного"  | ||
программирования, как правило, уграф регуляризуем, а если  | программирования, как правило, уграф регуляризуем, а если  | ||
| Строка 39: | Строка 39: | ||
сохранении времени счета по программе.  | сохранении времени счета по программе.  | ||
Другое название   | Другое название — ''[[Обобщенно-сводимый уграф]], [[Регуляризуемый уграф]].''  | ||
==См. также==    | ==См. также==    | ||
''[[Аранжируемый граф]], [[Запрещенный подграф]], [[Каркас уграфа]], [[Одновходовый граф]], [[Разборный граф]], [[Сводимый управляющий граф]].''  | * ''[[Аранжируемый граф]],''  | ||
* ''[[Запрещенный подграф]],''  | |||
* ''[[Каркас уграфа]],''  | |||
* ''[[Одновходовый граф]],''  | |||
* ''[[Разборный граф]],''  | |||
* ''[[Сводимый управляющий граф]].''  | |||
==Литература==  | ==Литература==  | ||
* Евстигнеев В.А., Касьянов В.Н. Теория графов: алгоритмы обработки деревьев. — Новосибирск: Наука. Сиб. отд-ние, 1994.  | |||
* Касьянов В.Н. Теоретико-графовые задачи анализа управляющих графов транслируемых программ // Исследования по прикладной теории графов. — Новосибирск: Наука. Сиб. отд-ние, 1986.  | |||
* Касьянов В.Н. Оптимизирующие преобразования программ. — М.: Наука, 1988.  | |||