данных, чем анализ графа вызова программы, и, как следствие, позволяет выявить ситуации, в которых требуется осуществить фактическое копирование функции с применением соответствующих оптимизирующих преобразований.
Межпроцедурный анализ значений элементов массивов и оптимизации проверки их «ошибочности» позволяет существенно повысить производительность результирующей программы, это было показано в рамках внедрения данных алгоритмов в компилятор функционального языка Sisal 3.2 [6] системы SFP [7].
Библиографический список
1. Евстигнеев, В. А. Методы межпроцедурного анализа (обзор) / В. А. Евстигнеев, В. А. Серебряков // Программирование. 1992. № 3. С. 4-15.
2. Антонов, А. С. Современные методы межпроцедурного анализа программ / А. С. Антонов // Программирование. 1998. № 5. С. 3-14.
3. АЛЬФА-система автоматизации программирования / под. ред. А. П. Ершова ; АН СССР. Сиб. отд-ние. Новосибирск : Наука, 1967.
4. Методы декомпозиции, синтеза и оптимизации в многоязыковой системе программирования : препр. / И. В. Поттосин ; АН СССР. Сиб. отд-ние, ВЦ. Новосибирск, 1974.
5. Sharir, M. Two approaches to interprocedural data flow analysis / M. Sharir, A. Pnueli // Program Flow Analysis: Theory and Applications ; ed. S. Muchnick, N. D. Jones. Prentice Hall Inc, 1981.
6. Язык функционального программирования SISAL / В. А. Евстигнеев, Л. В. Городняя, Ю. В. Гус-токашина // Интеллектуализация и качество программного обеспечения. Новосибирск, 1994.
7. SFP - An interactive visual environment for supporting of functional programming and supercomputing / V. N. Kasyanov [et. al.] // WSEAS Transactions on Computers. Vol. 5, № 9. Athens: WSEAS Press, 2006. P. 2063-2070.
R. I. Idrisov
A. P. Ershov Institute of Informatics Systems, Russian Аcademy of Science, Siberian Branch, Russia,Novosibirsk
OPTIMIZING OF THE «IS_ERROR» PROPERTY IN THE SCIENTIFIC FUNCTIONAL LANGUAGE
The «iserror» property indicates an exit from representation limits or an comuptation error. Keeping of such a property for computational tasks allows receiving partial results of calculations. In this work we present a new metod of an interprocedural analysis, based upon expanded static dataflow call graph wich allows optimizing of calculation of such values at a stage of the static analysis of the program.
© HgpncoB P. H., 2009
УДК 62-506.1
О. А. Иконников
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск
НЕПАРАМЕТРИЧЕСКИЙ АЛГОРИТМ ИДЕНТИФИКАЦИИ ПРИ МОДЕЛИРОВАНИИ ДИНАМИЧЕСКИХ ПРОЦЕССОВ
Рассматривается методика построения непараметрических алгоритмов идентификации линейных динамических систем. Приводятся некоторые результаты численных исследований построенных алгоритмов.
Сущность предлагаемого подхода к решению задачи идентификации рассматриваемого класса объектов состоит в построении непараметрических оценок весовой функции и отказа, вследствие этого, от выбора априори порядка уравнения, описывающего данный объект (идентификация в широком смысле). Основой для восстановления
весовой функции системы служат наблюдения реакции объекта на некоторые стандартные сигналы.
Пусть на вход линейной динамической системы (ЛДС) подано единичное возмущающее воздействие 0 < t < T, где Т - время окончания переходного процесса, а 1(0 — функция Хэвисай-
Математические методы моделирования, управления и анализа данных
да. Обозначим {и., х1,. = 1,5} - реализацию наблюдений «входа-выхода» объекта, причем наблюдения выходной переменной х (?) осуществляются в дискретном времени через интервал Д? с случайной статистически независимой помехой с нулевым математическим ожиданием и ограниченной дисперсией. Как известно, реакция ЛДС х(?) на входное возмущение и(?) при ненулевых начальных условиях выражается интегралом Дюамеля (свертки).
Расчетная модель, полученная на основе этого интеграла, имеет следующий вид [1]:
х, (?) = к^ (0) • и(?) + - 1
s • c„
s /Дх
i=i j=1
(t-х-1. ö
(1)
c„
u(х )Дх,
s
где cs - параметр размытости, который должен удовлетворять следующим требованиям:
cs > 0, s = 1, 2, ...; limcs = 0; lims• cs =¥. (2)
Процедура выбора cs производится исходя из среднеквадратичного критерия:
1
W (cs) = --X (x(t.) - x(ti, cs ))2
® min.
(3)
где х(?.) и х(?.) - дискретные значения выхода объекта и модели в одни и те же моменты времени; №(с5) - ошибка идентификации, определяе-
мая разностью выходов.
( x - x1 'ö
Функция H функция, такая, что
J H'(u)du = 0,
П (и)
- колоколообразная cs J uH' (u)du = -1,
W(u)
x - x,
где и = -
В процессе статистического моделирования использовалось описание линейной динамической системы обыкновенным дифференциальным уравнением седьмого порядка
d x
dt7
-+ a6
+ a3
d x
■ + a 2
d x dt6 d2 x
+ a5
d x
dt5
-+ a.
d x dt~
dx
(.)
. + a,--+ a0 x = b0 u,
2 1 dt 0 0
dt3 z dt1 где коэффициенты имеют следующие значения:
а0 = 1,5; а1 = 3,2; а2 = 54,7; а3 = 72,7; а4 = 58,1; а5 = 35,0; а6 = 5,0; а7 = 1,0; b0 = 6,0.
При синтезе алгоритма (1) параметризованная структура и порядок уравнения, описывающий процесс были неизвестны. На вход ЛДС подадим функцию Хэвисайда. Получим выборку статистически независимых входных и выходных наблюдений. Выбор вида колоколообразной функции существенно не влияет на работоспособность алгоритма. Переходная характеристика объекта снималась при помехе 5 %. Время регулирования данного объекта составляет 140 с. Исследования проводились в несколько этапов, т. е. вначале исследовалась работа модели при разных объемах выборки и при различной величине помех, действующих в каналах связи. Значения объема выборки 5 будут следующими: {150, 250, 350}. Значения помехи, действующей в каналах связи, приняты {0, 5, 10 %}. Затем было исследовано поведение модели при различных входных воздействиях.
Проведены исследования при нулевой помехе. Объем выборки 5 равен 150. Выходное значение объекта наблюдалось 140 с с интервалом дискретизации Д = 0,93 с. Непараметрическая модель ЛДС (2) построена по полученной переходной характеристике. Параметр размытости с5 был принят 0,35 при среднеквадратической ошибке равной Ж(с5) = 0,938 4. При Х = 5% среднеквад-ратическая ошибка моделирования составила Щс5) = 5,68. Таким образом, непараметрические модели показали свою достаточно высокую эффективность при идентификации моделей в случае, когда параметрическая структура исследуемых процессов неизвестна. Отметим еще раз, что приведенные непараметрические алгоритмы многомерных статических и линейных динамических объектов соответствуют проблематике идентификации в широком смысле, в отличие от широко распространенной идентификации в узком смысле. Последняя предполагает наличие двух основных этапов: выбора параметрической структуры модели и их последующего оценивания по результатам наблюдения «вход-выход». Непараметрические модели исключают этап выбора параметрической структуры объекта, что делает непараметрический подход более адекватным к многочисленным задачам практики.
Библиографический список
1. Медведев, А. В. Элементы теории непараметрических систем управления / А. В. Медведев // Актуальные проблемы информатики, прикладной математики и механики. Ч. III. Информатика. Новосибирск ; Красноярск : Изд. СО РАН, 1996. С. 87-112.
O. A. Ikonnikov
Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk
NON-PARAMETRICAL IDENTIFICATION ALGORITHM AT THE MODELING OF DYNAMICAL PROCESSES
The methods of non-parametrical linear dynamical systems (LDC) identification algorithms construction are considered in the paper. Some numerical research results of constructed algorithms are represented.
© Иконников О. А., 2009
УДК 62-506.1
Р. Е. Козин
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск
К ОДНОЙ ЗАДАЧЕ НЕПАРАМЕТРИЧЕСКОГО УПРАВЛЕНИЯ ЛИНЕЙНОЙ ДИНАМИЧЕСКОЙ СИСТЕМОЙ В РАЗОМКНУТОМ КОНТУРЕ
Рассматривается задача непараметрического управления линейным динамическим процессом. В качестве исходных данных используются наблюдения переходного процесса. Построена непараметрическая модель системы и непараметрический регулятор. Приведены результаты моделирования в описательной форме.
Рассматривается задача управления линейной динамической системой в условиях непараметрической неопределенности. Это значит, что вид параметрического уравнения, описывающего объект неизвестен, но он может быть описан операторным уравнением
х(г) = Лы(г), (1)
где х(г) - выход объекта; ы(г) - входное воздействие; А - линейный оператор. В этом случае оператор обратный (1), т. е. регулятор системы имеет вид [1; 2]
ы(г) = Л—х(г), (2)
подставляя выражение (2) в уравнение (1) получим следующее:
х(г) = ЛЛ—х(г), (3)
где Л—Л = I, I - единичный оператор, если х(г) в выражении (2) положить равным х *(г), то левая часть (3) будет х *(г) = ЛЛ—х * (г).
Схематически принцип разомкнутого регулирования представлен на рисунке.
Принцип разомкнутого регулирования
Трудность настоящей задачи состоит в том, что оператор Л неизвестен, отсюда Л—1 также неизвестен и подлежит оцениванию по результатам наблюдения входных и выходных переменных. Операторы Л и Л—1 имеют следующий вид:
г г
х(г) = |— т) • ы(т^т = |^т) • ы(г — т^т , (4)
0 0 г г
ы (г) = |у(г — т) • x(т)d т = |у(т) • х(г — т)4 т, (5) 0 0 где ы(г) - входное воздействие; х(г) - выход объекта; А(г) - весовая функция объекта; у(г) - весовая функция объекта в направлении «выход-вход»
[3].
Для оценки весовой функции объекта поступим следующим образом: подадим на вход объекта единичное ступенчатое воздействие и снимем переходную характеристику х^ (г1) = к (г1),
г =1,5; затем найдем весовую функцию из соотношения dk(г)/ dt = ^г). Тогда оценка линейного оператора А будет выглядеть следующим образом:
г г
х8 (г) = | \ (г — т) • ы(т^ т = | \ (т) • ы(г — т^ т. (6) 0 0
Для оценки весовой функции объекта в направлении «выход-вход» поступим следующим образом: подадим на выход модели (6) х(г) = 1(г),