Нижегородский Государственный Технический Университет

им.

Кафедра «Вычислительные системы и технологии»

Лабораторная работа №1


«Расчет вычислительной сложности алгоритмов»



Выполнил:

студент группы  М14-ИВТ-3

Проверил:

Нижний Новгород

2015 год

Задание №2

Найти оценку средней трудоемкости алгоритма с использованием методов теории марковских цепей. Операторы сочленений и переходов имеют нулевую трудоемкость. Каждую ненулевую трудоемкость необходимо увеличить на 929.

Выполнение.

Увеличим трудоемкости и перерисуем блоксхему:

Представим заданную организацию в виде графа:

Запишем систему из семи уравнений вида  и решим её:

Средняя трудоемкость алгоритма рассчитывается по формуле . Вычислим её с использованием полученных данных:

Задание №4

Найти оценку средней трудоемкости алгоритма с использованием метода последовательных упрощений. Операторы сочленений и переходов имеют нулевую трудоемкость. Каждую ненулевую трудоемкость необходимо увеличить на 929.

Выполнение.

Увеличим трудоемкости и перерисуем блоксхему:

Исключим последовательные сочленения J и K (правило последовательных связей), а также оператор перехода L (правило параллельных связей):

Исключим сочленение E по правилу последовательных связей и объединим последовательно соединённые операторы:

Исключим сочленение A и функциональный оператор рядом с ним по правилу последовательных связей:

Исключим оператор перехода F по правилу параллельных связей:

Вычислим полученные трудоемкости функциональных операторов:

НЕ нашли? Не то? Что вы ищете?

Исключим цикл первого ранга B=>(J, K,E, A) по правилу циклов:

Исключим цикл первого ранга C=>(J, K,E, A) по правилу циклов:

Исключим цикл первого ранга D=>(J, K,E, A) по правилу циклов:

Объединим функциональные операторы по правилу последовательных связей и получим ответ:

Задание №5

Найти оценки минимальной, средней и максимальной трудоемкостей алгоритма с использованием сетевого подхода. Операторы сочленений и переходов имеют нулевую трудоемкость. Каждую ненулевую трудоемкость необходимо увеличить на 929.

Выполнение.

Увеличим трудоемкости и перерисуем блоксхему:

Представим заданную организацию в виде графа с выделенными циклами:

Цикл C1:

Среднее число повторов цикла: ;

Минимальное число повторов цикла: ;

Максимальное число повторов цикла: ;

Средняя трудоемкость тела цикла:

Минимальная трудоемкость тела цикла:

Максимальная трудоемкость тела цикла:

Средняя эквивалентная трудоемкость тела цикла:

Минимальная эквивалентная трудоемкость тела цикла:

Максимальная эквивалентная трудоемкость тела цикла:

Цикл C2:

Среднее число повторов цикла: ;

Минимальное число повторов цикла: ;

Максимальное число повторов цикла: ;

Средняя трудоемкость тела цикла:

Минимальная трудоемкость тела цикла:

Максимальная трудоемкость тела цикла:

Средняя эквивалентная трудоемкость тела цикла:

Минимальная эквивалентная трудоемкость тела цикла:

Максимальная эквивалентная трудоемкость тела цикла:

Заменим циклы эквивалентными трудоемкостями и получим граф:

Средняя трудоемкость:

Минимальная трудоемкость:

Максимальная трудоемкость:

Вывод

При выполнении лабораторной работы были освоены основные способы оценки минимальной, средней и максимальной вычислительной сложности алгоритмов, а также были решены нетривиальные задачи с использованием возможных способов решения.