УДК 519.217.2
ОСНОВНЫЕ СВОЙСТВА ВЫЧИСЛИТЕЛЬНЫХ АЛГОРИТМОВ, ВЫПОЛНЯЕМЫХ НА РЕАЛЬНЫХ ЭВМ
Г.Н. Клинцов, Е.В. Ларкин
Описываются основные свойства вычислительных алгоритмов реальных ЭВМ для определения подхода моделирования алгоритмов исследуемого класса.
Ключевые слова: алгоритм управления, робототехническая платформа, полумарковские модели, быстродействие ЭВМ.
На современном этапе развития науки и техники трудно представить проблему, при решении которой не использовалась бы ЭВМ. Любые промышленные комплексы, изделия и даже отдельные функциональные узлы включают управление ЭВМ, мини-, микроЭВМ или встроенные одноплатные (однокристальные) микропроцессорные управляющие блоки. Области и масштабы применения ЭВМ весьма широки и находятся в диапазоне от прогнозирования экологической обстановки и управления гигантами индустрии до автоматических определителей номера в обычных телефонных аппаратах.
Широкое применение ЭВМ нашли и в робототехнике в сфере создания роботизированных платформ. По своей общей структуре данные платформы представляют собой сложно организованные технические средства, включающие сенсоры, исполнительные механизмы и бортовую ЭВМ, объединённые контурами управления в единую систему, обеспечивающую решение функциональных задач комплекса в целом.
Одной из важнейших проблем, возникающих при разработке программных средств управления роботизированными платформами, является организация взаимодействия множества узлов и блоков (часто имеющих разных производителей и протоколы обмена данными), при обеспечении минимальной задержки по времени в контурах управления.
Также важной характеристикой роботизированной платформы является её быстродействие, определяемое как промежуток времени между вводом данных для решения поставленной задачи (появлением ситуации, требующей адекватного реагирования со стороны управляющей ЭВМ) и выводом результата решения (выдачей соответствующего управляющего воздействия). Эта характеристика в основном определяет эффективность применения вычислительной техники, а в ряде случаев, например, в комплексах специального назначения, - работоспособность и даже «жизнеспособность» комплекса.
Для начала моделирования и анализа быстродействия алгоритмов управления необходимо выделить основные свойства, присущие алгоритмам исследуемого класса.
Основываясь на полученных в ходе исследовательской деятельности выводах, функционирование управляющей ЭВМ можно представить в виде процесса выполнения команд с вероятностным характером переходов в местах передачи управления операторами принятия решения. Время выполнения каждой команды, как и общее время решения задачи, является случайной величиной, что может быть проконтролировано экспериментально с помощью системного таймера ЭВМ, включаемого одновременно с запуском программы на выполнение. Это означает, что система управления робототехнической платформой может быть адекватно промоделирована с использованием цепей Маркова.
Данный краткий анализ вычислительных процессов реальных ЭВМ позволяет более точно определить подход к моделированию алгоритмов исследуемого класса.
В дальнейшем будет подразумеваться, что каждый исследуемый алгоритм представляется упорядоченным подмножеством 0=[А, 2], в котором А = {аI} представляет собой непустое множество операторов, а 2 = {[а', aj ]} - непустое множество перехода между операторами алгоритма 1 £ {/', j} £ 3.
Для каждого оператора а/ е А могут быть определены подмножества I(а/) с А операторов, из которых вычислительный процесс попадает в а^, и подмножество 0(а/) с А операторов, в которые вычислительный процесс попадает после выполнения а/.
В множестве А операторов алгоритма могут быть выделены подмножества начальных В = {р(р)} и конечных Е = {ег(е)} операторов,
В с А, Е с {Р/(р)}, /(Р)е {1,...,/',...,3},/(е)е {1,...,/',...,3} таких, что
I [Р(р)] = о, 0[р (¿)] ф о;
I[е/(е)] = о, 0[ег(е)] Ф о.
Как аксиомы следует принять два утвержд ения.
Утверждение 1. Вычислительный процесс может начаться только в операторах а/ е В, а завершиться - только в операторах а' е Е.
Утверждение 2. Пересечение множеств В и Е есть пустое множество В п Е = о.
Исследуемые алгоритмы обладают следующими свойствами.
Свойство 1. Подмножества В и Е не пусты (В Ф о, Е Ф о, о - пустое множество).
Действительно, если В = о, то отработка информации не может быть начата; если Е = о, то она не может быть завершена.
Свойство 2. Число 3 операторов алгоритма G больше одного и конечно.
Действительно, минимально возможный алгоритм, удовлетворяющий условиям свойства 1, может содержать непустое подмножество B с единственным оператором Ь и непустое подмножество E с единственным оператором e. Вследствие того, что Ь пe = о; а O[bi(b)] Ф о и , I[Ь(ь)] = о,
между операторами Ь и е может существовать непустая связь [Ь, е], так как для Ь и е выполняются условия I(Ь) = о и О(е) = о. Таким образом, минимально возможный алгоритм может быть представлен упорядоченным множеством О = [{Ь, е},{[Ь, е]}]. Максимальное же количество операторов и структурных связей между ними ограниченно физическими возможностями реальных ЭВМ, в основном объёмом запоминающего устройства для хранения программы (абстрактная теория алгоритмов рассматривает машину Тьюринга с бесконечной лентой [4], поэтому класс исследуемых ниже алгоритмов существенно важен).
Свойство 3. Любой оператор с е А достижим из подмножества В.
Действительно, возможны два варианта существования оператора с: с е В и с € В. В первом случае оператор с достижим из В по определению множества В. Пусть во втором случае оператор с недостижим из В. Тогда существует некоторое подмножество С(К) с А операторов, определяемое по рекуррентным формулам:
С(К) = С(к-1) и 1(С(к-1)), 1 £ k £ К; С(0) = с, получаемое за конечное число шагов К< недостижимое из подмножества В. Это означает, что в подмножестве С (К) не существует операторов й, для которых справедливо отношение 0(й) с С( К), и что С (К) п В = В.
Подмножество С(К) может быть представлено в виде единственного оператора С. По предположению, С п В = о, но попасть в С можно только в начале вычислительного процесса. Полученное противоречие доказывает свойство 3.
Свойство 4. Подмножество Е множества А операторов алгоритма О достижимо из любого оператора с е А.
Доказательство свойства аналогично доказательству свойства 3.
Свойство 5. Из оператора щ в операторы подмножества 0(щ) в операторы подмножества вычислительный процесс попадает случайным образом. Каждый переход из а^ в а^ е 0(щ) характеризуется вероятностью Ру, причём для указанных вероятностей справедливо равенство
-1 П, если ai е Е,
I Ру=\: 1 Е (1)
г-=1 [0, если а^ е Е.
Это свойство следует из рассмотренных выше особенностей реальных вычислительных процессов, и того факта, что все переходы в местах передачи управления составляют полную группу несовместных событий.
При выполнении же вычислительного оператора переход к следующему за ним единственному оператору производиться с вероятностью, равной единице. Вычислительный процесс завершается, если он попадает в операторы подмножества Е.
Свойство 6. Выполнение оператора üj е A с последующим переходом в оператор üj е O(üj) с A производится вычислительной системой в течение случайного времени. Закон распределения времени выполнения оператора fjj (t) ограничен следующим образом:
fij(t) = 0 при t £ 0;
^ (2) J fjj (t )dt = 1.
0
Справедливость утверждения о случайности времени выполнения оператора следует из особенности выполнения команд на ЭВМ и того факта [9], что композиции случайных величин есть случайная величина. Ограничения (2) могут быть доказанные следующим образом.
Каждый оператор алгоритмов исследуемого класса включает одну или несколько машинных команд, выполняемых последовательно. Закон распределения времени выполнения одной машинной команды ограничен
¥
зависимостями fR (t) = 0 при t < 0 J fR (t)dt = 1 совпадающими с ограниче-
' 0
ниями (2). Время выполнения последовательности K машинных команд определяется суммой K случайных величин, а закон распределения суммы случайных величин определяется свёрткой
fij (t) = fl(j) (t) * f2(ij) (t) * к * fk(jj) (t) *... * fK(jj) (t),
где fk(jj)(t) - закон распределения времени выполнения k-й команды из цепочки команд оператора üj, после выполнения которого алгоритм переходит в оператор üj, 1(j) £ k(ij) £ K(ij); * - математическая операция
свёртки, определяемая для законов распределения a(t) и ß(t) как
¥
a(t) * ß(t) = J a(t)ß(t - t)dt. (3)
0
Может быть доказано следующее свойство свёртки. Если функции a(t) и ß(t) определены таким образом, что
a(t) = 0 при t £ Ta min, t — Ta max, Ta min < Ta max ; ß(t) = 0 пр^ £ Tß m^ t — Tß max, Tß min < Tß max, то для функции a(t) *ß(t) справедливы ограничения
a(t) * ß(t) = 0 при t £ Ta min + Tß mim t — Ta max + Tß max. (4)
Из формулы для вычисления свёртки и области определения функции ß(t) следуют неравенства:
mint {Tß min, Tß max } + t £ maxt {Tß min, Tß max } + t;
Tß min + t£ t £ Tß max + t,
подставляя которые в неравенства для области определения функции a(t), можно получить ограничения (4):
Tß min + mint {Ta min, Ta max } £ t £ Tß max + maxt {Ta min, Ta max } •
Таким образом, область определения цепочки свёрток функций с ограниченными областями определения также ограничена, что и доказывает справедливость (2)
Следует отметить, что если в структуре G алгоритма переход [üj, üj] отсутствует, то fj (t) = limt®¥ 5(t -t). Однако в большинстве
практических случаев для описания отсутствия перехода [üj, üj ] достаточно считать, что при pjj = 0 fjj (t) = 8(t), а неопределённости типа 0
или 0/0, возникающие при выполнении математических операций в процессе анализа алгоритмов, разрешаются в пользу равенства результата соответствующей операции нулю или 5-функции.
Свойство 7. Вероятность pjj и параметры законов fjj(t) не имеют
корреляции и не зависят от того, каким образом вычислительный процесс попал в оператор üj. Указанное свойство не является достаточно строгим. Его справедливость может быть легко опровергнута при наличии более полной информации об особенностях работы компиляторов с языков высокого уровня, генерирующих цепочки команд для выполнения тех или иных операторов (например, форматы команд регистр-регистр или регистр-память), особенностях структур технических средств, выполняющих алгоритмы и т.п. Однако при оценке временных характеристик алгоритмов это свойство может быть полезным, ибо оно позволяет существенно упростить выкладки, в связи с чем и принимается как аксиома.
Свойство 8. Множество A операторов алгоритма G=[A, Z] может быть разбито на непересекающиеся множества Аk ,1 £ k £ K, A = Ai и... и Ak и... и Ak , Ai n Ak = о при k Ф1, такие, что Ak n B Ф о, Ak n E Ф о, и среди множества Z не существует ни одной связи [üj, üj ] ,
такой, что üj е Ak üj е Ai.
Свойство 8 позволяет рассматривать алгоритм как некоторую совокупность задач, решаемых на ЭВМ, что является полезным в ряде практических случаев, например, при исследовании систем коллективного пользования.
Свойство 9. Для операторов подмножества В заданы вероятности начала в них вычислительного процесса д!:
ТЧг = 1. (5)
!=1
Свойство 9 разрешает проблему наличия подмножества В начальных операторов с мощностью больше единицы (обычно в теории алгоритмов допускают существование единственного оператора начала [4]) Операторы подмножества В могут быть интерпретированы как начальные операторы задач или как точки входа задачи с несколькими точками входа при запуске, а вероятности д^ - как вероятности решения задач и/или запуска задач с каждой из точек входа при долговременной эксплуатации ЭВМ.
Свойство 10. Вероятности ру , д; и параметры законов /у (7) для
конкретного алгоритма, выполняемого на конкретной ЭВМ, являются постоянными или медленно меняющимися во времени величинами.
Свойство 11. Если в техническом комплексе имеются соответствующие технические возможности, то среди множества А операторов алгоритма допускается существование подмножества
Аа = {Аа1, ..., АаI,..., АС1} подмножеств операторов, выполняемых параллельно и одновременно. Каждое из подмножеств Аа/ е Аа может рассматриваться как алгоритм со структурой, представленной упорядоченным множеством Оа/ = [Аа/, I^ Аа/ = {fiíl(s^), к, ща/^ ..., ^ ^ а / = {[ а1 (0 /); а у (а /)]}, в котором могут быть выделены свои подмножества начальных Вс/ и конечных Ес/ операторов. Для параллельного выполнения указанных операторов необходимо существование хотя бы одного условия из совокупности:
I(Вс/) п I(Вс т) = о при / Ф т, 1 £ {/, т} £ Ь ;
I(Вс/) п Арт Ф о при / Ф т, 1 £ {/,т} £ Ь .
Для времени выполнения операторов аг(а/), вероятностей переходов в операторы О(а^а/)) и попадания в подмножества Вс / справедливы
свойства 5, 6, 7, 9 и 10.
Очевидно, что для попадания вычислительного процесса в подмножество I (Вс /) и выхода его из оператора подмножества I (Ес /) в сопряжённые с ними (1 £ / £ Ь) должны существовать некоторые дополнительные условия (например, ожидать/не ожидать завершения выполнения операторов других подмножеств множества Ас ), что определяется особенностями конфигурации технических средств и операционной системы параллельной ЭВМ.
Свойство 12. Множество А операторов алгоритма, представленного структурой О, может включать некоторое подмножество А^ = {а1(Х), к, аI(X), к, аJ(X)} с А, в которое вычислительный процесс
попадает в результате некоторого внешнего по отношению по отношению к комплексу воздействия, называемого прерыванием, при наличия в комплексе соответствующих технических возможностей.
В подмножестве А^, в свою очередь, могут быть выделено подмножество Вх операторов, в которые вычислительный процесс попадает
после прерывания непосредственно, и подмножество Е операторов, из которых вычислительный процесс возвращается в тот оператор подмножества Ах, при выполнении которого в систему поступило прерывание. Для
времени выполнения операторов аг(Х) е Ах и переходов в сопряжённые с
ними операторы справедливы свойства 5, 6, 7, а попадание в операторы подмножества Вх определяется вероятностями qi (е), для которых выполняется свойство 9. Кроме того, для операторов подмножества Ах выполняется свойство 8.
Свойство 13. Внешние прерывания в комплексе представляют собой поток случайных событий, причём время между двумя последовательными прерываниями определяется законом распределения g(t), для которого справедливы ограничения (2). Вследствие того, что поток заявок является внешним по отношению к комплексу, параметры закона распределения g(t)не коррелированны с параметрами законов /у ^) и вероятностями ру,
но могут быть коррелированы с вероятностями qi (е). Для простоты можно
предположить, что и эта корреляция отсутствует. На закон распределения g(t) могут быть наложены дополнительные ограничения, связанные, например, с требованиями к стационарности потока, отсутствию последействия и т. П.
Очевидно, что вышеперечисленными свойствами обладает подавляющее большинство алгоритмов современных ЭВМ, том числе алгоритмы параллельных систем и систем с прерываниями, что делает универсальным подход к их анализу, проводимому с использованием полумарковских моделей.
Список литературы
1. Андрющенко В. А. Системы автоматического управления технологическим оборудованием. Л.: Машиностроение, ЛО, 1983. 255 с.
2. Бессекерский В.А., Изранцев В.В. Системы автоматического управления с микроЭВМ. М.: Наука, 1987. 318 с.
115
3. Евстигнеев В. А. Применение теории графов в программировании. М.: Наука, 1985. 352 с.
4. Ершов А.П. Введение в теоретическое программирование: беседы о методе. М.: Наука, 1977. 288 с.
5. Игнатьев В.М., Ларкин Е.В. Восприятие информации в системах искусственного интеллекта: учеб. пособие. Тула: ТГТУ, 1994. 88 с.
6. Игнатьев В.М., Ларкин Е.В. Об одном методе декомпозиции граф-схем алгоритмов / ТулПИ. Тула, 1987. 12 с. Деп. в ЦНИИТЭИ приборостроения, N 3983-Пр. 87 от 23.10.87.
7. Королюк B.C., Турбин А.Ф. Полумарковские процессы и их приложения. Киев: Наукова думка, 1976. 184 с.
8. Котов В.Е., Сабельфельд В.К. Теория схем программ. М.: Наука, 1991. 246 с.
9. Ширяев А.Н. Вероятность. М.: Наука, 1989. 640 с.
Клинцов Григорий Николаевич, студент, argon-eldaramail. ru, Россия, Тула, Тульский государственный университет,
Ларкин Евгений Васильевич, д-р техн. наук, проф., зав. кафедрой, elarkinamail.ru, Россия, Тула, Тульский государственный университет
BASIC FEATURES OF THE COMPUTATIONAL ALGORITHMS EXECUTING ON THE REAL COMPUTER SYSTEMS
G.N. Klintsov, E. V. Larkin
The basic features of the computational algorithms of real computer systems to determine the approach in the investigated class are described
Key words: control algorithm, robotic platform, Semi-Markov models, performance of the computer system.
Klintsov Grigoriy Nikolaevich, student, argon-eldaramail. ru, Russia, Tula, Tula State University,
Larkin Eugene Vasilyevich, doctor of technical sciences, professor, head of chair, elarkina mail. ru, Russia, Tula, Tula State University