книги из ГПНТБ / Основы теории алгоритмов учеб. пособие
.pdf-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 « |
( |
в |
кортеж |
|
^ |
iK*в I |
Я/4&, |
. • » » |
Я?£в ^ ■ |
|
■В большинстве случаев шожеотво |
может со |
||||
держать рад одинаковых элементов. |
Тогда задачу получения |