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

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

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

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

Добавлен: 24.10.2024

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

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

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

-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 ] , в которых рассматриваются основ­ ные проблемы разработки общего математического обеспечения для УВС. Рассмотрены средства математического обеспечения тех-