- •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. Пространственно-временные развертки.
Лекция 14. Векторные свойства временных разверток План
Линейность временных разверток
Характеристики множества обобщеных временных разверток
Свойства временных разверток при фиксированном векторе задержек
1. Линейность временных разверток
Пусть задан вектор задержек . Для того, чтобы вектор был вектором временной развертки, соответствующим вектору , необходимо и достаточно, чтобы при наличии дуги в графе алгоритма выполнялось:
- . (1)
Утверждение 1. Пусть векторы , являются временными развертками соответственно для векторов задержек . Тогда:
Вектор + является временной разверткой для вектора задержек ;
Для любого вектор является временной разверткой для вектора задержек .
Для пар векторов , и , выполняются соотношения (1): - , - . Поэтому
- ;
,
т.е. для векторов + и также выполняются соотношения (1).
2. Характеристики множества обобщеных временных разверток
Утверждение 2. Множество обобщеных временных разверток является линейным конусом.
Действительно, пусть векторы , являются обобщенными временными развертками. Согласно (1), это означает:
- , - (2)
для всех подходящих пар индексов. В соответствии с предыдущим утверждением аналогичные (2) неравенства будут выполняться и для координат векторов + и для любого . Следовательно, векторы + и также являются обощеными временными развертками, а все множество - линейным конусом.
Следствие. Множество обобщеных временных разверток выпукло и замкнуто.
Множество называется выпуклым, если вместе с любыми элементами , , принадлежащими этому множеству, ему принадлежит также , где .
Пусть векторы , являются обобщенными временными развертками, тогда выполняется (2). Поэтому для любого имеем:
,
Т.е. вектор .
Множество называется замкнутым, если содержит все свои предельные точки.
Пусть вектор - предельная точка для множества . Тогда существует последовательность обобщенных временных разверток , сходящаяся к . Тогда
,
т.е. вектор .
Множество обобщеных временных разверток оказалось конусом только потому, что оно соответствует нулевому вектору задержек. Если вектор является временной разверткой с вектором задержек , то он будет оставаться временной разверткой для всех неотрицательных векторов задержек, у которых координаты не превосходят соответствующих координат вектора . Это следует из того, что неравенство (1) остаются в силе при уменьшении .
3. Свойства временных разверток при фиксированном векторе задержек
Утверждение 3. При фиксированном векторе задержек множество временных разверток обладает следующими свойствами:
Сумма временных разверток является временной разверткой;
Произведение временной развертки на число является временной разверткой;
множество временных разверток выпукло и замкнуто.
Пусть векторы , являются временными развертками для вектора задержек . Тогда:
- ,
Следовательно + .
,
Следовательно .
Для любого имеем:
,
Т.е. вектор , - выпукло.
При фиксированном ненулевом векторе задержек множество временных разверток не является конусом. Однако при любом развертки из входят во множество . Несмотря на то, что множество содержит в себе все множества , само оно, в свою очередь, содержится в некотором смысле в каждом .
Утверждение 4. Пусть - какая-нибудь фиксированная временная развертка из . Тогда для любой обобщенной временной развертки вектор .
Действительно: - , - для всех подходящих пар . Тогда
- .
Таким образом, конус обобщенных временных разверток , сдвинутый параллельно на любую развертку из , содержится в при любом .
Надо выяснить, когда множества и совпадают с точностью до параллельного переноса.
Утверждение 5. Пусть СЛАУ
- (3)
совместна и вектор является ее решением. Тогда множества и совпадают с точностью до параллельного переноса на вектор .
Действительно, . Тогда в силу утверждения 4, множество , сдвинутое на вектор , содержится в . Остается показать, что любую развертку из можно представить, как некоторую обобщенную развертку из , сдвинутую на вектор . Пусть - произвольная развертка из , . Рассмотрим вектор . Имеем - . Вычитая отсюда (3), получим - , т.е. .
Совместимость (3) дает достаточное условие совпадения и . Какие необходимые условия? Предположим, что множество получается из множества с помощью параллельного переноса на вектор . Чем характерна временная развертка ?
Какова бы ни была развертка , она получается как сумма развертки из и , тогда вектор является обобщенной временной разверткой. Пусть дуга идет из в . Т.к. - замкнутое, то при фиксированных и существует развертка, на которой величина - достигает в своего минимального значения. В силу того, что вектор является обобщенной временной разверткой, выполняется - . Отсюда вытекает . Это означает, что имеет место
Утверждение 6. Пусть множество получается из множества с помощью параллельного переноса на вектор . Тогда для любых пар , , соответствующих дугам графа алгоритма, минимальное значение - для всех разверток равно - .
Таким образом, координаты развертки обеспечивают наилучшее удовлетворение неравенств (1), максимально приближая каждое из них к равенству. При совместимости СЛАУ (3) все неравенства (1) становятся на развертке равенствами.
Вопросы
Сформулировать критерий того, что вектор является вектором временной развертки, соответствующим вектору .
Как связана временная развертка для суммы векторов задержек с временными развертками слагаемых? Показать.
Как связана временная развертка для для вектора задержек с временной разверткой для вектора задержек ? Показать.
Показать, что множество обобщеных временных разверток является линейным конусом.
Показать, что множество обобщеных временных разверток выпукло и замкнуто.
Свойства множества временных разверток при фиксированном векторе задержек. Доказать.
Литература
Воеводин В.В. Параллельные вычисления / В.В.Воеводин, Вл.В.Воеводин. — СПб.: БХВ-Петербург, 2002. — 608 с.
Харари Ф. Теория графов / Ф.Харари; пер.с англ. В.П.Козырева. — М.: Мир, 1973. — 300 с.
Уилсон Р. Введение в теорию графов / Р.Уилсон. — М.: Мир, 1977. — 207 с.
Кристофидес Н. Теория графов. Алгоритмический подход / Н.Кристофидес. — М.: Мир, 1978. — 432 с.
Новиков Ф.А. Дискретная математика для программистов / Ф.А.Новиков. — СПб.: Питер, 2006. — 364 с.
Иванов Б.Н. Дискретная математика. Алгоритмы и программы / Б.Н.Иванов. — М.: Лаборатория Базовых Знаний, 2001. — 288с.