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

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

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

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

Добавлен: 24.10.2024

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

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

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

 

 

 

- 30

-

 

 

 

Данную методику перехода^ от сланных матриц к простым

можно применить в алгоритме £>

-

, содержащего разветвления.

При этом элементы

&j't

матрицы С .

составляются для

алгоритмов, находящихся на ветви о

а значения

->

для алгоритмов,

не входящих в ветвь о rkmatt.

 

 

Таким образом, множество наборов

H ji

может быть опи­

сано некоторой

£ -системой:

матриц однозначных параметров

. Выбирая из какого набора но одному алгоритму,

мож­

но получить множество

|

 

 

решений алгоритма

& .

Задачу выбора наилучшего варианта набора алгоритмов,

составляющих алгоритм

D

, можно упростить,

если перед опти­

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

варительные операция над матрицами параметров.

 

Обозначим через 0

некоторую операцию над компонента­

ми матрицы

.

Тогда при определении

для некоторого

 

-варианта

над выбраннымииз каждой колонки по одной

 

компоненте

# j l

матрицы

)Cj> проводится операция в

,

,i

Например, для Х ? жЯ и

Й1=

4 имеем, что О

представля­

ет собой операцию сложения, т .е .

 

 

т

 

 

*

jEj

X j i .

 

r l

Приведем некоторые способы упрощения матриц параметров

алгоритмов.

 

 

I .

Если кошюяенты некоторого набора колонки E j

ны между собой

то

можно вывести за мат­

рицу. Например,

6 »

Шщ

 

 

) C u JCw

К+х

К »

ЪС-а К и

(1.26)

ЭСш.4


 

 

 

 

 

- 31

-

 

 

где число вариантов

S *

Г Т ^

=

3 4 2

3 = 72.

 

Пуоть компоненты голонкя

Е* X u * )С а * Х « в X i

а Е*.

1Счш Х и .ш Хи

. Тогда

Eg

Е<

 

 

 

 

К.

Б*

 

Kai

Х*<

 

 

 

 

 

л »

X u

 

 

 

X f -

K .Q * t 8

 

 

 

 

 

х «

X u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ХгЧ

(1*27)

 

 

 

 

 

 

 

 

 

Запись

(1 .27)епдержитыеныпее число вариантов, т.в.

S =

1 - Г 4 - 3

= 12.

 

 

 

 

 

 

2 .

Бели набор

 

состоит

только из одной компоненты

X u ,

то

ее можно вынести за матрицу.

 

 

3 .

Если компоненты X jl

матрицы Хр есть множества и

если меняются элемент, которые принадлежат каждому множеот-,

ву

Xji , то такие элементы можно вынести за матрицу без

обо­

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

 

;

 

Например, в выражения

Eg

_

 

 

Et

 

Cg

 

 

( 1 . к> М

{ к» k g }

f k « k , k , j

 

 

( к . к , 1

{ к* kg k i }

( к . к . )

 

 

I U

( к» кi J

{ к . k . i

 

 

( к , 1. 1

 

 

1 к . J

 

за

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

kg

, так как любой вариант,

со­

ставленный из трех компонент (из каждой колонки беретоя од­ на компонента), оодержит после операции^единенйяко1^ н е в ^ -

множеотво с элементом

kg . Тогда

 

1 k* kj t

1 K.I

1 к * Ы

K “ (ka} U

l k , k , l

( Ы

( Ы

( k i j

0

( M

 

Ф

 

 


 

 

 

 

 

 

32

 

 

 

 

 

где

 

-

пустое тожество.

 

 

 

 

 

 

Данный прием является частным случаем более общего:

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

| -ой колонки содержат

одинаковые элементы, то их можно вынести за матрицу (напри­

мер.;

k s

) .

Тогда

 

 

 

 

 

 

 

 

 

 

 

(

к .

) Ф

 

{

кл]

 

 

 

 

 

 

Ф

 

(

Ы

Ф

 

К

'

|

Щ

и

Ф

 

Ф

 

(

Ы

 

 

 

 

 

 

 

 

 

 

 

 

 

(

к,1

 

 

 

Ф

 

что позволяет

сократить количество операций соединений.

 

 

4.

 

 

К двум и более

алгоритмам,

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

тых матриц, применима операция соединения, а над соответству­

ющими параметрами проводится операция Q ,

если алгоритмы не­

зависимы (независимыми считаем те алгоритмы, которые имеют

один вход и один выход).

 

 

 

 

 

 

 

I

Пуоть

 

 

 

где

b i *

В и*-

независимые алго­

ритмы и B i* {Ei.Ea, Е * ] ,

а

Ьа.*{ Еа, Е »,

3

я

 

 

 

E ,s ‘ *»

 

 

 

 

SaEjE*

 

 

 

 

 

»

 

X f а * -

 

 

 

Тогда b i l / f t . “ { Е м Е и . Е и . Е ^ }

Ei Еа Ев Вt(

^*fM ~ I

0

# |* j 4 I-

Рассмотрим обобщенный случай

 

( €• « i i

• • ' ? £ * , )


~ 33 -

( B i - U j l ) .

Каждый элемент В^М описан системой простых матриц

Ejftt

# a t p 35 I

1 .

Если независимые алгоритмы охвачены циклом, то алго- . ритм М является сложным и множество его решений описывается сложной системой « Для преобразования сложных систем матриц в простые, Как уже отмечалооь, необходимо умно--

жить сложную матрицу на матрицу-строку L

, содержащую

постоянные коэффициенты.

 

5.При умножении матрица на постоянный коэффициентC

или на ( * * f £-6а Д»и)каждая компонента матрицы умножа­ ется на этот коэффициент.

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

Ei т ) ,

* ги - | * мИ

),

 

( f - i ,*»••••% )■

 

которые описывают множество решений алгоритма

М ‘

.

1 .2 . Обобщенный критерий

 

 

Представляя эффактнвнесть вычислительных алгоритмов

перечислением их параметров в виде кортежей и матриц,

прихо­

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

и

структур УВС - с другой.

На основании частных показателей монно сформулировать критерий [46, 47, 48, 49] , характеризующий степень согла­ сования структур алгоритмов со структурами УВС. Прежде чем сформулировать этот критерий, рассмотрим более подробно част­ ные критерии.

- 34 -

Критерии первого типа отличаются тем, что они харак­ теризуют структуру алгоритма вне завиоимооти от конкретной логической структуры УВС, на которой монет быть реализован данный алгоритм. Параметрами, характеризующими различные ка - • чества структуры алгоритма (как уже отмечалось), могут быть следующие: общее количество операций некоторых типов, время реализации алгоритма, количество исходных данных, промежу­ точных и окончательных результатов и др. Обозначим совокуп­

ность параметров

алгоритма А в виде множеств

X

- { Х , , - - - » Х « ] . ( i “ M , •••> £)'

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

->X lV i),

где \}L - чиоло компонент параметра

 

;

 

6 - число параметров алгоритма

А

.

 

Если X i характеризует состав

операций в алгоритме, то

V i)

определяет количество операций

1.-го

. типа. В зависимости от конкретных требований одни параметры играют первостепенную роль, а другие оказываются несуществен­ ными. В таком случае можно выбрать такое подмножество X ' , которое в достаточной мере характеризует структуру алгоритма А ( Х ' с Х ) . Тогда указанный выше критерий первого типа мо­ жет быть определен в виде функции, представляющей собой неко-v торую зависимость от параметров, входящих в множество X * • т . е . в виде

F ( A ) - F [ а ( х * ) ] .

Обычно выбирают критерий Р(А )так, чтобы качество ал­ горитма, представляемое множеством УС' его параметров, оце­ нивалось по экстремальному значению кмтерия при известных ограничениях на некоторые параметры X j 6 X * .

Второй тип критериев имеёт особенность, что они пред-