Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Определение трудоемкости алгоритмов




Сетевой метод. Позволяет определить минимальную, максимальную и среднюю трудоемкость.

Перед расчётом производится нумерация вершин ГСА по номерам 0,1,2,...,К; где 0 и к соответственно номера начальной и конечной вершин. Затем выделяются циклы по рангам 1,2,.... Для цикла m с низшим рангом находится среднее число повторений ' ' на один прогон алгоритма

(2.4)

где - вероятность перехода по дуге, замыкающей цикл по вершинам к и /. Затем определяется среднее время выполнения операторов тела цикла , для чего находится среднее число обращений к вершинам i этого тела

(2.5)

где z - множество номеров вершин, предшествующих номеру i, -вероятности обращений из вершин j в вершину i. После определения всех определяется

(2.6)

где R - множество номеров вершин цикла m; - средние времена выполнения операций в вершине i (см. (2.1 + 2.3)). Для цикла определяется среднее время выполнения

(2.7)

И цикл заменяется эквивалентным оператором со средним временем выполнения .

Повторяя процедуру для всех циклов последовательно по рангам и заменяя их эквивалентными операторами, в последующем находится среднее время выполнения алгоритма.

Аналогично определяется минимальное и максимальное время выполнения. Для этого находятся минимальное и максимальное время цикла с номером m последовательно по рангам с заменой их эквивалентными операторами с временами и . Здесь и - минимальное и максимальное время выполнения тела цикла m; и - минимальное и максимальное число повторений цикла.

Времена и находятся по формулам

(2.8)

Здесь и - времена выполнения операторов начальной вершины; и - минимальное и максимальное время на момент окончания выполнения операторов i -ой вершины; (j,i) - дуга из вершины j в вершину i; Dm -множество дуг; к - номер конечной вершины цикла; времена и ; выбираются по отношению ко всем вершинам j, связанными выходами с вершиной i; и - минимальное и максимальное время выполнения операторов в вершине i.

Трудоемкость алгоритма – это объем работы, которое необходимо выполнить. Для его реализации она может быть измерена в числе тактов, количестве команд и т.д.

Существует сетевой метод оценки трудоемкости, который основан на описании алгоритма в виде граф - схемы алгоритма (ГСА).

ГСА состоит из операторных вершин, связанных между собой дугами переходов. Вершины делятся на 3 типа (начальная, конечная и функциональная). Начальная и конечная имеют нулевую трудоемкость. Функциональные содержат перечень операций соответствующие данному алгоритму. Делятся на 2 вида:

1) вершины реализации процессорных операций,

2) вершины реализации ввода-вывода или операции передачи информации. Для общей оценки должна быть известна трудоемкость каждого оператора.

Введем обозначения:

V – множество операторных вершин, где V0 и Vn – начальная и конечные вершины.

Каждая вершина характеризуется средним числом обращений – ni, где . Вершина характеризуется объем работ для выполнения операции i-ой вершины. V0=VK=0 Матрица характеризует вероятность перехода из i-ой в j-ю. Перед расчетом граф-схемы алгоритма с циклами производят ранжирование. К циклам I – го ранга относятся циклы, не содержащие других циклов. Циклы II- го ранга включают в себя только циклы I-го ранга. Суть заключается в определении трудоемкости тела цикла и с учетом числа повторений находится трудоемкость всего цикла этого ранга. Определенный цикл заменяется эквивалентным оператором.

Пусть даны циклы разных рангов:

С1 С2 С3 …. Сm

Q1 Q2 Q3 … Qm=Q

где Q - суммарная трудоемкость всего алгоритма.

У каждого из этих циклов есть трудоемкость и среднее число повторений циклов i-го ранга.

где ni – среднее число повторений циклов i- го ранга,

tI трудоемкость тела цикла

Формулы:

где Pkl – вероятность перехода по дуге обратного перехода

- трудоемкость тела цикла

Среднее число обращений

где r – множество операторов, из которых происходит обращение в данную вершину Pji.

Вероятность обращения из j-й в i-ую. nj – число обращения к j-той вершине за одну реализацию алгоритма.

 

Осн.лит. 4[22-46],

Доп. лит.5[6-21]

Контрольные вопросы:

1. Что такое граф-схема алгоритма?

2. В чем определяется трудоемкость алгоритма?

3. В чем суть сетевого метода расчета трудоёмкости алгоритма?

4. Что такое ранг цикла?

5. Как формализовано, определяется число повторений цикла?

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...