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

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

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

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

Добавлен: 24.10.2024

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

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

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

- 15 -

нологичеоких процессов проектирования алгоритмов и программ управляющих ЦВМ.

В монографии И.В.Кузьмина [42^ дается понятие эффектив­ ности и излагаются основные требования к критериям оценки эф­ фективности автоматических систем контроля и управления раз­ личными сложными объектами.

Теоретические проблемы, возникающие при объединении в вычислительную оиотему нескольких вычислительных машин, изла­ гаются в работе Д.А.Поспелова [43] , Изложение ведется о точки зрения связи структуры оиотемы и отуктуры реализуемых на этой системе алгоритмов.

-16 -

ГЛАВА I

КРИТЕРИИ ЭФФЕКТИВНОЙ РЕАЛИЗАЦИИ АЛГОРИТМОВ

УПРАВЛЯЮЩИМИ виЧИСЛИТЕПЫШЛИ системами

I . I . Критерии типа перечисления

Эффективность вычислительных алгоритмов может быть оце­ нена путем перечисления некоторого множества их частных пока­ зателей [4б] . При этом каждый частный показатель должен ха­ рактеризоваться оценкой, физическим смыслом и определять за­ висимость с техническими параметрами информационной системы. Вместе с тем система должна быть критичной к каждому из этих показателей. Общее число таких показателей не должно быть большим, так как в противном случае усложняется задача опти­ мизации в смысле выбора наилучших алгоритмов.

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

В качестве основных параметров эффективности алгоритма можно взять, нацример, следующие:

1)методические и инструментальные югрешности;

2)объем памяти, который необходим ля того или дру­ гого алгоритма с учетом констант;

3)характеристику систем команд;

4)время реализации УВС программы алгоритма.

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

Д «г < >Ci,

( I .I )

ПараметрыX j. могут находиться как в

согласии, так и

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


- 17 -

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

га и т .п . Например,

алгоритмы получения функции БспД? ,

C os£n других будут

сложными и содержат в качестве простых ос­

новные арифметические операции.

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

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

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

( р ) обращения

к

подпрограмме Р . Сама подпрограмма

Р и

программа выхода

(

) из подпрограммы размещаются на

подпро­

граммном поле. Разумеется, это разделение является чисто услов­ ным, т .к . УВС, как правило, имеют единую долговременную память для размещения f * ^ * Р »

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

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

 

Если Д | -

проотые алгоритмы о их определенными корте­

жами ( 1 =

Щ

;М 1- число простых алгоритмов),

то

некоторый более общий алгоритм &

, состоящий из A j

, по­

жег быть записан в виде

 

 

 

' £ > в

{ A

j ] ,

.....

 

При отсутствии циклов

(1. 2)

где - дайна программы алгоритм - длина программы алгоритма *


18

Константы алгоритма Д ; могут быть перечислены в мно­

жеств е

 

Kj -{kjj*], (jm

^ 0 '

где A j -

число

констант. Очевидно, что для определения мно­

жества констант

К в

следует применить

операции соединения

множеств

К ] ■ ? .к .

одинаковые конотанты различных простых

алгоритмов нецелесообразно хранить в разных ячейках памяти. Тогда: и»

К в Ч М >

 

 

 

 

 

 

 

 

(1.4)

где

Л 5 -

число констант

алгоритма

fb .

 

 

При определении

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

j ал-

горитма A j

в

его

кортеж должны быть включены отдельно

пара­

метры

d j

,

A j

» 1*ч. д

При этом

 

 

 

 

D

i

*

d

i + A

i '

 

 

 

 

Т)е,==

 

+ Л-ь.

 

 

Операцию соединения можно применять для определения системы команд О ь . Пусть G j - система команд j -го алгоритма

где "O'], -

общее число

кодов операций

i -го алгоритма. Тогда

0

 

ш

 

О

 

G t - U

 

С>

 

 

t

L

 

(1.5)

a операция

соединения даст

множество

 


 

 

 

 

 

-

19 -

 

 

 

 

 

Ge>

"“

{ $ 1 *

(

\? e 1, 2 ,> " i I^b ) ,

 

где

V ' -

общее число кодов

операций

алгоритма

Б .

 

 

Величина

У

может входить отделкшм параметром в

кор­

теж

| -го

алгоритма. Это объясняется

тем,, что

V'AI

ал­

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

может быть определено только после операции

(1 .5 ).

Кроме

и ^

в кортеж j -го

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

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

G a .

Как

TJ& ,

так и дополнительные параметры,

характе­

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

операции

соединения.

 

 

 

Погрешность

А 5

представляет собой сложную функцию

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

 

* Для ряда

частных задач А а может быть

выражено через

 

некоторой функцией

 

 

Д в - У ( д р ,

( j - i . 2 ,

 

Оперативная память

^ ь

, как правило, определяется

так, что

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

О.Э0Ч

или равна

ему.

Конкретное значение Я г определяется

после

составления алгоритма £» .

 

 

 

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

между различными параметрами (как это было для

D ftH У"* )

и меккортеыше связи

(1 .2 ),

(1 .3 ), (1 .4 ),(1 .5 )

позволяют пре­

образовать множество

6 «

(

в

кортеж

 

^

iKI

Я/4&,

. • » »

Я?£в ^ ■

 

■В большинстве случаев шожеотво

может со­

держать рад одинаковых элементов.

Тогда задачу получения