Файл: Основы теории алгоритмов учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.10.2024

Просмотров: 94

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

 

- 40

Пусть F j -

число обращений к памяти при решении J —ой

задачи» Тогда при

заданном составе операций получим

л„ F i “

где

X1

 

« Njj

'

-

оушарное количество операций в j -й

 

 

*■*’

 

 

 

задаче.

 

 

 

 

 

Имея значения

СЦ

, найдем среднее

значение критерия

для класса

задач в -!иде математического ожидания

 

 

И

[ F ]

 

№*■ + F*4'*+ ' “ 4

РяЯ'н

^

 

г - Л

 

 

 

 

 

 

 

 

 

= Z t

Q T i

 

 

 

 

 

 

 

&

>

 

;«t

 

 

 

 

 

 

 

 

 

 

 

 

 

а

о учетом

(1.33)

получим

 

 

m

 

 

 

 

 

 

 

 

m [ f1- 2 Л 1 2 Л ‘ * ч ■

 

 

 

 

 

 

 

i *1

 

 

 

 

 

 

 

 

Найдем величину

 

M ' [ F ]

характеризующую среднее

чиоло обращений к памяти при вероятностном

задании операций

в

задачах

 

Ctj

в виде

значений

X

ij

.

Используя тео-

рему о произведении вероятностей независим:ix событий, можно

утверадать,

что вероятность появления операций i - r o типа при

решении

j

-ой задачи

подчиняется выражен.«

 

 

 

 

 

 

 

P i!

=

 

 

 

 

i

 

Действительно,если просуммировать величину

 

г * ,

по Ь

и

 

]

 

, то

получим

j .

 

т

 

 

 

 

 

 

 

 

 

 

 

1L

 

Z

^

 

r

1-

Тогда можно заш оать,

что

i* 1

 

i,«i

 

 

 

 

^

 

 

 

 

 

 

 

 

 

 

m ; [f ] -

Z

y i Z

 

^

v

!

 

 

 

 

 

 

и *

/*1

 

 

 

том случае,

 

Однако выражение (1.34)

справедливо лишь в

еоли выполняется уоловие

N t - N * * * ' * “ Nm,


41 *

т . е . ц р и одинаковых сложностях решаемых задач» При условии

N 1

N a Ф • ■ • ф N m

 

вероятность Р ;

появления операции

L-ro типа для класса

задач зависит от

соотношения их оложноотей я равна

При 8Т0М

м ' ш - i-i

- 42 -

Г Л А В А П МЕТОДЫ ОПТИМИЗАЦИИ ВЫЧИСШТЕЛЪНЫХ

АЛГОРИТМОВ ПО ИХ ПАРАМЕТРАМ

2.1. Содержательное описание процесса оптимизации

Исходным материалом для решения этой задачи является набор проотых алгоритмов по каждой функции или операции. Со­ ставление набора алгоритмов по каждой операции, а затем выбор из каждого набора по одному простому алгоритму, с помощью которых мойно реализовать алгоритм управления, есть менее тру­ доемкий процесс по сравнению с достижением необходимой эффек­ тивности всего алгоритма управления в целом.

При составлении такого набора алгоритмов проектировщику предоставляется возможность свободно выбирать систему команд при составлении каждого в отдельности алгоритма, а также вводить

специальные команды, которые позволяют изменять длину програм­

f

мы вычислений и время реализации алгоритма в ту или другую

сторону, изменять конструкцию УМ. По окончании составления

■?

каждой программы вычисления простой операции производится чис­

 

ленная, оценка параметров алгоритма.-Эти оценки записываются в

 

виде кортежей. В связи с этим каждый алгоритм одного и того

 

же набора будет отличаться от другого значением параметров.

 

Разумеется, что алгоритм управления, составленный из проотых

 

подалгрритмов, определяется параметрами, которые являются функ­

 

циями параметров простых подалгоритмов. .

 

При решении задачи выбора появляются определенные труд­

 

ности, так как обеспечение необходимой эффективности алгорит­

 

ма управления связано с выполнением противоречивых требова­

 

ний [79] .

 

Из множества простых алгоритмов можно выбрать такие,

 

которые позволяют получить наименьшим один из параметров ал­

 

горитма управления..Например, для того, чтобы получить мини

 

мальное время реализации алгоритма, необходимо выбрать из каж­

 

дого набора по одному алгоритму с ;' 'амал-ннм гремевсм релда,-

 

эации. Однако по другим параметра, (дл я.а программ- , оиотема

 


- 43 -

команд и др .) этот алгоритм может не удовлетворять поставлен­ ным требованиям.

Рассматриваемую задачу можно сформулировать следующим ' образом. Пусть в УВМ требуется реализовать вычисления множе­ ства операций .

где W -общее

число операций (наборов);

j - номер

операции (набора).

Каждая операция

может быть реализована несколькими алго­

ритма»®, отличающимися своими параметрами:

 

^ ЭЕ[Ajt],

— ’

 

 

 

(2.2)

 

где

H j-

число алгоритмов в

наборе

 

f-j

;

 

 

 

I - номер алгоритма в

J j .

 

 

 

 

Так как

в евою очередь является множеством элемен­

тов

А]1 , то в дальнейшем будем

 

именовать как подшожеот-*

ва

р

:

 

 

 

 

 

 

 

 

|

 

 

 

1.

d

р

 

 

 

 

«(2.3)

' !

 

 

 

 

г

 

 

 

 

 

Тогда, ооглаоно (2.3) и определениям (2.1)

и (2 .2 ),

 

 

 

Ajt € F.

 

 

 

(2.4)

 

 

 

 

 

 

 

 

 

 

 

 

Из

(2 .3)

вытекают два частных

случая:

 

 

 

 

 

с

F

 

и

) |

-

F .

 

 

 

 

Для второго случая имеем, что множество Fсостоит

из

одного подмножества

и,

.согласно

(2.4),

 

 

 

 

F =

{ A i l ,

A i z , . . . ,

A lH i} .

(2.5)

 

 

Выражение

(2.5)

соответствует

случаю, когда шожеотво,

состоит из множества простых алгоритмов

одной и той же опера­


- 44 -

ции. Очевидно, что решить задачу не представляет труда, так как процесс решения сводится к выбору одного алгоритма мето-

дом перебора.

 

 

 

 

 

 

 

 

 

Рассмотрим случай

 

СП р

при

Ж > 2

.

j

Пусть множество операций F

4используется для составления не4

которого алгоритма

Ь\ ,

Если каждая

j -ая операция харак­

 

теризуется набором алгоритмов Е jl

,

представленных простыми

кортежами, то для алгоритма

М может быть составлена система

сложных матриц

УХр,

которая затем может быть преобразована

,

в оистему проотых ^матриц

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

(2. 6).

 

Для получения некоторого

 

- решения необходимо из

каждого набора (колонки)

E j

матриц

 

X?

выбрать по одной

 

компоненте

. Над выбранными Ш компонентами каждой мат­

 

рицы проводится операция

0

, которая позволит

получить

значение некоторого параметра алгоритма

И :

 

^

 

ЭСрн e

0

C ^ i)-

 

 

 

 

Завиоимые параметры Л , V* могут быть получены только после операции 0 над независимыми параметрами (К- , G ) . Объем долговременной памяти алгоритма

jj)«* ciw + A m .

Врезультате этого получаем Z компонент простого

кортежа алгоритма

И

, Данный кортеж будет характеризовать'

эффективность алгоритма

М В

варианте.

Предположим,

что нам удалось получить кортежи воех 6

вариантов. Каждое решение представляется вектором эффективнос­

ти в

% -мерном пространстве.

 

|

На рис. 2.1

изобразим множество решений в виде дискрет­

а х

точек, которые

являются концами вектора

эффективности.

Для удобства выбора оптимального варианта,

по оси абсцисс от­

ложим значения минимизирующего параметра, а

по оси ординат -


- 45 -

значения параметров, на которые наложены ограничения, пред­

ставленные прямой, параллельной оси абоцисс.

 

 

Пусть алгоритм И

имеет кортеж о

£ = 4.

Среди ком­

понент кортежа

^необходимо минимизировать пара­

метр X t

при наложении на компоненты

Х х ,

Хх, Х а

ограни­

чений

X i ^ X I t Х х ^ Х х

»

Х а & Х а

 

 

 

Пусть число решений

8 = 8 ,

тогда множество

его

будет

иметь вид,изображенный на рио.

2 .1 .__________________ __

!

 

I

 

 

 

 

 

 

К

- 46 -

 

 

Ограничения, наложенные на параметры

Х а

,

позволяют.сразу исключить из рассмотрения варианты 1,2,3,4,5, как не удовлетворяющие поставленным требованиям (ограничени­ ям). Из оставшихся вариантов, согласно определению оптималь­

ного алгоритма, выбирается третий с

win t

а оптимальными

EjL будут те, которые составляют алгоритм

М в третьем

варианте. Если несколько вариантов

содержат компоненты Хзтш ,

равные между собой, то следует установить систему приоритетов на параметры, минимизируя при этом компоненты высших приорите­ тов.

 

Таким образом , для больших

H j

и

число в се в о з­

можных вариантов S

может достигать

значительной величины,

что затрудняет выбор оптимального варианта. В этих случаях

следует

применять специальные формальные методы, позволяющие

о меньшей трудоемкостью строго

находить оптимальные решения.

2 .2 . Методы перебора и последовательных

приближений

 

Метод перебора заключается в последовательном переборе

всех S

вариантов.

Для каждого

^

-

решения составляется

кортеж из полученных алгоритмов. Отбрасывая те варианты, ко­ торые содержат хотя бы одну компоненту, не удовлетворяющую

поставленным требованиям, мы из оставшихо:

вариантов выбира­

ем тот, у которого минимизирующая компонег а имеет

минималь­

ное значение. При. этом получим алгоритмы

Е- j i

,

составля­

ющие паилучший вариант. Разумеется,метод перебора можно исполь"

!зовать

при отыокании оптимальных алгоритмов для небольшого

 

|чиола вариантов

S

.

 

 

 

 

j

Близким к методу перебора является метод

последова­

 

тельных приближений.

Пусть система приоритетов^по

шраметрам

 

алгоритма М

составлена так,

что первым следует минимизиро-

 

вать 0Cj>M =*

 

,

Тогда последовательно перебираются в а -

»

рианты

)С\

,

начиная с

, который имеет Х?°н

наи­

 

меньший, до варианта

,

у которого X f n min

,

а зое

-

остальные параметры удовлетворяют поставленным требованиям,.

Если Х р м ( Jfj )

- параметр алгоритма И

в

в |

]

варианте, a X f *

параметр в ^ н - о и варианте,

то

при

i-

*

 

 

 

 

 

n.viWhkV.v

 

 

 

 

 

I