4194
правки
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. |