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

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

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

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

E ji простых алгоритмов), как не удаияеяюрянвдих совместно о другие алгоритмами нужным требование». Исключаются из раоомотресшдоехующне кортежи алгоритмом:

1. Бели в выбранной матрице омоется компонента

1

Х ц г > Х г »

где X f - ограничение, наложенное на аарамеяр Хр , а все

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

поставлеанш требованиям по одному из нардистров.

 

2 . Если максимальная в матрице компонента

^

 

Xji-j»max < Хр* ,

 

 

nwnmn операция 0

с другими ппиш иииии варанетрами X j i n»w«

 

даст

м

 

 

Хрт -»0Cjij»««ax

. (2<7)

 

Кортежи о такими параметрами исжииииигся из рассмотрев вин - как не удовлетворяющие поставленном требованиям совместно о отдельными кортежами других наборов.

После исключения кортежа cJtjif«% для которого выпол­ няется условие (2 .7), из оставшихся параметров находится новый

для которого в свою очередь промеряется (2 .7). Исключив возможные кортежи из вросших матриц при анали­

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

Такой последовательный анализ отдеяышх матриц позво-

-------- - - 5 1 -

яяет значительно у м а н п м ело комюнент в матрацах. Ирме ' аяа к остнвшвюя к а п и т а н метод перебора яда тохадоатеаь - внх приближена*, ш Шмитта налучии! вариант.

Задачу выборе а о ти п п гц алгоритмов аз юокеотва A |i м ото «теста к задам лшиНиго прогрншарованая как запахе а

назначениях (проблема амбара)

[5 0 ] .

 

Обозначай

■*< 4 1 .

Ведячяна

О бмою т ирянамать

только два дискретах iiMimini:

(0 ала I ) ,

Пусть Ctjt - О ,

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

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

И

,

d j l = I -

волк яошиьауетоя. Пря

«том для каждого набора дамп» выполняться

 

 

(X jt+ d |* .- 0 '

+ a i " i ““ 1 *

 

(2 Л )

 

 

U « * . 2 ,

i

. , ж ) .

 

 

Для параметров,

которне нажжены офвичшая.

запасать систему лавейя

 

 

 

X uj>Qu

 

 

+

+

+

(2.9)

 

 

 

 

 

 

 

+ X * ij» d * i +

 

 

X a ^ < l 2 % - f

 

+••* +Xwij»a*i ♦

Отг+•“• +

 

+

C L (%

^

 

 

 

) »

где

Xy*

- агравмчянн на пар—игр

X / .

 

 

Составленная цвинма #вавра 2

яля и н п н ш д а т г о

параметра X j

маогг ащ

 

 

 

2

' 5* X iif d n

+ Х о у C Ja.+►• * + Xin^p й * я 4+ (2.ID)

+ Xziji (Xzi + X a f 0 « + ••• +Xofe/ CLtib+

+ ♦ • * + 3Cmij> CLmt+ Xirnf CLmx + ■•■ +

‘1'ав как величины Clj Сесть целые чиода, то решение долж­ но быть целочиолеаным. В связи о этим, если отдельные компо- ' вентн не целые числа, то они должны оыть приведены к целым пу­

тем умножения на коэффициент 10^

(где

У

- максимальное чис­

ло разрядов пооде запятой для одной из компонент).

Однако симплекс-метод приводит непосредственно к цело-,

численному решении лишь немногих задач,

 

 

 

2 .* . Нормирование матриц параметров алгоритмов

Пусть задано некоторое множество

 

 

наборов проотых

алгоритмов

 

 

 

 

 

Е й =* < ОСj tj» > ,

 

( t - l ,

2.*— » ма ) ,

I

 

q

.

1,

2»..-» 4 ) .

и пуоть множество решений алгоритма

И

описано системой

проотых матриц

X u #

*• •

X m if

 

X ,

X z i f • • •

XttUf

 

 

 

 

 

XiHif

Хгпгр

• •

 

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

ПривадЖкомпонанты воех^матриц~^Г''к единой норме, качестве которой для каждой матрицы выберем максимальное значе­ ние компоненты в этой м а т р и ц е max. Пронормировав вое остальные кошоненты матриц, получим следующую оиотему проотых матриц-норм:

Ei

X'jifma»

& & £.'

RjcfeЩ if max

 

Х т р

 

^4j>mor

Обозначив

OCil-f

X № ma*

 

 

b i t ?

Нзс,

S ia f

 

8 i« if

- 53 -

Em

U

OCaip

^Crnip

OCjLjitnax

Х Щ та%

& m . . . .

Х т гр

OCjtf"*»*

 

0(J^i-ymax

 

j> max

~ b

,

имеем

 

b a tj1 • ■• B n tif

bm *f

‘ *

Для определения эффективности простого алгоритма соста­ вим сушу равнозначных пронормированных компонент, принадле­

жащих кортежу одного алгоритма. Обозначив через

Н ф ^1 про­

нормированную эффективность Е j i —го алгоритма,

имеем

н Ф р - Z B ^ ,

 

Иа каждого j -го набора ф^{,выбирается по одному

алгоритмы которых и будем очитать оптималь­

н ей по норме.

 

Еоли по одному из параметров алгоритма

М наложено

ограничение, то данный параметр не нормируется.

Остальные пак*

раметры нормируются я для них составляется сумма норм

 

Н Фi и “

£f - .i 6|**’

( ? + ? ') ■

где

P - параметр,

aa который налояeao ограничение. Из

H<ty составляется матрица. Тогда задачу выбора оптимального)

по норне варианта модно решить из системы двух матриц

 

E t

e *

*

Cm

 

X tlf0

X i t f *

• •

Х ?° ~

 

X z z f a

X mz f

 

 

X m „

 

 

X z t i t f

 

 

bz I f

4 , 4

b m i f

Н

ф B 2if-

Ъзлf

4 4 4

b m z f

ЬпМ"?

одним из приведенных методов/ минимизируя параметр, полученный

из матрицы М ф

. '

Таким яе образом"можно найти оптимальные по норме ал­

горитмы

ELjl ,

если наложены ограничения на несколько пара­

метров ,

что приводит к росту системы матриц.

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

2 .5 . Выбор управляемей машины для эффективной реализации алгоритмов управления

Вопросы описания эффективности алгоритма,рассмотренные в начале настоящей главы,применяю! не только к оптимизации алгорит­ ма управленйя,на\я к целенаправленному выбору варианта эффектив­

ной реализации алгоритма управления на одной из заданного парка

г---.-----------

-55 -

управляицих вычислительных машин. Однако в данном олучае опи­ санию эффективности подлежит не только алгоритм, но ■ УВМ о точки врения реализации заданного алгоритма на конкретной ма­ шине»

1 . Задачу эффективной реализации исходного алгоритма на одной из множества управляющих машин сформулируем следую­

щим образом.

 

 

 

Пусть имеетоя парк из ГО

управляющих вычислительннх

машин. Для каждой

L -й машины (

t = 1 , 2 , . . . , m

) из­

вестны ее технические характеристики и набор реализуемых опера­ ций (оиотеыа команд)

O i -

где j - номер операций ( j « 1 , 2 , . . . , p t ) .

Кроме того, заданный класс алгоритмов управления пред­ ставлен в виде математических зависимостей.

Задача оостоит в том, чтобы из имеющегося парка УВЫвы­ брать ту, на которой заданный алгоритм управления реализовался он наилучоим образом, т .е . имея наименьшим время реализации, программа алгоритма разместилась бы в памяти машины, результа­ ты вычислений имели бы погрешность меньше допустимой.

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

В настоящем параграфе рассматривается более экономичный метод выбора варианты для аффективной реализации алгоритма.

2 . Супрооть метода. Программу алгоритма управления со­ ставим для гипотетической машины, которую ватем мохно формаль­ но транспонировать на июоую из парша УВМ. Сиотеыа команд ( Go )

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

1

56 -

где

|

 

= 1 , 2 , . . . , Р» .

 

 

 

 

 

 

 

Сравнение транспонированных программ для конкретных

 

УВМ иудем осуществлять по трда критериям (показателям):

 

 

 

1 .

Погрешность вычисления -

Д

(абсолютная или относи­

 

 

 

 

 

 

 

тельная) ;

 

 

 

 

2 .

Объем долговременной памяти

( D ° ),

выраженный в

 

чиоле ячеек.

.

 

 

 

 

 

 

 

 

3 .

Время реализации ( Т i , "выраженное в единицах

 

времени реализации наиболее короткой операции.

 

 

 

 

 

Для определения этих показателей алгоритма опишем эф­

 

фективность отдела шс ее элементарных участков кортежами

 

 

 

 

 

А ~ < л , д »

хК , > ,

 

 

 

где

Д

-

погрешность;

 

 

 

 

 

K

д

-

объем программы (чиоло команд);

.= ,

Т

) {

-

I

оистемаW -

констант (

1

,2,^ . .

X- время реализации.

Вкачестве элементарных участию программы алгоритма

для гипотетической машины примем ее отдельные операции (коман­ ды). Эффективность оистемы команд (СК) (?«* выразим через пока­ затели СК G i заданного парка машин. Это мг зо предотавить н виде следующей оистемы кортежей:

4.

Д н

ди К и

tT u

>

<• Д 12

diZ

K li

Kiz

>

< A i m

d i m

Kifti

'C’im

>

 

 

 

 

 

(2 .II)

< Д а ь 0 2 1 K at X ai У

<

Д и а 0 a a

К аа

 

>

<

Д ап дат Кгт

>

• Ь.

г

 

< Д р о !

6pol

Kpol

t f o i

>

 

^ орс «^< Л Р°г

Ф°2 KP°Z Z ?et

>

 

< Д p0M

dpottl Kpein tpoffl >

ИЛИ

< A j L

d j i

Kj-i.

£ j i >

 

.

^ C- ~ i, 2; >*> УЩ

j

 

Pe ) .

 

 

 

Следует заметить, что -CK

(jo

гипотетической машины

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

системой команд любой ЦВМ из имею­

щегося парка. Совместимость системы команд предполагает так­ же совместимость операций.

Совместимыми операциями будем называть те, которые мо­ гут быть заменены в t -й машине по своему смыолу либо одной командой, либо программой (подпрограммой).

Например, операция сложения из Go является совместимой с операцией сложения практически любых УВМ. Совместимыми яв­ ляются также операции деления и элементарные функции, т.к. они могут быть представлены в t -й машине одной командой или программой (подпрограммой).

Однако совместимость СК Go будем относить не только к СК парка рассматриваемых УВМ, но и к исходному алгоритму. Эффективность (сиотема 2 .II) оценивается для тех операций Ц\

G o , которые входят в состав программы алгоритма. Операций СК Go , не участвующие в вычисления, нет надобности оцени­

вать по эффективности, и они могут быть вычеркнуты из списка

Go . Вели

вое оставшиеся операции,

используемые в програм­

ме. могут быть

реализованы на любой из

ftl УВМ, то такую СК

Go будем называть совместимой.

Одна и та же команда СК Go может находиться в различных соотношениях к соответствующей операции СК Ос .

Будем различать совместимые, программно-совместимые, подпрограммно-совместимые и несовместимые операции. Дадим их определения. \ ,

 

 

58 -

 

 

 

 

 

 

Совместимыми будем называть

те операции множества

Go

,

которые'в

1-й машине реализуются одной командой.

 

 

 

 

Программно-совместимые - это те операции СК Go

,

ко­

торые в

1 -й машине, как правило,

представляются небольшой

 

программой. Эта программа прошивается в памяти столько раз,

 

сколько она встречается в программе алгоритма управления.

 

 

 

Подпрограмшо-совместимые -

это такие операции, которые

в

1-й матине реализуются через

подпрограшш. К таким опера­

циям относятся во многих случаях операции вычисления элемен­

 

тарных функций.

 

 

 

 

 

 

Несовместимой назовем ту операцию СК

Go ,

которая не

может быть реализована хотя бы на

одной из

W

YBM.

 

 

 

Таким образом, если в целом системы команд

tH УВМ не­

совместимы, однако относительно исходного алгоритма. они совмещаютоя, то такие системы команд будем называть совместимыми. Эффективность (2 .II) системы команд гипотетической маши­ ны оценивается только для совмещения операций. Все дальнейшие

рассуждения проведем для совместимой СК

.

*

Для совместимых операций характерным является то, что в

кортежи I машин (систола 2 .II) показатель

3

= 1 , для

программно- и подпрограымно-совыестимых этот показатель харак­

теризует число команд программы, реализующих заданную опера­ цию в СИ Gi .

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

тймых операций - из программ* Для более удобного сравнения однозначных показателей

систему кортежей (2 .II) можно представить в виде исходной сис­ темы матриц однозначных параметров. При этом в матрице, описы­

вающей время реализации операций, каждый элемент должен быть приведен к норме

t j i M -

T j i t > ccl4

Z o Cjicck] >

 

- 59 -

где 'CoQuw'iJ- время реализации самой короткой операции среди всех команд машинного парка, система исходных матриц имеет ряд

 

Д ц

Д 21

• • • Д pi

 

Т л

Д IX Д 2 Х • • • А рх

 

 

Д ш Д гт • • ■ Д рт

(2.12)

I d

д а

(bi.

‘ ’ dpi

 

д и д и • • • С?рх

 

 

д т

дгт • • • дрт

 

 

Ки

Kit

• * * Kpi

 

I K Н- и

Н и • * ‘ Крг

 

 

Him

Кгт

• • * ^Рт

 

 

Za.

Zzi.

• • * Vpi

 

 

Ziz

%гь • *■ Vpi.

 

U

Vim Vzm • • * Vpm

В матрицах оистемы (2.12) каждая колонка описывает па­ раметры некоторой операции для различных машин, а каждая отро­ ка есть показатели различных операций для одной J®M. поэтому

некоторый показатель

алгоритма для С-й машины будет опреде­

лен И8 показателей

6

-й строки.

Элементы матриц

(2.12) представляют собой эффективность

операций гипотетической машины д не узд вд ш к Ш мнотократйое

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