- •2. Общие требования к алгоритму
- •3. Формальное представление алгоритма. Машина Тьюринга
- •4. Алгоритмически неразрешимые проблемы: их существование и примеры
- •Вопросы
- •2. Теория возмущений и числа обусловленности задачи
- •3. Влияние ошибок округления на алгоритмы
- •4. Программирование численных алгоритмов
- •Вопросы
- •Основные характеристики алгоритма при его анализе. Вычислительная сложность алгоритма
- •Классы входных данных
- •Сложность алгоритма по памяти
- •2. Классы входных данных
- •3. Сложность алгоритма по памяти
- •Вопросы
- •Лекция 4. Оценка вычислительной сложности алгоритма План
- •Предварительные шаги для оценки вычислительной сложности алгоритма
- •Скорость роста алгоритма
- •Анализ подходов, связанных с поиском информации
- •1. Предварительные шаги для оценки вычислительной сложности алгоритма
- •2. Скорость роста алгоритма
- •3. Анализ подходов, связанных с поиском информации
- •Вопросы
- •Класс р - задачи с полиномиальной сложностью
- •Класс np - полиномиально проверяемые задачи
- •1. Класс р - задачи с полиномиальной сложностью
- •2. Класс np - полиномиально проверяемые задачи
- •Вопросы
- •Лекция 6. Сложностные классы задач (продолжение) План
- •Приближенные методы решения np-задач
- •2. Приближенные методы решения np-задач
- •Вопросы
- •Лекция 7. Численные алгоритмы План
- •Вычисление значений многочлена
- •Решение системы линейных алгебраических уравнений
- •1. Вычисление значений многочлена
- •2. Решение системы линейных алгебраических уравнений
- •Вопросы
- •Цели анализа последовательных алгоритмов
- •Основы построения графа алгоритма
- •Допустимые преобразования алгоритма
- •2. Основы построения графа алгоритма
- •Последовательность операций
- •3. Допустимые преобразования алгоритма
- •Вопросы
- •Свойства вершин ориентированного ациклического графа
- •Свойства топологической сортировки графа
- •Топологические уровни графа алгоритма
- •1. Свойства вершин ориентированного ациклического графа
- •2. Свойства топологической сортировки графа
- •3. Топологические уровни графа алгоритма
- •Вопросы
- •Лекция 10. Топологические сортировки сложных графов План
- •Особенности и рекомендации построения топологических сортировок графов алгоритмов, содержащих условные операции
- •Построение топологической сортировки графа по топологическим сортировкам подграфов его разбиения
- •1. Особенности и рекомендации построения топологических сортировок графов алгоритмов, содержащих условные операции
- •2. Построение топологической сортировки графа по топологическим сортировкам подграфов его разбиения
- •Вопросы
- •Операция элементарного гомоморфизма
- •Гомоморфная свертка. Понятие гомоморфного образа, прообраза. Связь топологических сортировок графа и его гомоморфной свертки
- •Использование гомоморфной свертки для упрощения процесса исследования структуры алгоритма
- •1. Операция элементарного гомоморфизма
- •2. Гомоморфная свертка. Понятие гомоморфного образа, прообраза. Связь топологических сортировок графа и его гомоморфной свертки
- •3. Использование гомоморфной свертки для упрощения процесса исследования структуры алгоритма
- •Вопросы
- •Лекция 12. Внутренний параллелизм алгоритма План
- •Понятие внутреннего параллелизма алгоритма и его использование
- •О выборе расположения вершин графа алгоритма
- •Особенности алгоритма решения системы линейных алгебраических уравнений
- •1. Понятие внутреннего параллелизма алгоритма и его использование
- •2. О выборе расположения вершин графа алгоритма
- •3. Особенности алгоритма решения системы линейных алгебраических уравнений
- •Вопросы
- •Лекция 13. Временные развертки План
- •Основная проблема анализа алгоритма с использованием соответствующего графа
- •Вектор временной развертки, обобщенной временной развертки
- •Время реализации алгоритма
- •1. Основная проблема анализа алгоритма с использованием соответствующего графа
- •2. Вектор временной развертки, обобщенной временной развертки
- •3. Время реализации алгоритма
- •Вопросы
- •Лекция 14. Векторные свойства временных разверток План
- •Линейность временных разверток
- •Характеристики множества обобщеных временных разверток
- •Свойства временных разверток при фиксированном векторе задержек
- •1. Линейность временных разверток
- •2. Характеристики множества обобщеных временных разверток
- •3. Свойства временных разверток при фиксированном векторе задержек
- •Лекция 15. Векторные свойства временных разверток (продолжение) План
- •Ориентированная задержка цикла. Уравновешенный цикл.
- •Пространственно-временные развертки
- •1. Ориентированная задержка цикла. Уравновешенный цикл
- •2. Условие совпадения множеств и с точностью до параллельного переноса
- •3. Пространственно-временные развертки.
2. Гомоморфная свертка. Понятие гомоморфного образа, прообраза. Связь топологических сортировок графа и его гомоморфной свертки
Операция элементарного гомоморфизма ассоциативна. Последовательность элементарных гомоморфизмов называется гомоморфной сверткой. Гомоморфной сверткой также часто называется граф, полученный в результате выполнения указанных операций. Операции, заключающиеся в последовательном выполнении простого (кратного) элементарного гомоморфизма называют простым (кратным) гомоморфизмом или простой (кратной) гомоморфной сверткой. На рис.11.3 представлены результаты последовательности 2 элементарных гомоморфизмов: 1) слияния вершин 2 и 3 исходного графа, в результате чего появилась новая вершина 9; 2) слияние 9 и 5, результатом чего стала вершина 10.
Говорят, что граф гомоморфен (просто гомоморфен) графу , если он изоморфен некоторому графу, который получается из графа с помощью гомоморфной свертки (простой гомоморфной свертки). Очевидно, что отношение гомоморфизма графов не симметрично. Граф называется гомоморфным образом (прообразом) графа . По отношению друг к другу аналогично называются их вершины и дуги.
Поскольку к гомоморфной свертке графа часто прибегают с целью уменьшения его размера и сокращения вычислительной работы при его анализе в процессе выявления параллельных форм, выясним, как связаны между собой в общем случае топологические сортировки графа и его гомоморфной свертки.
Пусть — ациклический граф, являющийся простой гомоморфной сверткой ациклического графа . Пусть известна какая-то топологическая сортировка . Разобьем вершины графа на непересекающиеся группы, относя к одной группе те из них, образы которых в графе попадают в одну группу его топологической сортировки. Присвоим группам вершин в графе индексы порождающих их групп графа . Полученное разбиение вершин графа определяет в графе обобщенную топологическую сортировку. Действительно, вершины одной группы графа являются гомоморфными прообразами вершин одной группы графа . Так как при простой гомоморфной свертке некоторые дуги могут не иметь образы, то вершины одной группы графа могут быть связаны между собой ребрами. Поэтому сортировка в графе может быть в общем случае только обощенной. Если рассмотреть любое ребро в графе , связывающее вершины из разных групп, то оно обязательно имеет образ в графе , который также связывает в вершины из разных групп. Если ребро имеет образ, и этот образ не является петлей, то при гомоморфной свертке начальная вершина всегда переходит в начальную, а конечная — в конечную. Поэтому в рассматриваемом ребре графа его начальная вершина принадлежит группе с меньшим номером, чем конечная. Таким образом, если простая гомоморфная свертка ациклического графа есть ациклический граф, то любая топологическая или обобщенная топологическая сортировка графа порождает в общем случае обобщенную топологическую сортировку графа .
Рис.11.3. Исходный граф (а); кратная гомоморфная свертка (б); простая гомоморфная свертка
Для рассмотренного выше примера восстановление топологической сортировки исходного графа по сортировке его простой гомоморфной свертки представлено на рис.11.4.
Рис.11.4. Топологическая сортировка простой гомоморфной свертки (а); восстановленная обобщенная топологическая сортировка исходного графа (б)