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

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

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

-10

ир .Т . Проссор [2б] путем применения оулевых. матриц.

Вработах Э.Мунтяна [27]решается задача восстановле­ ния по данному алгоритму формулировки задачи, соответствующей

этому алгоритму. Затем человеком или машиной, в тех случаях,

в которых это возможно,решается вопрос

о том, эквивалентна ли

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

соответствующей алго­

рифму CL , заданной формулировке задачи

Р .

С внедрением вычислительных машин в сложные системы

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

т.д.

Подобные вопросы рассматриваются в целом ряде работ Б.Т.Кулика [28-30] . Ввиду обширности и сложности этих вопро­ сов В,Т.Кулику пришлось вводить серию ограничений. Так, напри­ мер, в качестве объектов управления рассматриваются главным об­ разом производственные процессы. Основное внимание сосредоточено на проблемах алгоритмизации и особенно на тех ее этапах, ко­ торые связаны с получением математической модели системы.

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

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

- II -

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

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

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

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

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

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

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

.

В некоторых случаях можно поставить

задачу сокращения *

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

параллельного их выполнения.

Вопросы параллельного выполнения алгоритмов рассматрива­

ются в работах Г.А.Бекишева £зГ,32][

» В этих работах процеоо

решения задач на машинах раочяеняэтся о точностью до груш операций. Вводятся оценки этих алгоритмов и определяется' во-

- 12 -

хтество машин, с помощью которых модно сложить Г1 чисел и минимальное число шагов, за которое можно сложить ft чисел на вычислительной системе.

Большой вклад в теорию и практику программирования внес­ ли советские ученые М.Р.Щура-Бура [ЗЗ-Зб] , С.С.Камынин, Э.З.Любинский, Р.И.Подловченко {*36-37] , Е.Л.Ющенко [38] .

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

В работах [39, 40] подробно исследуются вопросы ми­ нимизации микропрограмм сложных машинных операций. В связи с этим возникают следующие задачи:

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

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

3. Разработать технику, позволяющую заменять в микро­ программах некоторые последовательности традиционных микро­ операций более короткими последовательностями новых микроопе­ раций.

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

дельных микроопераций и условий, но и любых их(конечных) набо­ ров.

 

 

-

13 -

Итак,

пусть P t , Р 4

Р и - заданный набор ко­

манд; Д

р и -

относительные частоты их появления в ма­

шинных программах; R.

—некоторый набор микроопераций и эле­

ментарных логических

условий;

£СЮ- функция, оценивающая

сложность реализации

набора R

,

Для каждой команды р£,

построим оптимальную микропро­

грамму 5 i C R )b заданном наборе R. микроопераций и условий. Оптимальной называется микропрограмма, обладающая минимальным математическим ожиданием времени - Ц ( К ) выполнения этой мик­ ропрограммы. Среднее в р ем я Т 0 0 выполнения одной машинной команды может быть найдено по формуле:

ТОО- 2 ? ^ -

/ь*1

Обратная величина i/T ( R ) представляет собой быстродействие машины, а величина f w * г г ( ю « | ( й ) т а ) - цену условий еди­ ницы этого быстродействия. При конструировании машины естест­ венно добиваться минимизации этой цены. Таким образом, опти­ мальный набор R микроопераций и условий должен минимизиро­ вать произведение K W T C W .

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

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

- 14 -

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

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

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

 

Управляющий автомат

А получает

от операционного ав­

томата В>

сигналы X , представляющие

собой кортежи < dli,

c k i , . . . ,

>

различных

элементарных логических условий,

определенных на

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

В .

Выгодные сигналы ^

управляющего

автомата А отождеств­

ляются о микрооперациями:

выходной сигнал Ц осуществляет

микрооперацию IJ

в операционном устройстве. Состояния управ­

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

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

В последнее время появился ряд системных работ В.В.Липаева и К.К.Колина ["2,41 ] , в которых рассматриваются основ­ ные проблемы разработки общего математического обеспечения для УВС. Рассмотрены средства математического обеспечения тех-

- 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&,

. • » »

Я?£в ^ ■

 

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

может со­

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

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

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