Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Основы теории алгоритмов учеб. пособие

.pdf
Скачиваний:
9
Добавлен:
19.10.2023
Размер:
6.6 Mб
Скачать

 

- 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

- 47

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

 

X f eM

^

 

В каждом

Щ -ом варианте

подсчитываются все

параметры

алгоритма, и если один из вариантов не удовлетворяет

постав­

ленным требованиям, то зто репение исключается и осуществляет­

ся

переход к

tfj+i

 

варианту.

Этот

процеоо продолжается

 

до

тех

пор,

пока не будет найден

 

tfj® -

оптимальный вариант.

 

 

 

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

имеют Х ? ‘м

, то

после

 

 

 

 

- варианта следует продолжать раочет еще ряда

( Х{#+н

,

 

}S^®+2 ) вариантов до тех пор, пока в

некотором варианте

бу­

дет

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X j>*m (

K'i 'w

) >

Х ^ вм wi-fi.

 

 

 

 

 

 

Это частное решение следует минимизировать теперь по

 

другому параметру,

исключив

Х р и

 

из дальнейшего рассмотрения

Так как все

at

вариантов

удовлетворяют требованиям,

то н а - j

хождение новых частных решений овязано

с перебором всех ot ва­

риантов, минимизирующих параметр с меньшим приоритетом, чем

I

предыдущий.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Боли

dt

=

I ,

то

оптимальный вариант

найден и алго -

!

ритмы

E ji ,

составляющие данное решение,

являются наилучшими.

 

 

Для большого

числа решений

8

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

, •

приближений являетоя предпочтительнее метода перебора, так

как

здесь не рассматриваются варианты

о

Х р м

> X f “n min

,

,

 

число которых может быть большим.

 

 

 

 

 

 

 

 

 

 

Последовательные приближения (рио.

2 .2) показаны от

 

 

д о

)Г|» = 5 .

Для вариантов

XV, XV XV

ВЫПОЛНЯЮТСЯ уоловия

j

 

 

 

( j f s ) “

 

 

( к < ) ~

 

 

( у ? )

 

 

!

 

 

Из трех вариантов

(

V * ,

 

У«

,

XV

)

можно выбрать

 

 

ОДИН,

если минимизировать

по одному из

параметров X i

, Хг.

,

 

г

- 48

- .............

. . '

i

Х а . Для йктлвыбирается вариант

V? , дляХаипм-Ут,

для

Х*тй1 - Х*5 •

 

 

 

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

мых параметров» Такими, например, могут быть параметры длины

црограшн

с! и времени реализации Ь . Однако

 

d

совмест­

но

о Л

составляют единую долговременную шмять

D

маши­

ны,

Поэтому для минимизации D можно поступить

следующим об­

разом. Методой последовательных приближений находится вариант

$ |«

, минимизирующий параметр d

, а остальные параметры

(кроме

А

) должны удовлетворять заданным требованиям. Для

этого варианта

определяется

 

 

 

I

 

 

 

D j *

-

+

.

 

 

где

A j* определяется после операций,

проведенных над выбран­

ными компонентами-множествами матрицы К

. После этого пере­

ходим к

вычислению следующих вариантов 1)

. Для сокращения за­

писи обозначим

 

= V®

>

тогда

следующие варианты есть

I

$ 2

(

=

0 , 1 , 2 , . . . , ) .

Для каждого варианта определяют­

ся

Т )0 ,

D

i , .

. . .

В процессе этих вычислений последующие зна-

;чения 3 ) сравниваются с множеством црецсшущих и определяется

IDi.e > T)*»ni»t. Процеос

продолжается до

получения D d°> j)xm in .

^Очевидно, что вое последующие варианты

.

)

дадут

 

 

 

i

Если минимизируется параметр b

г т

ограничении d+A=«

j

=*Т)огр , то здесь

будут отличия в

там,

что после операций

: Q над компонентами матрицы d

и матрицы К « после которой

определяется Л , в

каждом варианте вычисляется d + А , для

которой выполняется

d + A ^ Т)ог,р . При выполнении этого

условия осуществляется переход к

следующему варианту.

;

2 .3 . Методы исключения вариантов и линейного

i

 

программирования

|

Метод исключения вариантов предполагает исключение тех

вариантов для каждой матрицы, которые не удовлетворяют постав­ ленным требованиям.

Если система сложных матриц J X f , описывающих мно-

- 49 -

Рно. ^|2

Соседние файлы в папке книги из ГПНТБ