- •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. Теория возмущений и числа обусловленности задачи
Как вытекает из вышесказанного, результаты, получаемые численными алгоритмами, редко бывают совершенно точными. Чтобы оценить погрешности вычисленных результатов, нужно понимать, в какой степени может измениться (возмутиться) решение задачи при слабом возмущении ее входных данных.
Рассмотрим дифференцируемую функцию одной переменной . Пусть необходимо вычислить , при этом имеется лишь приближенное значение для и границы для ― абсолютной погрешности . Если никакой другой информации нет, то лучшее, что можно сделать, это вычислить и попытаться оценить абсолютную погрешность
.
Для в окрестности имеет место представление [74,77-79]:
, (2.4)
где когда , ― это такая функция, для которой .
Абсолютная погрешность полученного приближенного результата
. (2.5)
Назовем абсолютным числом обусловленности функции в точке . Если число велико, то погрешность может быть большой даже для малого . В этом случае говорят, что плохо обусловлена в точке .
Рассмотрим общий случай. Пусть ― входные данные для некоторой задачи, результатом решения которой является ; ― возмущенные входные данные, а решение задачи, полученное для этих входных данных, ― . Числом обусловленности задачи называется величина, определяемая соотношением [69,70]:
. (2.1)
Расстояния, фигурирующие в формуле (2.1), определяются введением соответствующих метрик в пространствах входных данных и результатов [72,73]. Необходимо отметить, что по смыслу соотношение (2.1) представляет из себя некий аналог абсолютного значения скорости изменения вещественной функции результата в точке [74-81].
Если вернуться к рассмотренной выше функции , то в соответствии с (2.1), в силу ее дифференцируемости
= .
Число названо выше абсолютным числом обусловленности, т.к. оно позволяет оценить абсолютную погрешность , если задана граница для абсолютного изменения входной величины .
Для относительной погрешности результата из (2.5) вытекает оценка:
Множитель является относительным числом обусловленности [53], определяя зависимость относительной погрешности полученного значения от относительной погрешности исходных данных .
Рассмотрим теперь произвольную вещественную функцию , зависящую от переменных с областью определения , ― компакт [74]:
: . (2.6)
Пусть необходимо вычислить значение , но для имеется лишь его приближенное значение и границы для .
Тогда представление, аналогичное (2.4), и оценки, аналогичные (2.5), имеют вид [74]:
,
когда ,
где , когда , ― это такая функция, что
.
, (2.7)
где ― вектор градиента функции в точке ;
― скалярное произведение векторов-аргументов.
Используя в правой части (2.7) неравенство Коши – Буняковского [74], получим:
,
где — векторная 2-норма [53], откуда
. (2.8)
Из (2.8) вытекает, что является абсолютным числом обусловленности задачи вычисления к возмущениям исходных данных.
Число обусловленности – это именно то, что нужно для понимания, как ошибка во входных данных воздействует на вычисленный результат: чтобы получить оценку погрешности вычисленного решения число обусловленности просто умножается на границу входной ошибки.