close

Вход

Забыли?

вход по аккаунту

?

289.Вестник Томского государственного университета. Управление, вычислительная техника и информатика №3 2011

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО
МИНИСТЕРСТВО
ОБРАЗОВАНИЯ УНИВЕРСИТЕТА
И НАУКИ РФ
Управление, вычислительная техника и информатика
2011
№ 3(16)
ВЕСТНИК
ТОМСКОГО
ГОСУДАРСТВЕННОГО
УНИВЕРСИТЕТА
УПРАВЛЕНИЕ,
ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
И ИНФОРМАТИКА
TOMSK STATE UNIVERSITY
JOURNAL OF CONTROL AND COMPUTER SCIENCE
Научный журнал
2011
№ 3(16)
Свидетельство о регистрации: ПИ № ФС 77-29497
от 27 сентября 2007 г.
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2
V.V. Dombrovskii, T.U. Obyedko
РЕДАКЦИОННАЯ КОЛЛЕГИЯ ЖУРНАЛА
«ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА.
УПРАВЛЕНИЕ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ИНФОРМАТИКА»
Горцев А.М., д-р техн. наук, проф. (председатель); Смагин В.И., д-р техн. наук, проф.
(зам. председателя); Цой С.А., канд. физ.-мат. наук, доц. (отв. секретарь); Агибалов Г.П.,
д-р техн. наук, проф.; Дмитриев Ю.Г., д-р физ.-мат. наук, проф.; Домбровский В.В.,
д-р техн. наук, проф.; Змеев О.А., д-р физ.-мат. наук, проф.; Евтушенко Н.В., д-р техн. наук, проф.; Конев В.В., д-р физ.-мат. наук, проф.; Костюк Ю.Л., д-р техн. наук, проф.; Кошкин Г.М., д-р физ.-мат. наук, проф.; Матросова А.Ю., д-р техн. наук, проф.; Назаров А.А.,
д-р техн. наук, проф.; Параев Ю.И., д-р техн. наук, проф.; Поддубный В.В., д-р техн. наук,
проф.; Сущенко С.П., д-р техн. наук, проф.; Тарасенко Ф.П., д-р техн. наук, проф.; Хорошевский В.Г., д-р техн. наук, проф., член-корр. РАН; Prinetto Paolo, Prof., Polytechnic Institute Turine (Italy); Zorian Yervant, PhD, Vice President & Chief Scientist, Virage Logic Corp.,
Fremont, CA (USA).
Научный журнал «Вестник Томского государственного университета. Управление, вычислительная техника и информатика» был выделен в самостоятельное периодическое издание из общенаучного журнала «Вестник Томского государственного университета» в
2007 г. Журнал зарегистрирован в Федеральной службе по надзору в сфере массовых коммуникаций, связи и охраны культурного наследия (свидетельство о регистрации ПИ № ФС
77-29497 от 27 сентября 2007 г.), ему присвоен международный стандартный номер сериального издания (ISSN 1998-8605). С 2010 г. журнал входит в Перечень ВАК. Журнал выходит ежеквартально и распространяется по подписке, его подписной индекс 44031 в объединённом каталоге «Пресса России».
В журнале «Вестник ТГУ. УВТиИ» публикуются результаты теоретических и прикладных исследований вузов, научно-исследовательских, проектных и производственных организаций в области управления, вычислительной техники и информатики в технических,
экономических и социальных системах.
Тематика публикаций журнала:
• УПРАВЛЕНИЕ ДИНАМИЧЕСКИМИ СИСТЕМАМИ
• МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
• ОБРАБОТКА ИНФОРМАЦИИ
• ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ
• ДИСКРЕТНЫЕ ФУНКЦИИ И АВТОМАТЫ
• ПРОЕКТИРОВАНИЕ И ДИАГНОСТИКА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Правила оформления статей приведены на сайте: http://vestnik.tsu.ru/informatics/
Адрес редакции:
634050, г. Томск, пр. Ленина, д.36, корп. 2, к. 201
Электронный адрес: http://vestnik.tsu.ru
Контактный тел./факс: (3822) 529-599
E-mail: vestnik_uvti@mail.tsu.ru
ООО «Издательство научно-технической литературы»
634050, Томск, пл. Ново-Соборная, 1, тел. (3822) 533-335
Редактор Т.С. Портнова
Верстка Д.В. Фортеса
Изд. лиц. ИД № 04000 от 12.02.2001. Подписано к печати 06.06.2011.
Формат 70 × 100 1/16. Бумага офсетная. Печать офсетная. Гарнитура «Таймс».
Усл. п. л. 10,0. Уч.-изд. л. 11,2. Тираж 300 экз. Заказ № 20.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
СОДЕРЖАНИЕ
УПРАВЛЕНИЕ ДИНАМИЧЕСКИМИ СИСТЕМАМИ
Dombrovskii V.V., Obyedko T.U. Model predictive control of constrained with non
linear stochastic parameters systems .........................................................................................5
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Есина З.Н., Корчуганова М.Р., Мурашкин В.В. Математическое моделирование
фазового перехода жидкость – твердое ...............................................................................13
ОБРАБОТКА ИНФОРМАЦИИ
Лапатин И.Л., Назаров А.А. Характеристики марковских систем массового обслуживания при асимптотически пуассоновских входящих потоках...............................24
Сергеева Е.Е., Воробейчиков С.Э. Гарантированная оценка параметров и обнаружение момента разладки GARCH(1,1)-процесса................................................................31
Смагин В.И., Смагин С.В. Фильтрация в линейных дискретных нестационарных
системах с неизвестными возмущениями ...........................................................................43
Шумилов Б.М., Матанов Ш.М. Алгоритм с расщеплением вейвлет-преобразования сплайнов первой степени...............................................................................................51
ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ
Бабанов А.М. Семантическая методика проектирования БД и ее перспективы, открывающиеся с применением ERM-модели данных..........................................................58
Дружинин Д.В. Комбинированный алгоритм сжатия ключевых кадров экранного
видео.......................................................................................................................................67
Курносов М.Г., Пазников А.А. Инструментарий децентрализованного обслуживания потоков параллельных MPI-задач в пространственно-распределенных мультикластерных вычислительных системах ...........................................................................78
ПРОЕКТИРОВАНИЕ И ДИАГНОСТИКА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Тарков М.С. Отображение полугрупповых операций над массивами на вычислительную систему с тороидальной структурой ....................................................................86
ДИСКРЕТНЫЕ ФУНКЦИИ И АВТОМАТЫ
Закревский А.Д. Алгоритм матричного отображения графа на булев куб ...........................94
Поттосин Ю.В., Шестаков Е.А. Применение аппарата покрытий троичных матриц
для поиска разбиения множества аргументов при декомпозиции булевых функций ......100
Шабалдина Н.В. Исследование отношения неразделимости для недетерминированных автоматов с тайм-аутами .......................................................................................108
СВЕДЕНИЯ ОБ АВТОРАХ ......................................................................................................116
PAPER REFERATS....................................................................................................................118
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
TOMSK STATE UNIVERSITY
2011
Journal of Control and Computer Science
No. 3(16)
CONTENTS
CONTROL OF DYNAMICAL SYSTEMS
Dombrovskii V.V., Obyedko T.U. Model predictive control of constrained with non
linear stochastic parameters systems .........................................................................................5
MATHEMATICAL MODELLING
Esina Z.N., Korchuganova M.R., Murashkin V.V. Mathematical simulation of phase
change fluid – solid .................................................................................................................13
DATА PROCESSING
Lapatin I.L., Nazarov A.A. Characteristics of the markovian queueing systems with
asymptotical poisson arrival processes....................................................................................24
Sergeeva E.E., Vorobeychikov E.S. Guaranteed estimation of parameters and fault
detection in GARCH(1,1)-process ..........................................................................................31
Smagin V.I., Smagin S.V. Filtering for linear not stationary discrete system with
unknown disturbances ениями................................................................................................43
Shumilov B.M., Matanov S.M. An algorithm with splitting of the wavelet transforms of
first degree splines...................................................................................................................51
INFORMATICS AND PROGRAMMING
Babanov A.M. Semantic method of database designing and its prospects opening with
application of the ERM data model .........................................................................................58
Druzhinin D.V. Composite algorithm for screen video key frames compression.........................67
Kurnosov M.G., Paznikov A.A. Software tools for decentralized servicing of parallel
MPI-jobs streams in geographically distributed multicluster computer systems .....................78
DESIGNING AND DIAGNOSTICS OF COMPUTER SYSTEMS
Tarkov M.S. Mapping semigroup array operations onto computer system with toroidal
structure...................................................................................................................................86
DISCRETE FUNCTION AND AUTOMATONS
Zakrevskiy A.D. The Algorithm of Matrix Mapping of a Graph on a Boolean Cube ..................94
Pottosin Yu.V., Shestakov E.A. Application of the ternary matrix cover technique to
search for a partition of the argument set in decomposition of Boolean functions ................100
Shabaldina N.V. Studing non-separability relation for non-deterministic finite state
machines with time-outs........................................................................................................108
BRIEF INFORMATION ABOUT THE AUTHORS ..................................................................116
PAPER REFERATS....................................................................................................................118
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
УПРАВЛЕНИЕ ДИНАМИЧЕСКИМИ СИСТЕМАМИ
УДК 519.865.5
V.V. Dombrovskii, T.U. Obyedko
MODEL PREDICTIVE CONTROL OF CONSTRAINED
WITH NON LINEAR STOCHASTIC PARAMETERS SYSTEMS
In this paper we consider the model predictive control problem of discrete-time
systems with non-linear random depended parameters for which only the first and
second conditional distribution moments, the conditional autocorrelations and the
mutual cross-correlations are known. The open-loop feedback control strategy is
derived subject to hard constraints on the control variables. The approach is advantageous because the rich arsenal of methods of non-linear estimation or the results of nonparametric estimation may be used directly for describing characteristics of random parameter sequences.
Keywords: discrete time control systems, model predictive control (MPC), nonlinear stochastic parameters, multiplicative noise, constraints, computational
methods, stochastic control.
Lately there has been a steadily growing need and interest in systems with stochastic
parameters and/or multiplicative noise. The same systems have been gaining greater acceptance in many engineering and finance applications.
Optimization techniques to various control and estimation problems for such systems have been intensively studied in the literature.
In particular, a linear quadratic control for systems with random independent parameters is studied in [1-3]. In [4-8] the authors consider stochastic optimal control
problem of systems with dependent parameters which switch according to a Markov
chain.
In above-mentioned papers there are no constraints on the state and control variables. However, constraints arise naturally in many real world applications.
In recent years considerable interest has been focused on model predictive control
(MPC), also known as receding horizon control (RHC), as an appropriate and effective
technique to solve the dynamic control problems having input and state/output constraints. The basic concept of MPC is to solve an open-loop constrained optimization
problem at each time instant and implement only the first control move of the solution.
This procedure is repeated at the next time instant. Some of the recent works on this
subject can be found in literature [9-20].
MPC for constrained discrete-time linear systems with random independent parameters is considered in [15, 16]. In [17, 18] MPC of linear with random dependent parameters systems under constraints is examined, where parameters evolution is described by multidimensional stochastic difference equations. In [19] the MPC problem
of discrete-time Markov jump with multiplicative noise linear systems subject to constraints on the control variables is solved.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
V.V. Dombrovskii, T.U. Obyedko
6
In this paper we consider MPC for constrained discrete-time with stochastic nonlinear parameters systems. The main novelty of this paper is that no assumption is made
about the form of the function describing parameters evolution. The first and second
conditional distribution moments, the conditional autocorrelations and the mutual crosscorrelations are known only. The performance criterion is composed by a linear combination of a quadratic and liner parts. The open-loop feedback control strategy is derived
subject to hard constraints on the input variables. Predictive strategies computation includes the decision of the sequence of quadratic programming tasks.
The approach is advantageous because the rich arsenal of methods of non-linear estimation or if no model can be found that describes the underlying non-linear structure
adequately, then the results of nonparametric estimation may be used directly for describing characteristics of non-linear time series.
1. Problem formulation
We consider the following discrete-time with non-linear stochastic parameters system on the probabilistic space (Ω, F , P):
x(k + 1) = Ax(k ) + B[η(k + 1), k + 1]u (k ) ,
(1)
where x(k) is the nx-dimensional vector of state, u(k) is the nu-dimensional vector of
control; η(k) (k=0,1,2…) denotes a sequence of depended q-dimensional random vectors. A, B[η(k),k] are the matrices with appropriate dimensions, where B[η(k),k] linearly
depend on η(k).
Let F =( Fk )k≥1 is the flow of sigma algebras defined on (Ω, F , P), where Fk denotes the sigma algebra generated by the {(x(s), η(s)): s=0, 1, 2,…,k} up to time instant
k and it means the information (measurements) before the time k.
We assume that we know conditional moments for the process η(k) about Fk :
M {η(k + i ) / Fk } = η(k + i ),
{
T
M ⎡⎣ η(k + i ) − η(k + i ) ⎤⎦ ⎡⎣ η(k + j ) − η(k + j ) ⎤⎦
(k = 0,1, 2,...), (i, j = 1, 2,...).
(2)
/ Fk } = Θij (k ),
(3)
In that follows, we use notation: for any matrix ψ[η(k),k], dependent on η(k),
ψ(k ) = E {ψ[η(k ), k ] / Fk } without indicating the explicit dependence of matrices on
η(k). Also we use the standard notation, for square matrix A, A≥0 (A>0, respectively) to
denote that the matrix A is positive semidefinite (positive definite), and tr(A) to represent the trace of A.
We impose the following inequality constraints on the control:
umin (k ) ≤ S (k )u (k ) ≤ umax (k ),
(4)
where S(k) is the matrix with appropriate dimension.
The cost function of the RHC is defined as a function, composed by a linear combination of a quadratic part and a linear part, which is to be minimized at every time k
m
{
}
J (k + m / k ) = ∑ M xT (k + i ) R1 (k , i ) x(k + i ) − R3 (k , i ) x(k + i ) / Fk +
i =1
m −1
{
}
+ ∑ M uT (k + i / k ) R2 (k , i )u (k + i / k ) − R4 (k , i )u (k + i − 1/ k ) / Fk ,
i =0
(5)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Model predictive control of constrained with non linear stochastic parameters systems
7
on trajectories of system (1) over the sequence of predictive controls u(k/k), …,
u(k+m−1/k) dependent on the state x(k), under constraints (4); R1(k,i)≥0, R2(k,i)>0,
R3(k,i) ≥0, R4(k,i) ≥0 are given symmetric weight matrices of corresponding dimensions;
m is the prediction horizon.
Only the first control vector u(k/k) is actually used for control. Thereby we obtain
control u(k) as a function of state x(k), i.e. the feedback control. This optimization process is solved again at the next time instant k+1 to obtain control u(k+1). The synthesis of
predictive control strategies leads to the sequence of quadratic programming problems.
2. Model predictive control strategies design
Consider the problem of minimizing the objective (5) with respect to the predictive
control variables u(k+i/k), subject to constraints (4).
Theorem. The set of predictive controls U(k)=[uT(k/k), …,uT(k+m-1/k)]T, such that it
minimizes the objective (5) subject to (4), for each instant k is defined from the solving
of quadratic programming problem with criterion
Y (k + m / k ) = ⎡⎣ 2 xT (k )G (k ) − F (k ) ⎤⎦ U (k ) + U T (k ) H (k )U (k )
(6)
under constraints
U min (k ) ≤ S (k )U (k ) ≤ U max (k ),
(7)
S (k ) = diag( S (k ),..., S (k + m − 1)),
where
T
T
T
T
U min (k ) = [umin
(k ),..., umin
(k + m − 1)]T , U max (k ) = [umax
(k ),..., umax
( k + m − 1)]T ,
H(k), G(k), F(k) – are the block matrices
⎡ H11 (k ) H12 (k )
⎢ H (k ) H 22 (k )
H (k ) = ⎢ 21
⎢
⎢⎣ H m1 (k ) H m 2 (k )
H1m (k ) ⎤
H 2m (k ) ⎥
⎥,
⎥
H mm (k ) ⎥⎦
(8)
G (k ) = [G1 (k ) G2 (k )
Gm (k )] ,
(9)
F (k ) = [ F1 (k ) F2 (k )
Fm (k ) ] ,
(10)
where the blocks satisfy the following recursive equations
T
H tt (k ) = R2 (k , t − 1) + B (k + t )Q(m − t ) B(k + t ) +
{
}
+ M BT (k + t )Q(m − t ) B (k + t ) / Fk ,
(11)
T
H tf (k ) = B (k + t )( AT ) f −t Q(m − f ) B(k + f ) +
{
}
+ M BT (k + t )( AT ) f −t Q(m − f ) B (k + f ) / Fk , t < f ,
(12)
H tf (k ) = H ft T (k ), t > f ,
(13)
Gt (k ) = ( Αt )T Q(m − t ) B(k + t ),
(14)
m
Ft (k ) = ∑ R3 (k , j ) A j −t B(k + t ) + R4 (k , t − 1),
j =t
(15)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
V.V. Dombrovskii, T.U. Obyedko
8
Q(t ) = AT Q(t − 1) A + R1 (k , m − t ), (t = 1, m),
Q(0) = R1 (k , m).
The optimal control law is achieved by
u (k ) = ⎡⎣ I nu
0nu
0nu ⎤⎦ U (k ),
(16)
(17)
(18)
where I nu is nu-dimensional identity matrix, 0nu is nu-dimensional zero matrix.
In the case of unconstrained control the optimal control strategy for system (1) is
achieved by equation (18), where
1
U (k ) = − H −1 (k ) ⎡⎢GT (k ) x(k ) − F T (k ) ⎤⎥ .
(19)
2
⎣
⎦
In this case the optimal value of the criterion is achieved by equation
J opt (k + m / k ) = xT (k ) ⎡⎣Q(m) − R1 (k , 0) − G (k ) H −1 (k )GT (k ) ⎤⎦ x(k ) −
1
− L(k ) x(k ) − F (k ) H −1 (k ) F T (k ),
4
(20)
m
L(k ) = ∑ R3 (k , i )Ai .
where
i =1
Proof. Denote
J k + s = xT (k + s + 1) R1 (k , s + 1) x(k + s + 1) − R3 (k , s + 1) x(k + s + 1) +
+uT (k + s ) R2 (k , s )u (k + s ) − R4 (k , s )u (k + s ) +
+ xT (k + s + 2) R1 (k , s + 2) x(k + s + 2) − R3 (k , s + 2) x(k + s + 2) +
+uT (k + s + 1) R2 (k , s + 1)u (k + s + 1) − R4 (k , s + 1)u (k + s + 1) + ... +
+ xT (k + m) R1 (k , m) x(k + m) − R3 (k , m) x(k + m) +
+uT (k + m − 1) R2 (k , m − 1)u (k + m − 1) − R4 (k , m − 1)u (k + m − 1).
It is easy to see that
J k + s = xT (k + s + 1) R1 (k , s + 1) x(k + s + 1) − R3 (k , s + 1) x(k + s + 1) +
and
+uT (k + s ) R2 (k , s )u (k + s ) − R4 (k , s )u (k + s ) + J k + s +1
(21)
J (k + m / k ) = M {J k / Fk }.
(22)
Let us consider the following equation
J k + m −1 = xT (k + m) R1 (k , m) x(k + m) − R3 (k , m) x(k + m) +
+uT (k + m − 1) R2 (k , m − 1)u (k + m − 1) − R4 (k , m − 1)u (k + m − 1).
Using (1) in (23) for x(k+m), we obtain
J k + m −1 = xT (k + m − 1) AT Q(0) Ax(k + m − 1) + 2 xT (k + m − 1) AT Q(0) ×
× B[η(k + m), k + m]u (k + m − 1) + uT (k + m − 1)[ BT [η(k + m), k + m]Q(0) ×
×B[η(k + m), k + m] + R2 (k , m − 1)]u (k + m − 1) −
− R3 (k , m) Ax(k + m − 1) − R3 (k , m) B[η(k + m), k + m]u (k + m − 1) −
− R4 (k , m − 1)u (k + m − 1),
where Q(0) are defined by (17).
(23)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Model predictive control of constrained with non linear stochastic parameters systems
9
We assume that for some q
J k + m − q = xT (k + m − q) AT Q(q − 1) Ax(k + m − q ) +
q
+2 xT (k + m − q )∑ ( AT ) q −i +1 Q(i − 1) B[η(k + m − i + 1), k + m − i + 1]u (k + m − i ) +
i =1
q
+ ∑ uT (k + m − i )[ BT [η(k + m − i + 1), k + m − i + 1]Q(i − 1) ×
i =1
× B[η(k + m − i + 1), k + m − i + 1] + R2 (k , m − i )]u (k + m − i ) +
q −1
+2∑
q
∑ uT (k + m − i) BT [η(k + m − i + 1), k + m − i + 1]Q( j − 1) A j −i ×
i =1 j = i +1
×B[η(k + m − j + 1), k + m − j + 1]u (k + m − j ) −
⎡
⎤
−∑ ⎢ ∑ R3 (k , m − j + 1) Ai − j B[η(k + m − i + 1), k + m − i + 1] + R4 (k , m − i ) ⎥u (k + m − i ) −
⎥⎦
i =1 ⎢
⎣ j =1
q
i
q
−∑ R3 (k , m − i + 1) Am −i +1 x(k + m − q),
(24)
i =1
where Q(i) are defined by (16) – (17).
Prove that (24) holds for q+1. Indeed, from the (21) we have the result:
J k + m −( q +1) = xT (k + m − q) R1 (k , m − q) x(k + m − q ) − R3 (k , m − q ) x(k + m − q) +
+uT (k + m − (q + 1)) R2 (k , m − (q + 1))u (k + m − (q + 1)) −
− R4 (k , m − (q + 1))u (k + m − (q + 1)) + J k + m − q .
(25)
Applying (24) in (25) and using (1) for x(k+m-q) after some calculations, we obtain
J k +m−( q+1) = xT (k + m − (q + 1)) AT Q(q ) Ax(k + m − (q + 1)) +
( q+1)
+2 xT (k + m − (q + 1)) ∑ ( AT )( q+1)−i+1 Q(i − 1) B[η(k + m − i + 1), k + m − i + 1]u (k + m − i ) +
i=1
( q+1)
+ ∑ uT (k + m − i )[ BT [η(k + m − i + 1), k + m − i + 1]Q(i − 1) B[η(k + m − i + 1), k + m − i + 1] +
i =1
q
q−1
+ R2 (k , m − i )]u (k + m − i ) + 2∑ ∑ uT (k + m − i ) BT [η(k + m − i + 1), k + m − i + 1]×
i =1 j =i+1
×Q( j − 1) A
j −i
B[η(k + m − j + 1), k + m − j + 1]u (k + m − j ) −
( q+1) ⎡ i
⎤
− ∑ ⎢∑ R3 (k , m − j + 1) Ai− j B[η(k + m − i + 1), k + m − i + 1] + R4 (k , m − i )⎥ ×
⎢ j =1
i=1 ⎣
⎦⎥
( q +1)
×u (k + m − i ) −
∑ R3 (k , m − i + 1) Am−i +1 x(k + m − (q + 1)).
i =1
By the induction from (26) we have that (24) holds for each q=1,2,…m.
(26)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
V.V. Dombrovskii, T.U. Obyedko
10
According to (22) и (24) we have that
J (k + m / k ) = xT (k ) AT Q(m − 1) Ax(k ) +
m
+2 xT (k )∑ ( Ai )T Q(m − i ) B(k + i )u (k + i − 1/ k ) +
i =1
{
m
}
T
+ ∑ uT (k + i − 1/ k ) B (k + i )Q(m − i ) B (k + i ) + R2 (k , i − 1) u (k + i − 1/ k ) +
i =1
m
{
}
+ ∑ uT (k + i − 1/ k ) M BT (k + i )Q(m − i ) B (k + i ) / Fk u (k + i − 1/ k ) +
i =1
m −1 m
+2 ∑
∑ uT (k + i − 1/ k ) B
T
(k + i )( AT ) j −i Q(m − j ) B (k + i )u (k + j − 1/ k ) +
i =1 j = i +1
m −1 m
+2 ∑
∑ uT (k + i − 1/ k )M {BT (k + i)( AT ) j −i Q(m − j ) B(k + i) / Fk } u(k + j − 1/ k ) −
i =1 j = i +1
m ⎡ m
m
⎤
−∑ ⎢ ∑ R3 (k , j ) A j −i B (k + i ) + R4 (k , i − 1) ⎥ u (k + i − 1/ k ) − ∑ R3 (k , i ) Ai x( k ). (27)
⎢ j =i
i =1 ⎣
i =1
⎦⎥
The (27) can be written on matrix form
J (k + m / k ) = xT (k ) AT Q(m − 1) Ax(k ) −
− L(k ) x(k ) + ⎡⎣ 2 xT (k )G (k ) − F (k ) ⎤⎦ U (k ) + U T (k ) H (k )U (k ),
(28)
where the matrices H(k),G(k),F(k) take the forms (8)-(17), matrix L(k) takes the form
m
L(k ) = ∑ R3 (k , i )Ai .
i =1
Thus we have that the problem of minimizing the criterion (28) subject to (4) is
equivalent to the quadratic control problem with criterion (6) subject to (7).
Obviously, the optimal control law for system (1), such that it minimizes criterion
(5), without constraint is achieved by equation (19). It is easy to show that in this case
the optimal value of the criterion (5) is achieved by equation (20).
Conclusion
In this paper the predictive control strategy for discrete-time linear systems with
non-linear random dependent parameters for which the first and the second conditional
distribution moments are known is derived. The main novelty of this paper is that we
don’t assume the explicit form of model for describing the parameters evolution.
One can apply obtained results in a wide class of models with non-linear stochastic
uncertainties. If no model can be found that describes the underlying non-linear structure adequately, then the results of nonparametric estimation may be used directly for
describing the characteristics of the multidimensional time series [21, 22].
In addition offered approach can be extended to the following cases:
- when matrix A in (1) changes in time;
- when system dynamics (1) contains additive noises depended on parameter η;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Model predictive control of constrained with non linear stochastic parameters systems
11
- when matrix A in (1) depends on stochastic independent parameters sequence noncorrelated with η;
- when constraints (4) are defined by convex functions. In this case synthesis of predictive control strategies leads to the sequence of convex optimization problems;
- when parameter η is non-observable. Then the cost functional (5) should be averaged over all possible states of process η.
REFERENCES
1. Домбровский В.В. Ляшенко Е.А. Линейно-квадратичное управление дискретными системами со случайными параметрами и мультипликативными шумами с применением к
оптимизации инвестиционного портфеля // Автоматика и телемеханика. 2003. № 10.
С. 50–65.
2. Dombrovskii V.V., Lyashenko E.A. Linear quadratic control of discrete systems with random
parameters and multiplicative noises with application to investment portfolio optimization //
Automation and Remote Control. 2003. V. 64. Nо. 10. P. 1558–1570.
3. Fisher S., Bhattacharya R. Linear quadratic regulation of systems with stochastic parameter
uncertainties // Automatica. 2009. Nо. 45. P. 2831–2841.
4. Пакшин П.В. Дискретные системы со случайными параметрами и структурой. М.:
Физматлит, 1994.
5. Costa O.L.V., Paulo W.L. Generalized coupled algebraic Riccati equations for discrete-time
Markov jump with multiplicative noise systems // European J. Control. 2008. No. 5.
P. 391−408.
6. Costa O.L.V., Okimura R.T. Discrete-time mean variance optimal control of linear systems
with Markovian jumps and multiplicative noise // International J. Control. 2009. V. 82. No. 2.
P. 256−267.
7. Elliott R.J., Aggoun L., Moore J.B. Hidden Markov Models: Estimation and Control. Berlin:
Springer-Verlag, 1995.
8. Dragan V., Morozan T. The linear quadratic optimization problems for a class of linear stochastic systems with multiplicative white noise and Markovian jumping // IEEE Transactions
on Automatic Control. 2004. V. 49. No. 5. P. 665−675.
9. Rawlings J. Tutorial: model predictive control technology // Proc. Amer. Control Conf. San
Diego. California. June 1999. P. 662−676.
10. Mayne D.Q., Rawlings J.B., Rao C.V, Scokaert P.O.M. Constrained model predictive control:
Stability and optimality // Automatica. 2000. V. 36. No. 6. P. 789−814.
11. Bemporad A., Borrelli F., Morari M. Model predictive control based on linear programming
– The Explicit Solution // IEEE Trans. Automat. Control. 2002. V. 47. No. 12. P. 1974−1985.
12. Bemporad A., Morari M., Dua V., Pistikopoulos E.N. The explicit linear quadratic regulator
for constrained systems // Automatica. 2002. V. 38. No. 1. P. 3−20.
13. Cuzzola A.F., Geromel J.C., Morari M. An improved approach for constrained robust model
predictive control // Automatica. 2002. V. 38. No. 7. P. 1183−1189.
14. Seron M.M., De Dona J.A., Goodwin G.C. Global analytical model predictive control with
input constraints// 39th IEEE Conf. Decision Control. 2000. Sydnej. Australia, 12 – 15
December. P. 154−159.
15. Домбровский В.В., Домбровский Д.В., Ляшенко Е.А. Управление с прогнозированием
системами со случайными параметрами и мультипликативными шумами и применение к оптимизации инвестиционного портфеля // Автоматика и телемеханика. 2005.
№ 4. С. 84−97.
16. Dombrovskii V.V., Dombrovskii D.V., Lyashenko E.A. Predictive control of random –
parameters systems with multiplication noises. Application to the investment portfolio
optimization // Automation and Remote Control. 2005. V. 66. No. 4. P. 583–595.
17. Домбровский В.В., Домбровский Д.В., Ляшенко Е.А. Управление с прогнозированием
системами со случайными зависимыми параметрами при ограничениях и применение к
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
12
18.
19.
20.
21.
22.
V.V. Dombrovskii, T.U. Obyedko
оптимизации инвестиционного портфеля // Автоматика и телемеханика. 2006. № 12.
С. 71−85.
Dombrovskii V.V., Dombrovskii D.V., Lyashenko E.A. Model predictive control of systems
with random dependent parameters under constraints and its application to the investment
portfolio optimization // Automation and Remote Control. 2006. V. 67. No.12. P.1927−1939.
Домбровский В.В., Объедко Т.Ю. Управление с прогнозированием системами с марковскими скачками и мультипликативными шумами при ограничениях // Вестник Томского госуниверситета. Управление, вычислительная техника и информатика. 2010.
№ 3(12). С. 5−11.
Kiseleva M.Y., Smagin V.I. Model predictive control for discrete systems with state and input
delays // Вестник Томского госуниверситета. Управление, вычислительная техника и
информатика. 2011. № 1(14). С. 5−12.
Добровидов А.В., Кошкин Г.М. Непараметрическое оценивание сигналов. М.: Наука;
Физматлит, 1997. 336 с.
Васильев В.А., Добровидов А.В., Кошкин Г.М. Непараметрическое оценивание функционалов от распределений стационарных последовательностей. М.: Наука, 2004.
508 с.
Домбровский Владимир Валентинович
Объедко Татьяна Юрьевна
Томский государственный университет
E-mail: dombrovs@ef.tsu.ru; tani4kin@mail.ru
Поступила в редакцию 22 марта 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
УДК 517.958
З.Н. Есина, М.Р. Корчуганова, В.В. Мурашкин
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ФАЗОВОГО ПЕРЕХОДА
ЖИДКОСТЬ – ТВЕРДОЕ
Представлена математическая модель фазового равновесия жидкость – твердое для бинарных и трехкомпонентных смесей при постоянном давлении,
полученная минимизацией избыточной энергии Гиббса по параметру сольватации. Математическая модель не требует информации о взаимодействии
в растворе, а основана только на данных о температуре и теплоте плавления
чистых компонентов.
Ключевые слова: равновесие жидкость – твердое, избыточная энергия
Гиббса, минимизация по параметру сольватации, параметр ассоциации.
Математическое моделирование фазового равновесия жидкость – твердое для
бинарных и многокомпонентных смесей имеет значение для многих областей
промышленности, таких, как химическая, пищевая, фармацевтическая и др. [1 – 4].
Основное применение методы математического моделирования находят при решении задач выбора составов и расчете термодинамических параметров антифризов, теплоаккумуляторов, теплозащитных покрытий, моделирования состава нефти, ректификации с использованием разделяющих агентов. Изучение равновесного состояния важно для всех процессов, где существует взаимодействие между
твердым телом и жидкой фазой. Для таких процессов термодинамические свойства иногда трудно измерить экспериментально, особенно при экстремальных условиях (например, высокое давление, низкая температура и т.д.), и поэтому необходимо математическое моделирование. Разработка теоретических методов, позволяющих выбрать оптимальный состав антифризов и теплохладоаккумуляторов с
требуемой температурой и теплотой плавления, является актуальной задачей,
представляющей научный и практический интерес.
Равновесие жидкость – твердое может быть рассчитано многими способами
[5, 6]. Термодинамические модели для рассмотрения фазового равновесия растворов могут быть классифицированы на две категории: модели коэффициента активности и модели уравнения состояния. Термин «прогнозирующие термодинамические модели» характеризует типы моделей, которые могут описывать фазовое равновесие при условии, что молекулярные структуры или физические свойства чистых компонентов в смеси известны. Прогнозирующие термодинамические модели также можно классифицировать на две категории: модели с использованием экспериментальных данных, например модель «UNIFAC» [5], в которой
параметры взаимодействия найдены из экспериментальных данных и прогноз
термодинамических свойств делается на основе существующих параметров для
атомных групповых вкладов молекул, присутствующих в смеси; и модели без ис-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
14
З.Н. Есина, М.Р. Корчуганова, В.В. Мурашкин
пользования экспериментальных данных (или априори прогнозирующие модели),
например модель «COSMO-RS», в которой требуются только специфические
атомные параметры и прогноз термодинамических свойств делается на основе
квантовых химических вычислений, что дает необходимую информацию для
оценки молекулярных взаимодействий в жидкостях. Кривые фазового равновесия
могут дать информацию о характеристиках чистых компонентов и смеси. Достоверное определение фазового равновесия необходимо для корректного прогноза
образования фаз и их композиций.
1. Минимизация избыточной свободной энергии Гиббса
Понятие термодинамического потенциала было введено Гиббсом по аналогии
с потенциалом в механике. Термодинамический потенциал GE назван потенциалом Гиббса, или изобарно-изотермическим потенциалом. В данной работе для построения математической модели применяется минимизация свободной энергии
Гиббса по параметру сольватации λ, введенному как отношение числа молекул
компонента А к числу молекул компонента B в молекулярном соединении, образующемся в растворе. Модель, в которой используется минимизация по параметру сольватации, может быть отнесена к прогнозирующей модели уравнения состояния, так как вначале предлагается модель уравнения состояния реальной системы, зависящая от параметра сольватации λ, а также потому, что она не требует
ввода данных о взаимодействии в растворе, а основана только на экспериментальных данных о температуре и энтальпии плавления чистых компонентов.
Представленный метод вычисления равновесия твердое тело – жидкая фаза для
бинарных систем позволяет получить выражение для температуры как функции
мольной доли компонента смеси. Модель также может применяться для описания
равновесия жидкость – пар и для систем твердое – твердое с образованием соединений в твердой фазе. Этот метод используется при расчете фазовых равновесий в
тройных и многокомпонентных реальных системах, сопровождающихся сольватацией молекул в растворе и ассоциацией чистых компонентов. Преимуществом
описываемого метода моделирования фазового равновесия является использование малого числа параметров, необходимых для расчета, для идеальных систем –
это температура и энтальпия плавления чистых компонентов.
Избыточная свободная энергия Гиббса GE является разностью между свободной энергией Гиббса реальной и идеальной систем. Для идеальных систем, где отсутствует взаимодействие между молекулами, избыточная свободная энергия
Гиббса равна нулю. Таким образом, избыточная свободная энергия Гиббса является мерой взаимодействия в системе, причем она может быть положительной
или отрицательной, что связано с видом взаимодействия.
Если за параметры состояния принимаются мольные доли компонентов в смеси xi, температура T и давление P, то уравнение состояния фазы многофазной,
многокомпонентной системы имеет вид [7]
dGE = –S dT + V dP + Σμi dxi ,
где S – энтропия, V – объем, μi – химический потенциал компонента.
Условием равновесия системы является минимум внутренней энергии. Из этого условия следует, что dU = 0. Если температура и давление постоянны, то для
равновесия системы, представляющей собой одну фазу, должны выполняться равенства
dT = 0, dP = 0, dG = 0.
(1)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Математическое моделирование фазового перехода жидкость – твердое
15
В случае двухфазной системы для равновесия необходимо, чтобы были равны
химические потенциалы фаз μ′ = μ″ и выполнялись условия (1). Фазовая диаграмма жидкость – твердое бинарной системы может быть получена минимизацией
свободной энергии Гиббса. Избыточная свободная энергия Гиббса бинарной системы дается выражением [7]
∆GE = RT Σxi ln γi ,
где γi – коэффициент активности компонентa, i = 1,2; xi – мольная доля i-го компонента.
Разность уравнений состояния бинарной системы, для реальной и идеальной
равновесных фаз, можно представить в виде [7]
(–∆HE/RT 2)dT + (∆VE/RT)dP = Σxi dln γi ,
E
где ∆H – энтальпия смешения; ∆VE – избыточный объем; P – давление раствора;
T – абсолютная температура; R – универсальная газовая постоянная.
Если происходит образование соединения чистых компонентов в растворе, то
суммарная молярная масса i-го компонента с учетом числа молекул данного вида
λi, входящих в соединение, может быть рассчитана по формуле: μi′ = λi μi,
где μi – молярная масса чистого компонента. Среднее соотношение числа молекул
в сольватах чистых компонентов λ = λ1/λ2 характеризует устойчивую структуру
раствора. С учетом изменения молярной массы эффективные мольные доли
компонентов бинарной смеси вычисляются по формуле [7] z1 = x1/(x1+ λx2),
z2 = x2/(x1/λ + x2). В том случае, если из эксперимента известны данные о составе
раствора x1э, x2э в точке экстремума температуры, можно найти отношение коэффициентов λ = λ1/λ2 = (z2э/z1э)/(x2э/x1э). Одним из методов определения среднего параметра сольватации компонентов в растворе является вычисление λср по формуле
средней арифметической взвешенной, где в роли весов выступают концентрации
одного из компонентов в точках возможных эвтектик:
λср = Σ λ j xэ j.
Растворимость компонента, образующего однокомпонентную фазу в многофазной многокомпонентной смеси конденсированных сред при постоянном давлении описывается уравнением
(2)
d(ln xi γi)/dT = ∆Hi /RT 2,
где ∆Hi – парциальная молярная теплота растворения i-го компонента в насыщенном им растворе.
Теплота перехода компонента, образующего твердую фазу, в жидкое состояние ∆Hi складывается из теплоты плавления ∆Hiпл и дифференциальной теплоты
разбавления компонента ∆Hiразб до концентрации, соответствующей насыщенному
раствору [7]. Теплота разбавления зависит от характера взаимодействия компонент в растворе и может быть как положительной, так и отрицательной. Поскольку теплота разбавления для большинства систем неизвестна, то расчет по уравнению (2) возможен лишь для идеальных систем, для которых γi = 1 и ∆Hi = ∆Hiпл:
d( ln xi γi)/dT = ∆Hiпл /RT 2.
Теплота плавления ∆Hiпл зависит от температуры:
∆Hiпл = ∆Hi0 + (сiж – сiт)(T – Ti0),
где ∆Hi0 – теплота плавления чистого i-го компонента при температуре Ti0;
сiж − сiт – молярные теплоемкости i-го компонента при постоянном давлении в
жидком и твердом состояниях.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
16
З.Н. Есина, М.Р. Корчуганова, В.В. Мурашкин
Отличие коэффициента λ от единицы свидетельствует о наличии отклонения
от идеальности в бинарной системе и необходимости перехода к эффективным
мольным долям. Для реальных систем, в которых возможно образование молекулярных соединений, называемых сольватами, необходимо в уравнении (2) сделать
переход к эффективным мольным долям:
d (ln zi γi)/dT = ∆Hi /RT2,
где ∆Hi = ∆Hiпл + ∆Hiразб = ∆Hi0 +(сiж − сiт)(T – Ti0) + ∆Hiразб; ∆Hi0 – энтальпия плавления и Ti0 – температура плавления компонента, образующего однокомпонентную фазу.
В том случае, если теплоемкости в жидком и твердом фазовом состояниях различаются незначительно и диапазон температур плавления невелик, пренебрегая
теплотой разбавления, парциальные коэффициенты активности можно представить в виде ln γi = ∆Hi 0(1 – Ti0 /T)/(R Ti0) – ln zi + ln Fi (zi), где Fi (zi) – произвольные
функции от состава. При постоянном давлении и малом интервале температур
плавления избыточную энергию Гиббса как функцию от эффективной мольной
доли компонента находим из уравнения
∆GE = z1[∆H10(T/ T10 – 1)] + z2[∆H20(T/T10 – 1)] – RT(z1 ln z1 + z2 ln z 2) + F(z1). (3)
Здесь F(z1) = z1F1(z1) + (1−z1)F2(z1) – функция, которая выбирается из условия термодинамической согласованности модели по методу Херингтона и Редлиха –
Кистера [7]:
1
∫ lgγ1 / γ2 dz1 = 0.
0
Согласно этому уравнению, должны быть равны площади, ограниченные кривой lg γ1/γ2 и осями координат.
Минимизация избыточной энергии (3) по внутреннему параметру λ приводит к
уравнению Бернулли:
(4)
dT/dz1 + f1(z1)T = f2(z1)T2,
0
0
где f1(z1) = α/(∆H1 /R – α z1), f2(z1) = –[β + ln (1–z1)/z1]/(∆H1 /R – α z1),
α = (∆H10 – ∆H20)/R, β = ∆H20/RT20 – ∆H10/R T10.
Решение уравнения (4) имеет вид
T(z1) = [∆H10z1 + ∆H20(1−z1)]/
/{∆H10z1/T10 + ∆H20(1−z1)/T20 – R[z1 ln z1 + (1−z1) ln(1–z1)]}.
(5)
E
Таким образом, минимизация избыточной энергии Гиббса ∆G по параметру
сольватации λ позволяет найти уравнение, моделирующее Tz-диаграмму фазового
равновесия. Эта диаграмма представляет собой сечение при P = const трехмерной
PTz-диаграммы состояния бинарной системы.
Из условия экстремума функции (5) получено алгебраическое уравнение
∆H 0 / R
−∆H 0 / R
(6)
ln ⎛⎜ (1 − z1 ) 1
⋅ ( z1 ) 2 ⎞⎟ = ∆H10 ∆H 20 1/ T20 − 1/ T10 R 2 .
⎝
⎠
Уравнения (5), (6) позволяют найти температуру плавления эвтектики и состав
раствора в точках экстремума температуры в случае их существования. Оставляя
в разложении в степенной ряд функции в левой части (6) члены второго порядка,
получим алгебраическое уравнение второй степени. Решение уравнения имеет
вид
(
)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Математическое моделирование фазового перехода жидкость – твердое
⎛
∆H10
z э = ⎜3+
1
∆H 20
⎝
2
⎞ ⎛
∆H10
⎟ /⎜3−
∆H 20
⎠ ⎝
17
⎞
⎟±
⎠
2
⎛
∆H10 ⎞ ⎛
∆H10 ⎞ ⎛ 2∆H10 ⎛ 1
∆H10 ⎞
1 ⎞ 11 ⎞ ⎛
± ⎜3 +
−
+
−
−
−
/
3
/
3
(7)
⎟
⎜
⎟
⎜
⎜
⎟
⎟
⎜
⎟.
∆H 20 ⎠ ⎝
∆H 20 ⎠ ⎝ R ⎝ T20 T10 ⎠ 3 ⎠ ⎝
∆H 20 ⎠
⎝
Мольная доля компонента в растворе не превышает единицы, поэтому выбираем решение z∈(0,1). Подставляя z1 = z1э в функцию (5), можно найти температуру плавления в эвтектической точке.
В общем случае, если известна парциальная молярная теплота растворения i-го
компонента в насыщенном им растворе ∆Hi , то в уравнениях (3) – (7) следует заменить энтальпию плавления чистого компонента ∆Hi0 на ∆Hi.
2. Численные результаты
В табл. 1 приведены результаты расчета характеристик эвтектических систем,
включающих гликоли и воду.
Таблица 1
Расчет состава, температуры плавления эвтектики
и параметров сольватации и ассоциации в растворах гликолей
Компоненты
системы
Этиленгликоль
Вода
Диэтиленгликоль
Вода
Триэтиленгликоль
Вода
Этиленгликоль
Диэтиленгликоль
Триэтиленгликоль
Диэтиленгликоль
Энтальпия
Коэффи- КоэффиСостав
Температура
плавления в точке
циент
циент
эвтектики
эвтектики
сольва- ассоциаэвтектики ∆Hплэ,
э
э
x1 , x2 масс
Т, °С
тации λ
кДж/моль
ции k
0,6977
–62,7
8,306
0,97
0,98
0,3023
0,7306
–57,22
8,909
0,96
0,875
0,2694
0,6871
–48,81
9,897
0,94
0,75
0,3129
0,4364
–38,64
12,455
1
1,037
0,5636
0,4688
–29,87
15,475
1
0,917
0,5312
На рис. 1 приведена кривая, моделирующая среднюю температуру плавления
системы (этиленгликоль – вода); точками, соединенными ломаными линиями, показаны возможные в данной системе эвтектики. На рис. 2 приведены кривые lg (γ1/γ2)
для системы (этиленгликоль – вода), полученные в результате предварительного
моделирования и проведения процедуры термодинамического согласования. На
рис. 3 приведены кривые ln γ1, ln γ2 для системы (этиленгликоль – вода), полученные в результате проведения процедуры термодинамического согласования.
Из условия термодинамической согласованности построенной модели определяется коэффициент ассоциации k = k1 / k2, имеющий смысл отношения числа молекул компонента А, объединившихся в кластер до образования раствора или непосредственно в данном растворе, к числу молекул в кластере компонента В. Это
позволяет построить кривые ликвидуса, близкие к экспериментально найденным
(рис. 3).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
З.Н. Есина, М.Р. Корчуганова, В.В. Мурашкин
18
Т, К
260
240
1
2
220
200
0
0,2
0,4
0,6
0,8
Мольная доля 1-го компонента
1
Рис. 1. Средняя температура плавления раствора (этиленгликоль – вода);
точками показаны предполагаемые эвтектики
2
lg γ1/γ2
1
0
2
1
–1
–2
0
0,2
0,4
0,6
0,8
Мольная доля 1-го компонента
1
Рис. 2. Зависимость lg γ1 /γ2 от мольной доли первого компонента
в бинарной смеси (этиленгликоль – вода); кр. 1 – расчет по модели; кр. 2 – результат термодинамического согласования
4
ln γ1, ln γ2
3
2
1
1
2
0
0
0,2
0,4
0,6
0,8
Мольная доля 1-го компонента
1
Рис. 3. Зависимости ln γ1, ln γ2 от мольной доли первого компонента
в бинарной смеси (этиленгликоль – вода)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Математическое моделирование фазового перехода жидкость – твердое
19
В том случае, если кривые ln γ1, ln γ2 удовлетворяют условию термодинамической согласованности, представим их в виде ряда Редлиха – Кистера
ln γ1 = z22[B + C(3z1 – z2)], ln γ2 = z12[B + C(z1 – 3z2)]
(8)
или аппроксимируем их уравнениями Ван-Лаара
ln γ1 = A[Bz2 /(Az1 + Bz2)]2, ln γ2 = B[Az1/(Az1+Bz2)]2.
По эвтектическим данным: z1э, z2э, ln γ1э , ln γ2э находим коэффициенты моделей Редлиха – Кистера и Ван-Лаара.
Используя полученные выражения для логарифмов коэффициентов активности, находим функции (рис. 4 – 7), аппроксимирующие экспериментально определенные кривые ликвидуса для систем: (этиленгликоль – вода) и насыщенных
жирных кислот.
Найдем состав раствора на ветвях ликвидуса в зависимости от температуры по
формулам:
ln ν1 = ∆H10/R T10 (1 – T 10 /T) – ln γ1 , ln w2 = ∆H20/R T20(1 – T20 /T) – ln γ2,
где ν1 – мольная доля 1-го компонента раствора на левой ветви кривой ликвидуса;
w2 – мольная доля 2-го компонента раствора на правой ветви кривой ликвидуса;
ln γ1, ln γ2 – логарифмы коэффициентов активности по модели Редлиха – Кистера,
рассчитанные по формулам (7).
На рис. 4 можно видеть, что экспериментальные данные [8], полученные для
левой и правой ветвей кривых ликвидуса, имеют хорошее согласие с расчетными
кривыми.
Т, К
1
260
2
250
4
3
240
230
220
210
0
0,2
0,4
0,6
0,8
Массовая доля этиленгликоля
1
Рис. 4. Зависимость температуры плавления раствора
(этиленгликоль – вода) от массовой доли этиленгликоля.
кр. 1, 2 – эксперимент [8], кр. 3 и 4 – расчет по модели
Для бинарных эвтектик, входящих в тройную эвтектику Na2CO3 – NaF – NaCl,
проведено математическое моделирование параметров кристаллизации. Полученные результаты (табл. 2) согласуются с данными, приведенными в [9].
Относительная ошибка между экспериментальными и расчетными значениями
параметров:
∆X/X = [(Xэксп – Xpасч)/Xэксп]·100 %.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
З.Н. Есина, М.Р. Корчуганова, В.В. Мурашкин
20
Таблица 2
Расчет состава и температуры плавления эвтектики
в неорганической бинарной системе
Компоненты
системы
Na2CO3
NaF
Na2CO3
NaCl
NaF
NaCl
Состав эвтектики, х, мол.
Относит.
ЭкспериРасчет
ошибка
мент [9]
∆x/x, %
0,610
0,599
1,903
0,390
0,401
– 2,99
0,430
0,431
–0,233
0,570
0,569
0,175
0,340
0,341
–0,294
0,660
0,659
0,152
Температура эвтектики, Т, К
Относит.
ЭкспериРасчет
ошибка
мент [9]
∆T/T, %
985,00
985,6
–0,06
910,6
910,6
0
954
948,1
0,6
В табл. 3 приведены экспериментальные и расчетные параметры эвтектических точек в системах насыщенных жирных кислот.
Таблица 3
Экспериментальные и расчетные значения состава и температуры плавления
эвтектики в бинарных системах насыщенных жирных кислот
Компоненты
системы
Лауриновая
Миристиновая
Лауриновая
Стеариновая
Капроновая
Пальмитиновая
Состав эвтектики, х, мол.
Относит.
ЭкспериРасчет
ошибка
мент
∆x/x, %
0,7 [3]
0,669
4,43
0,3 [3]
0,331
–10,33
0,849 [4]
0,846
0,35
0,151 [4]
0,154
– 2,99
0,848 [4]
0,891
–10,22
0,152 [4]
0,109
28,28
Температура эвтектики, Т, К
Относит.
ЭкспериРасчет
ошибка
мент
∆T/T, %
308,45
307,95
0,16
312,31
313,6
–0,41
299,28
301,33
0,68
Моделирование состава и температуры плавления тройной эвтектики осуществлялось на основе результатов расчета бинарных систем. Расчет состава и температуры кристаллизации тройной эвтектики проводили по алгоритму [9]. Проводится минимизация целевой функции W(x3э), c этой целью вычисляется такое значение x3э, что W(x3э) < W(x3 < x3э);
W(x3э) = {x113 exp[(∆H10/∆H30)ln(x3э/x313)] + x323exp[(∆H20/∆H30)ln(x3э/x323)] + x3э –1}2,
где xiэ – мольная доля i-го компонента в тройной эвтектике; xiik – мольная доля i-го
компонента в бинарной эвтектике, образованной компонентами i и k; ∆Hi0 – молярная теплота плавления чистого i-го компонента.
Рассчитываются мольные доли первого x1э и второго x2э компонентов в тройной эвтектике:
∆H i0 / ∆H 30
xiэ = xii 3 x3э / x3i 3
, i = 1, 2.
(
По формуле
)
(Tэ)–1 = (Tikэ)–1 + R/ ∆Hi0 ln(xiэ/xiik), (i, k =1, 2, 3)
определяется температура кристаллизации тройной эвтектики Tэ. Здесь Tikэ – температура плавления двойной эвтектики, включающей компоненты i и k.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Математическое моделирование фазового перехода жидкость – твердое
Т, К
324
320
316
3
312
308
2
1
4
0,1
0,3
0,5
0,7
Мольная доля 1-го компонента
0,9
Рис. 5. Экспериментальные данные [3], полученные для левой и правой
ветвей кривых ликвидуса в системе (лауриновая кислота – миристиновая кислота) (кр. 3 и 4) и расчетные кривые (кр. 1 и 2)
Т, К
335
330
325
2
320
3
1
315
0,1
4
0,9
0,3
0,5
0,7
Мольная доля 1-го компонента
Рис. 6. Экспериментальные данные [4], полученные для левой и правой
ветвей кривых ликвидуса в системе (лауриновая кислота – стеариновая
кислота) (кр. 3) и расчетные кривые (кр. 1 и 2)
Т, К
330
320
310
3
300
0,1
0,3
0,5
0,7
Мольная доля 1-го компонента
2
1
4
0,9
Рис. 7. Экспериментальные данные [4], полученные для левой и правой
ветвей кривых ликвидуса в системе капроновая кислота – пальмитиновая кислота (кр. 3 и 4) и расчетные кривые (кр. 1 и 2)
21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
З.Н. Есина, М.Р. Корчуганова, В.В. Мурашкин
22
Модель, основанная на опытных данных о температуре и теплоте плавления
чистых компонентов, входящих в тройную систему, может использоваться при
прогнозировании температур плавления эвтектик трехкомпонентных систем. Рассчитанные по данной методике параметры изучаемых эвтектических систем согласуются с результатами экспериментально определенных состава и температуры в точках эвтектики трехкомпонентных систем (табл. 5).
Таблица 5
Расчет состава и температуры плавления эвтектики
в неорганической трехкомпонентной системе
Компоненты
системы
Na2CO3
NaF
NaCl
Состав эвтектики, х, мол.
Относит.
ЭкспериРасчет
ошибка
мент [9]
∆ x/x, %
0,370
0,330
10,8
0,220
0,218
0,9
0,410
0,452
–10,2
Температура эвтектики, Т, К
Относит.
ЭкспериРасчет
ошибка
мент [9]
∆T/T, %
854
857,572
−0,418
В табл. 6 приведены результаты расчета эвтектических параметров в тройной
системе насыщенных жирных кислот.
Таблица 6
Экспериментальные и расчетные значения теплоты и температуры плавления
эвтектики в трехкомпонентной системе насыщенных жирных кислот
Теплота кристаллизации ∆H, Дж/моль
Молекулярное
соединение
Эксперимент
[10]
Ми6(Па Ст)4
[Ми6 (Пе Ст)]·2
[Пе3 (Па Ст)]·2
155720 152026,0
139900 134056,5
154200 170606,2
Расчет
Отн.
Абс.
ошибка ошибка,
∆H/H, %
∆H
2,37
4,18
10,6
3694
5843,5
16406,2
Температура эвтектики Т, К
Отн.
Абс.
ЭксРас- ошибка
ошибка
перичет
∆T/T,
∆T, К
мент
%
320,6 320,7
0,05
0,1
324,4 318,24
1,9
6,16
325,3 319,62 1,75
5,68
Заключение
В заключение отметим, что предлагаемая математическая модель может использоваться для построения кривых ликвидуса бинарных систем жидкость –
твердое, при прогнозировании составов и температур плавления эвтектик бинарных и многокомпонентных систем, а также для уточнения формул возможных
молекулярных соединений в изучаемой системе.
ЛИТЕРАТУРА
1. Rocha S.A., Guirardello R. An approach to calculate solid–liquid phase equilibrium for binary mixtures // Fluid Phase Equilibria. 2009. V. 281. P. 12–21.
2. Tumakaka F.I., Prikhodko V., Sadowski G. Modeling of solid-liquid equilibria for systems
with solid-complex phase formation // Fluid Phase Equilibria. 2007. V. 260. P. 98–104.
3. Costa M.C., Krahenbuhl M.A., Meirelles A.J.A., et al. High pressure solid-liquid equilibria of
fatty acids // Fluid Phase Equilibria. 2007. V. 253. P. 118–123.
4. Costa M.C., Rolemberg M.P., Boros L.A.D., et al. Solid-Liquid Equilibrium of Binary Fatty
Acid Mixtures// J. Chem. Eng. Data. 2007. V. 52. P. 30–36.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Математическое моделирование фазового перехода жидкость – твердое
23
5. Domanska U., Goskowska M. Experimental solid + liquid equilibria and excess molar volumes of alkanol + hexylamine mixtures: Analysis in terms of the ERAS, DISQUAC and
Mod. UNIFAC models // Fluid Phase Equilibria. 2004. V. 216. P. 135–145.
6. Khimeche K., Dahmani A. Measurement and prediction of (solid + liquid) equilibria of (alkanediamine + biphenyl) mixtures // J. Chem. Thermodynamics. 2006. V. 38. P. 1192–1198.
7. Коган В.Б. Гетерогенные равновесия. Л.: Химия, 1968. 432 с.
8. Дымент О.Н., Казанский К.С., Мирошников А.М. Гликоли и другие производные окисей этилена и пропилена. М.: Химия, 1976. 373 с.
9. Мариничев А.Н., Турбович М.Л., Зенкевич И.Г. Физико-химические расчеты на микроЭВМ: Справ. изд. Л.: Химия, 1990. 256 с.
10. Доценко С.П. Марцинковский А.В., Данилин В.Н. // Физико-химический анализ свойств
многокомпонентных систем [Электронный ресурс]. 2004. Вып. 1. URL: http//:www.
kubstu.ru/th/fams/dopoln3.htm
Есина Зоя Николаевна
Корчуганова Маргарита Рашидовна
Мурашкин Виталий Васильевич
Кемеровский государственный университет
E-mail: ezn2@rambler.ru, markarina@mail.ru, zitner@mail.ru
Поступила в редакцию 17 февраля 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
ОБРАБОТКА ИНФОРМАЦИИ
УДК 519.872
И.Л. Лапатин, А.А. Назаров
ХАРАКТЕРИСТИКИ МАРКОВСКИХ СИСТЕМ МАССОВОГО
ОБСЛУЖИВАНИЯ ПРИ АСИМПТОТИЧЕСКИ ПУАССОНОВСКИХ
ВХОДЯЩИХ ПОТОКАХ1
В работе рассматриваются марковские системы массового обслуживания с
неограниченным числом приборов. Исследуется выходящий поток и число
занятых приборов при выполнении асимптотических условий на характеристики входящего потока.
Ключевые слова: простейший поток, MMP-поток, MAP-поток, выходящий поток.
В работах по теории массового обслуживания в качестве модели входящего
потока часто используется простейший поток [1]. Это касается как фундаментальных работ, которые послужили базой построения теории, так и современных.
В 1955 году А.Я. Хинчин [2] сформулировал три условия, при выполнении которых случайный поток однородных событий является простейшим, именно: стационарность, ординарность и отсутствие последействия.
Популярность этого потока долгое время объяснялась тем, что он вполне
удовлетворительно описывал многие реальные потоки, а также простотой его исследования. В то же время было замечено, что простейший поток появляется и в
качестве предельного для некоторых последовательностей потоков. В связи с
этим, в середине ХХ века появился ряд работ, посвященных анализу сходимости
суммы большого числа независимых потоков малой интенсивности к простейшему потоку. Среди них следует отметить работы Пальма [3], Реньи [4], Г.А. Ососкова [5], Б.И. Григелиониса [6] и А.Я. Хинчина. Вопрос о скорости сходимости
таких предельных сумм к потокам Пуассона рассматривался в работах [7,8].
В то же самое время, Реньи (в упомянутой выше работе) показал, что простейший поток может получаться не только в результате суммирования бесконечно малых независимых потоков. Он рассматривал произвольный поток восстановления и применял к нему операцию прореживания (с некоторой вероятностью каждое событие убиралось из рассматриваемого потока). Реньи доказал, что
при многократном повторении этой операции и соответствующей нормировке
времени рассматриваемый поток сходится к простейшему.
В качестве существенного обобщения простейших потоков для более адекватного описания реальных потоков была предложена модель MAP (Markovian Arri1
Работа выполнена при поддержке АВЦП «Развитие научного потенциала высшей школы (2009 –
2011 годы)» Федерального агентства по образованию, проект № 4761.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Характеристики марковских систем массового обслуживания
25
val Process). Его понятие впервые было введено М. Ньютсом [9], а затем уточнено
Д. Лукантони в работе [10], которая также содержит первые исследования основных характеристик MAP-потоков. В русскоязычной литературе определения
таких потоков даны в книгах Б.В. Гнеденко, И.Н. Коваленко [1], А.Н. Дудина,
В.И. Клименок [11], А.А. Назарова, С.П. Моисеевой [12].
Широко используемым частным случаем MAP-потоков является класс MMPпотоков (Markov Modulated Poisson Process). В работе [13] формулируется предельное условие, при выполнении которого последовательность MMP-потоков
сходится к простейшему. Аналогичное условие формулируется и для случая общего MAP-потока.
Таким образом, в этих условиях система MAP|M|∞ (MMP|M|∞) становится
близкой к M|M|∞, для которой П. Берком еще в 1956 году было показано [14], что
выходящий поток является простейшим, а стационарное распределение вероятностей числа занятых приборов является пуассоновским. Поэтому естественным
было бы предположить, что характеристики системы MAP|M|∞ (MMP|M|∞) в рассматриваемых асимптотических условиях на входящие потоки совпадают с характеристиками системы M|M|∞. В данной работе предлагается доказательство этого
предположения.
1. Исследование системы MAP|M|∞
Рассмотрим систему массового обслуживания с неограниченным числом приборов, на вход которой поступает MAP-поток заявок, заданный матрицей инфинитезимальных характеристик Q управляющей цепи Маркова k(t), набором условных интенсивностей λk (k=1,…,K) и набором вероятностей dkν (k, ν=1,…,K). Заявка, пришедшая в систему, занимает любой из свободных приборов, на котором
обслуживается в течение случайного времени. Распределение времени обслуживания поступающих заявок является экспоненциальным с параметром µ.
Если использовать символику, предложенную Д. Кендаллом [15], то рассматриваемая система с экспоненциальным временем обслуживания будет обозначаться MAP│M│∞.
Будем исследовать выходящий поток системы MAP│M│∞, который описывается случайным процессом m(t) (число заявок, закончивших обслуживание в системе за некоторое время t) и процессом i(t) (число занятых приборов в системе в
момент времени t).
При непуассоновском входящем потоке двумерный процесс {i(t),m(t)} не является марковским, так как интенсивность поступления заявок в систему (то есть
увеличение значения процесса i(t)) зависит от состояния управляющей цепи Маркова k(t). Поэтому, добавляя этот процесс в рассмотрение, получим трехмерную
цепь Маркова {k(t),i(t),m(t)}. Такой метод носит название «внешнего» марковизирования [16]. Для значений распределения вероятностей
P (k , i, m, t ) = P{k (t ) = k , i (t ) = i, m(t ) = m}
можно записать систему дифференциальных уравнений Колмогорова
∂P (k , i, m, t )
= λ k {P (k , i − 1, m, t ) − P(k , i, m, t )} +
∂t
+μ{(i + 1) P(k , i + 1, m − 1, t ) − iP (k , i, m, t )} +
+ ∑ {P (ν, i, m, t ) ⋅ (1 − dνk ) + P (ν, i − 1, m, t )d νk }qνk .
ν
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
И.Л. Лапатин, А.А. Назаров
26
Обозначив функции
H (k , x, u , t ) = ∑ e jxi ∑ e jum P(k , i, m, t ) ,
i
m
где j = −1 – мнимая единица, и принимая во внимание, что
∂H (k , x, u , t )
= j ∑ ie jxi ∑ e jum P (k , i, m, t ) ,
∂x
i
m
для функций H (k , x, u , t ) получим систему дифференциальных уравнений в частных производных первого порядка
∂H (k , x, u , t )
∂H (k , x, u , t )
= λ k ⋅ (e jx − 1) H (k , x, u , t ) + jμ(1 − e ju e − jx )
+
∂t
∂x
+ ∑ {(e jx − 1)d νk qνk + qνk }H (ν, x, u, t ).
ν
Полученную систему запишем в матричном виде:
∂H ( x, u, t )
∂H ( x, u, t )
+ jμ(e ju e− jx − 1)
= H ( x, u , t ) Q + (e jx − 1) B ,
(1)
∂t
∂x
где H(x,u,t)={H(0,x,u,t),H(1,x,u,t),...}, Q – матрица инфинитезимальных характеристик qνk, B – матрица с элементами λk на главной диагонали и элементами dνk·qνk
вне главной диагонали.
Систему дифференциальных уравнений (1), записанную в матричном виде,
будем называть дифференциально-матричным уравнением. Отметим, что получить аналитическое решение этого уравнения не удается. В данной работе предлагается решать это уравнение методом асимптотического анализа.
{
}
2. Условие предельно частых изменений состояний MMP-потока
Сначала рассмотрим характеристики системы MMP|M|∞. Напомним, что
MMP-поток – это MAP-поток, у которого все вероятности dkν равны нулю, то есть
матрица B становится диагональной матрицей Λ с условными интенсивностями λk
на главной диагонали. Поэтому уравнение, определяющее характеристики системы MMP|M|∞, имеет следующий вид:
∂H ( x, u, t )
∂H ( x, u, t )
+ jμ(e ju e− jx − 1)
= H ( x, u , t ) Q + (e jx − 1)Λ .
(2)
∂t
∂x
Будем рассматривать систему MMP|M|∞ в условии предельно частых изменений состояний входящего потока. Зафиксируем некоторую матрицу инфинитезимальных характеристик Q(1), которая определяет управляющую цепь Маркова k(t)
и матрицу Λ. Затем, полагая, что S некоторая положительная величина, в уравнении (2) сделаем следующие замены:
{
}
Q = S ⋅ Q (1) , H ( x, u , t ) = F ( x, u, t , S ) .
Тогда для вектор-функций F(x,u,t,S) можно записать
∂F ( x, u , t , S )
∂F ( x, u, t , S )
+ jμ(e ju e− jx − 1)
= F ( x, u , t , S ) S ⋅ Q (1) + (e jx − 1)Λ . (3)
∂t
∂x
Сначала найдем асимптотическое приближение характеристической функции
числа занятых приборов системы MMP|M|∞ в условии предельно частых измене-
{
}
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Характеристики марковских систем массового обслуживания
27
ний состояний входящего потока. Для этого в уравнении (2) положим u=0 и перейдем к стационарному режиму
∂F ( x, S )
jμ(e− jx − 1)
= F ( x, S ) S ⋅ Q (1) + (e jx − 1)Λ .
(4)
∂x
Здесь F ( x, S ) = lim F ( x, 0, t , S ) .
{
}
t →∞
Теорема 1. Сумма компонентов предельного, при S → ∞ , значения векторстроки F(x) решения F(x,S) уравнения (4) имеет вид
κ⎫
⎧
F ( x ) E = exp ⎨(e jx − 1) ⎬ ,
(5)
μ⎭
⎩
где E – единичный вектор-столбец, величина κ определяется равенством κ = RΛE
и имеет смысл интенсивности входящего потока, а R – вектор стационарного
распределения вероятностей состояний входящего потока.
Доказательство. Поделив левую и правую части уравнения (4) на S и устремив S к бесконечности, получим систему
F ( x )Q (1) = 0,
которая совпадает по виду с системой для стационарного распределения вероятностей состояний управляющей цепи Маркова. Поэтому ее решение имеет вид
F ( x) = R ⋅ Φ ( x) ,
(6)
где R – вектор стационарного распределения состояний управляющей цепи Маркова k(t), а Φ(x) – некоторая скалярная функция. Для определения вида этой
функции в уравнение (4) подставим выражение (6). Умножим справа полученное
уравнение на вектор-стобец E соответствующей размерности, устремим S к бесконечности и получим равенство
∂Φ ( x)
jμ(e − jx − 1)
= Φ ( x)(e jx − 1) RΛE .
∂x
Учитывая, что RΛE=κ, найдем решение полученного обыкновенного дифференциального уравнения первого порядка
κ⎫
⎧
Φ ( x) = exp ⎨(e jx − 1) ⎬ ,
μ⎭
⎩
откуда, в силу равенства (6), получим
κ⎫
⎧
F ( x) = R ⋅ exp ⎨(e jx − 1) ⎬ .
μ
⎩
⎭
С учетом условия нормировки RE=1, функция F(x)E удовлетворяет равенству
(6). Теорема доказана.
Теорема 1 показывает, что стационарное распределение вероятностей числа
занятых приборов системы MMP|M|∞ в условии предельно частых изменений состояний входящего потока является пуассоновским с параметром κ/μ.
Теорема 2. Сумма компонентов предельного, при S → ∞ , значения векторстроки F(x,u,t) решения F(x,u,t,S) уравнения (2) имеет вид
κ
⎧
⎫
F ( x, u , t ) E = exp ⎨(e jx − 1) + (e ju − 1) κt ⎬ ,
(7)
μ
⎩
⎭
где E – единичный вектор-столбец, величина κ имеет смысл интенсивности входящего потока.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
28
И.Л. Лапатин, А.А. Назаров
Доказательство. Поделив левую и правую части уравнения (3) на S и устремив S к бесконечности, получим систему
F ( x, u , t )Q (1) = 0,
которая совпадает по виду с системой для стационарного распределения вероятностей состояний управляющей цепи Маркова. Поэтому ее решение представляется в виде
F ( x , u , t ) = R ⋅ Φ ( x, u , t ) ,
(8)
где R – вектор стационарного распределения состояний управляющей цепи Маркова k(t), а Φ(x,u,t) – некоторая скалярная функция. Для определения вида этой
функции в уравнение (3) подставим выражение (8). Умножая справа полученное
уравнение на вектор-стобец E соответствующей размерности и устремив S к бесконечности, получим равенство
∂Φ ( x, u , t )
∂Φ ( x, u, t )
+ jμ(e ju e − jx − 1)
= Φ ( x, u, t )(e jx − 1) κ.
(9)
∂t
∂x
С учетом условия нормировки RE=1 и (8) получаем
F ( x, u , t ) E = Φ ( x, u , t ) .
Нетрудно показать, что выражение (7) является решением уравнения (9). Теорема
доказана.
Доказанная теорема говорит о том, что при предельно частых изменениях состояний входящего потока (то есть когда средние времена пребывания управляющей цепи Маркова в каждом состоянии стремятся к нулю) число заявок, закончивших обслуживания в системе MMP|M|∞, имеет распределение Пуассона с
параметром κt, причем число заявок в системе в момент времени t и число событий в выходящем потоке к моменту времени t стохастически независимы.
3. Условие предельно частых изменений состояний MAP-потока
и согласованного интенсивного прореживания
Теперь рассмотрим аналогичную задачу для системы с входящим MAP-потоком. Зафиксируем некоторую матрицу инфинитезимальных характеристик Q(1),
которая определяет управляющую цепь Маркова k(t), матрицу D(1) вероятностей
наступления событий в потоке при переходе управляющей цепи из одного состояния в другое и матрицу Λ. Затем, полагая, что S некоторая положительная величина, в уравнении (1) сделаем следующие замены:
1
Q = S ⋅ Q (1) , D = D (1) , H ( x, u, t ) = F ( x, u , t , S ) .
S
Тогда для вектор-функций F(x,u,t,S) можно записать
∂F ( x, u , t , S )
∂F ( x, u , t , S )
+ jμ(e ju e − jx − 1)
= F ( x, u, t , S ) S ⋅ Q (1) + (e jx − 1) B . (10)
∂t
∂x
Теорема 3. Сумма компонентов предельного, при S → ∞ , значения векторстроки F(x,u,t) решения F(x,u,t,S) уравнения (10) имеет вид
κ
⎧
⎫
F ( x, u , t ) E = exp ⎨(e jx − 1) + (e ju − 1) κt ⎬ ,
(11)
μ
⎩
⎭
где E – единичный вектор-столбец, величина κ определяется равенством κ = RBE
и имеет смысл интенсивности входящего MAP-потока.
{
}
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Характеристики марковских систем массового обслуживания
29
Доказательство теоремы 3 повторяет рассуждения доказательства теоремы 2.
Теорема 3 говорит о том, что при предельно частых изменениях состояний
входящего потока и согласованного интенсивного прореживания число заявок,
закончивших обслуживания в системе MAP|M|∞, имеет распределение Пуассона с
параметром κt, а число заявок в системе в произвольный момент времени также
имеет распределение Пуассона с параметром κ/μ. При этом число заявок в системе в момент времени t и число событий в выходящем потоке к моменту времени t
стохастически независимы. Под согласованным интенсивным прореживанием понимается такой факт, что рост значений инфинитезимальных характеристик и
уменьшение вероятностей наступления событий при переходе управляющей цепи
из одного состояния в другое происходит пропорционально одному и тому же параметру S.
Заключение
В данной работе были рассмотрены марковские системы массового обслуживания с неограниченным числом приборов. Сформулированы и доказаны три теоремы, которые говорят о том, что при выполнении предельных условий на параметры входящего потока число заявок, закончивших обслуживания в системе
MAP|M|∞ (MMP|M|∞), имеет распределение Пуассона с параметром κt, а число
заявок в системе в произвольный момент времени также имеет распределение Пуассона с параметром κ/μ. Для MMP-потока это условие предельно частых изменений состояний входящего потока, а для MAP-потока – условие предельно частых
изменений состояний потока и согласованного интенсивного прореживания.
ЛИТЕРАТУРА
1. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. 3-е изд.,
испр. и доп. М.: КомКнига, 2005. 400 с.
2. Хинчин А.Я. Математические методы теории массового обслуживания // Тр. Мат. ин-та
им В.А. Стеклова АН СССР. 1955. Т. 49. С. 1–123.
3. Palm. C. Intensitatsschwankungen in Fernsprechverkehr // Ericson Technics. 1943. V. 44.
No. 1. P. 1–189.
4. Renyi A. Poisson-folyamat egy jemllemzёse // Тр. Мат. ин-та АН Венгрии. 1956. V. 1.
No. 4. P. 519–527.
5. Ососков Г.А. Одна предельная теорема для потоков однородных событий // Теория вероятностей и ее применение. 1956. Т. 1. № 2. С. 274–282.
6. Григелионис Б.И. Уточнение многомерной предельной теоремы о сходимости к закону
Пуассона // Литов. мат. сб. 1962. Т. 2. № 2. С. 143–148.
7. Григелионис Б.И. О точности приближения композиции процессов восстановления пуассоновским процессом // Литов. мат. сб. 1962. Т. 2. № 2. С. 135–143.
8. Погожев И.Б. Оценка отклонения потока отказов в аппаратуре многофазового использования от пуассоновского потока // Кибернетику – на службу коммунизму. Т. 2. М.:
Энергия, 1964. С. 228–245.
9. Neuts M.F. A versatile Markovian arrival process // J. Appl. Prob. 1979. V. 16. P. 764–779.
10. Lucantoni D. New results for the single server queue with a batch Markovian arrival process
// Stochastic Models. 1991. V. 7. P. 1–46.
11. Дудин А.Н., Клименок В.И. Системы массового обслуживания с коррелированными потоками. Минск: БГУ, 2000. 175 с.
12. Назаров А.А., Моисеева С. П. Метод асимптотического анализа в теории массового обслуживания. Томск: Изд-во НТЛ, 2006. 109 с.
13. Лапатин И.Л., Назаров А.А. Асимптотически пуассоновские MAP-потоки // Вестник
Томского государственного университета. Управление, вычислительная техника и информатика. 2010. № 4(13). С. 72–78.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
30
И.Л. Лапатин, А.А. Назаров
14. Burke P.J. The Output of Queueing Systems // Operations Research. 1956. V. 4. P. 699–704.
15. Kendall D.G. Stochastic processes occurring in the theory of queues and their analysis by the
method of the imbedded Markov chain // Ann. Math. Statist. 1953. V. 24. P. 338–354.
16. Кениг Д., Штойян Д. Методы теории массового обслуживания: пер. с нем. / под ред.
Г.П. Климова. М.: Радио и связь, 1981.
Назаров Анатолий Андреевич
Лапатин Иван Леонидович
Томский государственный университет
E-mail: nazarov@fpmk.tsu.ru, ilapatin@mail.ru
Поступила в редакцию 27 мая 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
УДК 519.2
Е.Е. Сергеева, С.Э. Воробейчиков
ГАРАНТИРОВАННАЯ ОЦЕНКА ПАРАМЕТРОВ
И ОБНАРУЖЕНИЕ МОМЕНТА РАЗЛАДКИ GARCH(1,1)-ПРОЦЕССА
Рассматривается задача обнаружения момента изменения параметров
GARCH(1,1)-процесса. Параметры процесса предполагаются неизвестными.
Предлагается последовательная процедура обнаружения момента разладки,
использующая оценки, основанные на модификации метода наименьших
квадратов со специальным образом подобранными весами. Получены формулы для расчета вероятностных характеристик процедуры, изучены ее
асимптотические свойства. Приведены результаты моделирования.
Ключевые слова: GARCH(1,1), момент разладки, модифицированный МНК.
Одной из наиболее часто используемых в настоящее время моделей случайных
процессов являются процессы типа GARCH, введенные T. Bollerslev [1]. Описание процессов такого типа предполагает, что на текущую изменчивость дисперсии влияют как предыдущие изменения показателей, так и предыдущие значения
дисперсии. При определенных ограничениях на параметры GARCH-процесс является стационарным, хотя на отдельных интервалах времени его поведение может
сильно отличаться. При исследовании временных рядов с большим числом данных может оказаться, что на разных временных интервалах параметры процесса
нельзя считать неизменными. Таким образом, возникает задача обнаружения моментов изменения параметров процесса. Проблема обнаружения момента изменения статистических свойств наблюдаемого процесса является одной из классических задач математической статистики и известна в литературе как задача обнаружения разладки. Такие задачи возникают при обнаружении моментов изменения характеристик динамических систем, описываемых моделями авторегрессионного типа со случайными (дрейфующими) параметрами, а также при анализе
эконометрических временных рядов.
Для решения задач обнаружения разладки разработан ряд алгоритмов, при
различных предположениях о модели наблюдаемого процесса [2 – 4]. Наибольший практический интерес представляют алгоритмы, использующие последовательный анализ, которые позволяют обнаруживать произошедшие изменения в
темпе поступления данных. Основными характеристиками последовательных
процедур обнаружения разладки являются среднее время между ложными тревогами и среднее время запаздывания. Теоретическое исследование свойств процедуры обнаружения разладки для выборки фиксированного размера часто является
невозможным, поэтому изучаются асимптотические свойства при неограниченном возрастании размера выборки.
Часто рассматривается задача обнаружения разладки в предположении, что
известна начальная и конечная модели процесса. Однако большой прикладной
интерес представляют такие ситуации, когда распределение процесса до и после
момента разладки является неизвестным. Оценка параметров GARCH-процесса
является трудной задачей. Для оценивания параметров таких процессов часто ис-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
32
Е.Е. Сергеева, С.Э. Воробейчиков
пользуется метод квазимаксимального правдоподобия. Такие оценки рассматривались, в частности, в [5 – 7]. С другой стороны, Baillie и Chung [8] предложили
оценку с минимальным расстоянием для модели GARCH(1,1), которая основывается на автокорреляционной функции квадратов наблюдений.
В данной работе предлагается последовательная процедура обнаружения момента изменения параметров GARCH-процесса с неизвестными значениями параметров до и после момента разладки. Для определения момента разладки процесса используются оценки параметров, построенные с помощью модифицированного взвешенного метода наименьших квадратов, предложенного С. Воробейчиковым и Н. Медер в [9]. Исследованы основные характеристики процедуры обнаружения разладки: вероятности ложной тревоги и ложного спокойствия. Результаты
моделирования демонстрируют эффективность предложенной процедуры.
1. Постановка задачи
Рассматривается устойчивый случайный процесс GARCH(1,1)
xn +1 = σn +1ε n +1 , n = 0,1...,
(1)
где {εn} – последовательность независимых одинаково распределенных случайных
величин с нулевым средним, единичной дисперсией и известным распределением.
Условная вариация процесса xn+1 представляет собой случайный процесс вида
σ2n +1 = a + λxn2 + μσ 2n .
Параметры {a, λ} предполагаются неизвестными, а параметр μ известным,
причем параметры процесса удовлетворяют условиям
a > 0, λ ≥ 0, μ ≥ 0, 0 < λ + μ < 1.
Тогда процесс σ²n+1 является стационарным [1]. Вектор параметров Λ=[a, λ]
меняет свое значение с Λ0 на Λ1 в случайный момент времени θ. Начальное и конечное значения параметров удовлетворяют условию
2
Λ 0 − Λ1 ≥ ∆ > 0 ,
где ∆ является известным значением, определяющим минимальное расстояние
между значениями параметров до и после момента разладки. Требуется по наблюдениям за процессом xn определить момент разладки.
2. Построение оценок параметров
Так как значения параметров до и после момента разладки являются неизвестными, то необходимо получить их оценки. Используя определение GARCHпроцесса, можно получить
n
⎛ n
⎞
xn2+1 = σ2n +1ε 2n +1 = (a + λxn2 + μσ 2n )ε 2n +1 = ⎜ a ∑μi + λ ∑xi2μ n −i ⎟ ε 2n +1.
⎝ i =0
⎠
i =0
Чтобы привести авторегрессионный процесс к удобному для исследования виду, используем подход, который был предложен в [13]. Тогда процесс (1) можно
записать в виде
n
n
⎛ n
⎞ ⎛ n
⎞
xn2+1 = σ 2n +1 + σn2 +1 (ε n2 +1 − 1) = ⎜ a ∑μi + λ ∑xi2μ n −i ⎟ + ⎜ a ∑μi + λ ∑xi2μ n −i ⎟ ε 2n +1 − 1 .
⎝ i =0
⎠ ⎝ i =0
⎠
i =0
i =0
(
)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Гарантированная оценка параметров и обнаружение момента разладки
33
Введем следующие обозначения:
n
⎛ μ n +1 − 1 n 2 n −i ⎞
x2
μ n +1 − 1
, ∑xi μ ⎟ , Yn +1 = n +1 , un =
, wn =
mn = max ⎜
(μ − 1)mn
mn
⎝ μ − 1 i =0
⎠
a
BN =
n
μ n +1 − 1
+ λ ∑xi2μ n −i
μ −1
i =0
, ζ n +1 = ε n2 +1 − 1 , U n = ( un
mn
∑xi2μn−i
i =0
mn
,
T
wn ) , Λ = ( a λ ) .
Теперь процесс (1) можно записать в векторном виде
Yn +1 = ΛU n + BN ζ n +1.
(2)
Построим оценку величинв BN в (2). С одной стороны,
a
BN =
n
μ n +1 − 1
+ λ ∑xi2 μ n −i
μ −1
i =0
μ n +1 − 1 n 2 n −i
max(
, ∑x μ )
μ − 1 i =0 i
≤ (a + λ ).
С другой стороны,
n
⎛ μ n +1 − 1
⎞
⎛ μ n +1 − 1 n 2 n −i ⎞ 2
+ λ ∑xi2μ n −i ⎟ ζ 2n +1 ≥ (a + λ ) min ⎜
, ∑xi μ ⎟ ζ n +1.
xn2+1 = ⎜ a
⎝ μ −1
⎠
⎝ μ − 1 i =0
⎠
i =0
Тогда
−1
xn2+1− k
⎛ N
⎞
CN , C N = E ⎜ ∑ζ 2n +1− k ⎟ .
∑ ⎛ μn +1−k − 1 n −k
⎞
⎝ k =0
⎠
k =0
min ⎜
, ∑ xi2 μ n − k −i ⎟
μ
−
1
⎝
⎠
i =0
N – натуральное число, такое, что CN определена. Это значение зависит от плотности распределения шумов процесса (1). Далее будем использовать оценку BN ,
полученную в следующем виде:
(a + λ) ≤
N
xn2+1− k
N
B=
∑
CN .
⎛ μ n +1− k − 1 n − k 2 n − k −i ⎞
min ⎜
, ∑ xi μ
⎟
⎝ μ −1
⎠
i =0
Для нахождения оценки неизвестного вектора параметров Λ используем последовательный метод оценивания, предложенный в [9]. Оценка имеет вид
k =0
⎛ N1
⎞
Λ* ( N1 ) = ⎜⎜ ∑ Yk +1v (k , x)U k ⎟⎟ A−1 ( N1 ),
⎝ k = N +1
⎠
A( N1 ) =
N1
∑ v(n, x)U nU nT .
n = N +1
Для фиксированного значения H > 0 определим момент остановки τ = τ(H)
τ = τ( P ) = inf{N1 > N + 1: υmin ( N1 ) ≥ H },
(3)
где υmin(N1) – минимальное собственное значение матрицы A(N1).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Е.Е. Сергеева, С.Э. Воробейчиков
34
Положительные весовые функции v(n,x) на интервале [N+1, N+σ–1] задаются
следующим образом:
1
v ( n, x ) =
,
B U nT U n
где σ – наименьшее значение N1, для которого A(N1) не вырождена. Веса v(n,x) на
интервале [N+σ, τ–1] находятся из условий
υmin (k )
B
2
=
k
∑
v 2 (n, x )U nT U n .
(4)
n = N +σ
Последняя весовая функция v(τ,x) находится из условия
υmin (τ)
B
2
≥
τ
∑
v 2 (n, x)U nT U n , υmin (τ) = H .
(5)
n = N +σ
Оценка параметров Λ*(H) в момент времени τ имеет следующий вид:
⎛ τ
⎞
Λ* ( H ) = ⎜ ∑ Yn +1v(n, x )U n ⎟ A−1 (τ),
⎝ n = N +1
⎠
A(τ) =
τ
(6)
∑
v(n, x)U nU nT .
n = N +1
Свойства предложенной оценки (3) – (6) задаются в теореме 1.
Теорема 1. Для любого значения параметра процедуры H>0 момент прекращения наблюдений τ(H) конечен с вероятностью единица и средний квадрат отклонения оценки Λ*(H) от истинного значения вектора параметров Λ удовлетворяет неравенству
2
H +1
M Λ* ( H ) − Λ ≤
.
H2
Доказательство. Момент прекращения наблюдений τ(H) является конечным
тогда и только тогда, когда расходится почти наверное ряд
{
∞
∑
}
v 2 (n, x )U nT U n = ∞ .
n = N +1
Принимая во внимание условие сходимости временных рядов [10] и определение собственного вектора матрицы A(N1) [11], можно показать, что данный ряд
является расходящимся при любом значении параметра H.
Используя неравенство Коши – Буняковского (4), (6), можно получить
2
⎧⎪ τ
⎫⎪
−1
M Λ ( H ) − Λ ≤ M ⎨ ∑ Bζ n +1v(n, x)U n A (τ) ⎬ ≤
⎪⎩ n = N +1
⎪⎭
τ
⎧
1
2⎫
(7)
≤ 2 M ⎨ ∑ B 2 ζ n2 +1v 2 (n, x) U n ⎬ .
H
⎩ n = N +1
⎭
Введем усеченный момент остановки τ(N1)=min{τ, N1}, причем τ(N1)→τ при
N1→∞. Тогда (7) преобразуется к виду, отличающемуся от исходного только пределом суммирования. Обозначим Fn =σ(x0, ζ1,…, ζn) – σ-алгебру, порожденную
случайными величинами {x0, ζ1,…, ζn}. Используя свойства условного математического ожидания, получаем
{
*
}
2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Гарантированная оценка параметров и обнаружение момента разладки
35
τ( N )
N
⎫
1
⎪⎧ 1 2 2 2
⎪⎧ 1 2 2
⎪⎫
2⎪
M
B
v
n
x
U
M
B v (n, x)U n 2 ζ n2 +1χ( n≤τ) ⎬ =
(
,
)
ζ
=
⎨
⎬
⎨
∑
∑
n
+
n
1
2
2
H
⎩⎪ n = N +1
⎭⎪ H
⎩⎪ n = N +1
⎭⎪
τ( N1 )
N1
1
1
⎪⎧
⎪⎫
⎪⎧
⎪⎫ 1 + H
.
= 2 M ⎨ ∑ B 2 v 2 (n, x)U n 2 ⎬ → 2 M ⎨ ∑ B 2 v 2 (n, x)U n 2 ⎬ ≤
2
H
H
⎩⎪ n = N +1
⎭⎪
⎩⎪ n = N +1
⎭⎪ H
1
Теорема доказана.
Теорема 2. Если процесс (1) является устойчивым, M (ζ n ) 4 <∞ и выполнено
следующее условие:
v ( n, x ) =
γ(H )H
U nT U n
(8)
,
где γ(H) – функция, такая, что γ(H)H→∞ при H→∞, то для достаточно больших H
⎛ xH 2 ⎞
P{| Λ* ( H ) − Λ |2 > x} ≤ 1 − F ⎜
⎟,
⎝ H +1⎠
(9)
где F(x) является распределением χ² с двумя степенями свободы.
Доказательство. Учитывая (6), аналогично доказательству теоремы 1 можно
получить следующее неравенство:
⎧ τ
2⎫
M
⎨ ∑ Bζ n +1v (n, x)U n ⎬ .
2
H
⎩ n = N +1
⎭
Пусть {Fk}k ≥1 последовательность σ-алгебр. Рассмотрим мартингал
{
M Λ* ( H ) − Λ
Xτ =
}
2
≤
B
1
τ
∑ v(k , x) DU k ζ k +1 ,
H + 1 k = N +1
где D = [d1,d2] – произвольный вектор. Далее найдем предельное распределение Xτ
аналогично доказательству центральной предельной мартингальной теоремы [10].
Обозначим
B
ηk = ηk ( H ) =
H +1
v(k , x) DU k ζ k +1χ( k ≤τ) ,
Xn =
n
∑
k = N +1
ηk .
Для того чтобы найти характеристическую функцию Xτ, нужно найти предел
характеристической функции Xn, так как Xn →Xτ при n →∞. Обозначим
| Ψ n (λ ) |=
n
∏ M {e
iληk
}
| Fk .
k = N +1
Лемма [10]. Если для заданного λ выполняется условие
| Ψ n (λ ) |≥ c(λ ) > 0, n > 1,
то сходимости по вероятности
Ψ n ( λ ) → M ( ei λX )
достаточно для сходимости
M (eiλX n ) → M (eiλX ).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Е.Е. Сергеева, С.Э. Воробейчиков
36
Проверим выполнение условий леммы. Расматривая
| Ψ n (λ ) |=
n
∏
| M {e
iληk
n
∏
| Fk } |=
k = N +1
|1 + M {e
iληk
− 1 − iληk | Fk } |,
k = N +1
приходим к неравенствам
2
⎛
⎫⎞
⎪⎧ (ληk )
⎪
−
1
| Fk ⎬ ⎟⎟ =
M
⎜
⎨
∏
∏⎜
2
⎪
⎪
k = N +1
k = N +1⎝
⎩
⎭⎠
2
n ⎛
⎞
⎛ n
⎛ (λBv(k , x) DU k ) 2 χ( k ≤τ) ⎞⎞
(λBv(k , x) DU k ) χ( k ≤τ)
= ∏ ⎜1 −
⎟⎟ ≥
M ζ k2+1 ⎟ = exp⎜ ∑ ln ⎜1 −
⎜
⎟
⎜ k = N +1 ⎜
⎟⎟
2( H + 1)
2( H + 1)
k = N +1⎝
⎠
⎝
⎝
⎠⎠
2
τ
,
)
n
min(
2
2
τ
⎛
⎛ λ B
⎞
(λBv(k , x) DU k ) ⎞
≥ exp ⎜⎜ − ∑
(v(k , x) DU k )2 ⎟.
⎟⎟ ≥ exp ⎜ −
∑
H +1
⎝ H + 1 k = N +1
⎠
⎝ k = N +1
⎠
Учитывая (5), получаем
| Ψ n (η)|≥
n
(
1 − M {| e
iληk
)
− 1 − iληk || Fk } ≥
n
⎛ λ2 B2 H + 1 ⎞
| Ψ n (λ ) |≥ exp ⎜ −
= exp(−λ 2 ).
2 ⎟
H
+
1
B ⎠
⎝
Таким образом, условия леммы выполняются. Далее, чтобы найти асимптотическое распределение Ψⁿ(λ), запишем Ψⁿ(λ) в следующем виде:
⎛ n
⎞
iλη
| Ψ n (λ) |= exp ⎜ ∑ M e k − 1 − iληk | Fk ⎟ ×
⎝ k = N +1
⎠
n
n
⎛
⎞
iληk
iληk
× exp ⎜ − ∑ M e
− 1 − iληk | Fk ⎟ × ∏ 1 + M e
− 1 − iληk | Fk .
⎝ k = N +1
⎠ k = N +1
Рассмотрев два последних сомножителя, используя (5), (8), неравенства
{
{
}
| e x − 1|≤ e| x| | x |, | eiλx − 1 − iλx |≤
}
{
}
(10)
(λ x ) 2
, | ln(1 + x) − x |≤ 2 | x |2 , для | x |< 1/ 2
2
и обозначив
βk = M {e
iληk
− 1 − iληk | Fk },
получим
n
n
⎧
−β ⎫
− 1 = exp ⎨ln ∏ |1 + βk | e k ⎬ − 1 ≤
⎩ k = N +1
⎭
k = N +1
n
n
⎧
−βk ⎫
−βk
≤ exp ⎨ ln ∏ (1 + βk )e
≤
⎬ ln ∏ (1 + βk )e
⎩ k = N +1
⎭ k = N +1
λ 4 B 4 γ ( H ) H | D |2 τ
2
≤
(v (k , x) DU k ) 2 ≤ λ 4 B 2 D γ ( H ) ⎯⎯⎯→
0.
∑
2
H →∞
( H + 1)
k = N +1
∏
|1 + βk | e
−βk
Таким образом, произведение двух последних сомножителей в (10) сходится
по вероятности к единице при H→∞. Используя неравенство
(λx) 2 | λx |3
≤
,
2
6
первый сомножитель в (10) можно представить в виде
| ei λx − 1 − i λ x | +
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Гарантированная оценка параметров и обнаружение момента разладки
⎛ n
iλη
exp ⎜ ∑ M e k − 1 − iληk | Fk
⎝ k = N +1
⎛ n
⎧⎪ iλη
× exp ⎜⎜ ∑ M ⎨e k
⎝ k = N +1 ⎩⎪
{
} ⎞⎟⎠ = exp ⎛⎜⎝ − 12
n
37
⎞
M (ληk ) 2 | Fk ⎟ ×
⎠
k = N +1
⎫⎞
(ληk ) 2
⎪
| Fk ⎬ ⎟⎟ ,
− 1 − iληk +
2
⎪
⎭⎠
∑
{
}
⎧⎪ iληk
⎫⎪
(ληk ) 2
−
−
λη
+
M
e
i
1
| Fk ⎬ =
∑ ⎨⎪
k
2
k = N +1 ⎩
⎭⎪
n
где
=
B3
n
6( H + 1)3
=
∑
{
}
M | λv(k , x) DU k ζ k +1 |3 χ( k ≤τ) | Fk =
k = N +1
B 3 | λ |3 M | ζ k +1 |3
6( H + 1)3
τ
∑
k = N +1
| v(k , x) DU k |3 ⎯⎯⎯→
0.
H →∞
Рассмотрим теперь
⎧ 1 n
⎫
exp ⎨− ∑ M (ληk ) 2 | Fk ⎬ =
⎩ 2 k = N +1
⎭
2 2 min( n , τ)
⎧ λ B
⎫
⎧ λ2
⎫
= exp ⎨−
(v(k , x) DU k ) 2 ⎬ = exp ⎨− 〈 X n 〉 ⎬ .
∑
+
H
2(
1)
2
⎩
⎭
⎩
⎭
k = n +1
{
}
Согласно (5), ‹Xn› является ограниченным субмартингалом. Поэтому существует предел ‹Xn› и он ограничен ‹X∞› < |D|². С другой стороны, ‹Xn›→‹Xτ› при
n→∞. Таким образом, распределение ‹Xτ› является асимптотически гауссовским.
Поэтому случайный вектор
S=
τ
B
∑
v(k , x)U k ζ k +1
H + 1 k = N +1
является асимптотически нормальным с параметрами (0, Σ ). Покажем, что след
ковариационной матрицы M{S S T } не превосходит по величине единицы. Имеем
τ
⎧ B2
⎫
v 2 (k , x)U kT U k ⎬ ≤ 1.
tr( M {SS T }) = M ⎨
∑
⎩ H + 1 k = N +1
⎭
Отсюда, при H→∞, получаем tr( Σ )=1.
Оценим вероятность
2
H +1
1
1
P Λ* ( H ) − Λ > x ≤ P
| S |2 > x ≤
exp − yΣ −1 yT dy,
∫
2
2
H2
(2π) | Σ | yyT >C
} {
{
}
C=
где
{
H +1
}
x.
H2
Так как след матрицы не превосходит единицу, то ковариационная матрица Σ
не превосходит единичную матрицу, обозначив t = Σ −1/ 2 y можно записать
{
2
}
P Λ* ( H ) − Λ > x ≤
Теорема доказана.
1
(2π)
∫
t Σt T > C
{ }
⎛ xH 2 ⎞
1
exp − tt T dt ≤ 1 − F ⎜
⎟.
2
⎝ H +1⎠
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
38
Е.Е. Сергеева, С.Э. Воробейчиков
3. Построение процедуры обнаружения разладки
Построим процедуру определения момента разладки. На первом шаге определяются интервалы [τi–1+1, τi], i ≥ 1. На каждом из этих интервалов строится оценка
Λi*(H) (6) процесса (1). Далее сравниваются оценки параметров, полученные на
интервалах [τi−m−1 + 1, τi−m] и [τi−1 + 1, τi], отстоящих друг от друга на m шагов. Если интервал [τi−1 + 1, τi] не содержит момент разладки θ, то вектор параметров Λ
на этом интервале является постоянным и его значение равно или начальному Λ0,
или конечному Λ1 значению. Если для определенного i разница между значениями параметров на интервалах [τi−m−1 + 1, τi−m] и [τi−1 + 1, τi] не меньше, чем заданная
величина ∆, то τi−m < θ < τi−1 + 1. Составим статистику Ji, соответствующую интервалу [τi−1 + 1, τi] для i > m:
J i = (Λ*i − Λ*i − m )T (Λ*i − Λ*i − m ).
(11)
Эта статистика характеризует квадратное отклонение оценок с номерами i и i−m.
Обозначим отклонение оценки Λi* от ее истинного значения через σi. Если выполняется условие θ > τi , то до момента τi значения параметров остаются неизменными и статистика (11) имеет вид
2
J i = σi − σi − m .
Если τm < θ < τi−1, то есть изменение значений параметров произошло на интервале [τm, τi−1], то статистика Ji примет следующий вид:
2
J i = Λ1 − Λ 0 + σi − σi − m .
Алгоритм определения точки изменения параметров процесса заключается в
следующем: значение заданной статистики (11) сравнивается с пороговым значением δ. Решение о наличии разладки принимается при превышении значения статистики Ji значения δ. Важными характеристиками любой процедуры обнаружения разладки являются вероятности ложной тревоги и ложного спокойствия. Благодаря использованию взвешенного метода наименьших квадратов для построения оценок, в каждом цикле наблюдений можно обеспечить заданную вероятность ложной тревоги и ложного спокойствия, выбирая параметр процедуры H
соответствующим образом.
Теорема 3. Пусть 0 < δ < ∆, тогда вероятность ложной тревоги P0 и вероятность ложного спокойствия P1 на любом интервале наблюдений [τi−1+1, τi] являются ограниченными:
4( H + 1)
4( H + 1)
P0 ( H , δ) ≤
, P1 ( H , δ) ≤
.
2
2
2
H δ
∆− δ
H
(
)
Доказательство. Рассмотрим вероятность ложной тревоги. В этом случае
значение статистики Ji превышает порог δ до момента разладки θ. Используя
свойства нормы вектора и неравенство Чебышева, получаем
2
2
2 E{ σi + σi − m } 4( H + 1)
.
≤
δ
H 2δ
Для нахождения вероятности ложного спокойствия рассматриваются случаи,
когда момент разладки уже наступил, а значение статистики (11) не превысило
порогового значения δ. Вероятность P1 имеет вид
{
P0 ( H , δ) = P{J i > δ | τi < θ} = P σi − σi − m
2
}
>δ ≤
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Гарантированная оценка параметров и обнаружение момента разладки
{
P1 ( H , δ) = P { J i < δ | τi − m < θ < τi −1} = P Λ1 − Λ 0 + σi − σi − m
{
}
2
39
}
<δ =
= P Λ1 − Λ 0 + σi − σi − m < δ .
Учитывая |Λ1 – Λ0|² >∆ >0 и используя свойства нормы и неравенство Чебышева, получим
{
= P { σi − σi − m
}
P1 ( H , δ) = P Λ1 − Λ 0 + σi − σi − m < δ ≤ P
}
< ∆− δ ≤
{
}
∆ − σi − σ i − m < δ =
4( H + 1)
H2
(
∆− δ
)
2
.
Теорема доказана.
Следующая теорема задает асимптотическую границу для вероятностей ложной тревоги и ложного спокойствия.
Теорема 4. Пусть 0 < δ < ∆ и выполнены условия теоремы 2. Для достаточно
больших H вероятность ложной тревоги P0 и вероятность ложного спокойствия P1
удовлетворяют неравенствам
⎡
⎛ H 2 ( ∆ − δ ) 2 ⎞⎤
⎡
⎛ H 2 δ ⎞⎤
P0 ( H , δ) ≤ 2 ⎢1 − F ⎜
⎟⎥ ,
⎟ ⎥ , P1 ( H , δ) ≤ 2 ⎢1 − F ⎜
4( H + 1)
⎣
⎝
⎠⎦
⎣
⎝ 4( H + 1) ⎠⎦
где F (x) – χ²-распределение с двумя степенями свободы.
Доказательство. Рассматривая вероятность ложной тревоги и используя для
ее оценки неравенство Минковского и свойство асимптотической нормальности,
доказанное в теореме 2
} {
{
2
{
}
2
}
P0 ( H , δ) = P0 | J ( H )|2 > δ = P σi − σi−m > δ = P (Λ*k − Λ k ) + (Λ*k −m − Λ k −m ) > δ ≤
{
} {
}
2 δ
⎡
⎛ H 2 δ ⎞⎤
δ
+ P Λ*k −m − Λ k −m > ≤ 2 ⎢1 − F ⎜
⎟⎥ .
4
4
⎣
⎝ 4( H + 1) ⎠⎦
Используя неравенство Минковского и асимптотические свойства построенной оценки, вероятность запаздывания в обнаружении определяется следующим
образом:
2
≤ P Λ*k − Λ k >
{
} {
2
2
}
P1 ( H , δ) = P1{| J ( H )|2 < δ} = P Λ1 − Λ 0 + σi −σi−m < δ ≤ P | σi −σi−m |≥ Λ1 − Λ 0 −δ ≤
⎧
2
⎪
≤ P ⎨ Λ1* − Λ1 >
⎪⎩
(
)
2
∆ − δ ⎪⎫ ⎪⎧ *
2
⎬ + P ⎨ Λ0 − Λ0 >
4
⎪⎭ ⎪⎩
Теорема доказана.
(
∆− δ
4
)
2
⎫
⎛ H 2 ( ∆ − δ ) 2 ⎞⎤
⎪ ⎡
⎬ ≤ 2 ⎢1− F ⎜
⎟⎥ .
4( H +1)
⎝
⎠⎦
⎪⎭ ⎣
4. Результаты численного моделирования
Для проверки работоспособности процедуры обнаружения разладки были проведены компьютерные эксперименты. Моделировался процесс GARCH(1,1) со
стандартными гауссовскими шумами
xn +1 = σn +1ε n +1 , n = 0,1,...,
(12)
где
σ2n +1 = a + λxn2 + μσ 2n .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Е.Е. Сергеева, С.Э. Воробейчиков
40
Параметр μ полагался равным μ = 0,3. Рассматривалась реализация процесса
длиной 15 000 значений, которая содержала два момента разладки. Вектор параметров {a, λ} в момент θ = 5 000 изменялся с {0,3; 0,6} на {0,5; 0,1}, в момент
θ = 10 000 на {0,1; 0,5}. Исследовалась процедура определения момента разладки
для различных значений H и δ, а также результаты оценивания неизвестных параметров процесса. Для каждого набора параметров проводилось 100 экспериментов. Результаты моделирования приведены в табл. 1 и 2.
Таблица 1
Оценки параметров процесса
Н
Λ1*
Λ2*
Λ3*
MSEt
MSEp
H=350
⎛ 0,318 ⎞
⎜ 0,546 ⎟
⎝
⎠
⎛ 0, 474 ⎞
⎜ 0,121 ⎟
⎝
⎠
⎛ 0,105 ⎞
⎜ 0, 483 ⎟
⎝
⎠
0,0029
0,0015
H=400
⎛ 0,307 ⎞
⎜ 0,577 ⎟
⎝
⎠
⎛ 0, 488 ⎞
⎜ 0,122 ⎟
⎝
⎠
⎛ 0,106 ⎞
⎜ 0, 475 ⎟
⎝
⎠
0,0025
0,0005
H=450
⎛ 0,303 ⎞
⎜ 0,59 ⎟
⎝
⎠
⎛ 0, 468 ⎞
⎜ 0,167 ⎟
⎝
⎠
⎛ 0,127 ⎞
⎜ 0,502 ⎟
⎝
⎠
0,0022
0,0021
В табл. 1 приведены результаты численного моделирования предложенного
метода оценки неизвестных параметров процесса GARCH(1,1) и процедуры обнаружения разладки. Здесь Λi*(H), i = 1,2,3, – оценки неизвестных параметров процесса (12) параметров процесса, MSEt и MSEp – значения среднеквадратического
отклонения оценок от их истинных значений, полученные с помощью соотношений, доказанных в теореме 1 и в результате моделирования соответственно.
Для исследования вероятности ложной тревоги и среднего времени между
ложными тревогами рассматривалась реализация процесса длиной 400 000 значений, не содержащая момента разладки. Фиксировались те моменты времени, когда процедура обнаруживает разладку. Для нахождения вероятности запаздывания в обнаружении и среднего времени запаздывания рассматривалось 100 реализаций процесса (12) длиной 10 000 значений каждая, для которых момент разладки параметров процесса моделировался как равномерно распределенная случайная величина на интервале [5 000, 5 500]. Учитывались только те реализации процесса, для которых существовала задержка в обнаружении момента разладки. Результаты моделирования приведены в следующей таблице.
Таблица 2
Оценки моментов изменения параметров и характеристики процедуры обнаружения
H, δ
H = 350
δ = 0,1
H = 400
δ = 0,075
H = 450
δ = 0,05
θ1*
θ2*
T0
T1
P0p
P0A
P0C
P1p
P1A
P1C
6215
10988
398341
1196
0.013
0,025
0,115
0,181
0,193
0,214
6027
10726
33196
900
0.027
0,048
0,134
0
0,048
0,134
6112
10509
26529
780
0.038
0,121
0,178
0
0,006
0,085
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Гарантированная оценка параметров и обнаружение момента разладки
41
θ1* и θ2* – средние значения оценок моментов изменения параметров, вычисленные по 100 реализациям процесса; T0 – среднее время между ложными тревогами; T1 – среднее время запаздывания в обнаружении; P0A, P0C и P0p обозначают
вероятности ложной тревоги, полученные с использованием свойства асимптотической нормальности оценки, неравенства Чебышева и в результате моделирования соответственно. Соответствующие вероятности ложного спокойствия обозначены P1A, P1C и P1p.
Результаты исследований демонстрируют эффективность предложенного метода оценки параметров процесса GARCH(1,1) и предложенной процедуры определения момента разладки. Точность оценки неизвестных параметров процесса
зависит от выбора значения параметра H. При возрастании параметра H увеличивается точность оценивания, однако при этом увеличивается время запаздывания
в обнаружении. С другой стороны, при уменьшении ухудшается точность оценки,
что показано на рис. 1 и 2. Выбор величины δ влияет на скорость определения
момента разладки. При увеличении значения δ увеличивается время запаздывания
в обнаружении, при уменьшении значения параметра повышается вероятность
ложной тревоги. Во всех случаях вероятностные характеристики процедуры обнаружения не превышают теоретических, что позволяет сделать вывод о возможности их применения.
λ
a
a*
a
λ
λ∗
0,5
0,5
0
0
5000
10000
0
j
5000
10000
j
Рис. 1. Оценки неизвестных параметров процесса (пунктирная линия – оценка параметра
по взвешенному методу наименьших квадратов, сплошная – истинное значение параметра).
Параметры процедуры H = 250, δ = 0,1
λ
a
a*
λ
a
0,5
λ∗
0,5
0
0
5000
10000
j
0
5000
10000
j
Рис. 2. Оценки неизвестных параметров процесса (пунктирная линия – оценка параметра
по взвешенному методу наименьших квадратов, сплошная – истинное значение параметра)
Параметры процедуры H = 400, δ = 0,05
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
42
Е.Е. Сергеева, С.Э. Воробейчиков
Заключение
В работе построена и исследована последовательная процедура обнаружения
момента изменения значений параметров процесса GARCH(1,1), параметры которого предполагаются неизвестными до и после момента разладки. Алгоритм определения точки изменения параметров процесса заключается в сравнении оценок
неизвестных параметров процесса на различных интервалах наблюдений. Используются оценки, построенные с помощью модифицированного взвешанного метода
наименьших квадратов с гарантированным среднеквадратическим отклонением,
точность которых зависит от заданного параметра процедуры. Найдены характеристики процедуры обнаружения разладки, исследованы асимптотические свойства. Численное моделирование показало работоспособность предложенной процедуры.
ЛИТЕРАТУРА
1. Bollerslev T. Generalized autoregressive conditional heteroskedasticity // J. Econometrics.
1986. V. 86. P. 307−327.
2. Бассвиль М., Вилске А., Банвенист А. Обнаружение изменения свойств сигналов и динамических систем. М.: Мир, 1989.
3. Kokoszka P., Leipus R. Change-point detection in the mean of dependent observations // Statistics & Probability Letters. 1998. V. 40. No. 4. P. 385−393.
4. Lai T.Z. Sequential change-point detection in quality control and dynamical systems // J. Res.
Statist. Soc. B. 1995. V. 57. No. 4. P. 613−658.
5. Berkes I., Horvath L. The efficiency of the estimators of the parameters in GARCH processes
// Annals of Statistics. 2004. V. 32. P. 633−655.
6. Francq C., Zacoian J.M. Maximum likelihood estimation of pure GARCH and ARMA –
GARCH processes // Bernoulli. 2004. V. 10. P. 605−637.
7. Francq C., Zacoian J.M. Quasi – Maximum likelihood estimation in GARCH processes
when some coefficients are equal to zero // Stochastic Processes and their Application. 2007.
V. 117. P. 1265−1285.
8. Baillie R.T., Chung H. Estimation of GARCH models from the autocorrelation of the squares
of a process // J. Time Ser. Anal. 2001. V. 22. No. 6. P. 631−650.
9. Meder N., Vorobejchikov S. On guaranteed estimation of parameters of random processes by
the weighted least square method // Proc. 15th Triennial World Congress of the International
Federation of Automatic Control. Barcelona, 2002. Р. 1200.
10. Ширяев А.Н. Вероятность. М.: Наука, 1989.
11. Беллман Р. Введение в теорию матриц. М.: Наука, 1976. 352 с.
12. Буркатовская Ю.Б., Воробейчиков С.Э. Гарантированное обнаружение момента разладки GARCH-процесса // Автоматика и телемеханика. 2006. № 12. С. 56−70.
13. Дмитренко А.А., Конев В.В. О последовательной классификации процессов авторегрессии с неизвестной дисперсией помех// Проблемы передачи информации. 1995. Т. 31.
Вып. 4. С. 51−62.
Сергеева Екатерина Евгеньевна
Воробейчиков Сергей Эрикович
Томский государственный университет,
E-mail: sergeeva_e_e@mail.ru; sev@mail.tsu.ru
Поступила в редакцию 30 марта 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
УДК 517.511
В.И. Смагин, С.В. Смагин
ФИЛЬТРАЦИЯ В ЛИНЕЙНЫХ ДИСКРЕТНЫХ НЕСТАЦИОНАРНЫХ
СИСТЕМАХ С НЕИЗВЕСТНЫМИ ВОЗМУЩЕНИЯМИ
Рассматривается алгоритм синтеза оптимального фильтра, определяющего
оценку вектора состояния дискретной линейной нестационарной динамической системы с аддитивными возмущениями, содержащими неизвестную
постоянную составляющую. Приводятся результаты вычислительного эксперимента.
Ключевые слова: линейные дискретные нестационарные системы, фильтр
Калмана, неизвестные возмущения.
В работах многих авторов большое внимание уделяется разработке алгоритмов калмановской фильтрации для класса систем с неизвестными аддитивными
возмущениями и параметрами, которые могут использоваться в качестве моделей
реальных физических систем, моделей объектов с неизвестными сбоями.
Известные методы вычисления оценок вектора состояния базируются на алгоритмах, использующих оценки неизвестного возмущения [1 – 11]. В работах [1, 2]
рассматриваются алгоритмы расширения пространства состояний (к основной
модели объекта добавляется модель ненаблюдаемого возмущения) и алгоритм
двухэтапной фильтрации, уменьшающий вычислительные затраты за счет декомпозиции задачи. В работах [3 – 11] изучены алгоритмы рекуррентной оптимальной фильтрации, использующие оценки неизвестного возмущения, имеющие достаточно жесткие условия их разрешимости.
В настоящей работе для дискретного нестационарного объекта с неизвестной
постоянной составляющей возмущений предлагается метод оптимальной фильтрации, не использующий оценки неизвестного возмущения. Метод базируется на
преобразовании модели и сведении к задаче линейной калмановской фильтрации
[12 – 14]. В настоящей статье обобщаются результаты [15] на случай решения задачи для нестационарного дискретного объекта.
1. Постановка задачи
Рассматривается дискретная система, которая описывается следующими разностными уравнениями:
x(k + 1) = A(k ) x(k ) + f + q (k ), x(0) = x0 ,
(1)
где x(k ) ∈ R n – вектор состояния; A(k) – n×n-матрица; f – неизвестный постоянный вектор; q(k) – белая гауссовская случайная последовательность с характеристиками
M {q (k )} = 0 , M{q(k )q Τ ( j )} = Q(k )δk , j .
(2)
Канал наблюдений имеет вид
y (k ) = S (k ) x(k ) + v(k ) ,
(3)
y (k ) ∈ R l – вектор измерений; S(k) – матрица размерности l × n ; v(k) – белая гаус-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В.И. Смагин, С.В. Смагин
44
совская случайная последовательность ошибок измерений, с характеристиками:
M{v(k )} = 0 , M{q (k )v Τ ( j )} = 0 , M{v(k )v Τ ( j )} = V (k )δi , j ;
(4)
для матриц (S(k), A(k)) выполняются условия наблюдаемости. Вектор x0 является
случайным и не зависит от от процессов q(k) и v(k), при этом
M{x(0)} = x0 , M {( x(0) − x0 )( x(0) − x0 )Τ } = P0 .
Для системы (1) и канала наблюдений (3) требуется синтезировать фильтр,
вычисляющий оценку вектора состояния, не использующий оценки неизвестной
постоянной составляющей возмущений.
2. Синтез фильтра
Преобразуем дискретную систему (1). Исключаем постоянную составляющую
возмущений f из описания объекта посредством вычитания из уравнения (1) такого же уравнения, но со сдвигом на один такт:
x(k ) = A(k − 1) x(k − 1) + f + q(k − 1) .
(5)
В результате получаем следующее уравнение:
x(k + 1) = ( A(k ) + En ) x(k ) − A(k − 1) x(k − 1) + q (k ) − q(k − 1) .
(6)
Расширим пространство состояний системы путем добавления к уравнению (6)
тождества x(k ) = x(k ) . Обозначим
x(k ) ⎞
⎛ q(k ) − q(k − 1) ⎞ .
X (k ) = ⎛⎜
⎟
⎟ , q (k ) = ⎜
0
⎝
⎠
⎝ x(k − 1) ⎠
Систему (1) представим в векторно-матричной форме
X (k + 1) = A(k ) X (k ) + q (k ), X (0) = X 0 ,
(7)
(8)
где А(k ) – 2n × 2n -матрица имеет следующую блочную структуру:
⎛ A(k ) + En
A(k ) = ⎜
En
⎝
− A(k − 1) ⎞
⎟.
0
⎠
(9)
Случайный вектор X 0 = ( x0Τ x−Τ1 )Τ имеет следующие характеристики:
M{ X (0)} = X 0 , M {( X 0 − X 0 )( X 0 − X 0 )Τ } = P0 ,
( x0Τ
(10)
x−Τ1 )Τ
где X 0 =
. Отметим, что здесь дополнительно вводится n-мерный вектор x−1 , который является независимым от q(k ) и v(k ) , а характеристики (10)
могут быть получены по априорной информации об объекте (1).
Отметим, что в рассмотренной модели (8) процесс q (k ) не является белой гауссовской последовательностью, процессы q (k ) и q (k − 1) будут коррелированны:
если
j = k,
⎧ Q (k ),
⎪
M{q (k )q ( j )} = ⎨Q (k − 1), если
j = k − 1,
⎪ 0,
если 0 ≤ j < k − 1,
⎩
(11)
Q(k ) + Q(k − 1) 0 ⎞
⎛ −Q(k − 1) 0 ⎞ .
Q(k ) = ⎛⎜
⎟ , Q (k − 1) = ⎜
0
0
0
0 ⎟⎠
⎝
⎠
⎝
(12)
Τ
где
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Фильтрация в линейных дискретных нестационарных системах
45
Представим канал наблюдений для расширенной системы (8) в виде
y (k ) = S (k ) X (k ) + v(k ) ,
(13)
где S (k ) = ( S (k ) 0 ) , v(k) − случайная последовательность ошибок измерений с характеристиками (4).
В качестве уравнения для вычисления оценки вектора состояния расширенной
системы выберем уравнение, по своей структуре совпадающее с фильтром Калмана:
Xˆ (k + 1) = A(k ) Xˆ (k ) + K (k )( y (k + 1) − S (k + 1) A(k ) Xˆ (k )) , Xˆ (0) = X .
(14)
0
Учитывая (8) и (14), получим следующее уравнение для ошибки e(k ) = Xˆ (k ) − X (k ) :
e(k + 1) = ( A(k ) − K (k ) S (k + 1) A(k ))e(k ) + K (k )v(k + 1) + ( K (k ) S (k + 1) − E2 n )q (k ) .
(15)
В силу (11) и (15), матрица P (k ) = M{e(k )eΤ (k )} определится из следующего разностного уравнения:
P (k + 1) = ( A(k ) − K (k ) S (k + 1) A(k )) P (k )( A(k ) − K (k ) S (k + 1) A(k ))Τ +
+( K (k ) S (k + 1) − E2 n )Q (k )( K (k ) S (k + 1) − E2 n )Τ + K (k )V (k + 1) K Τ (k ) +
+( A(k ) − K (k ) S (k + 1) A(k ))( K (k − 1) S (k ) − E2 n ) ×
×Q (k − 1)( K (k ) S (k + 1) − E2 n )Τ + ( K (k ) S (k + 1) − E2 n ) ×
×Q (k − 1)( K (k − 1) S (k ) − E2 n )Τ ( A(k ) − K (k ) S (k + 1) A(k ))Τ , P (0) = P0 .
(16)
Оптимизируемый критерий зададим в виде
J (k + 1) = trP (k + 1) .
(17)
Оптимальные коэффициенты передачи фильтра K(k) определяются из условия
dJ (k + 1)
=0.
(18)
dK (k )
Учитывая (17) и правую часть уравнения (16), применяя правила матричного
дифференцирования следа от матрицы [16], получим из условия (18) уравнение
для определения матрицы K(k):
− A(k ) P (k ) A(k )Τ S (k + 1)Τ + K (k ) S (k + 1) A(k ) P (k ) A(k )Τ S (k + 1)Τ +
+ K (k ) S (k + 1)Q (k ) S (k )Τ − Q (k ) S (k + 1)Τ − K (k ) S (k + 1)Q (k − 1) ×
×S (k )Τ K (k − 1)Τ A(k )Τ S (k + 1)Τ + K (k ) S (k + 1)Q (k − 1) A(k )Τ S (k + 1)Τ −
− K (k ) S (k + 1) A(k ) K (k − 1) S (k )Q (k − 1) S (k + 1)Τ +
+ K (k ) S (k + 1) A(k )Q (k − 1) S (k + 1)Τ + Q (k − 1) S (k )Τ K (k − 1)Τ ×
× A(k )Τ S (k + 1)Τ − Q (k − 1) A(k )Τ S (k + 1)Τ − A(k )Q (k − 1) S (k + 1)Τ +
+ A(k ) K (k − 1) S (k )Q (k − 1) S (k + 1)Τ + K (k )V (k + 1) = 0 .
(19)
Решение последнего уравнения относительно K(k) дает следующий результат:
K (k ) = P (k ) S (k + 1)Τ ( S (k + 1) P (k ) S (k + 1)Τ + V (k + 1)) −1 ,
(20)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
46
В.И. Смагин, С.В. Смагин
где
P (k ) = A(k ) P (k ) A(k )Τ + Q (k − 1)( E2 n − S (k )Τ K (k − 1)Τ ) A(k )Τ +
+ A(k )( E2 n − K (k − 1) S (k ))Q (k − 1) + Q (k ) .
(21)
Отметим, что для вычисления коэффициентов передачи (20), в силу (21), необходимо задать начальные значения коэффициентов K(−1).
Подставив в уравнение (16) выражение для оптимального коэффициента передачи (20), получим уравнение
P (k + 1) = ( E2 n − K (k ) S (k + 1)) P(k ) , P (0) = P0 .
(22)
Основной результат сформулируем в виде теоремы, учитывая симметричность
и блочное представление матриц P (k ) и P (k ) :
⎛ p (k )
P(k ) = ⎜ 1
⎝ p2 (k )
⎛ p (k )
p2Τ (k ) ⎞
, P (k ) = ⎜ 1
p3 (k ) ⎟⎠
⎝ p2 (k )
p2Τ (k ) ⎞
,
p3 (k ) ⎟⎠
(23)
блочные структуры матриц A(k ), Q(k ), Q (k ), S (k ) и представление матрицы K (k )
в виде
⎛ K (k ) ⎞
K (k ) = ⎜ 1 ⎟ .
(24)
⎝ K 2 (k ) ⎠
Теорема. Пусть процесс с неизвестным постоянным возмущением определяется уравнениями (1) и канал наблюдений имеет вид (3). Тогда оптимальный алгоритм фильтрации определится следующими разностными уравнениями:
xˆ (k + 1) = ( A(k ) + En ) xˆ (k ) − A(k − 1) xˆ (k − 1) + K1 (k )( y (k + 1) −
− S (k + 1)[( A(k ) + En ) xˆ (k ) − A(k − 1) xˆ (k − 1)]
(25)
с начальными условиями
xˆ(0) = x0 , xˆ(1) = M{x(1)} = x1 .
Матрица K1 (k ) в (25) определяется по формуле
(26)
K1 (k ) = p1 (k ) S (k + 1)Τ ( S (k + 1) p1 (k ) S (k + 1)Τ + V (k + 1)) −1 ,
где матрица p1 (k ) вычисляется из системы уравнений
(27)
p1 (k ) = ( A(k ) + En ) p1 (k )( A(k ) + En )Τ − A(k − 1) p2 (k )( A(k ) + En )Τ −
−( A(k ) + En ) p2Τ (k ) A(k − 1)Τ + A(k − 1) p3 (k ) A(k − 1)Τ + Q(k − 1) S (k )Τ K1 (k − 1)Τ ×
×( A(k ) + En )Τ − Q(k − 1) S (k )Τ K 2 (k − 1)Τ AΤ (k − 1) +
+( A(k ) + En ) K1 (k − 1) S (k )Q(k − 1) − A(k − 1) K 2 (k − 1) S (k ) ×
×Q(k − 1) − ( A(k ) + En )Q(k − 1) − Q(k − 1)( A(k ) + En )Τ + Q(k ) + Q(k − 1) ,
p2 (k ) = p1 (k )( A(k ) + En )Τ − p2Τ (k ) A(k − 1)Τ +
+ K1 (k − 1) S (k )Q(k − 1) − Q(k − 1) , p3 (k ) = p1 (k ) ,
p1 (k + 1) = ( En − K1 (k ) S (k + 1)) p1 (k ) , p1 (0) = p1,0 ,
p2 (k + 1) = − K 2 (k ) S (k + 1) p1 (k ) + p2 (k ) , p2 (0) = p2,0 ,
p3 (k + 1) = − K 2 (k ) S (k + 1) p2Τ (k ) + p3 (k ) , p3 (0) = p3,0 ,
K 2 (k ) = p2 (k ) S (k + 1)Τ ( S (k + 1) p1 (k ) S (k + 1)Τ + V (k + 1)) −1 .
(28)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Фильтрация в линейных дискретных нестационарных системах
47
В (28) начальные условия p1,0 , p2,0 , p3,0 , являются соответствующими блоками
матрицы P0 . Отметим, что для выполнения расчетов в (28) необходимо задать начальные условия для K1 (−1) и K 2 (−1) .
Замечание. Управляемый объект
x(k + 1) = A(k ) x(k ) + B(k )u (k ) + f + q(k ),
x(0) = x0 ,
(29)
при исключении неизвестного постоянного возмущения f объекта, необходимо
преобразовать к виду, который будет отличаться от (8) одним слагаемым:
X (k + 1) = A(k ) X (k ) + B (k )(u (k ) − u (k − 1) + q (k ), X (0) = X 0 ,
(30)
где матрица A(k ) приведена в формуле (9), q (k ) имеет характеристики (11), (12).
В (30) матрица B (k ) имеет вид
B (k ) ⎞
B (k ) = ⎛⎜
⎟.
⎝ 0 ⎠
Тогда уравнения фильтра будут следующими:
(31)
xˆ (k + 1) = ( A(k ) + En ) xˆ (k ) − A(k − 1) xˆ (k − 1) + B(k )(u (k ) − u (k − 1)) + K1 (k )( y ( k + 1) −
− S (k + 1)[( A(k ) + En ) xˆ (k ) − A(k − 1) xˆ (k − 1) + B(k )(u (k ) − u (k − 1))] ,
(32)
с начальными условиями (26), а матрица K1 (k ) определяется в соответствии с
(27) и (28).
3. Результаты вычислительного эксперимента
Рассмотрим применение алгоритма фильтрации для модели второго порядка
вида (1) и канала наблюдений (3) со следующими значениями параметров:
0
1
0 ⎞
⎞ ; Q = ⎛ 0, 01
; V = 0,9 ;
A(k ) = ⎛⎜
⎟
⎜ 0
0, 02 ⎟⎠
⎝
⎝ 0, 05 0,925 + 0,1sin(0, 01k ) ⎠
1, 0
1, 0 0 ⎞
S = (1 1) ; x0 = ⎛⎜ ⎞⎟ ; P0 = ⎛⎜
(33)
⎟.
⎝ 1,5 ⎠
⎝ 0 1, 0 ⎠
Вычисление оценок вектора x(k) можно выполнить, используя двухэтапный
алгоритм фильтрации [2]. Модель измерений в этом случае с учетом (1) представляется в виде
y (k + 1) = Sx(k + 1) + v(k + 1) = SA(k ) x(k ) + Sf + Sq(k ) + v(k + 1) .
(34)
Рекуррентные уравнения оценивания неизвестного вектора f имеют вид
fˆ (k + 1) = fˆ (k ) + K (k )( y (k + 1) − SA(k ) xˆ (k ) − Sfˆ (k )) , fˆ (0) = f ,
0
f
Τ
Τ
Τ
−1
K f (k ) = Pf (k ) S ( SPf (k ) S + SQS + V ) ,
где
Pf (k + 1) = ( E2 − K f (k ) S ) Pf (k ), Pf (0) = Pf0 ,
(35)
M{ f } = f 0 , M{( f − f 0 )( f − f 0 )Τ } = Pf0 .
(36)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В.И. Смагин, С.В. Смагин
48
Оценка вектора состояния для объекта с неизвестным постоянным входом задается уравнением:
xˆ (k + 1) = A(k ) xˆ (k ) + fˆ (k ) + K (k )( y (k + 1) − SA(k ) xˆ (k ) − Sfˆ (k )) ,
(37)
x
где матрица K x (k ) определяет коэффициенты передачи фильтра Калмана. При
моделировании используем
0
1, 0 0 ⎞
f 0 = ⎛⎜ ⎞⎟ , Pf0 = ⎛⎜
(38)
⎟.
⎝0⎠
⎝ 0 1, 0 ⎠
Применение расширенного фильтра Калмана [1] для данного примера (в этом
случае уравнение (1) расширяется путем добавления уравнения f(k+1) = f(k)) приводит к необходимости построения фильтра Калмана для дискретной системы со
следующими матрицами динамики, канала наблюдений и интенсивностей аддитивных возмущений:
Q 0⎞
⎛ A(k ) E2 ⎞
, ( S 0 ) , ⎛⎜
(39)
⎟.
⎜ 0
E2 ⎟⎠
⎝ 0 0⎠
⎝
Использование в данном примере методов, описанных в работах [4, 5, 8, 9],
невозможно в силу невыполнения условий существования оптимальных оценок
неизвестного входного вектора [4, 5, 8, 9]:
n≥m и l≥m.
(40)
В [4, 5, 8, 9] неизвестное возмущение определяется в виде f = Gd , где d – неизвестный m-мерный вектор, G – n × m -известная матрица. В рассмотренном
примере G = E2 , n = 2 , m = 2, l = 1 , а это означает, что условия (40) не выполняются.
Применение алгоритма фильтрации исследовалось также для неизвестного переменного возмущения с тремя возможными значениями компонент вектора f:
⎧ 1, если 0 ≤ k ≤ 9,
⎪
f1 ( k ) = f 2 ( k ) = ⎨ −1, если 9 < k < 25,
⎪ 1, если 25 ≤ k ≤ 50.
⎩
На рис. 1 приведены реализации процессов и их оценок для трех сравниваемых фильтров. Отметим, что при реализации алгоритма фильтрации (25), начальные значения K1 (−1) и K 2 (−1) задавались нулевые.
x1(k)
x1(k)
x2(k)
x2(k)
2
10
0
–10
0
3
4
20
30
40
k
–10
0
4
1
0
1
10
3
10
2
10
20
30
40
k
Рис. 1. Реализации процессов и оценок (1 – реализация x(k); 2 – оценка, построенная по алгоритму (25); 3 – оценка, построенная по двухэтапному алгоритму; 4 – оценка для расширенного фильтра Калмана)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Фильтрация в линейных дискретных нестационарных системах
49
На рис. 2 приведены ошибки оценивания компонент вектора состояния.
e1(k)
4
2
e2(k)
4
3
1
0
–2
–4
–6
0
2
2
3
1
0
2
–2
10
20
30
40
k
–4
0
10
20
30
40
k
Рис. 2. Графики ошибок фильтрации (1 – ошибка для оценки, построенной по алгоритму
(25); 2 – ошибка для оценки, построенной по двухэтапному алгоритму; 3 – ошибка для
расширенного фильтра Калмана)
Как видно из рисунков для рассмотренного примера, качество оценок, полученных с помощью фильтра (25), лучше, чем для двухэтапного алгоритма фильтрации и расширенного фильтра Калмана, использующих оценки неизвестного
возмущения. Отметим также, что для алгоритма фильтрации (25) не нужно задавать априорную информацию о характеристиках распределения начальных значений f 0 и Pf0 .
Ниже, в таблице, приведены средние значения среднеквадратических ошибок
оценивания для трех рассматриваемых методов, рассчитанных по 50 реализациям.
Как видно из таблицы, предложенный метод фильтрации (25) обеспечивает среднюю ошибку в 3 – 4 раза меньшую, чем другие методы.
Средние значения среднеквадратических ошибок для компонент вектора состояния
Алгоритм (25)
e1,ср = 0,0912
Двухэтапный алгоритм
e1,ср = 0,3128
Расширенный фильтр Калмана
e1,ср = 0,4103
e2,ср = 0,0945
e2,ср = 0,2917
e2,ср = 0,4296
Заключение
Разработан алгоритм синтеза дискретного оптимального нестационарного
фильтра для объекта, возмущения которого содержат неизвестную постоянную
составляющую. Алгоритм построен на основе расширения пространства состояния и исключения из модели неизвестной составляющей. В отличие от классического фильтра Калмана, предложенный фильтр использует рекуррентные оценки,
построенные на двух предыдущих тактах. Как показали результаты вычислительного эксперимента, алгоритм может быть применен для кусочно-постоянной неизвестной аддитивной составляющей возмущений.
ЛИТЕРАТУРА
1. Astrom K., Eykhoff P. System identification. A survey // Automatica. 1971. V. 7. P. 123−162.
2. Friedland B. Treatment of bias in recursive filtering // IEEE Trans. on Automat. Contr. 1969.
V. AC-14. P. 359−367.
3. Chen J., Patton R. J. Optimal filtering and robust fault diagnosis of stochastic systems with
unknown disturbances // IEE Proc. Control Theory Appl. 1996. V. 143. P. 31–36.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
50
В.И. Смагин, С.В. Смагин
4. Darouach M., Zasadzinski M. Unbiased minimum variance estimation for systems with unknown exogenous inputs // Automatica. 1997. V. 33. P. 717–719.
5. Darouach M., Zasadzinski M., Xu S. J. Full-order observers for linear systems with unknown
inputs // IEEE Trans. on Automat. Contr. 1999. V. AC-39. P. 606.
6. Gillijns S., Moor B. Unbiased minimum-variance input and state estimation for linear discrete-time systems // Automatica. 2007. V. 43. P. 111–116.
7. Hou M., Patton R. Optimal filtering for systems with unknown inputs // IEEE Trans. on
Automat. Contr. 1998. V. AC-43. P. 445–449.
8. Hsieh C.-S. A unified solution to unbiased minimum-variance estimation for systems with
unknown inputs // Proc.17th World Congress The International Federation of Automatic
Control. Seoul. Korea. July 6 – 11, 2008. P. 14502–14509.
9. Hsieh C.-S. Robust two-stage Kalman filters for systems with unknown inputs // IEEE Trans.
on Automat. Contr. 2000. V. AC-45. P. 2374–2378.
10. Hsieh C.-S. Extension of the optimal unbiased minimum-variance filter for systems with unknown inputs // Proc. 15th IEEE International Workshop on Nonlinear Dynamics of Electronic Systems. Tokushima. Japan. 2007. P. 217–220.
11. Hsieh C.-S. Robust parameterized minimum variance filtering for uncertain systems with unknown inputs // Proc. American control conference. New York. 2007. P. 5118–5123.
12. Kalman R.E., Busy R. A new results in linear filtering and prediction theory // Trans. ASME
J. Basic Engr. 1961. V. 83. P. 95–108.
13. Браммер К., Зиффлинг Г. Фильтр Калмана – Бьюси. М.: Наука, 1972. 200 с.
14. Пугачев В.С., Синицин И.Н. Стохастические дифференциальные уравнения М.: Наука,
1990. 630 с.
15. Смагин С.В. Фильтрация в линейных дискретных системах с неизвестными возмущениями // Автометрия. 2009. Т. 45. № 6. C. 29−37.
16. Амосов А.А., Колпаков В.В. Скалярно-матричное дифференцирование и его применение
к конструктивным задачам теории связи // Проблемы передачи информации. 1972. № 1.
С. 3−15.
Смагин Валерий Иванович
Смагин Сергей Валерьевич
Томский государственный университет
E-mail: vsm@mail.tsu.ru; ssv@fpmk.tsu.ru
Поступила в редакцию 6 декабря 2010 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
УДК 519.6
Б.М. Шумилов, Ш.М. Матанов
АЛГОРИТМ С РАСЩЕПЛЕНИЕМ ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ
СПЛАЙНОВ ПЕРВОЙ СТЕПЕНИ1
Для сплайнов 1-й степени предложен новый тип вейвлетов со смещенным
носителем. С использованием расщепления по четным и нечетным узлам
получен алгоритм вейвлет-разложения в виде решения трехдиагональной
системы линейных алгебраических уравнений со строгим диагональным
преобладанием.
Ключевые слова: сплайны первой степени, вейвлеты, соотношения разложения и восстановления.
Вейвлетом называется короткая или быстро затухающая волновая функция,
множество сжатий и смещений которой порождает пространство измеримых
функций на всей числовой оси [1 – 3]. К недостаткам ортонормальных и биортогональных вейвлетов относится то, что их двойственные не имеют аналитического представления и графически похожи на фрактальные кривые. Недостатком полуортогональных сплайн-вейвлетов является то, что для них не существует явных
конечных формул разложения. Поэтому при вычислениях используют приближенные значения главных коэффициентов разложения [2] либо решают систему
линейных алгебраических уравнений, для которой не гарантирована хорошая обусловленность [3]. В данной работе для случая сплайнов первой степени рассмотрен неизвестный ранее тип вейвлетов, для которых доказано существование конечных неявных соотношений разложения и обоснован эффективный алгоритм
вейвлет-анализа на их основе.
1. Построение сплайн-вейвлетов первой степени
Пусть пространство VL является пространством сплайнов первой степени на
отрезке [a, b] с равномерной сеткой узлов ∆L: ui = a + (b – a) i / 2L, i = 0, 1,…, 2L, и
базисными функциями NLi (v) = φ1(v – i) ∀i, где v = 2L(u – a) / (b – a) + 1, с центрами в целых числах, порожденными сжатиями и сдвиϕ1(t)
гами функции φ1(t) (рис. 1):
1
0 ≤ t ≤ 1,
⎧ t,
⎪
φ1 (t ) = ⎨ 2 − t , 1 ≤ t ≤ 2,
0,5
⎪⎩ 0,
t ∉ [0, 2].
Если сетка ∆L–1 получена из ∆L посредством уда0
1
2 t
ления каждого второго узла, то соответствующее
L–1
пространство VL–1 с базисными функциями N i, в Рис. 1. График функции φ1(t)
два раза большими по ширине с центрами в четных
целых числах, вложено в VL. Пространство вейвлетов WL–1 определяется как до1
Исследование выполнено при поддержке РФФИ (проект №11-01-90900_моб_снг_ст).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Б.М. Шумилов, Ш.М. Матанов
52
полнение VL–1 до VL, так что любая функция в VL может быть записана в виде суммы некоторой функции в VL–1 и некоторой функции в WL–1. В [3] было предложено
в качестве базисных функций в WL–1 использовать базисные функции в VL с центрами в нечетных целых числах («ленивые» вейвлеты). Мы предлагаем использовать в качестве вейвлетов для WL–1 функции NLi в VL с центрами в четных целых
числах при условии обнуления сплайна в последнем узле. Тогда соответствующие
базисные функции удаляются из базисов, и размерности полученных пространств
V0L, W0L–1 равны 2L+1 – 1 = 2L и 2L–1 соответственно. Следовательно, выполняется
условие дополнения размерностей этих пространств, Dim (V0L) = Dim (V0L–1) +
+ Dim (W0L–1).
После этого на любом уровне разрешения L ≥ 0 сплайн первой степени может
быть представлен на интервале [a, b] изменения параметра как
L
S (u ) =
2 L −1
∑ CiL NiL ( u ),
a ≤ u ≤ b.
(1)
i =0
Для дальнейшего удобно записать коэффициенты сплайна и базисные функции с отсутствующими элементами в конце отрезка аппроксимации как
T
С L = ⎡⎣С0L , С1L , ..., С2LL −1 ⎤⎦ и φ L = ⎡⎣ N 0L , N1L , ..., N 2LL −1 ⎤⎦ . Тогда уравнение (1) переписывается в виде SL(u) = φL (u) CL.
Аналогично, обозначим базисные вейвлет-функции как ML–1i = φ1(v – 2i),
i = 0, 1,…, 2L–1, и на уровне разрешения L запишем их в виде матрицы-строки
ψ L = ⎡⎣ M 0L , M1L , ..., M 2LL −1 ⎤⎦ . Соответствующие вейвлет-коэффициенты будем собиT
рать в вектор D L = ⎡⎣ D0L , D1L , ..., D2LL −1 ⎤⎦ . Тогда с использованием обозначения
для блочных матриц процесс получения CL из CL–1 и DL–1 может быть записан
как [3]:
⎡ С L −1 ⎤
С L = ⎡⎣ P L | Q L ⎤⎦ ⎢ L −1 ⎥ .
⎣D ⎦
L
Ниже представлен пример матрицы [P | QL], соответствующий L = 3:
2
⎡2
⎤
⎢1 1
⎥
2
⎢ 2
⎥
1
⎥.
⎡⎣ P 3 | Q3 ⎤⎦ = ⎢ 1 1
2
2 ⎥
2⎢
⎢
⎥
1 1
⎢
2
2⎥
1
⎣⎢
⎦⎥
(2)
Здесь и далее пустые позиции представляют собой нулевые элементы. Блоки матрицы PL составлены из коэффициентов соотношения
1
1
ϕ (t ) = ϕ (2t ) + ϕ (2t − 1) + ϕ (2t − 2),
1
1
2 1
2 1
так как каждую широкую базисную функцию внутри отрезка аппроксимации
можно построить из трех, а на краю интервала из двух, узких базисных функций.
Все элементы столбцов матрицы QL – нули, за исключением единственной единицы, так как каждый ленивый вейвлет — это одна узкая базисная функция.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Алгоритм с расщеплением вейвлет-преобразования сплайнов первой степени
53
Обратный процесс разбиения коэффициентов CL на более грубую версию CL–1
и уточняющие коэффициенты DL–1 состоит в решении системы линейных уравнений (2). При этом для облегчения численного решения систему (2) целесообразно
расщепить по четным и нечетным узлам [4]. Имеет место следующая
Теорема 1. Пусть значения сплайн-коэффициентов CiL в нечетных узлах пересчитаны из решения системы линейных уравнений вида
⎡2 1
⎢1 2
⎢
⎢ 1
⎢⎣
L
⎡ L ⎤
⎤ ⎢ C1 ⎥ ⎡ С1 ⎤
⎢
⎥
L
⎥ ⎢ C3 ⎥
С3L ⎥
⎢
⋅
=
:
,
⎥
⎥ ⎢
⎥
1⎥ ⎢
⎢
⎥
1 ⎥⎦ ⎢C LL ⎥ ⎢⎢С LL ⎥⎥
⎣ 2 −1 ⎦ ⎣ 2 −1 ⎦
(3)
где точки, расставленные по диагонали, означают, что предшествующий столбец повторяется соответствующее число раз, сдвигаясь при этом вниз на одну
позицию.
Тогда значения сплайн-коэффициентов на прореженной сетке ∆L–1 вычисляются по формулам
C0L–1=2 C L1, CiL–1=2 CL2i–1+ 2 CL2i+1, i = 1, 2,…, 2L–1,
тогда как вейвлет-коэффициенты равны
D0L–1= C L0 – 2 C L1, DiL–1=C L2i – 2CL2i–1– 2CL2i+1, i = 0, 1,…, 2L–1.
Доказательство вытекает из легко проверяемых соотношений, связывающих
базисные функции пространства сплайнов на густой сетке и базисные функции на
прореженной сетке
φ1 (2 x + 2 ) + 2 φ1 (2 x ) + φ1 (2 x − 2 ) = 2 φ1 (x + 1) + 2 φ1 (x ) − 2 φ1 (2 x + 1) − 2 φ1 (2 x − 1)
внутри отрезка аппроксимации и соотношений
2 φ1 ( 2x ) + φ1 ( 2x − 2 ) = 2 φ1 ( x + 1) + 2 φ1 ( x ) − 2 φ1 ( 2 x + 1) − 2 φ1 ( 2 x − 1) ,
φ1 ( 2x + 2 ) + φ1 ( 2x ) = 2 φ1 ( x + 1) − 2 φ1 ( 2 x + 1)
на левом и правом концах соответственно.
Введем последовательности матриц GL и RL, блоки которых составлены соответственно из коэффициентов левых и правых частей полученных разложений.
В результате находим, что базисные функции пространства сплайнов на густой сетке, базисные функции на прореженной сетке и вейвлеты удовлетворяют равенству
φL GL = [φL–1 | ψL–1] RL, L ≥ 1.
Отсюда, используя свойство дополнения пространства вейвлетов, находим
−1
⎡ С L −1 ⎤
⎡⎣ ϕ L −1 | ψ L −1 ⎦⎤ ⎢
= ϕ L С L = ⎣⎡ϕ L −1 | ψ L −1 ⎦⎤ R L G L С L .
L −1 ⎥
⎣D ⎦
После этого решение системы уравнений (2) можно записать в матричном виде как
( )
⎡ С L −1 ⎤
L
L
⎢ L −1 ⎥ = R G
⎣D ⎦
( )
−1
СL,
откуда после расщепления по четным и нечетным узлам вытекает утверждение
теоремы 1.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Б.М. Шумилов, Ш.М. Матанов
54
Чтобы улучшить усредняющие свойства представленного метода анализа данных, можно прибегнуть к методу «лифтинга» (подъема) [3], вычитая из каждого
ленивого вейвлета несколько соседних базисных функций. Например, множество
сжатий и сдвигов функций (рис. 2):
6
(2ϕ1 (2t + 1) − ϕ1 (2t ))
2
на левом конце отрезка аппроксимации и
Ψ20 (t ) =
3
(2ϕ1 (2t − 1) − ϕ1 (2t ) − ϕ1 (2t − 2))
2
на остальной части отрезка образует ортонормальный базис вейвлетов в том
смысле, что
Ψ2 (t ) =
∞
1
∫ Ψ 20 ( x)Ψ 2 ( x − k )dx = 0 ∀k > 0,
∫ Ψ 20 ( x)
0
2
dx = 1,
0
∞
l
∫ Ψ 2 ( x − l )Ψ 2 ( x − k )dx = δk ∀l , k.
−∞
Доказательство выполняется непосредственным вычислением [5].
Ψ2 ( t )
Ψ20 ( t )
0
1
а
1
0,5
1
t
0
б
1
2 t
−1
Рис. 2. График функции Ψ2(t) (а); график функции Ψ20(t) (б)
Практически, ортонормальность нужна для того, чтобы по величине коэффициентов вейвлет-разложения можно было судить об их значимости. Незначимые
убираются с целью сжатия информации. При этом получающиеся погрешности
пропорциональны величине отброшенных вейвлет-коэффициентов. Соответствующая матрица восстановления сплайн-коэффициентов CL на густой сетке из
значений коэффициентов CL–1 и DL–1 на прореженной сетке имеет вид
⎡
⎢2
⎢1 1
⎢ 2
⎢
1
1
⎡⎣ P L | Q L ⎤⎦ = ⎢
2⎢
⎢
⎢
⎢
⎢
⎣⎢
2 6
− 6
− 3
2 3
− 3
1
2
1
⎤
⎥
⎥
⎥
⎥
⎥.
⎥
⎥
− 3⎥
2 3⎥
⎥
− 3 ⎦⎥
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Алгоритм с расщеплением вейвлет-преобразования сплайнов первой степени
55
Что касается вычисления вейвлет-коэффициентов, то аналогично теореме 1
доказывается следующая
Теорема 2. Пусть значения сплайн-коэффициентов CiL в нечетных узлах пересчитаны из решения системы линейных уравнений (3).
Тогда значения сплайн-коэффициентов на прореженной сетке ∆L–1 вычисляются по формулам
C0L–1=1/2 C L0 +C L1, CiL–1=1/2 CL2i +CL2i–1+ CL2i+1, i = 1, 2,…, 2L–1,
тогда как вейвлет-коэффициенты равны
D0L −1 =
6⎛1 L
6⎛1 L
L⎞
L −1
L
L ⎞
L −1
⎜ C0 − C1 ⎟ , Di =
⎜ C2i − C2i −1 − C2i +1 ⎟ , i = 1, 2,… , 2 .
6 ⎝2
3 ⎝2
⎠
⎠
Построение вейвлета Ψ2(t) со смещенным носителем [1/2, 5/2] ранее изучалось
в работах [6, 7]. В [7] было отмечено, что данные вейвлеты удобны для решения
проблемы Лапласа по методу граничных интегральных уравнений. А в [8] с целью
ускоренного вычисления элементов матрицы жесткости для них была предложена
кусочно-синусоидальная аппроксимация. Определенным недостатком построенных вейвлетов является то, что они не ортогональны базисным сплайнам на прореженной сетке. Практически, это означает, что при сжатии с заданной погрешностью в вейвлет-разложении будет оставаться больше коэффициентов, чем для полуортогональных вейвлетов.
2. Пример
Рассмотрим в качестве тестовой функции функцию Хартена [9]:
⎧ 1 sin(3πx), x ≤ 1 ,
⎪2
3
⎪
1
f ( x) = ⎨ sin(4πx) ,
< x ≤ 2,
3
3
⎪
⎪− 1 sin(3πx), x > 2 .
⎩ 2
3
Это кусочно-гладкая функция, имеющая разрывы первого рода в точках x=1/3
и 2/3 и угол (разрыв первой производной) в точке x=1/2. Для «ленивых» вейвлетов, начиная с верхнего уровня разрешения L = 5, то есть при числе разбиений
n = 2L = 32, на интервале 0 ≤ x ≤ 1 с длиной шага ∆x = 1/n, находим последовательно при
L = 5: D4,= [–0,2039, 0,1914, –0,2247, 0,1818, –0,2198, 0,1995, –0,9497, 0,809,
–0,8673, 0,809, –0,9497, 0,004389, 0,01591, 0,02207, 0,02079, 0,0125]T;
3
L = 4: D = [1,093, –0,3749, 1,018, 1,709, 1,312, 1,709, 0,07489, 0,09784] T;
L = 3: D2 = [–4,173, 0,7168, –2,086, 0,7168] T;
L = 2: D1 = [3,284, 3,964] T;
L = 1: на последнем шаге остается одно значение сплайна в начале отрезка аппроксимации, C00 = –4,645, и один вейвлет-коэффициент, D00 = 4,645.
На рис. 3, а представлены результаты реконструкции узловых значений
Ci = Ci5, i = 0, 1,…,32, сплайна 1-й степени S5(x) при условии обнуления незначимых вейвлет-коэффициентов D63 и D114, D124, D154. Здесь сплошной линией обозначается исходная функция. Аналогично, для «ортонормальных» вейвлетов находим, при
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Б.М. Шумилов, Ш.М. Матанов
56
L = 5: D4 = [–0,0104, 0,01381, –0,01621, 0,01312, –0,01586, 0,0144, –0,06854,
0,05839, –0,06259, 0,05839, –0,06854, 0,0003168, 0,001148, 0,001592,
0,0015, 0,0009021] T;
3
L = 4: D = [0,05603, –0,0474, 0,07176, 0,1265, 0,00651, 0,1265, 0,007478, 0,009771]T;
L = 3: D2 = [–0,3, 0,1663, –0,339, 0,0927] T;
L = 2: D1 = [0,09721, 0,6154] T;
L = 1: C00 = 0,4922, D00 = 0,1448.
В данном случае удается обнулить 14 незначимых вейвлет-коэффициентов,
что обеспечивает коэффициент сжатия 33/(33−14) ≈ 1,737. Результаты реконструкции узловых значений сплайна представлены на рис. 3, б. Для сравнения на
рис. 3, в представлены соответствующие результаты для полуортогональных
вейвлетов [3]:
L = 5: D4 = [–2,093, –2,081, –2,048, –2,005, –1,967, –1,946, –1,196, –1,056, –0,9973,
–0,939, –0,7984, 0,1469, 0,1266, 0,08864, 0,04579, 0,0125] T;
3
L = 4: D = [1,172, 1,265, 1,43, 0,272, 0,6862, 1,1, 0,2589, 0,09363] T;
L = 3: D2 = [–4, –3,43, –1,783, 0,5703] T;
L = 2: D1 = [2,22·10−16, 0,7071] T;
L = 1: C00= 0, D00 = –4,898·10−16; коэффициент сжатия равняется 33/(33−19)≈ 2,357.
б
1
а
1
0
0
Ci
f (x)
−1
0
0,2
0,4
Ci
f (x)
0,6
0,8
1
−1
0
0,2
0,4
i ,x
32
1
0,6
i ,x
32
0,8
в
0
Ci
f (x)
−1
0
0,2
0,4
0,6
i ,x
32
0,8
1
Рис. 3. Графики вейвлет-реконструкций узловых значений сплайна 1-й степени
1
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Алгоритм с расщеплением вейвлет-преобразования сплайнов первой степени
57
Заключение
Представленные в статье схемы построения сплайн-вейвлетов 1-й степени со
смещенным носителем и получения для них неявных соотношений разложения с
расщеплением по четным и нечетным узлам могут быть распространены и на
сплайны более высокой степени и предоставляют широкие возможности для создания вычислительно-эффективных алгоритмов построения и использования
сплайн-вейвлетов.
ЛИТЕРАТУРА
1. Добеши И. Десять лекций по вейвлетам: пер. с англ. Ижевск: НИЦ «Регулярная и хаотическая динамика», 2001. 32 с.
2. Чуи Ч. Введение в вейвлеты: пер. с англ. М.: Мир, 2001. 412 с.
3. Столниц Э., ДеРоуз Т., Салезин Д. Вейвлеты в компьютерной графике: пер. с англ.
Ижевск: НИЦ «Регулярная и хаотическая динамика», 2002. 272 с.
4. Шумилов Б.М. Алгоритм с расщеплением вейвлет-преобразования эрмитовых кубических сплайнов // Вестник Томского государственного университета. Математика и механика. 2010. № 4(12). С. 45−55.
5. Шумилов Б.М., Эшаров Э.А. Построение эрмитовых сплайн-вейвлетов // Вестник Томского государственного университета. Сер. Математика. Кибернетика. Информатика.
Приложение. 2006. № 19. С. 260−266.
6. Bultheel A. Wavelets with applications in signal and image processing, 2001 – 2006. 176 p.
URL: http://people.cs.kuleuven.be/~adhemar.bultheel/
7. Koro K., Ade K. Non-orthogonal spline wavelets for boundary element analysis // Engineering
Analysis with Boundary Elements. 2001. V. 25. P. 149–164.
8. Geranmayeh A., Moini R., Hesam Sadeghi S.H. On the use of piecewise linear wavelets for
fast construction of sparsified moment matrices in solving the thin-wire EFIE // Engineering
Analysis with Boundary Elements. 2006. V. 30. P. 869–881.
9. Aràndiga F., Baeza A., Donat R. Discrete multiresolution based on hermite interpolation:
computing derivatives // Communications in Nonlinear Science and Numerical Simulation.
2004. V. 9. P. 263–273.
Шумилов Борис Михайлович
Матанов Шерали Маматжанович
Томский государственный университет
E-mail: b_shumilov@math.tsu.ru; sheralimatanov@yahoo.com
Поступила в редакцию 21 февраля 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ
УДК 004.652.8
А.М. Бабанов
СЕМАНТИЧЕСКАЯ МЕТОДИКА ПРОЕКТИРОВАНИЯ БД
И ЕЕ ПЕРСПЕКТИВЫ, ОТКРЫВАЮЩИЕСЯ С ПРИМЕНЕНИЕМ
ERM-МОДЕЛИ ДАННЫХ
В статье обсуждаются преимущества семантической методики проектирования БД, определяются ее этапы и основные факторы, влияющие на успех проектирования. Исходя из анализа факторов, предлагается идеальная схема применения семантической методики и на конкретном примере показывается, что
использование ERM-модели позволяет существенно приблизиться к этому.
Ключевые слова: семантическая методика, проектирование БД, семантическая модель данных, ERM-модель.
Как только появились первые СУБД, люди задумались над проблемой проектирования эффективной схемы для каждого случая применения технологии БД.
Достаточно стройной и конструктивной является классическая методика декомпозиции отношений, предложенная для реляционной модели данных [1 – 4].
Однако трудно не согласиться с мнением многих авторов [3, 4], утверждающих, что практическое ее использование осложняется такими факторами, как:
- нетрадиционный для большинства людей и весьма нетривиальный способ
восприятия и формализации предметной области (ПрО);
- практическая неприменимость для сложных ПрО;
- неоднозначность решения проблемы проектирования, приводящая к прямому
перебору многочисленных вариантов схемы в поисках наиболее подходящего.
Непрекращающиеся поиски решения проблемы проектирования БД привели к
появлению семантических моделей данных, которые обеспечивают высокоуровневое формальное представление ПрО. Они должны были устранить первые два
недостатка классической методики – неестественность представлений для человека и неприменимость для сложных ПрО.
Но, поскольку коммерческие СУБД не собираются поддерживать напрямую
семантические модели данных, необходима трансляция схем БД с языка этих моделей на язык СУБД и в первую очередь – реляционных. Примерно так, практически с первых публикаций по ER-модели [5] стала вырисовываться основная схема
семантической методики проектирования реляционных БД.
1. Этапы семантической методики
О семантической методике можно говорить в узком и широком смысле. Если
рассматривать только те задачи проектирования, которые решает классическая
реляционная методика, то последовательность шагов семантической методики
выглядит следующим образом:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Семантическая методика проектирования БД и ее перспективы
59
- проектирование семантической схемы ПрО с использованием той или иной
семантической модели данных;
- перевод полученной схемы в реляционную модель с применением подходящего набора правил трансформации и получение множества предварительных отношений;
- проверка полученных отношений на удовлетворение требований нормальных
форм и их дальнейшая нормализация методом декомпозиции.
Все семантические методики действуют по одной и той же схеме и отличаются
лишь используемыми моделями и правилами трансляции схем.
Если рассматривать задачу проектирования схемы БД для конкретной СУБД
максимально широко, начиная с первоначальной постановки задачи и заканчивая
полностью готовой схемой, реализованной в этой СУБД, можно говорить о трех
дополнительных этапах:
- предшествующее собственно моделированию данных функциональное моделирование бизнес-процессов предприятия, для информационного обеспечения которых создается БД;
- повышение эффективности полученной логической схемы БД за счет внесения управляемой избыточности (денормализация);
- повышение эффективности схемы БД за счет физического проектирования,
учитывающего особенности хранения данных на диске и методов доступа к ним в
конкретной СУБД.
Ограничение на объем статьи не позволяет осветить должным образом эти вопросы, поэтому в дальнейшем речь пойдет о трех основных этапах методики. Отметим лишь, что передача логической схемы СУБД сопровождается созданием
дополнительных элементов БД, таких, как динамические представления, триггеры, процедуры, функции и так далее.
2. Факторы, влияющие на результат проектирования
Успех применения семантической методики проектирования БД помимо знаний и умений человека определяют два фактора:
- мощность выразительных средств используемой семантической модели,
- детальность анализа семантической схемы БД в применяемых правилах
трансляции.
Выбор неадекватных инструментов может полностью дискредитировать методику. Так, невыразительная ER-модель нотации IDEF1X вынуждает проектировщика еще на этапе анализа семантики ПрО принимать сугубо технические решения (например, сводить бинарное множество связей типа M:N к дополнительным
множеству сущностей и паре множеств связей). Это происходит в силу того, что
эта модель отличается от реляционной модели, по сути, взаимно-однозначным
переименованием понятий: «множество сущностей» – «отношение», «множество
связей» – «ограничение ссылочной целостности», «атрибут множества сущностей» – «атрибут отношения». А это свидетельствует о том, что уровень ее «семантичности» такой же, как и у реляционной модели.
Совмещение двух в принципе различных мыслительных процессов – выявления семантики ПрО и определения схемы БД на весьма абстрактном языке СУБД
– еще полбеды. Хуже то, что принимаемые в ходе этого технические решения
(например, введение дополнительного множества сущностей и бинарных множеств связей вместо множества связей степени больше двух) должны быть по-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
60
А.М. Бабанов
хорошему проанализированы заново на этапе окончательного построения реляционной схемы. В противном случае можно получить не самую эффективную схему
БД.
Что уж говорить о бизнес-правилах, которые потребуют процедурной (а не
декларативной) реализации на языке СУБД. На этапе семантического анализа их в
лучшем случае фиксируют в виде текстовых описаний. Естественно, никакие правила трансляции для таких бизнес-правил не предусматриваются. Дай бог, чтобы
проектировщик не забыл о них на последнем этапе разработки БД и вручную создал необходимые для их проверки триггеры.
Для иллюстрации влияния детальности правил трансляции рассмотрим по одному правилу из трех разных наборов, разработанных для преобразования схемы
из ER-модели Чена в реляционную модель.
1. Для каждого множества сущностей и каждого множества связей создать
собственное отношение.
2. Бинарные множества связей типа 1:1 или 1:M представляются дублированием первичного ключа 1-отношения в M-отношение (1-отношение – это отношение, построенное для представления множества сущностей, возле которого на
ребре роли указана 1. Для M-отношения – соответственно, M) [1].
3. Каждое бинарное множество связей типа 1:1, у которого класс принадлежности обоих сущностей является обязательным, и множества сущностей, в нем
участвующие, заменяются в ER-схеме одним агрегированным множеством сущностей, с которым соединяются все другие множества связей, имевшиеся у двух
исходных множеств сущностей. Вновь образованное множество сущностей порождает одно отношение в реляционной схеме [4].
Посмотрим, какие результаты будут получены с
помощью этих правил для ER-схемы, приведенной
Палата
на рис. 1.
Применение первого правила породит три от1
ношения, по одному на каждое множество. По второму правилу в реляционной схеме будет построено два отношения. Этот прогресс (в смысле качестЕ
Персонал
ва результата) объясняется дополнительным аналипалаты
зом максимальных кардинальных чисел отображений, определяемых множеством связей. И, наконец,
третье правило приведет к одному отношению,
1
наилучшим образом подходящему в нашем случае.
Таким результатом мы обязаны дополнительному
Персонал
рассмотрению минимальных кардинальных чисел
упомянутых отображений. Как видим, детальность
Рис. 1. Пример ER-диаграммы анализа семантической схемы повышает эффек(нотация Чена)
тивность результирующей схемы.
3. Идеальная схема применения семантической методики
Выбор семантической модели и набора правил преобразования схем во многом определяет успех проектирования. Конечно, хорошо, когда семантическая методика реализована в виде программного CASE-средства, но часто лучше провести проектирование на бумаге, используя мощную модель и правила, чем воспользоваться тривиальным автоматизированным помощником.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Семантическая методика проектирования БД и ее перспективы
61
Идеальное применение семантической методики характеризуется следующими
чертами.
1. На этапе первоначальной формализации описаний ПрО в рамках семантической
модели схема данных должна вобрать в себя определения всех основных понятий
ПрО и всех закономерностей взаимоотношений между ними. Для этого используемая
семантическая модель должна быть в состоянии представить любые требования,
предъявляемые к данным. Идеальная семантическая схема ПрО должна содержать ее
полное формальное описание с тем, чтобы все последующие межмодельные преобразования схемы носили чисто синтаксический характер и не требовали повторного
анализа семантики ПрО и работы с текстами на естественном языке.
2. Детальность применяемых в методике правил трансформации схемы должна
быть такой, чтобы не оставить без внимания ни один элемент семантической схемы.
Это в сочетании с доказанной надежностью и эффективностью правил позволит гарантировать идеальную со всех точек зрения СУБД-ориентированную схему.
Если к этому добавить средства автоматизации процесса проектирования в виде соответствующего CASE-инструмента, то получится идеальная реализация семантической методики. Подобная система, с одной стороны, облегчит построение
семантической схемы ПрО, с другой – полностью автоматизирует процесс получения реляционной схемы и ее передачу целевой СУБД.
4. Ручное применение методики на примере ER-модели
Продемонстрируем применение семантической методики человеком без
средств автоматизации. В примере используется классическая ER-модель Чена с
расширением в виде специализаций [2] и средний по детальности анализа набор
правил трансляции схем. В качестве предметной области выбраны родственные
отношения между людьми. На рис. 2 приведена ER-диаграмма этой ПрО в нотации Чена (атрибуты и множества значений опущены).
E
Рождение
E
РодительРебенок
Ребенок
M
Родитель
N
Ребенок
М
Человек
Мать
1
⊂
d
Женщина
d
⊂
Мать
Отец
1
⊃
Мужчина
Жена
1
Муж
1
d
⊃
Брак
Рис. 2. ER-диаграмма родственных отношений (нотация Чена)
Отец
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
62
А.М. Бабанов
Если к этой ER-диаграмме добавить однозначные атрибуты множества сущностей ЧЕЛОВЕК (ФИО CHARACTER(50), ПОЛ CHARACTER(10)), мы получим
исходную ER-схему этой ПрО.
Приведем один из традиционно используемых наборов правил трансформации
схем ПрО из ER-модели Чена в реляционную модель.
1. Каждое множество сущностей представляется самостоятельным отношением, однозначные атрибуты множества сущностей становятся атрибутами отношения, ключи множества сущностей являются возможными ключами отношения;
при необходимости в качестве первичного ключа отношения используется суррогатный атрибут.
Применяя это правило, мы получим первые пять отношений нашей схемы:
ЧЕЛОВЕК (ЧЕЛОВЕК_ID NUMBER(10, 0), ФИО CHARACTER(50), ПОЛ
CHARACTER(10)),
ЖЕНЩИНА (ЖЕНЩИНА_ID NUMBER(10, 0)),
МУЖЧИНА (МУЖЧИНА_ID NUMBER(10, 0)),
МАТЬ (МАТЬ_ID NUMBER(10, 0)),
ОТЕЦ (ОТЕЦ_ID NUMBER(10, 0)).
2. Бинарные множества связей типа 1:1 и 1:M без атрибутов представляются
дублированием первичного ключа 1-отношения в M-отношение.
В соответствии с этим правилом добавлен атрибут МУЖЧИНА_ID в отношение ЖЕНЩИНА: ЖЕНЩИНА (ЖЕНЩИНА_ID NUMBER(10, 0), МУЖЧИНА_ID
NUMBER(10, 0)). Поскольку роли мужчин и женщин в браках абсолютно равноправны, можно было проделать симметричное изменение отношения МУЖЧИНА.
3. Бинарные множества связей типа M:N без атрибутов представляются самостоятельными отношениями, куда дублируются первичные ключи отношений,
построенных для множеств сущностей.
По этому правилу построено отношение РОДИТЕЛЬ-РЕБЕНОК (РОДИТЕЛЬ_ID NUMBER(10, 0), РЕБЕНОК_ID NUMBER(10, 0)).
4. Множества связей с атрибутами представляются самостоятельными отношениями, куда дублируются первичные ключи отношений, построенных для
множеств сущностей. Однозначные атрибуты множества связей становятся атрибутами этого отношения.
В нашей ER-схеме не было множеств связей такого рода.
5. Множества связей степени больше двух представляются самостоятельными
отношениями, куда дублируются первичные ключи отношений, построенных для
множеств сущностей. Однозначные атрибуты множества связей становятся атрибутами этого отношения.
По этому правилу построено отношение РОЖДЕНИЕ (РЕБЕНОК_ID
NUMBER(10, 0), МАТЬ_ID NUMBER(10, 0), ОТЕЦ_ID NUMBER(10, 0)).
6. Каждый многозначный атрибут множества сущностей представляется отдельным отношением, куда дублируется первичный ключ отношения, построенного для множества сущностей; второй атрибут этого отношения предназначен
собственно для значения.
В нашей ER-схеме атрибутов такого рода у множеств сущностей не было.
7. Каждый многозначный атрибут множества связей представляется отдельным отношением, куда дублируется первичный ключ отношения, построенного
для множества связей; второй атрибут этого отношения предназначен собственно
для значения.
В нашей ER-схеме атрибутов такого рода у множеств связей не было.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Семантическая методика проектирования БД и ее перспективы
63
8. Каждая ветвь специализаций трактуется как обычное бинарное множество
связей типа 1:1, которое преобразуется согласно второму правилу.
В соответствии с этим правилом первичные ключи отношений-родителей
сдублированы в дочерние отношения.
В результате применения указанных правил получились следующие отношения реляционной модели:
ЧЕЛОВЕК (ЧЕЛОВЕК_ID NUMBER(10, 0), ФИО CHARACTER(50), ПОЛ
CHARACTER(10)),
ЖЕНЩИНА (ЖЕНЩИНА_ID NUMBER(10, 0) , ЧЕЛОВЕК_ID NUMBER(10, 0),
МУЖЧИНА_ID NUMBER(10, 0)),
МУЖЧИНА (МУЖЧИНА_ID NUMBER(10, 0), ЧЕЛОВЕК_ID NUMBER(10, 0)),
МАТЬ (МАТЬ_ID NUMBER(10, 0), ЖЕНЩИНА_ID NUMBER(10, 0)),
ОТЕЦ (ОТЕЦ_ID NUMBER(10, 0), МУЖЧИНА_ID NUMBER(10, 0)),
РОДИТЕЛЬ-РЕБЕНОК (РОДИТЕЛЬ_ID NUMBER(10, 0), РЕБЕНОК_ID
NUMBER(10, 0)),
РОЖДЕНИЕ (РЕБЕНОК_ID NUMBER(10, 0), МАТЬ_ID NUMBER(10, 0),
ОТЕЦ_ID NUMBER(10, 0)).
5. Автоматизированное применение методики на примере Oracle Designer
В качестве примера автоматизированного применения методики рассмотрим
процесс проектирования реляционной схемы БД для той же ПрО с использованием интегрированной CASE-системы Oracle Designer. Ее ER-диаграммер использует ER-модель в нотации Баркера.
По сравнению с ER-моделью Чена в ней отсутствуют:
- множества связей степени больше двух,
- атрибуты множеств связей,
- многозначные атрибуты,
- атрибутивные отображения в декартово произведение множеств значений.
Давайте проанализируем, какие «технические решения» предстоит предпринимать проектировщику схемы БД, выбравшему в качестве семантической модели ER-модель Баркера.
Если ему необходимо представить множество связей степени n, придется использовать вспомогательное множество сущностей и n бинарных множеств связей.
В случае наличия атрибутов у множества связей универсальным решением является замена этого множества связей множеством сущностей и бинарными множествами связей. Однозначные атрибуты бывшего множества связей станут атрибутами нового множества сущностей.
Многозначные атрибуты множеств сущностей и множеств связей потребуют
создания для каждого такого атрибута самостоятельного множества сущностей с
атрибутом для значений и бинарного множества связей типа 1:M между множеством – владельцем многозначного атрибута и новым множеством сущностей. Очевидно, что в таком случае множество связей – владельца многозначного атрибута
– необходимо превратить во множество сущностей.
В случае наличия атрибутивных отображений в декартово произведение множеств значений их надо представлять или элементарными атрибутами, или атрибутами-агрегатами, или и тем, и другим одновременно.
На рис. 3 приведена ER-схема нашей ПрО в нотации Oracle Designer, полученная из исходной ER-схемы в нотации Чена.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
64
А.М. Бабанов
Рис. 3. ER-диаграмма родственных отношений (нотация Oracle Designer)
Далее Oracle Designer позволяет автоматически получить из этой схемы реляционную схему, приведенную на рис. 4.
Как видим, полученный результат ничем не отличается от предыдущего.
Рис. 4. Диаграмма реляционной схемы родственных отношений (нотация Oracle Designer)
6. ERM-модель
Целью научных исследований автора является совершенствование семантической методики проектирования схем БД. Результатом этих исследований является
модель «Сущность – Связь – Отображение» (раннее название – «Объект – Отображение») [6], которая продолжает развитие ER-модели в сторону более детального
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Семантическая методика проектирования БД и ее перспективы
65
описания закономерностей ПрО. При этом сохраняются основные, практически
востребованные конструкции, а также вводятся новые, не менее полезные элементы, существенно повышающие выразительные возможности модели. Англоязычное название модели – Entity-Relationship-Mapping Model или ERM-model.
Кратко перечислим нововведения.
1. Явно введено понятие «класс» как обобщение понятий «множество сущностей», «множество связей» и «множество значений». Именно классы образуют
области определения и области значений отображений.
2. Специализации и категоризации подняты на уровень класса, что позволяет
рассматривать иерархии обобщения не только множеств сущностей, но также и
множеств связей, и множеств значений.
3. Введено понятие «отображение». Определение каждого отображения включает помимо прочего указание ролей образов и прообразов, а также классов, объекты которых играют эти роли.
4. Выделены частные случаи отображений – атрибутивные и реляционные
отображения. Первые полностью соответствуют аналогам в модели Чена. Вторые
определяются множествами связей, и в качестве образов и прообразов в них выступают сущности.
5. Между отображениями вводятся отношения следствия и эквивалентности.
6. Определена алгебра отображений – набор операций, задаваемых на множестве отображений. Каждая операция имеет одно или два отображения на входе и
продуцирует одно отображение на выходе.
7. Для специализаций введено понятие основания деления. В качестве такового выступают отображения.
Рождение
M
M
1
Е
Мать
Е
Отец
Е
Ребенок
1
M
Мать
1
Человек
Отец
Родитель
||
||
Женщина
Мужчина
Муж
1
Жена
1
Брак
Рис. 5. ERM-диаграмма родственных отношений
(расширенная графическая нотация)
||
N
Е
Ребенок
М
РодительРебенок
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
66
А.М. Бабанов
Ключевым моментом, повлекшим за собой возможности более глубокого анализа ПрО, является дальнейшая декомпозиция понятия «множество связей» (в ERмодели при этом рассматриваются только роли сущностей) и выделение так называемых семантически значимых отображений. Каждое множество связей степени
n определяет 2n − 2 отображений между множествами сущностей.
На рис. 5 приведена ERM-схема ПрО родственных отношений.
Методика трансляции ERM-схем в реляционную схему для рассматриваемого
примера приводит к схеме с одним единственным отношением ЧЕЛОВЕК
(ЧЕЛОВЕК_ID, ФИО, ПОЛ, ОТЕЦ_ID, МАТЬ_ID, СУПРУГ_ID) и следующими
ограничениями целостности (нотация SQL):
ЧЕЛОВЕК_ID
NUMBER(10,0)
NOT NULL,
ФИО
CHARACTER(50)
NOT NULL,
ПОЛ
CHARACTER(10)
NOT NULL,
ОТЕЦ_ID
NUMBER(10,0)
NOT NULL,
МАТЬ_ID
NUMBER(10,0)
NOT NULL,
СУПРУГ_ID
NUMBER(10,0)
NULL,
PRIMARY KEY (ЧЕЛОВЕК_ID),
UNIQUE (СУПРУГ_ID),
FOREIGN KEY (ОТЕЦ_ID) REFERENCES ЧЕЛОВЕК (ЧЕЛОВЕК_ID),
FOREIGN KEY (МАТЬ_ID) REFERENCES ЧЕЛОВЕК (ЧЕЛОВЕК_ID),
FOREIGN KEY (СУПРУГ_ID) REFERENCES ЧЕЛОВЕК (ЧЕЛОВЕК_ID).
Заключение
Применение ERM-модели в сочетании с детально проработанными правилами
трансляции схем позволит приблизить семантическую методику проектирования
БД к намеченному идеалу. А ее воплощение в CASE-инструменте сведет задачу
проектирования к построению ERM-схемы и применению средств автоматического преобразования.
Причем в результирующей схеме будут представлены помимо прочего процедурные реализации (в виде триггеров) ограничений целостности, выходящих за
рамки возможностей декларативных средств реляционной модели, а также определения динамических представлений для виртуальных отношений, соответствующих избыточным данным с точки зрения теории проектирования реляционных БД, но представляющих интерес с точки зрения пользователей.
ЛИТЕРАТУРА
1. Дейт К. Введение в системы баз данных. 7-е изд.: пер. с англ. М.: Вильямс, 2001. 1072 с.
2. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика: пер. с англ. М.: Вильямс, 2000. 1120 с.
3. Цикритзис Д., Лоховски Ф. Модели данных: пер. с англ. М.: Финансы и статистика,
1985. 344 с.
4. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ:
пер. с англ. М.: Мир, 1991. 252 с.
5. Чен П. Модель «сущность – связь» – шаг к единому представлению о данных // СУБД.
1995. № 3. С. 137−158.
6. Бабанов А.М. Семантическая модель «Сущность – Связь – Отображение» // Вестник
Томского государственного университета. Управление, вычислительная техника и информатика. 2007. № 1. С. 77–91.
Бабанов Алексей Михайлович
Томский государственный университет
E-mail: babanov2000@mail2000.ru
Поступила в редакцию 3 марта 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
УДК 004.627: 004.932.2
Д.В. Дружинин
КОМБИНИРОВАННЫЙ АЛГОРИТМ СЖАТИЯ КЛЮЧЕВЫХ КАДРОВ
ЭКРАННОГО ВИДЕО
Представлен комбинированный алгоритм сжатия, разработанный для изображений, являющихся кадрами экранного видео. Приведены результаты
практического сравнения с алгоритмами семейства LZO (Lempel – Ziv –
Oberhumer).
Ключевые слова: экранное видео, сжатие изображений, быстрые алгоритмы сжатия.
Экранное видео – видео происходящего на экране пользователя. При этом
фиксируется активность пользователя: движения курсора мыши, скроллинг, сворачивание и открытие свёрнутого окна, перемещение окна, ввод текста и т. д.
Сжатие видео – одна из наиболее трудоёмких по времени задач, которые приходится решать не только профессионалам, но и рядовым пользователям. Одним
из типов видеоданных, сжатие которых необходимо осуществлять в режиме реального времени, является экранное видео. Как правило, это видео высокого разрешения. Причём зачастую о полезности программ, осуществляющих сжатие и
запись на жёсткий диск этого типа видеоданных, можно говорить только в том
случае, когда их можно запустить в фоновом режиме.
Поскольку при сжатии видео ключевые кадры кодируются независимо от других кадров, существует необходимость в быстрых алгоритмах сжатия изображений. В соответствии с классификацией изображений, приведённой в [1], кадры
экранного видео относятся к дискретно-тоновым изображениям. Для сжатия таких изображений, как правило, используются алгоритмы без потерь информации,
так как при сжатии дискретно-тоновых изображений даже небольшой процент
потерь может привести к значительному визуальному ухудшению качества изображения. Например, искажение всего нескольких пикселей буквы делает её неразборчивой, преобразует привычное начертание в практически неразличимое [1,
с. 120]. К таким алгоритмам можно отнести RLE (Run-length encoding) и семейство алгоритмов LZ (Lempel – Ziv). Для сжатия экранного видео в режиме реального времени зачастую используется алгоритм LZO [2]. Например, LZO используется в свободном ПО (программном обеспечении) для сжатия экранного видео
CamStudio [3].
В этой работе представлена вторая версия гибридного алгоритма, предназначенного для сжатия дискретно-тоновых изображений. Гибридный алгоритм первой версии был также разработан автором. Ранние модификации гибридного алгоритма подробно рассмотрены в [4, 5]. В этих работах также проводится практическое сравнение гибридного алгоритма с некоторыми другими алгоритмами сжатия. Вторая версия алгоритма отличается увеличенной скоростью работы и повышенной степенью сжатия. Далее в тексте при упоминании о гибридном алгоритме речь идёт именно о второй версии.
Также в работе представлен комбинированный алгоритм сжатия на основе
гибридного алгоритма, который на финальном этапе сжатия использует LZO. Как
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Д.В. Дружинин
68
показано в разд. 3 «Результаты тестирования», такой комбинированный алгоритм
позволяет значительно увеличить степень сжатия по сравнению с алгоритмами
семейства LZO, способными сжимать экранное видео в режиме реального времени на широком спектре компьютеров пользователей.
1. Схема комбинированного алгоритма сжатия
Исходные данные
Был предложен следующий комбинированный алгоритм сжатия:
На первом этапе исходное изображение обрабатывается гибридным алгоритмом версии 2. На выходе получается 3 массива:
1. Массив флагов. В этом массиве избыточность данных минимальна, поэтому
флаги записываются в выходной поток без дополнительного сжатия.
и
Гибридный
алгоритм
версии 2
Пи кс
е ли
и зоб оста точ
н
раж
ен ия о го
Предобработка
(вычисление
разностей)
ые
нн
да
Данные после
предобработки
ые
ат
Сж
Массив флагов
Алгоритм
Хаффмана
в
иго
с дв тв
в
и
с
сс
че
Ма коли
Результирующие данные
Сжатые
данные
LZO
Рис. 1. Схема комбинированного алгоритма, разработанного для сжатия
ключевых кадров экранного видео
2. Массив байтов сдвигов и количеств. В этом массиве также содержатся различные служебные данные (кроме флагов), используемые гибридным алгоритмом. Все данные, попадающие в этот массив, имеют однобайтовую природу. Данные в этом массиве имеют большую избыточность, по сравнению с массивом
флагов. Действительно, для кадра экранного видео оказывается, что различные
значения таких параметров, как количество подряд идущих пикселей одного цвета, а также расстояние до ближайшего встреченного пикселя такого же цвета, не
являются равновероятными. То есть такие данные имеют статистическую избыточность. Поэтому для дополнительного сжатия этих данных можно использовать
один из статистических методов сжатия. Было принято решение использовать ал-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинированный алгоритм сжатия ключевых кадров экранного видео
69
горитм Хаффмана, так как кодирование метода Хаффмана работает достаточно
быстро для осуществления сжатия в режиме реального времени.
3. Массив пикселей. Будем называть этот массив остаточным изображением.
Это те пиксели исходного изображения, которые не были заменены в ходе кодирования гибридным алгоритмом некоторыми служебными данными. Как правило,
статистическая избыточность в этом массиве невысока (например, алгоритм
Хаффмана обычно способен сжать остаточное изображение всего на 1 – 3 %). Зато в этих данных присутствует некоторая пространственная избыточность. Часто
в остаточном изображении можно увидеть группы подряд идущих пикселей по
вертикали или горизонтали близких цветов. Такой тип пространственной избыточности характерен для остаточного изображения, так как гибридный алгоритм
не может его устранить.
Было принято решение провести следующую предобработку: новое значение
для каждой компоненты пикселя, начиная со второго, вычисляется как разность с
соответствующей компонентой предыдущего пикселя:
с_coded[i] = (с[i] – c[i−1]) % 256; (язык Си++).
После этой предобработки вместо различных последовательностей пикселей
близкого цвета появляются значения, близкие к нулю. И только первый пиксель в
группе пикселей близкого цвета после такой предобработки получает значение,
далёкое от нуля.
Затем применяется алгоритм LZO, который обеспечивает дополнительное
сжатие при минимальных временных затратах. Было принято решение использовать алгоритм LZO_X_999 с уровнем сжатия 6 как обеспечивающий максимальное сжатие при допустимых затратах времени. Как будет показано в разд. 3 «Результаты тестирования» степень сжатия предложенной схемы сжатия не ниже, а
для некоторых типов изображений значительно выше, чем у LZO_X_999 с уровнем сжатия 6.
2. Гибридный алгоритм второй версии
Гибридный алгоритм является органическим соединением двух алгоритмов:
RLE и сдвигового. Рассмотрим вначале каждый из этих алгоритмов в отдельности.
2.1. R L E
В качестве составной части гибридного алгоритма используется специально
разработанная реализация RLE, адаптированная для сжатия экранного видео. Канонический алгоритм RLE способен выявлять только горизонтальную или вертикальную избыточность (в зависимости от способа обхода пикселей изображения)
[6, с. 289]. В состав гибридного алгоритма входит реализация RLE, способная выявлять как горизонтальную, так и вертикальную избыточность.
Вспомогательные структуры данных. При кодировании и декодировании используется массив флагов, где один флаг соответствует одному пикселю исходного изображения. Если этот флаг равен 0, соответствующий ему пиксель ещё не
был закодирован, иначе – данный пиксель уже закодирован. Уже закодированные
пиксели пропускаются при кодировании.
На каждом шаге алгоритма происходит подсчёт количества подряд идущих
одинаковых пикселей в трёх направлениях: вправо от текущего пикселя, вниз от
текущего пикселя, а также в прямоугольнике, левым верхним углом которого яв-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
70
Д.В. Дружинин
ляется текущий пиксель. Затем для кодирования выбирается то направление, в котором было найдено максимальное количество одинаковых пикселей. Для большинства типов изображений, например для непрерывно-тоновых, не имеет смысла вводить такое направление поиска, как прямоугольник с текущим пикселем в
качестве левого верхнего угла. Но в случае кадров экранного видео использование
такой области поиска оправдано, так как часто встречаются именно прямоугольные области одного цвета.
Обход пикселей изображения выполняется построчно сверху вниз, но если на
данном шаге выбрана вертикальная либо прямоугольная группа пикселей, то устанавливаются соответствующие флаги в массиве флагов, после этого происходит
возврат на исходную строку. При этом возможна следующая ситуация: пиксель
p[i] уже был закодирован ранее, попав в вертикальную или прямоугольную группу пикселей одинакового цвета. Пусть текущий пиксель – это p[i−1]. Допустим
также, что пиксель p[i+1] имеет такой же цвет, как p[i−1]. В этом случае p[i−1] и
p[i+1] могут быть закодированы, как горизонтальная группа пикселей.
Рассмотрим способ выбора флагов, записываемых в выходной массив:
1. В случае одиночного пикселя в массив флагов записывается один бит, равный 0.
2. В случае выбора прямоугольной области в массив флагов записывается последовательность битов 11.
3. В случае выбора горизонтальной области в массив флагов записывается последовательность битов 100.
4. В случае выбора вертикальной области в массив флагов записывается последовательность битов 101.
Самый короткий однобитовый флаг соответствует одиночному пикселю, так
как тестирование показало, что при кодировании кадров экранного видео частота,
с которой встречается одиночный пиксель, значительно превышает сумму частот
всех остальных случаев. Частота, с которой встречается прямоугольная область,
оказалась несколько выше частот встречаемости горизонтальной и вертикальной
областей, поэтому для прямоугольной области была выбрана более короткая последовательность флагов.
Используется следующий формат закодированных данных.
В первом случае: <Последовательность флаговых битов> <цвет пикселя>.
Во втором случае: <Последовательность флаговых битов> <цвет пикселя>
<количество пикселей по горизонтали> <количество пикселей по вертикали>.
В третьем и четвёртом случаях: <Последовательность флаговых битов>
<цвет пикселя> <количество пикселей>.
При этом под количество пикселей отводится 2 байта во втором случае; 1 байт
в третьем и четвёртом случаях.
Коэффициент сжатия в наихудшем случае: 25 / 24.
Коэффициент сжатия в наилучшем случае: 42 / (256 · 256 · 24).
Преимущества:
1. У такой реализации RLE повышена способность выявлять пространственную избыточность по сравнению с канонической реализацией.
Но при этом сохраняется главный недостаток канонического алгоритма RLE
при сжатии экранного видео:
1. Если при построчном обходе пикселей изображения часто чередуются цвета, причём даже в том случае, когда набор цветов ограничен (например, текст),
эффективность сжатия резко падает.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинированный алгоритм сжатия ключевых кадров экранного видео
71
2.2. С д в и г о в ы й а л г о р и т м
Идея алгоритма: если при построчном обходе пикселей изображения незадолго до текущего пикселя встречался пиксель такого же цвета, то 3 байта, кодирующие цвет пикселя, можно заменить на 1-байтовую ссылку на пиксель с таким
же цветом, а точнее – указать, на сколько пикселей нужно сдвинуться назад относительно текущего пикселя остаточного изображения, чтобы получить нужный
цвет. Таким образом, может быть выстроено множество списков. Обход пикселей
изображения выполняется построчно сверху вниз.
Вспомогательные структуры данных. Для ускорения работы алгоритма, как
при кодировании, так и при декодировании используется хэш-таблица. При кодировании ключом хэш-таблицы является цвет, а значением – номер пикселя в остаточном изображении последнего просмотренного пикселя с таким цветом. При
декодировании ключом хэш-таблицы является номер последнего просмотренного
пикселя с таким цветом в остаточном изображении, а значением – цвет.
В случае, когда цвет встретился впервые или количество пикселей в остаточном изображении до предыдущего пикселя с таким же цветом превышает 28 –
1, используется следующий формат: <0 (один бит)> <цвет пикселя>. Иначе используется формат: <1 (один бит)> <ссылка>.
Коэффициент сжатия в наихудшем случае: 25 / 24.
Коэффициент сжатия в наилучшем случае: 9 / 24.
Преимущества:
1) получаемый при кодировании формат хорошо поддаётся дальнейшему
кодированию другими алгоритмами.
Недостатки:
1) даже в наилучшем случае степень сжатия невелика;
2) алгоритм медленно работает из-за обращения на чтение, а затем на запись к дополнительным структурам данных для каждого пикселя.
2.3. Г и б р и д н ы й а л г о р и т м
На каждом шаге алгоритма кодирование выполняется в 2 стадии:
1. Выполняется часть алгоритма, основанная на сдвиговом алгоритме, то есть
определяется, можно ли заменить 3 байта цвета пикселя на 1 байт ссылки.
2. Выполняется часть алгоритма, основанная на RLE. На этой стадии определяется, можно ли выявить группу пикселей одного цвета. Не будем перечислять
варианты результирующего формата, так как это все возможные комбинации результирующих форматов RLE и сдвигового алгоритмов.
При этом используются вспомогательные структуры данных сдвигового алгоритма и RLE, рассмотренные выше.
Коэффициент сжатия в наихудшем случае: 26 / 24.
Коэффициент сжатия в наилучшем случае: 27 / (256 · 256 · 24).
Гибридный алгоритм обладает всеми преимуществами RLE. При его использовании достигается дополнительное сжатие за счёт применения идей сдвигового
алгоритма. Гибридный алгоритм не наследует недостатки сдвигового алгоритма.
Недостаток (1) устраняется за счёт сжатия алгоритмом RLE. А недостаток (2)
присутствует в значительно меньшей степени, так как обращение к дополнительным структурам данных происходит не для каждого пикселя, а для каждой группы, то есть примерно в 40 раз реже при сжатии изображения, типичного для
Windows XP и примерно в 86 раз реже при сжатии изображения, значительную
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
72
Д.В. Дружинин
часть которого занимает текст (эти цифры получены опытным путём). За счёт
применения идей сдвигового алгоритма также устранён недостаток алгоритма
RLE – в случае частого чередования цветов при построчном обходе пикселей изображения в условиях ограниченного количества этих цветов степень сжатия значительно выше, чем при сжатии RLE [4].
Стоит отметить, что гибридный алгоритм плохо поддаётся распараллеливанию, так как в случае независимой обработки различных частей исходного изображения разными потоками будет утеряна информация о связях между этими
частями, вследствие чего степень сжатия снизится.
3. Результаты тестирования
Были протестированы следующие алгоритмы: LZO_X_1, LZO_X_999 с уровнем сжатия 1, 4, 6, 9; гибридный алгоритм второй версии, представленный комбинированный алгоритм, использующий LZO_X_999 с уровнем сжатия 6. Также в
тестировании принимала участие реализация алгоритма, соответствующего стандарту Deflate [6, с. 95], от Microsoft. Соответствующий класс реализован в .NET
framework 2.0. Для алгоритмов семейства LZO приведены также время финального сжатия алгоритмом Хаффмана, а также размер закодированного изображения
после финального сжатия.
При тестировании каждое изображение имело разрешение 1024×768 и глубину
цвета в 32 бита. Таким образом, размер исходного изображения составляет
1024·768·4 байтов. Тестирование проводилось на платформе со следующими характеристиками: процессор Intel Core 2 Duo E6750 2,66 ГГц; оперативная память
DDR2 2Гб; операционная система Windows XP. На момент написания данной работы тестовая платформа находится в среднем сегменте по производительности.
Замечание 1: для гибридного алгоритма второй версии данные о размере сжатых данных и времени сжатия приведены с учётом финальной обработки методом
Хаффмана, так как гибридный алгоритм был изначально спроектирован для использования совместно с методом Хаффмана.
Для тестирования использовались скриншоты трёх типов:
1. Изображения, типичные для Windows XP (10 штук);
2. Изображения, значительную часть которых занимает текст (8 штук);
3. Изображения, содержащие графики, диаграммы (10 штук);
Эти скриншоты доступны по ссылке [7]. Рис. 2 – 4 представляют собой
уменьшенные копии некоторых тестовых изображений, сохранённые в градациях
серого цвета.
По результатам тестирования, представленным в табл. 1 – 3, видно, что финальное сжатие методом Хаффмана позволяет значительно увеличить коэффициент сжатия алгоритмов семейства LZO при сравнительно небольших затратах
времени (порядка 7 – 10 мс на кодирование и столько же на декодирование).
Алгоритм, соответствующий стандарту Deflate и LZO_X_1, продемонстрировал
наихудшие результаты на большинстве тестов. Из серии алгоритмов LZO наибольший коэффициент сжатия имеет LZO_X_999 с уровнем сжатия 9. Но этот алгоритм выполняется слишком долго для его запуска в режиме реального времени
на значительной части компьютеров, используемых пользователями. При тестировании было установлено, что из алгоритмов серии LZO максимальная степень
сжатия, при условии возможности запуска алгоритма в режиме реального времени
на подавляющей части компьютеров, используемых пользователями, достигается
при использовании LZO_X_999 с уровнем сжатия 6.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинированный алгоритм сжатия ключевых кадров экранного видео
Рис. 2. Уменьшенная копия изображения WinXP_0.bmp
Рис. 3. Уменьшенная копия изображения text_4.bmp
73
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Д.В. Дружинин
74
Рис. 4. Уменьшенная копия изображения diagram_0.bmp
Сам по себе гибридный алгоритм демонстрирует меньшую степень сжатия по
сравнению со схемой сжатия на его основе. Рассмотрим более подробно результаты тестирования комбинированного алгоритма, использующего LZO_X_999 с
уровнем сжатия 6, и LZO_X_999 с уровнем сжатия 9 (с использованием финального сжатия методом Хаффмана).
Таблица 1
Усреднённые данные о сжатии изображений, типичных для Windows XP
Алгоритм / Параметр
1. LZO_X_999, уровень 1
2. LZO_X_999, уровень 4
3. LZO_X_999, уровень 6
4. LZO_X_999, уровень 9
5. LZO_X_1
6. Гибридный алгоритм v. 2
7. Комбинированный алгоритм, использующий LZO_X_999, уровень 6
8. Комбинированный алгоритм, использующий LZO_X_999, уровень 9
9. Deflate
Время
кодирования /
декодирования
(мс)
56 / 11
56, 6 / 10
67,7 / 9
370,6 / 8,8
11,2 / 11,7
54,2 / 33,5
Размер
после основного
сжатия
147886,6
129921,8
120198,5
113822,4
159182,3
117388
58,1 / 24,6
91029,1
64,1 / 23,1
90679
48,6 / 12
157206,5
Размер
после сжатия
алгоритмом
Хаффмана
124405
112427,4
106388,6
101859,9
142159
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинированный алгоритм сжатия ключевых кадров экранного видео
75
Таблица 2
Усреднённые данные о сжатии изображений,
значительную часть которых занимает текст
Алгоритм / Параметр
1. LZO_X_999, уровень 1
2. LZO_X_999, уровень 4
3. LZO_X_999, уровень 6
4. LZO_X_999, уровень 9
5. LZO_X_1
6. Гибридный алгоритм V. 2
7. Комбинированный алгоритм, использующий LZO_X_999, уровень 6
8. Комбинированный алгоритм, использующий LZO_X_999, уровень 9
9. Deflate
Время кодирова- Размер после Размер после
ния / декодироваосновного сжатия алгоритния (мс)
сжатия
мом Хаффмана
56,1 / 10,9
164025,4
118184,1
57,4 / 9,6
133731,6
102429,1
72,6 / 8,5
110345,4
91106,8
880 / 7,8
94430,6
81288,4
11,8 / 11
176658,4
138447,3
62,4 / 33
98180,3
62,5 / 26,7
89682,6
65 / 26,8
89578
50,6 / 10,9
126848,4
Таблица 3
Усреднённые данные о сжатии изображений,
содержащих графики и диаграммы
Алгоритм / Параметр
1. LZO_X_999, уровень 1
2. LZO_X_999, уровень 4
3. LZO_X_999, уровень 6
4. LZO_X_999, уровень 9
5. LZO_X_1
6. Гибридный алгоритм V. 2
7. Комбинированный алгоритм, использующий LZO_X_999, уровень 6
8. Комбинированный алгоритм, использующий LZO_X_999, уровень 9
9. Deflate
Время кодирова- Размер после Размер после
ния / декодироваосновного сжатия алгоритния (мс)
сжатия
мом Хаффмана
53,9 / 9,1
124239,5
106542,4
55,4 / 8,7
113404,2
98963,6
65,4 / 8,6
107833,9
95126,4
293,5 / 7,6
103002,1
91764,1
10,1 / 10,3
136494,8
124248,7
60,2 / 32
112324,1
62,5 / 27,6
94742,1
68,2 / 26,6
94522,5
47,1 / 10,9
145175,6
По данным, представленным в табл. 4, видно, что комбинированный алгоритм
имеет превосходство по степени сжатия на всех изображениях, типичных для
Windows XP (в среднем на 17 %). На изображениях, значительную часть которых
занимает текст, оба алгоритма демонстрируют близкие результаты (в среднем
различие около 1,5 %), что подтверждается критерием знаков и критерием Вилкоксона [8]. Так, количество типичных и нетипичных сдвигов равны. А суммы
рангов в соответствии с критерием Вилкоксона в типичном и нетипичном направлении равны соответственно 30 и 25 (очень близки). На изображениях, содержащих графики и диаграммы, оба алгоритма также демонстрируют близкие результаты (в среднем различие менее чем на 1 %). Количество сдвигов в типичном направлениях 4,5, в нетипичном направлении – 3,5. Сумма рангов в соответствии
с критерием Вилкоксона в типичном направлении равна 22, в нетипичном случае
– 14.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Д.В. Дружинин
76
Таблица 4
Данные о размере закодированного файла (в байтах) для 28 тестовых изображений
Название
исходного
файла
WinXP_0.bmp
WinXP_1.bmp
WinXP_2.bmp
WinXP_3.bmp
WinXP_4.bmp
WinXP_5.bmp
WinXP_6.bmp
WinXP_7.bmp
WinXP_8.bmp
WinXP_9.bmp
text_0.bmp
text_1.bmp
text_2.bmp
text_3.bmp
Комбинированный
алгоритм
113975
82631
52561
74150
156418
109818
75795
78706
76326
89911
102958
106795
63057
98198
LZO_X_999
уровень 6
128252
96198
60342
81067
180901
136935
94816
84810
93963
106602
101112
109794
69093
98203
Название
исходного
файла
diagram_0.bmp
diagram_1.bmp
diagram_2.bmp
diagram_3.bmp
diagram_4.bmp
diagram_5.bmp
diagram_6.bmp
diagram_7.bmp
diagram_8.bmp
diagram_9.bmp
text_4.bmp
text_5.bmp
text_6.bmp
text_7.bmp
Комбинированный
алгоритм
94224
103741
106732
87839
106887
90874
153883
79009
66592
57640
84089
85699
91144
85521
LZO_X_999
уровень 9
94236
101878
98256
91097
106721
87176
159781
77775
70697
63647
79868
96272
88090
86422
Замечание: для критерия знаков и критерия Вилкоксона в качестве типичного
направления сдвига был выбран случай, когда степень сжатия комбинированного
алгоритма выше.
Заключение
Представленный в данной работе комбинированный алгоритм, основанный на
гибридном алгоритме и LZO, подтвердил свою эффективность при тестировании.
Такой комбинированный алгоритм позволяет увеличить степень сжатия изображений, типичных для Windows XP, в среднем на 17 % по сравнению с лучшими
по степени сжатия представителями семейства алгоритмов LZO, способными
сжимать экранное видео в режиме реального времени на широком спектре компьютеров пользователей (LZO_X_999 с уровнем сжатия 6). При этом комбинированный алгоритм и LZO_X_999 с уровнем сжатия 6 обеспечивают близкие степени сжатия изображений, содержащих текст, диаграммы или графики. Поэтому
представленный комбинированный алгоритм может быть использован на практике для сжатия кадров экранного видео.
На данный момент комбинированный алгоритм встроен в кодек для обработки
экранного видео Butterfly Screen Video Codec, ориентированный на минимизацию
использования процессорного времени при сохранении высокой степени сжатия.
Представленный комбинированный алгоритм используется не только при сжатии
ключевых кадров, но и при сжатии изменившихся частей промежуточных кадров.
Поэтому разработка представленного в данной работе комбинированного алгоритм является очередным шагом в оптимизации по уровню использования системных ресурсов и степени сжатия кодека Butterfly Screen Video Codec.
ЛИТЕРАТУРА
1. Сэломон Д. Сжатие данных, изображений и звука. М.: Техносфера, 2006. 365 с. (Мир
программирования).
2. LZO. [Электронный ресурс]. URL: http://www.oberhumer.com/opensource/lzo (дата обращения 19.02.2011)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинированный алгоритм сжатия ключевых кадров экранного видео
77
3. Camstudio. [Электронный ресурс]. URL: http://camstudio.org (дата обращения 19.02.2011)
4. Дружинин Д. В. Гибридный алгоритм сжатия изображения. Сравнение алгоритмов сжатия изображений. // Информационные технологии и математическое моделирование:
Материалы VI Международной научно-практической конференции. Томск, 2007. Т. 2.
С. 70−73.
5. Дружинин Д.В. Модификации гибридного алгоритма сжатия изображений // IV Научнопрактическая конференция «Обратные задачи и информационные технологии рационального природопользования». Ханты-Мансийск, 2008. С. 218−222.
6. Ватолин Д. Методы сжатия данных. Устройство архиваторов, сжатие изображений и
видео. М.: Диалог-МИФИ, 2003. 384 с.
7. Скриншоты. [Электронный ресурс] / Д.В. Дружинин. URL: http://narod.ru/disk/1502175
1001/ screenshots.zip.html (дата обращения 19.02.2011).
8. Большев Л.Н., Смирнов Н.В. Таблицы математической статистики. М.: Наука, 1983.
416 с.
Дружинин Денис Вячеславович
Томский государственный университет,
E-mail: dendru@rambler.ru
Поступила в редакцию 8 июня 2010 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
УДК 004.272
М.Г. Курносов, А.А. Пазников
ИНСТРУМЕНТАРИЙ ДЕЦЕНТРАЛИЗОВАННОГО ОБСЛУЖИВАНИЯ
ПОТОКОВ ПАРАЛЛЕЛЬНЫХ MPI-ЗАДАЧ
В ПРОСТРАНСТВЕННО-РАСПРЕДЕЛЕННЫХ
МУЛЬТИКЛАСТЕРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ1
Рассматриваются децентрализованные алгоритмы и программы обслуживания потоков параллельных задач в пространственно-распределенных вычислительных системах (ВС). Описывается функциональная структура разработанного программного пакета GBroker децентрализованной диспетчеризации параллельных MPI-программ в пространственно-распределенных мультикластерных ВС. Приводятся результаты моделирования алгоритмов и
оценка их эффективности при реализации на мультикластерных ВС.
Ключевые слова: диспетчеризация параллельных программ, пространственно-распределенные вычислительные системы, GRID-системы.
При решении сложных задач науки и техники широкое применение получили
пространственно-распределенные вычислительные системы (ВС) – макроколлективы рассредоточенных вычислительных средств (подсистем), взаимодействующих
между собой через локальные и глобальные сети связи (включая сеть Internet) [1, 2].
К таким системам относятся GRID-системы и мультикластерные ВС.
К значимым проблемам организации функционирования пространственнораспределенных ВС относится диспетчеризация параллельных программ. Для каждой программы, из поступивших в ВС, требуется определить ресурсы (подсистемы)
для ее выполнения. В средствах диспетчеризации необходимо учитывать возможность изменения состава и загрузки распределенной ВС с течением времени.
Централизованные средства диспетчеризации программ имеют существенный
недостаток: отказ управляющего узла ВС может привести к неработоспособности
всей системы. Кроме того, в случае применения таких средств в большемасштабных ВС возрастают временные затраты на поиск требуемых ресурсов. Поэтому
актуальной является задача разработки децентрализованных моделей, алгоритмов
и программного обеспечения для диспетчеризации параллельных задач в распределенных ВС.
При децентрализованной диспетчеризации в вычислительной системе должен
функционировать коллектив диспетчеров, осуществляющий выбор необходимых
ресурсов для реализации программ. Это позволяет достичь и живучести большемасштабных ВС, то есть способности систем продолжать работу при отказах отдельных компонентов и подсистем.
Существует несколько пакетов централизованной диспетчеризации параллельных программ в пространственно-распределенных системах: GridWay,
Common Scheduler Framework (CSF), Nimrod/G, Condor-G, GrADS, AppLeS,
1
Работа выполнена в рамках интеграционного проекта № 113 СО РАН, при поддержке РФФИ (гранты
№ 09-07-13534, 09-07-90403, 08-07-00022, 10-07-05005, 08-07-00018), Совета по грантам Президента
РФ для поддержки ведущих научных школ (грант НШ-5176.2010.9) и в рамках государственного контракта № 02.740.11.0006 с Минобрнауки РФ.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Инструментарий децентрализованного обслуживания потоков параллельных MPI-задач
79
DIRAC, WMS и др. В пакете GridWay [3, 4] преследуется цель минимизации времени обслуживания задач, при этом учитывается время решения задачи и её пребывания в очереди; реализован механизм миграции задач между подсистемами.
Среда CSF [5] предоставляет средства резервирования ресурсов на основе алгоритма Round-Robin и алгоритмов, созданных пользователем. В основе Nimrod/G
[6] лежит экономическая модель, целью которой является поиск равновесного состояния между поставщиками и потребителями ресурсов посредством механизма
аукциона. Диспетчер Condor-G [7], являющийся развитием системы Condor, ориентирован на использование в системах высокой пропускной способности (Highthroughput Computing) и основан на алгоритмах Matchmaking и ClassAd. Предполагается, что пользователь самостоятельно выбирает подсистему из списка доступных; при этом поддерживается возможность создания пользовательских диспетчеров. Функционирование диспетчера WMS [8], используемого в GRIDпроекте Enable Grid for e-Science, основывается на применении двух алгоритмов
диспетчеризации: либо задача отправляется на подсистему для решения как можно быстрее, либо ожидает в очереди до тех пор, пока ресурс не станет доступным.
В DIRAC [9] на подсистемах установлены агенты, которые при освобождении ресурсов запрашивают задачи из глобальной очереди.
В данной работе предлагаются децентрализованные алгоритмы и программное
обеспечение диспетчеризации параллельных программ в пространственнораспределенных вычислительных и GRID-системах.
1. Постановка задачи
Пусть имеется пространственно-распределенная ВС, состоящая из H подсистем;
N – суммарное количество элементарных машин (ЭМ) в подсистемах. Обозначим
через ni количество ЭМ, входящих в состав подсистемы i ∈ S = {1, 2, …, H}. Пусть
также bij = b(i, j, m) – пропускная способность канала связи между подсистемами
i, j ∈ S при передаче сообщений размером m байт ([b(i, j, m)] = байт/с).
В каждой подсистеме присутствует диспетчер, который поддерживает очередь
параллельных задач и осуществляет поиск вычислительных ресурсов для их выполнения (рис. 1).
Рис. 1. Пример локальных окрестностей диспетчеров:
H = 4, L(1)={3, 4}, L(2) = {3, 4}, L(2) = {1, 2}, L(4) = {1, 2}
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
80
М.Г. Курносов, А.А. Пазников
Коллектив диспетчеров представлен в виде ориентированного графа
G = (S, E), в котором вершинам соответствуют диспетчеры, а ребрам – логические связи между ними. Наличие дуги (i, j) ∈ E в графе означает, что диспетчер i
может отправлять ресурсные запросы (задачи из своей очереди) диспетчеру j.
Множество всех вершин j, смежных вершине i, образуют её локальную окрестность L(i) = {j ∈ S: (i, j) ∈ E}.
Пользователь направляет задачу и запрос на выделение ресурсов одному из
диспетчеров. Диспетчер (в соответствии с реализованным в нем алгоритмом)
осуществляет поиск (суб)оптимальной подсистемы j∗ ∈ S для выполнения задачи
пользователя.
Считаем, что задача характеризуется рангом r – количеством параллельных
ветвей, ожидаемым временем t выполнения программы (walltime) и суммарным
размером z исполняемых файлов и данных ([z] = байт). Рассмотрим децентрализованный алгоритм обслуживания потоков параллельных задач в пространственнораспределенных ВС.
2. Децентрализованный алгоритм диспетчеризации параллельных задач
При поступлении программы пользователя в очередь подсистемы i ∈ S её диспетчер выполняет следующий алгоритм:
1. У каждого диспетчера j ∈ L(i) ∪ {i} запрашивается оценка времени tj, через
которое программа может быть запущена на ресурсах подсистемы j в случае передачи программы в её очередь.
2. Через систему мониторинга определяется текущее значение пропускной
способности bij = b(i, j, z) канала связи между подсистемами i и j.
3. Отыскивается оценка времени t(i, j) обслуживания программы в случае её
перенаправления в очередь подсистемы j. Время обслуживания включает в себя
время доставки исполняемых файлов и данных до подсистемы j, время ожидания
tj в очереди подсистемы и время t выполнения программы:
t(i, j) = z / bij + tj + t.
4. Программа перенаправляется в очередь подсистемы j∗, в которой достигается минимальное значение времени t(i, j) обслуживания параллельной программы
j* = arg min {t (i, j )} .
j∈L (i ) ∪{i}
Диспетчер выполняет описанный алгоритм поиска подсистем при наступлении
одного из нижеследующих событий.
1. Поступление новой задачи в очередь от пользователя.
2. Удаление задачи из очереди, начало выполнения задачи, изменение параметров (количества ветвей, времени решение) одной или нескольких задач в очереди.
Перечисленные события влекут за собой поиск новых подсистем для задач, стоящих в очереди после задач с модифицированными параметрами и состояниями.
3. Окончание временного интервала ∆ c момента последнего запуска алгоритма поиска подсистем.
Периодический поиск подсистем для задач в очереди позволяет учесть динамически изменяющуюся загрузку ресурсов пространственно-распределенных вычислительных и GRID-систем. Описанный подход реализован в программном пакете GBroker децентрализованной диспетчеризации параллельных MPI-программ
в пространственно-распределенных мультикластерных ВС.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Инструментарий децентрализованного обслуживания потоков параллельных MPI-задач
81
3. Программный пакет GBroker
В Центре параллельных вычислительных технологий ГОУ ВПО «Сибирский
государственный университет телекоммуникаций и информатики» (ЦПВТ ГОУ
ВПО «СибГУТИ») и Лаборатории вычислительных систем Института физики полупроводников им. А.В. Ржанова СО РАН (ИФП СО РАН) создан и развивается
программный пакет GBroker [10] децентрализованной диспетчеризации параллельных MPI-программ в пространственно-распределенных ВС. Пакет разработан
на языке ANSI C для операционной системы GNU/Linux.
В пакет (рис. 2) входят диспетчер gbroker, клиентское приложение gclient и
средство мониторинга производительности каналов связи netmon между подсистемами на уровне стека протоколов TCP/IP.
Рис. 2. Функциональная структура пакета GBroker
Модуль gbroker устанавливается на каждой из подсистем и на основе расширяемой архитектуры обеспечивает интерфейс с локальной системой пакетной обработки заданий (на данный момент − TORQUE). Модуль netmon устанавливается
вместе с gbroker на подсистемах. Взаимодействуя друг с другом, сервисы netmon
собирают информацию о производительности каналов связи между подсистемами. Модуль gclient реализует интерфейс между пользователем и системой.
Администратор настраивает локальные окрестности диспетчеров gbroker, указывая, какие диспетчеры с какими могут обмениваться задачами из своих очередей, и настраивает сервис netmon.
Пользователь формирует задание, состоящее из параллельной MPI-программы
и паспорта на языке ресурсных запросов JSDL (Job Submission Description
Language) и отправляет его средствами gclient любому из диспетчеров gbroker.
Диспетчер в соответствии с описанным алгоритмом выбирает подсистему, на которой должна выполняться задача.
4. Моделирование алгоритмов и программных средств
Созданный инструментарий децентрализованной диспетчеризации параллельных задач исследован на действующей мультикластерной ВС, созданной ЦПВТ
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
82
М.Г. Курносов, А.А. Пазников
ГОУ ВПО “СибГУТИ” совместно с Лабораторией ВС ИФП СО РАН. В экспериментах было использовано 3 сегмента мультикластерной ВС (рис. 3):
- кластер Xeon16: 4 узла (2 x Intel Xeon 5150, 16 процессорных ядер);
- кластер Xeon32: 4 узла (2 х Intel Xeon 5345, 32 процессорных ядра);
- кластер Xeon80: 10 узлов (2 x Intel Xeon 5420, 80 процессорных ядер).
Сеть связи между сегментами ВС Fast Ethernet.
На сегментах системы был установлен пакет Gbroker и настроен компонент
netmon (рис. 3). В локальную окрестность каждого диспетчеры были включены
диспетчеры всех кластеров.
Рис. 3. Тестовая конфигурация пространственно-распределенной
мультикластерной ВС (H = 3)
В качестве тестовых задач использовались MPI-программы из пакета NAS
Parallel Benchmarks (NPB). Моделирование проводилось следующим образом. На
выбранную подсистему поступал стационарный поток из M = 500 параллельных
задач. Тестовые задачи выбирались псевдослучайным образом. Ранг ri параллельной программы генерировался в соответствии с распределением Пуассона со значениями математического ожидания r = {4, 8, 12, 16}. Задачи поступали в очередь
диспетчера кластера Xeon80 через интервалы времени t, экспоненциально распределенные со значениями интенсивности λ = {0.1, 0.2, 0.3, 0,4}, [λ] = с−1.
Обозначим через ti – момент времени поступления задачи i ∈ {1, 2, …, M} на
вход диспетчера, ti′ – момент времени начала решения задачи i, ti′′ – момент завершения решения задачи i. Тогда суммарное время τ обслуживания (ожидания в
очереди и решения) M задач составит
τ = max ti′′ − min ti .
i =1,2,…, M
i =1,2,…, M
Для оценки эффективности алгоритма диспетчеризации использовались следующие показатели:
- среднее время T обслуживания задачи
M
T = 1 M ∑ (ti′′ − ti ) ;
i =1
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Инструментарий децентрализованного обслуживания потоков параллельных MPI-задач
83
- среднее время W пребывания задачи в очереди
M
W = 1 M ∑ (ti′ − ti ) ;
i =1
- пропускная способность B системы
B = M / τ.
На рис. 4 показана зависимость среднего времени обслуживания параллельных
задач от интенсивности их поступления в систему.
T, с
4
25
3
1
2
20
15
10
5
0
0,05
0,15
0,25
0,35
λ, c–1
Рис. 4. Зависимости среднего времени T обслуживания задачи
от интенсивности λ потока задач: 1 – r = 4; 2 – r = 8; 3 – r = 12; 4 – r = 16
Из графиков видно, что среднее время обслуживания задачи увеличивается с
ростом интенсивности потока поступления задач. Это связано с образованием
очередей задач на подсистемах ВС. Такое влияние интенсивности потока особенно значительно при рангах параллельных программ, близких к количеству процессорных ядер в подсистемах.
Среднее время W пребывания задачи в очереди незначительно (рис. 5) по сравнению с суммарным временем её обслуживания и в среднем не превосходит одной
секунды (для рассматриваемой конфигурации ВС). Среднее время пребывания задачи в очереди не изменяется существенно как с ростом интенсивности потока поступления задач, так и с увеличением среднего ранга параллельных задач.
W, с
0,80
2
4
1
3
0,60
0,40
0,20
0
0,05
0,15
0,25
0,35
λ, c–1
Рис. 5. Зависимости среднего времени W пребывания задачи в очереди
от интенсивности λ потока задач: 1 – r = 4; 2 – r = 8; 3 – r = 12; 4 – r = 16
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
М.Г. Курносов, А.А. Пазников
84
Пропускная способность системы (рис. 6) растет при увеличении интенсивности потока поступления задач. При больших значениях интенсивности происходит снижение пропускной способности системы, что связано с образованием очередей на подсистемах. С увеличением среднего ранга задач это влияние интенсивности на пропускную способность системы усиливается.
B,
задач/с
0,05
4
0,04
0,03
0,02
0,05
3
2
1
0,15
0,25
0,35
λ, c–1
Рис. 6. Зависимости пропускной способности B системы
от интенсивности λ потока задач: 1 – r = 4; 2 – r = 8; 3 – r = 12; 4 – r = 16
Заключение
Централизованные системы диспетчеризации большемасштабных распределенных ВС характеризуются вычислительной сложностью поиска требуемых ресурсов. Децентрализованная диспетчеризация параллельных программ в пространственно-распределенных вычислительных и GRID-системах позволяет повысить их живучесть. Кроме того, применение централизованных систем диспетчеризации в большемасштабных ВС ограничено вычислительной сложностью поиска требуемых ресурсов.
Результаты исследования созданного инструментария децентрализованной
диспетчеризации параллельных MPI-программ на мультикластерной ВС показали,
что среднее время обслуживания задач и при децентрализованной, и при централизованной диспетчеризации сопоставимы. Время диспетчеризации достаточно
мало по сравнению со временем выполнения задач.
Инструментарий децентрализованной диспетчеризации – один из необходимых компонентов обеспечения живучести пространственно-распределенной
мультикластерной ВС ЦПВТ ГОУ ВПО «СибГУТИ» и лаборатории ВС ИФП СО
РАН.
ЛИТЕРАТУРА
1. Евреинов Э.В., Хорошевский В.Г. Однородные вычислительные систем. Новосибирск:
Наука, 1978. 320 с.
2. Хорошевский В.Г. Архитектура вычислительных систем. М.: МГТУ им. Н.Э. Баумана.
2008. 520 с.
3. Montero R., Huedo E., Llorente I. Grid resource selection for opportunistic job migration //
9th International Euro-Par Conference. 2003. V. 2790. P. 366−373.
4. Huedo E., Montero R., Llorente I. A framework for adaptive execution on grids // Software –
Practice and Experience (SPE). 2004. V. 34. P. 631−651.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Инструментарий децентрализованного обслуживания потоков параллельных MPI-задач
85
5. Xiaohui W., Zhaohui D., Shutao Y. CSF4: A WSRF compliant meta-scheduler // Proc. of
World Congress in Computer Science Computer Engineering, and Applied Computing. 2006.
P. 61−67.
6. Buyya R., Abramson D., Giddy J. Nimrod/G: an architecture for a resource management and
scheduling system in a global computational Grid // Proc. of the 4th International Conference
on High Performance Computing in Asia-Pacific Region. 2000. P. 283−289.
7. Frey J. et. al. Condor-G: A computation management agent for multi-institutional grids //
Cluster Computing. 2001. V. 5. P. 237−246.
8. Andreetto P., Borgia S., Dorigo A. Practical approaches to grid workload and resource management in the EGEE project // CHEP’04: Proc. of the Conference on Computing in High
Energy and Nuclear Physics. 2004. V. 2. P. 899−902.
9. Caron E., Garonne V., Tsaregorodtsev A. Evaluation of meta-scheduler architectures and task
assignment policies for high throughput computing // Technical report. Institut National de
Recherche en Informatique et en Automatique. 2005.
10. Курносов М.Г., Пазников А.А. Децентрализованное обслуживание потоков параллельных задач в пространственно-распределенных вычислительных системах // Вестник
СибГУТИ. 2010. № 2 (10). С. 79−86.
Курносов Михаил Георгиевич
Пазников Алексей Александрович
ГОУ ВПО «Сибирский государственный университет
телекоммуникаций и информатики»
E-mail: mkurnosov@gmail.com; apaznikov@gmail.com
Поступила в редакцию 3 декабря 2010 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
ПРОЕКТИРОВАНИЕ И ДИАГНОСТИКА
ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
УДК 681.3.06:681.323
М.С. Тарков
ОТОБРАЖЕНИЕ ПОЛУГРУППОВЫХ ОПЕРАЦИЙ НАД МАССИВАМИ
НА ВЫЧИСЛИТЕЛЬНУЮ СИСТЕМУ С ТОРОИДАЛЬНОЙ СТРУКТУРОЙ
Предложен алгоритм отображения полугрупповых операций над массивами
на распределенные вычислительные системы с тороидальной структурой,
основанный на использовании схемы сдваивания и отображении этой схемы
на гиперкуб с последующим XOR-вложением гиперкуба в тор. Показано, что
предложенный алгоритм дает меньшее время выполнения полугрупповой
операции на торе, чем алгоритм, использующий последовательность циклических сдвигов элементов данных.
Ключевые слова: распределенные многопроцессорные системы, гиперкуб,
тор, полугрупповые операции, отображение.
Распределенная вычислительная система представляет собой совокупность пар
процессор – память, называемых процессорными элементами (или просто процессорами) и связанных друг с другом сетью линий связи, где каждая линия соединяет два процессора. Такая сеть межпроцессорных соединений описывается графом.
В современных суперкомпьютерных распределенных системах в качестве графа
сети связи обычно используется трехмерный тор [1 – 4].
Основу многомерного (k-мерного) тора образует многомерная «решетка» из
p1 × p2 × ... × pk вершин, где каждая вершина имеет метку ( a1 , a2 ,..., ak ) ,
ai ∈ {0,1,..., pi − 1} , i = 1, 2,..., k . Две вершины ( a1 , a2 ,..., ak ) и ( b1 , b2 ,..., bk ) являются соседними в решетке, если для некоторого i выполнено ai = bi ± 1 и для всех
j ≠ i выполнено aj = bj. Многомерный тор образуется «зацикливанием» строк и
столбцов решетки. Он описывается графом из p1 × p2 × ... × pk вершин, где вершины ( a1 , a2 ,..., ak ) и ( b1 , b2 ,..., bk ) являются соседними, если для некоторого i выполнено ai = bi ± 1 mod pi и для всех j ≠ i выполнено aj = bj.
Полугрупповой операцией называют бинарную ассоциативную операцию ⊗
[5]. Примерами таких операций могут служить сумма, произведение, конъюнкция,
дизъюнкция, исключающее ИЛИ, а также вычисление максимума или минимума.
В [5] предложен параллельный алгоритм выполнения такой операции над массивом данных, распределенных по процессорам матричной сети («решетки»), причем результат операции должен получить каждый процессор. Алгоритм сводится
к выполнению последовательности циклических сдвигов в линейной сети («линейке») процессоров с выполнением операции ⊗ при каждом сдвиге. Такие сдви-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Отображение полугрупповых операций над массивами на вычислительную систему
87
ги выполняются для всех измерений решетки. Этот алгоритм легко переносится
на тороидальную сеть процессоров.
В данной работе предлагается альтернативный подход к отображению полугрупповых операций на вычислительные системы с тороидальной структурой, основанный на использовании в полугрупповых операциях схемы «бабочка» [4, 6],
отображении этой схемы на гиперкуб с последующим XOR-отображением гиперкуба на тор [2, 4]. Показано, что такой подход при использовании отображения [2]
дает меньшее время параллельного выполнения полугрупповой операции на торе,
чем подход, предложенный в [5].
1. Выполнение полугрупповой операции на решетке и торе
с использованием циклических сдвигов данных
Пусть массив x = ( x1 ,..., xn ) изначально распределен по одному элементу данных в каждом процессоре двумерной решетки из n × n процессоров, то есть
каждый процессор Pij изначально содержит соответствующий элемент xi n + j ,
i, j ∈ {1,..., n} . Требуется применить полугрупповую операцию ⊗ ко всем исходным значениям массива x так, чтобы каждый процессор получил результат
применения операции.
В [5] предложен алгоритм выполнения полугрупповых операций на решетке
процессоров, состоящий в выполнении последовательности циклических сдвигов
с выполнением операции ⊗ при каждом сдвиге:
1. Параллельно в каждой строке i выполнить циклический сдвиг данных так,
1/ 2
что каждый процессор в строке получает результат ri = ⊗nj =1 xi
n+ j
.
2. Параллельно в каждом столбце j выполняется циклический сдвиг данных
1/ 2
так, что каждый процессор в столбце получает результат s ' = ⊗in=1 ri , равный же1/ 2
1/ 2
лаемому результату s = ⊗in=1 ⊗nj =1 xi
n+ j
.
Циклический сдвиг в строке (или столбце) решетки процессоров выполняется
так: каждый элемент перемещается от процессора к процессору вправо, пока не
попадет в самый правый процессор, далее направление его сдвигов меняется на
противоположное (гусеничный алгоритм [5]). Сдвиги в торе отличаются от сдвигов в решетке тем, что, благодаря зацикливанию строк и столбцов, направление
сдвига не меняется.
2. Выполнение полугрупповой операции на гиперкубе
с использованием схемы сдваивания
Приведенные в предыдущем разделе алгоритмы выполнения полугрупповой
операции над массивом данных в торе не являются оптимальными. Эту операцию
можно выполнить быстрее, если использовать систему параллельных процессов,
структура которой называется «бабочкой» (рис. 1). В этой структуре схема сдваивания [6], являющаяся оптимальной для реализации полугрупповых операций,
реализует размножение вычислений с максимальным количеством одновременно
выполняемых операций над разными парами аргументов.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
М.С. Тарков
88
Бабочка легко отображается в гиперкуб. Для этого достаточно объединить
операции тех процессов, которые не могут выполняться одновременно. На рис. 1
объединяемые процессы (операции) лежат на одной вертикальной линии. На
рис. 2 показан полученный в результате слияния процессов гиперкуб. Здесь числа
в скобках показывают номер шага взаимодействий между узлами структуры.
x0
x1
x2
x3
x4
x5
x6
x7
(1)
(2)
(3)
Рис. 1. Бабочка
(1)
6
(2)
(2)
(3)
(3)
(1)
4
(3)
5
(3)
(1)
2
3
(2)
0
7
(2)
(1)
1
Рис. 2. Гиперкуб, полученный слиянием процессов
двоичного дерева или бабочки
3. Вложение гиперкуба в тор
Полученный слиянием процессов бабочки гиперкуб может быть вложен в тор
[2, 4]. Способ отображения гиперкуба в тор (XOR-вложение) предложен в [2].
Вложение графа G в граф H является инъекцией f вершин G в вершины H. Если
граф G не изоморфен подграфу H, то неизбежны растяжения ребер графа G. Растяжением ребра ( a, b ) графа G на графе H называется расстояние (длина кратчайшего пути) между вершинами f (a) и f (b) .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Отображение полугрупповых операций над массивами на вычислительную систему
(
89
k
) ∑ di = d
i =1
XOR-вложение гиперкуба Hd в k -мерный тор Ek 2d1 ,..., 2dk ,
реа-
лизуется следующим образом. Сначала определяются Kj:
K1 = 0,
j −1
K j = ∑ di , 1 < j ≤ k + 1.
i =1
Если граф G является гиперкубом Hd , а граф T – тором, то вершина v графа G
отображается в вершину ( m1 ,..., mk ) = f XOR (v) графа T следующим образом [2]:
m j (i ) = v(i + K j ), i ∈ ⎡⎣ 0, d j − 1⎤⎦ , i ≠ d j − 2,
m j (d j − 2) = XOR ( v ( K j +1 − 1) , v ( K j +1 − 2 ) ) .
Здесь x(i ) − i-й бит двоичного представления x. Показано [2], что гиперкуб Hd
(
)
может быть вложен в тор Ek 2d1 ,..., 2dk , где
k
∑ di = d , со средним растяжением
i =1
k
⎛
di − 2 ⎞
⎜ ∑3⋅ 2
⎟−k
⎝
⎠
i =1
.
(1)
D=
d
В табл. 1 и 2 приведены вычисленные по формуле (1) средние значения растяжения D для нескольких значений числа машин n = 2d при k = 2,3 соответстd
венно, di = , i = 1,..., k .
k
Таблица 1
Среднее растяжение ребер гиперкуба на двумерном торе
n
D
16
1
64
1,667
256
2,75
1024
4,6
4096
7,833
16384
13,5714
65536
23,8750
Таблица 2
Среднее растяжение ребер гиперкуба на трехмерном торе
n
D
64
1
512
1.667
4096
2.75
В общем случае результатом отображения гиперкуба в тор являются пути на
торе вместо ребер в гиперкубе. При вложении одного графа в другой возникающие при этом пути могут пересекаться, поэтому кроме растяжений ребер могут
возникать конфликты путей (перегрузки каналов связи) на ребрах тора. Эти перегрузки могут привести к увеличению продолжительности межмашинных обменов
данными.
Например (рис. 3), пусть вершины A и B одновременно посылают сообщения a
и b в вершины A1 и B1 соответственно. Если вершина C транслирует сообщение a
в вершину D как первое сообщение, то сообщение b будет задержано в вершине C
и наоборот. Это и есть перегрузка дуги (канала) ( C , D ) .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
М.С. Тарков
90
A
A1
a
C
B
D
b
B1
Рис. 3. Конфликт сообщений из вершин A и B на дуге ( C , D )
Утверждение 1. XOR-вложение гиперкуба в тор не создает перегрузок.
Доказательство. 1. Сначала рассмотрим одномерный тор (кольцо) и произвольное отображение гиперкуба в тор, то есть произвольную нумерацию вершин.
Пусть два произвольных пути с различными вершинами-источниками и вершинами-приемниками пересекаются на кольце (т.е. имеют общие ребра) и оба сообщения начинают передаваться одновременно.
Если эти пути направлены противоположно, то перегрузок нет, поскольку каждое ребро используется для одновременной передачи сообщений по двум противоположно направленным дугам (каналам).
Если два пути ориентированы одинаково, как на рис. 4, то перегрузок также нет,
поскольку передачи начинаются одновременно. Когда некоторое сообщение поступает в вершину для последующей трансляции, то соответствующая выходная дуга
уже свободна, поскольку передача выходного сообщения по ней завершена.
Например, на рис. 4 передача сообщения из вершины B в вершину D не задерживает передачу сообщения из вершины A в вершину C , так как сообщения из A
в B и из B в C передаются одновременно.
A
B
B
C
C
D
E
D
Рис. 4. Одинаково направленные пути (A,B,C,D,E) и (B,C,D)
2. Рассмотрим общий случай XOR-вложения. Взаимодействия между процессами в структуре «бабочка» на d-мерном гиперкубе выполняются за d шагов. На
шаге
s ∈ {1,..., d }
(2)
вершина v взаимодействует с вершиной v ' , если v − v ' = 2 s −1 .
Рассмотрим стандартное отображение d-мерного гиперкуба в k-мерный тор
Ek ( n1 ,..., nk )
k
ni = 2di , ∏ ni = 2d
(3)
i =1
в виде f (v) = ( p1 ,..., pk ) , где
i
i −1
⎛
⎞
pi = ⎜ v mod ∏ n j ⎟ div ∏ n j , i = 1,..., k ,
⎜
⎟
j =1
j =1
⎝
⎠
где div обозначает деление нацело.
(4)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Отображение полугрупповых операций над массивами на вычислительную систему
91
Две различных вершины v и v’ лежат в m-м одномерном торе (кольце), если
⎛
⎞
f ( v − v ' ) = ⎜ 0,..., 0 , pm , 0,..., 0 ⎟ , pm ≠ 0 . Покажем, что для s ∈ {1,..., d } существует
⎜
⎟
⎝ m −1
n−m ⎠
m ≤ k , такое, что
m −1
⎛
⎞
s − ∑ di −1
= ⎜ 0,..., 0 , 2 i =1
f ( v −v' ) = f 2
, 0,..., 0 ⎟ .
⎜ m −1
⎟
n−m ⎠
⎝
Из (2) и (3) следует, что существует m ≤ k , такое, что
(
s −1
m −1
∏ 2d
)
(5)
m
i
i =1
≤ 2s −1 < ∏ 2di .
(6)
i =1
Из (6) следует, что:
i
1) для всех i ∈ {1,..., m − 1} имеем 2s −1 mod ∏ 2
dj
= 0 . Тогда из (4) следует, что
j =1
(
)
pi 2 s −1 = 0, i = 1,..., m − 1 ;
(
2) pm 2
s −1
2 s −1
) = m−1
∏2
m −1
=2
s − ∑ di −1
i =1
;
di
i =1
i
3) для всех i ∈ {m + 1,..., n} справедливы равенства 2s −1 mod ∏ 2
dj
= 2 s −1 и
j =1
i −1
2s −1 div ∏ 2
j =1
dj
i −1
= 0 , поскольку 2s −1 < ∏ 2
dj
для i > m .
j =1
Выражение (5) доказано. Из (5) следует, что:
1) для стандартного вложения две любых взаимодействующих вершины гиперкуба принадлежат одномерному тору;
2) две любые пары взаимодействующих вершин либо принадлежат одному и
тому же одномерному тору, либо двум непересекающимся одномерным торам.
В обоих случаях в соответствии с пунктом 1 доказательства перегрузка каналов
отсутствует.
3. Рассмотрим XOR-вложение для общего случая. Из (5) следует, что для любых двух взаимодействующих вершин v и v’ стандартное вложение имеет вид
f (v) = ( p1 ,..., pm −1 , pm , pm +1 ,..., pk ) ,
m −1
⎛
⎞
s − ∑ di −1
⎜
, pm +1 ,..., pk ⎟⎠ ,
f (v ') = ⎝ p1 ,..., pm −1 , pm ± 2 i =1
где s, m, k удовлетворяют соотношениям (2),(3),(6).
XOR-вложение изменяет одни и те же биты в компонентах отображений f (v )
и f (v ') , поэтому вложения f XOR (v) и f XOR (v ') различаются только m-й компонентой. Следовательно, эти две вершины принадлежат одномерному тору, и для
XOR-вложения также отсутствуют перегрузки каналов.
Утверждение 1 доказано.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
М.С. Тарков
92
4. Сравнительный анализ времени выполнения полугрупповой операции
на тороидальной сети процессоров
Пусть tw − время передачи элемента данных между соседними процессорами и
to − время выполнения полугрупповой операции над двумя аргументами. Обозначим TC − время параллельного выполнения полугрупповой операции на торе с
использованием циклических сдвигов данных, а THT − время выполнения той же
операции на гиперкубе, вложенном в тор.
Утверждение 2. TC > THT .
Доказательство. Для произвольного k и
k
∑ di = d , di ≥ 1
(7)
i =1
время выполнения полугрупповой операции на k − мерном торе с использованием циклических сдвигов данных
k
(
)
TC = ∑ 2di − 1 ( tw + to ) .
i =1
Время выполнения полугрупповой операции на гиперкубе, вложенном в k мерный тор,
THT = ( Dtw + to ) ⋅ d .
Подставив D из (1), получаем
k
THT = (∑ 3 ⋅ 2di − 2 − k )tw + dto .
i =1
Тогда с учетом (7)
k
⎡k
⎤
⎡k
⎤
TC − THT = ⎢ ∑ 2di − 1 − ∑ 3 ⋅ 2di − 2 + k ⎥ tw + ⎢ ∑ 2di − 1 − d ⎥ to =
⎣ i =1
⎦
⎣ i =1
⎦
i =1
k
k
3
= tw ⋅ ∑ 2di + to ⋅ ∑ 2di − di − 1 > 0,
4 i =1
i =1
(
)
(
(
)
)
поскольку 2di − di − 1 ≥ 0 при di ≥ 1 .
Утверждение 2 доказано.
В частности, время выполнения полной полугрупповой операции на k -мерном
торе из
k
n × k n × ... × k n процессоров с использованием циклических сдвигов
k
данных равно
TC = k ( k n − 1) ⋅ ( tw + to ) .
Время выполнения той же операции на гиперкубе, вложенном в k-мерный тор
из
k
n × k n × ... × k n процессоров
k
3
THT = log 2 n ⋅ (to + Dtw ) = log 2 n ⋅ to + ⎛⎜ k ⋅ k n − 2 ⎞⎟ tw .
⎝ 4
⎠
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Отображение полугрупповых операций над массивами на вычислительную систему
⎡ ⎛kn ⎞ ⎤
− 1⎟ + 2 ⎥ tw + ⎡⎣ k
TC − THT = ⎢ k ⎜
⎣ ⎝ 4
⎠ ⎦
Отсюда
где k
k
( k n − 1) − log 2 n ≥ 0
( k n − 1) − log 2 n ⎤⎦ to ,
93
(8)
при n ≥ 2k . Из (8) следует, что для k-мерного тора из
n × k n × ... × k n процессоров при n → ∞ выполняется асимптотическое соотноk
шение
TC − THT = O
( k n ) ⋅ ( t w + to ) .
5. Заключение
Предложен алгоритм отображения полугрупповых (бинарных ассоциативных)
операций над массивами на распределенные вычислительные системы с тороидальной структурой, основанный на использовании схемы «бабочка» и отображении этой схемы на гиперкубическую структуру ВС с последующим XOR-вложением гиперкуба в тор. Показано, что XOR -вложение гиперкуба в тор не приводит
к конфликтам при передаче сообщений (перегрузкам каналов). Получены оценки
времени выполнения алгоритма. Показано, что:
1. Несмотря на растяжение ребер гиперкуба при вложении его в тор, предложенный алгоритм дает меньшее время выполнения полугрупповой операции на
торе, чем алгоритм, использующий последовательность циклических сдвигов
элементов данных в торе.
2. При увеличении числа процессоров ВС (и соответственно числа элементов
массива данных) выигрыш по времени выполнения полугрупповой операции на
торе при использовании предложенного алгоритма возрастает.
ЛИТЕРАТУРА
1. Yu H., Chung I-Hsin, Moreira J. Topology mapping for blue gene/L supercomputer // Proc. of
the ACM/IEEE SC2006 Conf. on High Performance Networking and Computing, November
11 – 17, 2006, Tampa, FL, USA: ACM Press, 2006. P. 52−64.
2. Gonzalez A., Valero-Garcia M., Diaz de Cerio L. Executing algorithms with hypercube topology on torus multicomputers // IEEE Trans. on Parallel and Distributed Systems. 1995. V. 6.
Nо. 8. P. 803−814.
3. Абрамов С.М., Заднепровский В.Ф., Шмелев А.Б., Московский А.А. СуперЭВМ ряда 4
семейства «СКИФ»: штурм вершины суперкомпьютерных технологий // Вестник Нижегородского университета им. Н.И. Лобачевского. 2009. № 5. С. 200−210.
4. Тарков М.С. Отображение нейросетевых алгоритмов анализа изображений на регулярные структуры распределенных вычислительных систем // Известия Томского политехнического университета. 2008. Т. 313. № 5. С. 101−105.
5. Миллер Р., Боксер Л. Последовательные и параллельные алгоритмы: Общий подход. М.:
БИНОМ. Лаборатория знаний, 2006. 406 с.
6. Foster I. Designing and building parallel programs [Электронный ресурс]. URL: http://wwwunix.mcs.anl.gov/dbpp
Тарков Михаил Сергеевич
Института физики полупроводников СО РАН
E-mail: tarkov@isp.nsc.ru
Поступила в редакцию 18 ноября 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
ДИСКРЕТНЫЕ ФУНКЦИИ И АВТОМАТЫ
УДК 519.7
А.Д. Закревский
АЛГОРИТМ МАТРИЧНОГО ОТОБРАЖЕНИЯ ГРАФА НА БУЛЕВ КУБ
Рассматриваемая в настоящей статье задача имеет важные приложения в
теории и практике проектирования дискретных устройств. Именно к ней в
значительной степени сводится минимизация числа переключений элементов памяти при схемной реализации конечного автомата. В статье излагается
формальный матричный метод решения этой задачи, разработанный на базе
предложенного ранее визуального метода и ориентированный на компьютерную реализацию.
Ключевые слова: граф переходов, матрица смежности, булев куб, матрица куба, кодирование состояний, отображение ребер.
Важной проблемой современной теории и практики автоматизированного проектирования дискретных устройств является задача энергосберегающего кодирования состояний автомата, реализуемого логической схемой. Она формулируется
следующим образом. Автомат задается неориентированным графом переходов G
с m вершинами. Информация об ориентации переходов при этом не учитывается,
поскольку она оказывается несущественной. Требуется оптимальным образом
разместить вершины графа в булевом пространстве M = {0, 1}n, размерность которого n равна целому, ближнему сверху к log2 m, и которое можно рассматривать
как n-мерный булев куб. За критерий оптимальности примем число ребер графа,
отображенных на ребра булева куба. В результате этого отображения инцидентные ребру графа вершины окажутся на соседних элементах пространства M, т.е.
на булевых n-векторах, различающихся ровно в одной компоненте.
В работе [1] был предложен эвристический визуальный метод решения этой
задачи, названный методом квадратов. Он основан на использовании графического изображения графа и карты Карно и заключается в построении последовательности конфигураций из ребер и квадратов, образующих фрагменты гиперкуба. Квадратом называется четырехреберный цикл в графе.
Ниже описывается оригинальный комбинаторный алгоритм решения этой же
задачи на базе матричных представлений, ориентированный на компьютерную
реализацию.
1. Представление данных
Рассматриваемый в предлагаемом алгоритме граф переходов представляется
симметричной булевой матрицей смежности G размером m × m. Элемент этой
матрицы gi j = 1, если и только если вершины i и j связаны некоторым ребром −
обозначим это ребро через (i-j). Другими словами, соответствующие этим вершинам состояния автомата связаны некоторым переходом. Очевидно, что gi j =gj i.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Алгоритм матричного отображения графа на булев куб
95
Положим, что gi i = 0, поскольку переходы состояний в себя при решении рассматриваемой задачи не учитываются.
Например, показанный на рис. 1 граф переходов автомата с 11 состояниями
представляется следующей матрицей смежности:
1 2 3 4 5 6 7 8 9 10 11
5
4
10
1
11
6
3
8
2
7
9
Рис. 1. Граф переходов
G =
0
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
l
0
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
1
2
3
4
5
6
7
8
9
10
11
Два ребра графа назовем параллельными, если они не содержат общих вершин
и принадлежат оба некоторому квадрату. Это условие легко проверяется в визуальном методе – достаточно посмотреть на граф. В методе, предлагаемом в настоящей статье, оно представляется более формально, в терминах матрицы смежности.
Два ребра графа (i-j) и (k-l), задаваемые матричными элементами gi j и gk l, параллельны, если матрица смежности G принимает значение 1 также на элементах
gi l и gk j. Другими словами, эти ребра параллельны, если все четыре элемента матрицы, расположенные на пересечении строк gi и gk со столбцами gj и gl, принимают значение 1.
i
j
В этом случае они принадлежат квадрату, который
удобно задать выражением (i, j, k, l), в котором смежные
вершины представлены соседними или крайними членами. Кроме ребер (i-j) и (k-l) в квадрат входит также пара
l
k
параллельных ребер (j, k) и (l, i) (рис. 2).
Рис. 2. Квадрат (i, j, k, l)
В данном примере (рис. 1) параллельными оказываются ребра (4-5) и (11-2), принадлежащие отмеченному
на рисунке квадрату, равно как и ребра (5-11) и (2-4). Они представляются четырьмя матричными элементами, на пересечении строк 4 и 11 со столбцами 2 и 5.
Это элементы g4 2, g4 5, g11 2 и g11 5. Они отмечены в матрице курсивом. А квадрат в
целом представляется выражением (4-5-11-2).
Заметим, что перечисление вершин квадрата можно начинать с любой вершины и в любом направлении. Из этого следует эквивалентность следующих обозначений данного квадрата:
(4-5-11-2), (5-11-2-4), (11-2-4-5), (2-4-5-11), (2-11-5-4),
(11-5-4-2), (5-4-2-11), (4-2-11-5).
Структуру булева куба, на который требуется спроектировать граф переходов,
представим переменной булевой матрицей B размером n на 2n, строки которой соответствуют булевым переменным x1, x2, …, xn, а столбцы – элементам булева
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
А.Д. Закревский
96
пространства этих переменных, т.е. вершинам булева куба. Назовем ее матрицей
куба.
Перед выполнением алгоритма отображения все элементы матрицы куба имеют значение 1. Например, при n = 4 эта матрица имеет следующий начальный
вид:
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
x1
x2
x3
x4
1
B = 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
x1
x2
x3
x4
Элементы булева пространства (вершины булева куба), соответствующие
столбцам матрицы b j, пронумерованы и показаны сверху, а булевы переменные,
соответствующие ее строкам bi – справа. Ребра куба представлены соответствующими парами элементов матрицы B; значение bi j говорит о том, что j-й вершине
куба инцидентно ребро, ориентированное по переиенной xi. Например, в матрице
отмечены полужирным четыре ребра, инцидентные вершине 0 – это ребра (0-1),
(0-2), (0-4) и (0-8). При выполнении алгоритма некоторые элементы матрицы B
меняют свое значение с 1 на 0, что свидетельствует об использовании ребер булева куба в ходе реализации алгоритма отображении ребер графа в булево пространство.
2. Алгоритм отображения
Предлагаемый алгоритм заключается в последовательном выборе ребер графа
(единичных элементов матрицы G) и отображении их в булево пространство
M = {0, 1}n (n-мерный булев гиперкуб) путем кодирования соответствующих пар
вершин булевыми векторами с n компонентами.
На первом шаге выбирается некоторое ребро, для которого находится параллельное ему. В рассматриваемом ниже примере из нескольких подходящих ребер
всегда выбирается ребро с минимальным номером. Например, в рассматриваемом
графе первыми выбираются ребро (1-3) и параллельное ему ребро (7-6). Вершины
первого из них кодируются соседними кодами − различающимися значением в
одной компоненте. Операцией смены значений другой компоненты из этих кодов
получаются коды вершин другого ребра.
Так, вершины 1 и 3 кодируются векторами 0000 и 0001, а вершины 7 и 6 – векторами 0010 и 0011. Эти ребра образуют квадрат (1-3-7-6), куда входят также ребра (3-7) и (6-1). Таким образом, в результате этой четыре ребра графа (1-3), (3-7).
(7-6) и (6-1), образующие найденный квадрат, отображаются на соответствующие
ребра булева куба: (0-1), (1-3), (3-2) и (2-0). Соответственно корректируется матрица B. Отображенные ребра отмечаются в матрице G.
Проиллюстрируем эту операцию новым значением матрицы B. Сверху матрицы B показаны вершины графа, проектируемые на вершины булева куба, пред-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Алгоритм матричного отображения графа на булев куб
97
ставленные столбцами матрицы. Справа показано, как из кодов вершин ребра
(1-3) получаются коды вершин параллельного ему ребра (7-6) Звездочкой отмечена компонента с изменяемым значением.
1
1
B = 1
0
0
3
1
1
0
0
6
1
1
0
0
7
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
(1-3) → (7-6)
1 0000
3 0001
*
7 0011
6 0010
На каждом из последующих шагов алгоритма выбирается одно из отображенных ребер и находится параллельное ему свободное ребро графа (с пока не закодированными вершинами). Коды его вершин получаются из кодов соответствующих вершин отображенного ребра, сменой значений одной компоненты, так, чтобы они были новыми (ранее не встречались). В результате кодируются две новые
вершины и отображаются три ребра.
Опишем эти операции более подробно.
Выбор отображенного ребра. Рассматривается некоторое отображенное ребро
(i, j) графа, отмеченное в матрице G . Обозначим через b*i и b*j столбцы матрицы
B, соответствующие кодам вершин i и j (например, b*7 = [1100]T). Если конъюнкция этих столбцов не содержит единиц (b*i ∧ b*j = 0), не существует свободного ребра, параллельного ребру (i, j), следовательно, надо выбрать другое из отображенных ребер. Их можно перебирать в порядке нумерации.
Нахождение параллельного ему среди свободных ребер. Обозначим через Nf
множество незакодированных вершин, а через Rf и Cf соответствующие этим вершинам подмножества строк и столбцов матрицы G. Допустим, что выбрано отображенное ребро (p-q). Рассмотрим в множестве Rf некоторую строку gk, содержащую единицу в j-й компоненте (gkj = 1). Если конъюнкция векторов gi и gk
принимает значение 1 в некотором столбце l из множества Cf, находится свободное ребро (k-l), параллельное ребру (p-q). В противном случае рассматривается
другая строка из Rf.
Кодирование вершин и отображение ребер. Коды вершин k и l получаются
соответственно из кодов вершин j и i сменой значения младшей из компонент,
удовлетворяющих следующему условию: одноименная компонента в векторе
b*i ∧ b*j должна быть равна единице. Из этого условия, в частности. следует, что
данная компонента имеет одинаковое значение в кодах вершин j и i .
В соответствии с этими правилами выполняются последующие шаги алгоритма. На каждом из них выбирается свободное ребро, параллельное одному из отображенных, и кодируются его вершины. Результат представляется новым значением матрицы куба B. Процесс кодирования вершин показан справа от этой матрицы.
Шаг 2.
1
1
B = 0
0
0
3
1
0
0
0
6
1
1
0
0
7
1
1
0
0
8
1
0
1
0
9
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
(1-3) → (9-8)
1 0000
3 0001
*
9 0101
8 0100
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
А.Д. Закревский
98
Шаг 3.
1
1
B = 0
0
0
3
1
0
0
0
6
1
1
0
0
7
1
1
0
0
8
0
0
1
0
9
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
0
1
1
0
2
0
1
1
0
1
1
1
1
1
1
1
1
3
1
0
0
0
6
1
1
0
0
7
1
1
0
0
8
0
0
1
0
9
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
0
1
0
0
2
0
1
0
0
5
1
1
0
0
11
1
1
0
0
(8-9) → (2-4)
8 0100
9 0101
*
2 1101
4 1100
Шаг 4.
1
1
B = 0
0
0
(2-4) → (5-11)
2 1101
4 1100
*
5 1110
11 1111
В результате выполнения данной цепочки на гиперкуб отобразились 13 ребер
графа и все его вершины, кроме одной, с номером 10. Ее можно закодировать,
рассматривая коды соседних с ней вершин 5, 6 и 11 и выбирая среди свободных
(еще не использованных) кодов ближайший к ним. Таким оказывается булев вектор 0110, соседний с кодами вершин 5 и 6 – векторами 1110 и 0010. Этот выбор
приводит к отображению на гиперкуб еще двух ребер – (5-10) и (6-10). Оказываются соседними коды вершин 8 и 10, хотя они не смежные, что находит отражение в конечном значении матрицы куба:
1
1
B = 0
0
0
3
1
0
0
0
6
1
0
0
0
7
1
1
0
0
8
0
0
0
0
9
0
0
1
0
10
0 1
0 1
0 1
1 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
0
1
0
0
2
0
1
0
0
5
0
1
0
0
11
1
1
0
0
Присвоенные вершинам графа переходов коды
показаны в следующей таблице:
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1 3 6 7 8 9 10
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
4 2 5 11
а отображенные ребра отмечены на рис. 3
5
4
10
1
11
6
3
8
2
7
9
Рис. 3. Граф переходов
с отображенными ребрами
Окончательный результат выполнения алгоритма иллюстрируется также
рис. 4, где выделены ребра булева четырехмерного куба, на которые отобразились
ребра рассматриваемого графа.
Остались не отображенными на булев гиперкуб четыре ребра графа: 2-6, 3-6,
7-9 и 10-11. Их веса (хэмминговы расстояния между кодами вершин) равны соответственно 4, 2, 2 и 2.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Алгоритм матричного отображения графа на булев куб
99
x1
1
x2
x4
x3
8
4
6
3
5
10
2
9
7
11
Рис. 3. Результат отображения графа на булев куб
Назовем дефектом отображения разность между суммой хэмминговых расстояний на ребрах и числом ребер. В данном примере он равен 6.
Дефект отображения можно снизить полным или рандомизированным перебором вариантов выбора пар параллельных ребер (одно уже отображенное, другое –
свободное). Возможен также перебор на этапе кодирования вершин свободного
ребра – при выборе переменной, по которой коды этих вершин будут соседними с
кодами вершин отображенного ребра.
ЛИТЕРАТУРА
1. Закревский А.Д. Об оптимальном размещении графа в булевом пространстве // Вестник
Томского государственного университета. Приложение. 2005. № 14. С. 13−17.
Закревский Аркадий Дмитриевич
Объединенный институт проблем информатики
НАН Беларуси, г. Минск
E-mail: zakr@newman.bas-net.by
Поступила в редакцию 20 ноября 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
УДК 519.7
Ю.В. Поттосин, Е.А. Шестаков
ПРИМЕНЕНИЕ АППАРАТА ПОКРЫТИЙ ТРОИЧНЫХ МАТРИЦ
ДЛЯ ПОИСКА РАЗБИЕНИЯ МНОЖЕСТВА АРГУМЕНТОВ
ПРИ ДЕКОМПОЗИЦИИ БУЛЕВЫХ ФУНКЦИЙ
Рассматривается задача последовательной двухблочной разделительной декомпозиции системы полностью определенных булевых функций. Предлагается метод поиска разбиения множества аргументов на подмножество связанных и подмножество свободных аргументов. Метод основан на использовании аппарата покрытий троичной матрицы.
Ключевые слова: декомпозиция булевых функций, компактная таблица,
покрытие троичной матрицы.
Задача декомпозиции булевых функций является одной из важных и сложных
задач из области логического проектирования, успешное решение которой непосредственно влияет на качество и стоимость проектируемых цифровых устройств.
Поэтому поиск новых эффективных методов решения этой задачи привлекает
многих исследователей. Как показывает обзор [1], на данную тему написано
большое количество статей. В данной работе рассматривается задача декомпозиции системы булевых функций в следующей постановке. Задана система полностью определенных булевых функций y = f (x), где y = (y1, y2, …, ym), x = (x1, x2,
…, xn), f(x) = (f1(x), f2(x), …, fm(x)). Требуется найти суперпозицию y = ϕ (w, z2),
w = g (z1), где z1 и z2 – векторные переменные, компонентами которых служат соответственно переменные из подмножеств Z1 и Z2, образующих разбиение множества Х = {x1, x2, …, xn}. При этом число компонент векторной переменной w
должно быть меньше, чем у z1. Такой вид декомпозиции назван двухблочной разделительной декомпозицией [2]. Обычно переменные из Z1 называют связанными,
а переменные из Z2 – свободными. В подавляющем большинстве публикаций,
рассматривающих данную задачу, подмножества Z1 и Z2 считаются заданными.
Вопросу поиска разбиения {Z1, Z2}, при котором данная задача имеет решение,
посвящено немного публикаций. Среди работ, где рассматривается данный вопрос, можно назвать работы [1, 3 – 5]. Ниже предлагается метод поиска разбиения
{Z1, Z2} множества аргументов Х, который основан на использовании аппарата
покрытий троичной матрицы [6]. Для этого привлекается также понятие компактной таблицы [6], которая так же, как и карта Карно, является двумерной таблицей,
но представляющей не только одну функцию, но и систему функций в более сжатом виде. По компактной таблице довольно просто определяется существование
решения задачи декомпозиции для заданной системы функций и, если такое решение существует, легко находится соответствующая суперпозиция функций.
1. Основные определения. Постановка задачи
Пусть система полностью определенных булевых функций y = f (x) задана
матрицами U, V, которые являются матричным представлением системы дизъюнктивных нормальных форм (ДНФ) заданных функций [2]. Матрица U является
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Применение аппарата покрытий троичных матриц для поиска разбиения
101
троичной матрицей размерности l × n, где п – число элементарных конъюнкций в
заданных ДНФ. Столбцы матрицы U помечены переменными x1, x2, … , xn, а строки представляют упомянутые элементарные конъюнкции (интервалы пространства переменных x1, x2, … , xn). Матрица V – булева, ее размерность l × т, а столбцы
помечены переменными y1, y2, … , ym. Единицы в этих столбцах указывают элементарные конъюнкции из заданных ДНФ. Строка и троичной матрицы U поглощает булев вектор а, если а принадлежит интервалу, представляемому строкой и.
Обозначим через Z1 и Z2 некоторые подмножества множества Х = {x1, x2, …, xn}
таких, что X = Z1 ∪ Z2 и Z1 ∩ Z2 = ∅. Через z1 и z2 обозначим векторные переменные, компонентами которых служат соответственно переменные из подмножеств
Z1, Z2
Рассматриваемая задача декомпозиции ставится следующим образом: для системы полностью определенных булевых функций y = f (x) требуется найти суперпозицию y = ϕ (w, z2), w = g (z1), в которой число компонент векторной переменной
w должно быть меньше, чем число компонент переменной z1. Основное внимание
в данной работе уделено поиску таких подмножеств Z1 и Z2, при которых данная
задача может иметь решение.
2. Карта покрытия, компактная таблица
Покрытием π некоторого множества L назовем любую совокупность различных подмножеств множества L, объединение которых совпадает с множеством L.
Элементами (блоками) покрытия могут быть как пустое множество, так и само
множество L. Пусть L = {1, 2, ... , l} – множество номеров строк троичной матрицы U. Покрытие π множества L назовем покрытием троичной матрицы U, если
каждому значению x* векторной переменной х в покрытии π соответствует блок,
содержащий номера всех тех и только тех строк матрицы U, которые поглощают
x*. Значению x*, не поглощаемому ни одной строкой матрицы U, соответствует
блок, представляющий собой пустое множество ∅. Другие подмножества множества L не присутствуют в π.
Пусть t(x*, U) – множество номеров тех строк троичной матрицы U, которые
поглощают булев вектор x*. Для каждого блока πj покрытия π определим булеву
функцию πj(x), положив, что для любого x* ∈ {0,1}п выполняется πj(x*) = 1, если
t(x*, U) = πj, и πj(x*) = 0 в противном случае.
Очевидно, покрытие π единственно для конкретной матрицы U. Дизъюнкция
всех булевых функций, приписанных блокам покрытия, равна логической единице, и конъюнкция любых двух булевых функций, приписанных различным блокам
покрытия, равна логическому нулю [6], т. е. эти функции взаимно ортогональны.
Пусть для некоторых матриц U1 и U2 с общим множеством номеров строк L
заданы соответственно покрытия π1 и π2. Сформируем множество λ = {π1i ∩ π2j /
π1i ∈ π1, π2j ∈ π2, π1i(x) ∧ π2j(x) ≠ 0}. Для каждого элемента λ ij = π1i ∩ π2j множества
λ положим λij(x) = π1i(x) ∧ π2j(x). Образуем покрытие π′, взяв в качестве его блоков все различные элементы множества λ. Для всякого блока π′s покрытия π′ определим булеву функцию π′s(x) как дизъюнкцию всех булевых функций, приписанных тем элементам множества λ, которые равны блоку π′s. Покрытие π′ есть
произведение покрытий π1 и π2 (π′ = π1 × π2). Операция произведения дает возможность предложить простой способ вычисления покрытия для троичной матрицы U [6]. Этот способ состоит в получении произведения тривиальных покрытий всех одностолбцовых матриц, представляющих столбцы матрицы U.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Ю.В. Поттосин, Е.А. Шестаков
102
Определим операцию ∨(πi, V) над строками матрицы V, результатом которой
является вектор y* (y* = ∨(πi, V)), получаемый покомпонентной дизъюнкцией
строк матрицы V, номера которых входят в блок πi. Если πi = ∅, то все компоненты вектора y* имеют значение 0. В работе [6] показано, что если πi(x*) = 1, то
f(x*) = y* = ∨(πi, V).
Удобным способом нахождения покрытия троичной матрицы U при небольшом числе аргументов является способ, использующий карту покрытия. Карта
покрытия аналогична карте Карно. Разница состоит в том, что в любой клетке
карты Карно, соответствующей вектору х*, вместо значения y* = f(x*) = ∨(πi, V)
помещается множество πi = t(x*, U).
Пример 1. На рис. 1 представлена некоторая матрица U и ее карта покрытия.
Само покрытие имеет вид π = {π1 = ∅, π2 = {1}, π3 = {2}, π4 = {3}, π5 = {1, 2}}. По
карте покрытия, как по карте Карно, легко получить ДНФ булевых функций
π1(x) =⎯х1⎯х4 ∨⎯х1 х3 ∨ х2⎯х4 ∨ х2 х3, π2(x) =⎯х1⎯х2⎯х3 х4, π3(x) = х1 х2⎯х3 х4, π4(x) = х1⎯х2,
π5(x) =⎯х1 х2⎯х3 х4.
x1 x2
⎡0 −
U= ⎢
− 1
⎢
⎣1 0
x3
0
0
−
x4
1⎤ 1
1⎥ 2
⎥
−⎦ 3
∅
∅
∅
3
∅
∅
∅
3
∅
∅
∅
3
х3
х4
1
1,2
2
3
х2
х1
Рис. 1. Пример карты покрытия троичной матрицы
Пусть пара матриц U, V задает систему полностью определенных булевых
функций y = f (x) и пусть матрица U1 составлена из столбцов матрицы U, помеченных переменными из множества Z1 и матрица U2 – из столбцов, помеченных
переменными из множества Z2. Покрытиями матриц U1 и U2 являются соответственно π1 = {π11, π12, … , π1r} и π2 = {π21, π22, … , π2s}. Построим по покрытиям π1 и
π2 таблицу M. Столбцам этой таблицы припишем блоки π11, π12, … , π1r и булевы
функции π11(z1), π12(z1), … , π1r(z1), а строкам – блоки π21, π22, … , π2s и булевы
функции π21(z2), π22(z2), … , π2s(z2). На пересечении i-го столбца (1 ≤ i ≤ r) и j-й
строки (1 ≤ j ≤ s) таблицы M поместим значение y* = ∨(π1i ∩ π2j, V). Таблица М
является частным случаем компактной таблицы [6]. Она задает систему булевых
функций y = f(x) следующим образом: на любом наборе аргументов x*, обращающем функцию π1i(z1) ∧ π2j(z2) в единицу, значением векторной булевой функции f (x*) является ∨(π1i ∩ π2j, V). Компактная таблица имеет ту же форму, что и
известная карта декомпозиции [1], с той лишь разницей, что строкам и столбцам
карты декомпозиции соответствуют наборы значений аргументов, а строкам и
столбцам компактной таблицы – попарно непересекающиеся множества таких наборов.
Имея компактную таблицу для системы функций y = f (x), легко построить искомые системы y = ϕ(w, z2) и w = g (z1). Столбцы компактной таблицы кодируются
двоичными кодами, причем одинаковые столбцы могут иметь одинаковые коды.
Длина кода равна ⎡log2 r′⎤ , где r′ – число различных столбцов компактной таблицы и ⎡a⎤ – наименьшее целое число, не меньшее а. Таким образом, определена
система функций w = g (z1). Значением векторной переменной w при любом набо-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Применение аппарата покрытий троичных матриц для поиска разбиения
103
ре значений векторной переменной z1, обращающем функцию π1i(z1) в единицу,
является код i-го столбца (1 ≤ i ≤ r). Естественно, что если длина кода не меньше
длины вектора z1, то при данном разбиении {Z1, Z2} множества аргументов Х задача не имеет решения. В противном случае имеющуюся компактную таблицу,
столбцам которой припишем значения переменной w, можно считать формой
представления другой искомой системы функций y = ϕ (w, z2). Значением векторной переменной y при значении переменной w, приписанном i-му столбцу
(1 ≤ i ≤ r), и при любом значении переменной z2, обращающем функцию π2j(z2) в
единицу (1 ≤ j ≤ s), является вектор, присутствующий в компактной таблице на
пересечении i-го столбца и j-й строки.
Пример 2. Пусть система полностью определенных булевых функций y = f (x)
задана парой матриц U, V:
x1 x2 x3 x4 x5
y1 y2
0
0
0
1
−
1
⎡
⎤
⎡1 0 ⎤ 1
⎢0 1 0 0 − ⎥ 2
⎢1 0 ⎥ 2
⎢
⎥
⎢
⎥
0 1 − 0 1⎥ 3
1 0⎥ 3
,
V= ⎢
.
U= ⎢
⎢0 − 0 0 − ⎥ 4
⎢0 1 ⎥ 4
⎢0 0 − 0 1 ⎥ 5
⎢0 1 ⎥ 5
⎢
⎥
⎢
⎥
⎢1 1 0 1 − ⎥ 6
⎢0 1 ⎥ 6
⎣⎢1 1 − 1 1 ⎦⎥ 7
⎣⎢ 0 1 ⎦⎥ 7
При разбиении множества аргументов на подмножества Z1 = {х1, х2, х3} и
Z2 = {х4, х5} получим следующие матрицы:
x1 x2 x3
x4 x5
0
0
0
1
⎡1 − ⎤ 1
⎡
⎤
⎢0 − ⎥ 2
⎢0 1 0 ⎥ 2
⎢
⎥
⎢
⎥
0 1 −⎥ 3
0 1⎥ 3
,
U2 = ⎢
.
U1 = ⎢
⎢0 − ⎥ 4
⎢0 − 0 ⎥ 4
⎢0 1 ⎥ 5
⎢0 0 − ⎥ 5
⎢
⎥
⎢
⎥
⎢1 − ⎥ 6
⎢1 1 0 ⎥ 6
⎣⎢1 1 ⎥⎦ 7
⎣⎢1 1 − ⎦⎥ 7
Для определения длины векторной переменной w в суперпозиции y = ϕ (w, z2),
w = g (z1), где z1 = (х1, х2, х3) и z2 = (х4, х5), находим покрытия троичных матриц U1
и U2: π1 = {∅, {3}, {5}, {7}, {6, 7}, {1, 4, 5}, {2, 3, 4}} и π2 = {{1, 6}, {2, 4},
{1, 6, 7}, {2, 3, 4, 5}}. Соответствующая компактная таблица представлена в виде
табл. 1, которая имеет семь различных столбцов. Ясно, что при заданных множествах Z1 и Z2 данная задача не имеет решения, поскольку для кодирования столбцов компактной таблицы значениями вектора w требуется три переменных, что не
меньше длины вектора z1.
Таблица 1
Компактная таблица для системы функций из примера 1
1,6
2,4
1,6,7
2,3,4,5
∅
00
00
00
00
3
00
00
00
10
5
00
00
00
01
7
00
00
01
00
6,7
01
01
01
00
1,4,5
10
01
10
11
2,3,4
00
11
00
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Ю.В. Поттосин, Е.А. Шестаков
104
3. Поиск разбиения множества аргументов
Для поиска подходящего разбиения множества аргументов, приводящего к
решению задачи декомпозиции системы полностью определенных булевых функций, используем покрытия троичных матриц и порождаемые ими компактные
таблицы.
Ранее было сказано, что получить покрытие троичной матрицы U можно, используя операцию произведения тривиальных покрытий всех одностолбцовых
матриц, представляющих столбцы матрицы U. Покрытие любого столбца троичной матрицы состоит ровно из двух блоков: один из них содержит номера одноэлементных строк, состоящих из нулей и знаков «–», другой – номера строк, состоящих из единиц и знаков «–». Если столбец состоит из одних нулей или из одних единиц, то один из блоков покрытия представляет собой пустое множество.
Таким образом, если матрица U состоит из п столбцов, то ее покрытие π можно
получить как π = π1 × π2 × … × πп, где πi – покрытие i-го столбца (1 ≤ i ≤ п).
Пусть требуется найти небольшое количество свободных переменных, составляющих множество Z2 (тогда множество связанных переменных Z1 определится
как Z1 = Х \ Z2). Для этого используем операцию деления покрытия троичной матрицы на покрытие одного ее столбца.
Определим операцию деления покрытия π троичной матрицы U на покрытие πi
ее i-го столбца как π / πi = π1 × π2 × … × πi – 1 × πi + 1 × … × πп. Эту операцию легко
выполнить с помощью карты покрытия, которая, так же как карта Карно, имеет
оси симметрии, связанные с переменными булева пространства, представляемого
данной картой [2]. Чтобы преобразовать карту покрытия матрицы U в карту покрытия матрицы, получаемой из U удалением i-го столбца, надо совместить попарно элементы, симметричные относительно осей, соответствующих переменной
xi, и значением каждого из полученных элементов карты сделать объединение
множеств из совмещаемых элементов. Полученная карта покрытия представит
искомое покрытие.
Пример 3. Карта покрытия троичной матрицы U из примера 2 представлена на
рис. 2. Покрытием матрицы U является π = {∅, {1}, {3}, {4}, {5}, {6}, {7}, {2, 4},
{4, 5}, {6, 7}, {2, 3, 4}}. Деление покрытия π на покрытие столбца х1 не меняет π,
что видно из карты покрытия, изображенной на рис. 3. Преобразовав эту карту
описанным способом по оси симметрии, связанной с переменной х2, получим
{∅, {7}, {1, 6}, {2, 4}, {3, 5}, {1, 6, 7}, {2, 3, 4, 5}} как результат деления π на покрытия столбцов х1 и х2 (см. рис. 4).
х4
4
2,4
∅
∅
х1
∅
∅
∅
∅
∅
∅
∅
∅
1
∅
6
∅
1
∅
6,7
∅
∅
∅
7
∅
5
3
∅
∅
х5
х3
4,5
2,3,4
∅
∅
х2
Рис. 2. Карта покрытия троичной матрицы U из примера 2
Продолжение примера 3. Сделаем попытку получить декомпозицию заданной системы функций в виде y = ϕ (w, z2), w = g (z1) при Z1 = {х3, х4, х5},
Z2 = {х1, х2} (z1 = (х3, х4, х5), z2 = (х1, х2)). Соответствующая компактная таблица
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Применение аппарата покрытий троичных матриц для поиска разбиения
105
(табл. 2) имеет пять различных столбцов, и так же, как в примере 2, задача декомпозиции для выбранного разбиения аргументов не имеет решения.
Предлагаемый метод поиска подходящего разбиения состоит в выполнении
лексикографического перебора и проверки описанным способом для каждого варианта множества Z2 возможности получения решения рассматриваемой задачи
декомпозиции.
х5
х4
4
2,4
∅
∅
∅
∅
1
6
∅
7
1
6,7
х3
5
3
4,5
2,3,4
х2
Рис. 3. Карта покрытия, полученного от деления π на покрытие столбца х1
х5
х4
2,4
∅
∅
1,6
1,6,7
7
3,5
х3
2,3,4,5
Рис. 4. Карта покрытия, полученного от деления π на покрытия столбцов х1 и х2
Таблица 2
Компактная таблица для разбиения из примера 3
∅
6,7
1,4,5
2,3,4
∅
00
00
00
00
7
00
01
00
00
1,6
00
01
10
00
2,4
00
00
01
11
3,5
00
00
01
10
1,6,7
00
01
10
00
2,3,4,5
00
00
01
11
Пример 4. Пусть задана система полностью определенных булевых функций
из примера 2. Выполняя лексикографический перебор вариантов множества Z2,
состоящего из двух переменных, начиная с варианта из примера 3, убеждаемся,
что первым подходящим вариантом является, Z1 = {x1, x3, x5}, Z2 = {x2, x4}. Для
этого варианта из карты покрытия на рис. 2 получаем карту покрытия, изображенную на рис. 5, а из нее – карту на рис. 6.
х5
х4
2,4
∅
∅
∅
∅
∅
1
6
1
6,7
∅
7
3,5
∅
х3
2,3,4,5
∅
х1
Рис. 5. Карта покрытия, полученного от деления π на покрытие столбца х2
1,2,4
6
∅
∅
3,5
7
х3
1,2,3,4,5
6,7
х5
х2
Рис. 6. Карта покрытия, полученного от деления π на покрытия столбцов х2 и х4
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Ю.В. Поттосин, Е.А. Шестаков
106
Таблица 3
Компактная таблица для разбиения из примера 4
1
4,5
6,7
2,3,4
∅
00
00
00
00
00
6
00
00
01
00
01
7
00
00
01
00
01
3,5
00
01
00
10
10
6,7
00
00
01
00
01
1,2,4
10
01
00
11
11
1,2,3,4,5
10
01
00
11
11
Компактная таблица для покрытий π1 = {∅, {6}, {7}, {3, 5}, {6, 7}, {1, 2, 4},
{1, 2, 3, 4, 5}} и π2 = {{1}, {4, 5}, {6, 7}, {2, 3, 4}} представлена в виде табл. 3, которая имеет четыре различных столбца, для кодирования которых достаточно
двух переменных. Коды столбцов показаны снизу таблицы.
Для построения систем функций y = ϕ (w, z2) и w = g (z1), являющихся решением задачи декомпозиции, требуется получить функции, связанные с блоками полученных покрытий. ДНФ функций, связанных с блоками покрытия π1, можно
получить по карте покрытий на рис. 6: π11(z1) = х3⎯х5, π12(z1) = х1⎯х3⎯х5,
π13(z1) = х1 х3 х5, π14(z1) =⎯х1 х3 х5, π15(z1) = х1⎯х3 х5, π16(z1) =⎯х1⎯х3⎯х5, π17(z1) =
=⎯х1⎯х3 х5. Аналогично получаются функции π21(z2) =⎯х2 х4, π22(z2) =⎯х2⎯х4,
π23(z2) = х2 х4, π24(z2) = х2⎯х4. В результате несложной минимизации получим следующие матрицы, представляющие искомую суперпозицию y = ϕ (w, z2), w = g (z1):
w1 w2 x2 x4 y1 y2
x1 x3 x5 w1 w2
⎡1 1 0 1 ⎤ ⎡ 1 0 ⎤
⎢0 1 1 1 ⎥ ⎢0 1 ⎥
⎡ 0 0 − ⎤ ⎡1 0 ⎤
⎥;
⎢
⎥, ⎢
⎢ − 0 0 ⎥ , ⎢0 1 ⎥ .
⎢1 − 1 0 ⎥ ⎢ 1 0 ⎥
⎢
⎥ ⎢
⎥
⎢1 − 0 0 ⎥ ⎢ 0 1 ⎥
⎣ 1 − 1 ⎦ ⎣0 1 ⎦
⎢⎣1 1 − 0 ⎥⎦ ⎢⎣ 0 1 ⎥⎦
Если задаться целью минимизировать длину вектора w, то следует продолжить
поиск. В данном примере уменьшить длину w не удается, но есть еще один вариант: Z2 = {x3, x5}, Z1 = {x1, x2, x4}, при котором длина вектора w также равна двум.
Заключение
Предложенный метод поиска разбиения множества аргументов при декомпозиции системы булевых функций не исключает полного перебора различных
вариантов разбиений, но использование покрытий троичных матриц и связанного
с ними представления системы булевых функций в виде компактной таблицы
позволяет довольно просто вести проверку пригодности разбиений для декомпозиции.
ЛИТЕРАТУРА
1. Perkowski M.A., Grygiel S. A survey of literature on functional decomposition. Version IV
(Technical report). – Portland (USA): Portland State University, Department of Electrical Engineering, 1995. 188 p.
2. Закревский А.Д., Поттосин Ю.В., Черемисинова Л.Д. Логические основы проектирования дискретных устройств. М.: Физматлит, 2007. 592 с.
3. Jóźwiak L., Chojnacki A. An effective and efficient method for functional decomposition of
Boolean functions based on information relationship measures // Design and Diagnostics of
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Применение аппарата покрытий троичных матриц для поиска разбиения
107
Electronic Circuits and Systems: Proc. of 3rd DDECS Workshop Smolenice castle, Slovakia,
April 5 – 7, 2000. – Bratislava: Institute of Informatics, Slovak Academy of Sciences, 2000.
P. 242−249.
4. Закревский А.Д. Декомпозиция частичных булевых функций – проверка на разделимость
по заданному разбиению // Информатика. 2007. № 1(13). С. 16−21.
5. Бибило, П.Н. Декомпозиция булевых функций на основе решения логических уравнений. Минск: Беларус. навука, 2009. 211 с.
6. Поттосин Ю.В., Шестаков Е.А. Табличные методы декомпозиции систем полностью
определенных булевых функций. Минск: Белорус. наука, 2006. 327 с.
Поттосин Юрий Васильевич
Шестаков Евгений Анатольевич
Объединенный институт проблем информатики
НАН Беларуси, г. Минск
E-mail: pott@newman.bas-net.by
Поступила в редакцию 10 ноября 2010 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Н.В. Шабалдина
108
УДК 519.713.1; 519.718.7
Н.В. Шабалдина
ИССЛЕДОВАНИЕ ОТНОШЕНИЯ НЕРАЗДЕЛИМОСТИ
ДЛЯ НЕДЕТЕРМИНИРОВАННЫХ АВТОМАТОВ С ТАЙМ-АУТАМИ
В статье исследуется отношение неразделимости для недетерминированных
автоматов, в которых каждое состояние может обладать целочисленной задержкой (тайм-аутом). Если тайм-аут заканчивается и на автомат не было
подано ни одного входного символа, то автомат изменяет свое состояние согласно переходу по этой временной задержке. Предлагается алгоритм построения разделяющей последовательности для таких автоматов, т.е. такой
временной входной последовательности, на которую множества выходных
последовательностей автоматов не пересекаются, и соответственно достаточно подать разделяющую последовательность на эти автоматы один раз,
чтобы по выходной реакции различить их.
Ключевые слова: недетерминированные автоматы с тайм-аутами, временная входная последовательность, отношение неразделимости, разделяющая последовательность.
В статье рассматривается одна из модификаций классической модели конечного автомата [1] – модель с тайм-аутами [2 – 4], которую в рамках данной работы
мы будем называть временным автоматом. В этой модели, как и в модели конечного автомата, есть состояния, входные символы, выходные символы; переходы
из состояния в состояние могут осуществляться при подаче входного символа и
сопровождаются выдачей выходного символа и, кроме того, возможны переходы
по временным задержкам (тайм-аутам), т.е. по прошествии некоторого времени,
если в течение этого времени на автомат не поступил ни один входной символ.
При переходе по тайм-ауту на автомат не поступают внешние воздействия, и эта
дополнительная возможность позволяет более полно описать поведение многих
современных технических систем. В качестве примера можно привести сотовый
телефон, у которого по истечению некоторого времени гаснет экран, mp3-плеер и
другие системы.
Для временных автоматов только начаты исследования различных отношений
конформности [3]. Эти отношения и их свойства во многом заимствуются из теории конечных автоматов. Отношение неразделимости [5, 6], исследуемое в данной статье, также было введено изначально для конечных автоматов, а именно,
для автоматов с недетерминированным поведением. Данное отношение замечательно тем, что при тестировании не требуется выполнения «всех погодных условий», т.е. необходимости подавать каждую тестовую последовательность до тех
пор и при таких условиях, чтобы пронаблюдать все выходные последовательности системы на поданную входную последовательность. На практике затруднительно обеспечить выполнение такого предположения, и поэтому построение тестов с использованием отношения неразделимости актуально для моделей недетерминированных конечных автоматов [5, 6] и их модификаций [3, 4]. В данной
работе предлагается алгоритм построения разделяющей последовательности для
временных автоматов с тайм-аутами, на основе которого можно построить пол-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Исследование отношения неразделимости для недетерминированных автоматов
109
ный проверяющий тест относительно неразделимости при явном перечислении
всех неисправностей.
1. Основные определения и обозначения
В данной работе временным автоматом (автоматом с тайм-аутами) называется шестерка A = (S, I, O, s0, λA, ∆A), где S – конечное непустое множество состояний с выделенным начальным состоянием s0, I и O – конечные непересекающиеся
входной и выходной алфавиты, λA ⊆ S × I × O × S – отношение переходов. Функция ∆A: S → S × ( Ν ∪ {∞}), где Ν − множество натуральных чисел, есть функция
задержки, определяющая для каждого состояния тайм-аут, т.е. время ожидания
входного символа без изменения состояния, причём если для некоторого состояния s имеет место ∆A(s) = (s', ∞), то s = s'. Таким образом, классический конечный автомат [1], в том числе недетерминированный [5, 6], можно рассматривать как временной автомат, в котором для всех состояний s ∈ S имеет место
∆A(s) = (s, ∞), т.е. конечный автомат, в отличии от временного, сколь угодно долго
ожидает входного символа, не изменяя при этом текущее состояние.
Временному автомату ставится в соответствие внутренняя переменная (часы),
принимающая целые неотрицательные значения и указывающая время, прошедшее с момента достижения текущего состояния [2 – 4] (или с момента выдачи последнего выходного символа). Если (s, i, s', o) ∈ λA, то автомат A в состоянии s
на входной символ i может выдать выходной символ o и изменить своё состояние на s', причем после этого соответствующая временная переменная принимает значение 0. В данной работе мы не рассматриваем задержки выходных
символов, т.е. полагаем, что временной автомат выдаёт выходной символ в тот
же самый момент, когда принимает входной символ и, возможно, меняет своё
состояние.
Если для каждой пары (s, i) ∈ S × I существует не более одной пары
(o, s′) ∈ O × S, такой, что (s, i, o, s′) ∈ λA, то временной автомат A называется детерминированным; иначе временной автомат называется недетерминированным.
Если для каждой пары (s, i) ∈ S × I существует, по крайней мере, одна пара
(o, s′) ∈ O × S, такая, что (s, i, o, s′) ∈ λA, то S называется полностью определенным. Временной автомат A называется наблюдаемым, если для любой тройки
(s, i, o) ∈ S × I × O существует не более одного состояния, такого, что
(s, i, o, s′) ∈ λA.
Временной входной символ есть пара 〈i, t〉 ∈ I × Ζ0+ , где Ζ0+ – множество целых неотрицательных чисел; временной входной символ 〈i, t〉 показывает, что
входной символ i подается в момент, когда значение временной переменной
равно t. Последовательность 〈i1, t1〉〈i2, t2〉…〈il, tl〉 временных входных символов
называется временной входной последовательностью длины l.
Для того чтобы расширить отношение переходов временного автомата на
временные входные символы, введем специальную функцию timeA: S × Ζ0+ → S,
позволяющую определить по текущему состоянию автомата состояние автомата в
момент времени, когда значение временной переменной равно t [4]. Для определения значения функции timeA(s, t) рассмотрим последовательность тайм-аутов
∆A(s) = (s1, T1), ∆A(s1) = (s2, T2), …, ∆A(sp-1) = (sp, Tp), такую, что T1 + T2 +…+ Tp-1 ≤ t,
но T1 + T2 + … + Tp > t. В этом случае timeA(s, t) = sp-1. Если ∆A(s) = (s, ∞), то
timeA(s, t) = s для каждого значения переменной t. Для каждого временного вход-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
110
Н.В. Шабалдина
ного символа 〈i, t〉 к отношению λA добавляется переход (s, 〈i, t〉, s', o), если и
только если (timeA(s, t), i, s', o) ∈ λA.
Множество всех входных временных последовательностей обозначается It*.
Для полностью определенного временного автомата A функция outS, отображающая множество S × It* во множество выходных последовательностей, т.е.
outA(s, α): S × It* → O*, вводится следующим образом. Для состояния s и временной входной последовательности α = 〈i1, t1〉 … 〈il, tl〉 последовательность
o1 … ol ∈ outS(s, α), если существуют состояния s1 = s, …, sl+1, такие, что для каждого j ∈ {1, …, l} временной автомат A имеет временной переход (sj, 〈ij, tj〉, oj, sj+1),
и будем говорить в этом случае, что пара (α, outA(s, α)) может перевести автомат
A из состояния s в состояние sl+1. Пара «временная_входная_последовательность_α / выходная_последовательность_β» называется временной входо-выходной последовательностью или временной трассой временного автомата A в состоянии s, если β ∈ outA(s, α). Можно сказать, что временные трассы характеризуют функциональное поведение временного автомата (относительно временных
входных последовательностей).1 Множество всех функциональных трасс в начальном состоянии автомата A обозначим TTrA.
Состояние s' называется 〈i, t〉/o-преемником состояния s, если (s, 〈i, t〉, s', o)
∈ λA. Состояние s в этом случае называется 〈i, t〉/o-предшественником состояния
s'. Соответственно любой 〈i, t〉/o-преемник состояния s (〈i, t〉/o-предшественник
состояния s') можно рассматривать как просто 〈i, t〉-преемник состояния s
(〈i, t〉-предшественник состояния s'). Множество всех 〈i, t〉/o-преемников состояния
s будем обозначать sucA(s, 〈i, t〉, o), множество всех 〈i, t〉-преемников состояния s
будем обозначать sucA(s, 〈i, t〉), и в обоих случаях для краткости символ 〈i, 0〉 будем заменять символом i.
Если временной автомат A детерминированный, то для каждого состояния s и
каждой временной входной последовательности α множество outA(s, α) содержит
не более одного элемента. Для полностью определенного временного автомата A
множество outA(s, α) не является пустым для любых s ∈ S, α ∈ It*.
Пусть A = (S, I, O, s0, λA, ∆A) и B = (P, I, O, p0, λB, ∆B) – полностью определенные автоматы с тайм-аутами. Автомат B называется редукцией автомата A, если
TTrB ⊆ TTrA; если TTrB ⊄ TTrA, то автомат B не является редукцией автомата A.
Временные автоматы A и B называются неразделимыми, если выходные реакции
автоматов на любую временную входную последовательность α пересекаются,
т.е. outA(s0, α) ∩ outB(p0, α) ≠ ∅; в противном случае автоматы называются разделимыми. Временная входная последовательность α, такая, что outA(s0, α) ∩
outB(p0, α) = ∅, называется разделяющей последовательностью для временных автоматов A и B.
Пересечением A ∩ B называется наибольший связный подавтомат C = (Q, I, O,
q0, λC, ∆C) автомата (R, I, O, q0, λC, ∆C), в котором R = S × K × P × K, где
K = {0, …, k}, k = min(max∆A(s), max∆B(p)), начальное состояние есть четверка
(s0, 0, p0, 0) и отношение переходов λC и функция ∆C определены по следующим
правилам [3]:
1. Отношение переходов λC содержит четверку [(s, k1, p, k2), i, o, (s′, 0, p′, 0)],
если и только если (s, i, o, s′) ∈ λA и (p, i, o, p′) ∈ λB.
1
В данной статье при определении временных трасс мы опускаем слово «функциональная», поскольку
не рассматриваем задержки выходных символов.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Исследование отношения неразделимости для недетерминированных автоматов
111
2. ∆C((s, k1, p, k2)) = [(s′, k1′, p′, k2′), k], где k = min( ∆ A ( s )↓ Ν − k1 , ∆ B ( p)↓ Ν − k2 ).
Состояние
∆ B ( p )↓ Ν = ∞,
(s′, k1′, p′, k2′) = (∆A(s)↓S, 0, ∆B(p)↓P, 0),
или
( ∆ B ( p)↓ Ν − k2 ) ∈ Z+
( ∆ A ( s )↓ Ν − k1 ) = ( ∆ B ( p)↓ Ν − k2 )).
и
( ∆ A ( s )↓ Ν = ∞
если
Если
( ∆ A ( s )↓ Ν − k1 ) < ( ∆ B ( p)↓ Ν − k2 ),
или
( ∆ A ( s )↓ Ν − k1 ) ,
то
состояние
(s′, k1′, p′, k2′) = (∆A(s)↓S, 0, p, k2 + k).
Если ( ∆ A ( s )↓ Ν − k1 ) , ( ∆ B ( p)↓ Ν − k2 ) ∈ Z+ и ( ∆ A ( s )↓ Ν − k1 ) > ( ∆ B ( p)↓ Ν − k2 ),
то состояние (s′, k1′, p′, k2′) = (s, k1 + k, ∆B(p)↓P, 0).
Алгоритм 1
П остроение пересечения двух полностью определенных временных автоматов
Вход: Временные автоматы A = (S, I, O, s0, λA, ∆A) и B = (P, I, O, p0, λB, ∆B).
Выход: Пересечение C = (Q, I, O, q0, λC, ∆C).
1: Добавить в первоначально пустое множество Q состояние q0 = (s0, 0, p0, 0);
2: Пока во множестве Q есть нерассмотренные состояния;
3:
Для каждого нерассмотренного состояния q=(s, k1, p, k2) из множества Q;
4:
Для каждой пары i/o определить множество состояний Q' и пополнить множество переходов λC, добавляя состояние q'=(s', 0, p', 0) в Q' и переход [(s, k1, p,
k2), i, o, (s', 0, p', 0)] в λC ⇔ ( s , i , s', o) ∈ λA и ( p , i , p ', o) ∈ λB ;
5:
Q := Q ∪ Q' ;
6:
Если ( ∆A(s)↓( N ∪ {∞}) ≠ ∞ или ∆B(p)↓( N ∪ {∞}) ≠ ∞ ), то выполнять:
k := min( ∆ A ( s )↓ Ν − k1 , ∆ B ( p )↓ Ν − k2 );
7:
Если (∆A(s)↓( N ∪ {∞}) = ∞ или ∆B(p)↓( N ∪ {∞}) = ∞ или
( ∆ A ( s )↓ Ν − k1 ) = ( ∆ B ( p )↓ Ν − k2 ) ),
8:
9:
10:
то q' := (∆A (s), 0, ∆B (p), 0);
Иначе
если ( ∆ A ( s )↓ Ν − k1 ) < ( ∆ B ( p )↓ Ν − k2 ),
то q' := (∆A(s)↓S, 0, p, k2 + k);
11:
если ( ∆ A ( s )↓ Ν − k1 ) > ( ∆ B ( p )↓ Ν − k2 ),
то q' := (s, k1 + k, ∆B(p)↓P, 0);
12:
Доопределить функцию ∆C: ∆C(q) = (q', k); Q := Q ∪ { q'};
13: Автомат C = (Q, I, O, q0, λC, ∆C) – искомый автомат A ∩ B; Конец.
На рис. 1 приведены два временных автомата A и B, на рис. 2 – автоматпересечение A ∩ B.
Рис. 1. Временные автоматы A и B
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
112
Н.В. Шабалдина
Рис. 2. Автомат A ∩ B
2. Построение разделяющей последовательности
для полностью определенных временных автоматов
Разделяющая последовательность для временных автоматов A и B строится на
основе дерева преемников пересечения A ∩ B . Если автоматы A и B не являются
разделимыми, то на выходе алгоритма выдается соответствующее сообщение.
Алгоритм 2
Построение разделяющей последовательности
для двух полностью определенных временных автоматов
Вход: Полностью определенные временные автоматы
A = (S, I, O, s0, λA, ∆A) и B = (P, I, O, p0, λB, ∆B).
Выход: Разделяющая последовательность для автоматов A и B (если автоматы A и B разделимы) или сообщение, что автоматы A и B неразделимы.
1: Построить пересечение C = A ∩ B;
2: Если C – полностью определенный автомат, то
выдать сообщение «автоматы A и B неразделимы»; Конец.
3: k: = 0; Edge: = ∅; Q k 0 : = {〈q0, 0〉}; Q k : = {Q k 0 };
4: Пока не выполнится одно из следующих правил усечения дерева преемников:
5: Правило 1: для некоторого множества Q k j ∈ Q k , j ≥ 0, существует входной символ isep такой, что для каждого состояния q, 〈q, t〉 ∈ Q k j , переход из q по входному символу
i-sep не определен;
6: Или
7: Правило 2: для каждого множества Q k j ∈ Q k существует Q a m ∈ Q a , a < k, такое, что
Qkj⊇ Qam;
8: выполнять:
9:
Q k + 1 : = ∅;
Для каждого подмножества Q k j ∈ Q k , j = 0, ..., |Q k |-1, для которого не существует
10:
Q a m ∈ Q a , a < k, такого, что Q k j ⊇ Q a m , выполнять:
11:
Для каждого входного символа i
12:
Построить множество M : = ∪ sucC (q↓Q , i ) × {0} ;
q∈Qkj
13:
Q k + 1 = Q k + 1 ∪ M ; добавить тройку (Q k j , i, M) во множество Edge;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Исследование отношения неразделимости для недетерминированных автоматов
14:
15:
113
Если не для всех q, 〈q, t〉 ∈ Q kj , (∆C(q))↓( N ∪ {∞}) = ∞, то определить для множества Q k j = {〈q1, t1〉, 〈q2, t2〉,…,〈qr, tr〉} минимальную задержку T и множество
преемников R по этой задержке следующим образом:
T := min{Tu − tu } , где Tu = (∆C(qu))↓( N ∪ {∞});
1≤ u ≤ r
R := {〈q1', t1'〉, 〈q2', t2'〉,…,〈qr', tr'〉},
где для всех u ∈ {1, …, r}
qu' = timeC(qu, tu + T);
Если (Tu = ∞ или Tu = tu + T), то tu' = 0;
Если (Tu > tu + T), то tu' = tu + T;
17:
Q k + 1 = Q k + 1 ∪ R ; добавить тройку (Q k j , T, R) во множество Edge;
18:
k:=k+1;
19: Если выполнилось Правило 2 усечения дерева преемников, то выдать сообщение «автоматы A и B неразделимы», Конец.
20: Построить последовательность ребер (Q 0 0 , g1, Q1 j ), ( Q1 j , g2, Q2 j ), …, ( Q( k −1) j ,
16:
1
1
2
k −1
gk, Qk jk ), такую, что для множества Qk jk выполнилось Правило 1 усечения дерева
преемников, ( Q(l −1) jl −1 , gl, Ql jl ) ∈ Edge для каждого l ∈ {1, …, k}, и gl ∈ {I ∪ Ν }.
21: По построенной последовательности ребер выписать последовательность g1g2…gk из
входных символов и временных задержек.
22: Построить временную входную последовательность α = <i1, t1> … <im, tm> следующим
образом:
j := 0; Tj := 0; r := 0;
23:
Пока (j ≤ k)
24:
Если gj ∈ I, то ir := gj , tr := Tj , r := r+1, Tj := 0;
25:
иначе Tj := Tj + gj ;
26:
j := j+1;
27:
28:
m := r; ir := i-sep , tr := Tj ;
29: Последовательность α = <i1, t1> … <im, tm> − искомая разделяющей последовательностью для автоматов A и B, Конец.
Теорема. Если алгоритм 2 возвращает входную последовательность α, то α
есть разделяющая последовательность для автоматов A и B. Если алгоритм 2 выдает сообщение «автоматы A и B неразделимы», то автоматы A и B не являются
разделимыми.
Доказательство. Алгоритм 2 является модификацией алгоритма построения
разделяющей последовательности для классических конечных автоматов, который был предложен в работе [6]. Внесенные изменения связаны с особенностью
модели временного автомата с задержками, а именно, с переходами по временным задержкам, в связи с чем некоторые состояния временного автомата могут
быть достигнуты только по таким переходам. Поэтому в данном алгоритме вершинам дерева соответствуют не подмножества состояний автомата-пересечения, а
подмножества пар <состояние, время>.
При переходе по обычным входным символам значение времени в парепреемнике <состояние, время> обнуляется. При переходе по временным задержкам временное значение накапливается, пока не будет достигнуто или превышено
значение задержки, по которой в автомате-пересечении есть переход из данного
состояния. Таким образом, в дереве, которое строится в алгоритме, добавляются
дуги по минимальным временным задержкам (строки 14 – 17 алгоритма). Можно
видеть, что для множества Q k j пар <состояние, время> текущей вершины опреде-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
114
Н.В. Шабалдина
ляется минимальная временная задержка. Вычисление множества преемников по
этой задержке осуществляется так же, как при построении пересечения автоматов.
Внесение данного дополнения в алгоритм связано с тем, что пара временных автоматов может быть разделима по временной входной последовательности, т.е.
прежде, чем подать входной символ, необходимо выждать некоторое время, для
того, чтобы автомат-пересечение достиг нужного подмножества состояний. Причем дуге, помеченной входным символом, может предшествовать последовательность из нескольких дуг, помеченных временными задержками.
Согласно алгоритму, если для некоторой вершины, помеченной множеством
Qk jk , выполнилось Правило 2 усечения дерева преемников, то это означает, что
нет нераскрытых вершин, не объявленных листьями, и множество пар <состояние, время> в каждой усеченной вершине дерева содержат в себе множество пар
некоторой вершины на одном из предшествующих ярусов дерева, а значит, из такой вершины не может быть построена ветвь, соответствующая разделяющей последовательности.
Если же для некоторой вершины, помеченной множеством Qk jk , выполняется
Правило 1 усечения дерева преемников, то в строках 22 – 28 последовательность
α собирается по ветви дерева, ведущей из корня в данную вершину. При этом
временной входной символ формируется в результате суммирования всех задержек до очередного входного символа. Поскольку Правило 1 усечения дерева преемников перешло из алгоритма работы [6] без изменений, а переходы по временным задержкам из множеств пар <состояние, время> формируются согласно правилам, регламентированным при определении совместного поведения временных
систем (а именно, при построении пересечения), то последовательность α будет
разделяющей последовательностью для автоматов A и B. ■
Пример. Для иллюстрации алгоритма 2 рассмотрим автоматы A и B на рис. 1.
Автомат A ∩ B показан на рис. 2. По определению, множество Q 0 = {Q 0 0 }, где
Q 0 0 = { 〈 (a , 0, c , 0), 0〉 }. При k = 0 мы получаем Q1 = {Q10 = { 〈 (a , 0 , c , 0 ) , 0〉
}, Q11 = { 〈 (b, 0, c , 0), 0 〉 } , Q12 = { 〈 (a , 0 , d , 0), 0〉 } }, множество Edge = {
(Q 0 0 , i1, Q10 ), (Q 0 0 , i2, Q11 ), (Q 0 0 , 3, Q12 ) }. При k = 1 мы получаем
Q2 = {Q20 = { 〈 (b , 0, c , 0), 0 〉 }, Q21 = { 〈 (a , 0 , c , 0), 0〉 } , Q22 = { 〈 (b , 3 , d ,
0 ) , 0〉 }, Q23 = { 〈 (b , 0, c , 0 ), 0〉, 〈 (b , 0 , d, 0), 0 〉} , Q24 = { 〈 (a , 0 , c , 0 ) , 0〉,
〈 (b , 0, d , 0), 0 〉 } }, множество Edge = {(Q 0 0 , i1, Q10 ), (Q 0 0 , i2, Q11), (Q 0 0 , 3, Q12),
(Q 1 1 , i1, Q20 ), (Q 1 1 , i2, Q21), (Q 1 1 , 3, Q22), (Q 1 2 , i1, Q23 ), (Q 1 2 , i2, Q24)}.
Можно видеть, что поведение автомата A ∩ B не определено в каждом состоянии множества Q22 по входному символу i-sep = i1. Таким образом, временная
входная последовательность <i2, 0> <i1, 3> разделяет автоматы A и B.
В связи с тем, что при существовании разделяющей последовательности построение дерева прекращается, как только допустимо усечение по Правилу 1, последовательность (если существует) не обязательно будет кратчайшей по числу
временных входных символов. Может оказаться, что если продолжать «тянуть»
другие ветки дерева и вновь дойти до усечения по Правилу 1, то получим
более длинную последовательность дуг (Q 0 0 , g1, Q1 j1 ), ( Q1 j1 , g2, Q2 j2 ), …,
( Q( k −1) jk −1 , gk, Qk jk ), но ей будет соответствовать более короткая временная последовательность (по числу входных символов), поскольку большее число дуг
было помечено временными задержками.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Исследование отношения неразделимости для недетерминированных автоматов
115
Заключение
В работе представлено исследование отношения неразделимости для автоматов с тайм-аутами и предлагается алгоритм построения разделяющей последовательности для двух таких автоматов. Следует заметить, что построенная по данному алгоритму разделяющая последовательность не обязательно будет разделяющей последовательностью минимальной длины (по числу временных входных
символов) для данной пары автоматов. Для нахождения разделяющей последовательности минимальной длины нужно при усечении дерева преемников по Правилу 1 запоминать построенную последовательность, но не прекращать дальнейших построений; затем выбрать самую короткую из множества построенных последовательностей.
Рассмотренная в работе модель временного автомата является упрощенным
вариантом модели временного автомата, введенной в [2 ], поскольку в ней отсутствуют задержки по выходным символам. Однако предложенный алгоритм построения разделяющей последовательности может служить основой при анализе
отношения неразделимости для «полноценного» варианта временного автомата.
Развитием данного исследования может также стать разработка методов построения полных проверяющих тестов для временных автоматов относительно неразделимости.
ЛИТЕРАТУРА
1. Гилл А. Введение в теорию конечных автоматов. М.: Наука, 1966. 272 с.
2. Merayo M.G. Formal testing from timed finite state machines // Computer Networks. 2008.
V. 52 Nо. 2. P. 432−460.
3. Громов М.Л., Евтушенко Н.В. Синтез различающих экспериментов для временных автоматов // Программирование. 2010. № 4. С. 1−11.
4. Zhigulin M., Maag S., Cavalli A, Yevtushenko N. FSM-based test derivation strategies for systems with time-outs // Proc. conf. QSIC’2011. 2011.
5. Starke P. Abstract automata. American Elsevier, 1972. 419 p.
6. Spitsyna N., El-Fakih K., Yevtushenko N. Studying the Separability Relation between Finite
State Machines // Software Testing, Verification and Reliability. 2007. V. 17(4). P. 227−241.
Шабалдина Наталия Владимировна
Томский государственный университет,
E-mail: NataliaMailBox@mail.ru
Поступила в редакцию 31 марта 2011 г.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011
Управление, вычислительная техника и информатика
№ 3(16)
СВЕДЕНИЯ ОБ АВТОРАХ
БАБАНОВ Алексей Михайлович – доцент, кандидат технических наук, доцент кафедры
программной инженерии факультета информатики Томского государственного университета. E-mail: babanov2000@mail2000.ru
ВОРОБЕЙЧИКОВ Сергей Эрикович − профессор, доктор физико-математических наук,
профессор кафедры высшей математики и математического моделирования факультета
прикладной математики Томского государственного университета. E-mail: sev@mail.tsu.ru
ДОМБРОВСКИЙ Владимир Валентинович – профессор, доктор технических наук, зав.
кафедрой математических методов и информационных технологий в экономике экономического факультета Томского государственного университета. E-mail: dombrovs@ef.tsu.ru
ДРУЖИНИН Денис Вячеславович − аспирант кафедры теоретических основ информатики факультета информатики Томского государственного университета. E-mail: dendru@
rambler.ru
ЗАКРЕВСКИЙ Аркадий Дмитриевич − член-корреспондент НАН Беларуси, профессор,
доктор технических наук, главный научный сотрудник Объединенного института проблем
информатики НАН Беларуси (г. Минск). E-mail: zakr@newman.bas-net.by
ЕСИНА Зоя Николаевна – кандидат технических наук, доцент кафедры вычислительной
математики Кемеровского государственного университета. E-mail: ezn2@rambler.ru
КОРЧУГАНОВА Маргарита Рашидовна – старший преподаватель кафедры вычислительной математики Кемеровского государственного университета. E-mail: markarina@
mail.ru
КУРНОСОВ Михаил Георгиевич − кандидат технических наук, доцент кафедры вычислительных систем Сибирского государственного университета телекоммуникаций и информатики, младший научный сотрудник лаборатории вычислительных систем Института
физики полупроводников им. А.В. Ржанова СО РАН (г. Новосибирск). E-mail: mkurnosov
@gmail.com
ЛАПАТИН Иван Леонидович − аспирант факультета прикладной математики и кибернетики Томского государственного университета. E-mail: ilapatin@mail.ru
МАТАНОВ Шерали Маматжанович − стажер Томского государственного университета
(грант РФФИ №11-01-90900_моб_снг_ст). E-mail: sheralimatanov@yahoo.com
МУРАШКИН Виталий Васильевич – соискатель кафедры вычислительной математики
Кемеровского государственного университета, руководитель репрезентативного бюро
«Weishaupt». E-mail: zitner@mail.ru
НАЗАРОВ Анатолий Андреевич – профессор, доктор технических наук, заведующий кафедрой теории вероятностей и математической статистики факультета прикладной математики и кибернетики Томского государственного университета. Е-mail: anazarov@fpmk.
tsu.ru
ОБЪЕДКО Татьяна Юрьевна – аспирантка факультета прикладной математики и кибернетики Томского государственного университета. E-mail: tani4kin@mail.ru
ПАЗНИКОВ Алексей Александрович − магистрант кафедры вычислительных систем
Сибирского государственного университета телекоммуникаций и информатики (г. Новосибирск). E-mail: apaznikov@gmail.com
ПОТТОСИН Юрий Васильевич − доцент, кандидат физико-математических наук, ведущий научный сотрудник Объединенного института проблем информатики НАН Беларуси
(г. Минск). E-mail: pott@newman.bas-net.by
СЕРГЕЕВА Екатерина Евгеньевна − аспирантка факультета прикладной математики и
кибернетики Томского государственного университета. E-mail: sergeeva_e_e@mail.ru
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Сведения об авторах
117
СМАГИН Валерий Иванович – профессор, доктор технических наук, профессор кафедры
прикладной математики факультета прикладной математики и кибернетики Томского государственного университета. Е-mail: vsm@mail.tsu.ru
СМАГИН Сергей Валерьевич − кандидат технических наук, инженер Сибирского физико-технического института им. акад. В.Д. Кузнецова Томского государственного университета. E-mail: ssv@fpmk.tsu.ru
ТАРКОВ Михаил Сергеевич − доцент, кандидат технических наук, старший научный сотрудник лаборатории физических основ интегральной микроэлектроники Института физики
полупроводников им. А.В. Ржанова СО РАН (г. Новосибирск). E-mail: tarkov@isp.nsc.ru
ШАБАЛДИНА Наталия Владимировна − доцент, кандидат технических наук, старший
научный сотрудник молодежного центра Томского государственного университета, доцент
кафедры информационных технологий в исследовании дискретных структур Томского государственного университета. E-mail: NataliaMailBox@mail.ru
ШУМИЛОВ Борис Михайлович − профессор, доктор физико-математических наук, профессор кафедры вычислительной математики и компьютерного моделирования механикоматематического факультета Томского государственного университета. E-mail: b_shumilov
@math.tsu.ru
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
TOMSK STATE UNIVERSITY
2011
Journal of Control and Computer Science
No. 3(16)
PAPER REFERATS
Babanov Alexey M. (Tomsk State University). Semantic method of database designing and its
prospects opening with application of the ERM data model.
Keywords: semantic method, designing of databases, semantic data model, ERM-model.
The problem under investigation is database schemas designing. A classical method of relations decomposition is one of approaches to the decision of this problem. It is characterized by
such negative factors, as nonconventional for the majority of people way of perception and formalization, practical inapplicability for complex data domains and ambiguity of the problem decision.
Research of a DB designing problem has led to introducing of semantic data models which
provide high-level formal representation of a data domain. They should remove the first two
drawbacks of a classical method – unnaturalness of representations for the person and inapplicability for complex data domains.
But, as commercial DBMS are not going to support directly semantic data models, translation
of DB schemas from language of these models to DBMS’s language and first of all – relational
one is needed. Practically when the first publications on ER-model were published the basic steps
of a semantic method of relational DB designing began to appear.
An application of a semantic method of relational DB designing depends on two factors –
apart from knowledge and skills of the person, – expressive means capacity of semantic model in
use and the comprehensive semantic DB schemas analysis in the rules of translation being applied.
An ideal application of a semantic method is characterized by the following features.
1. At the stage of initial data domain descriptions formalization within the framework of semantic model the data scheme should incorporate definitions of all basic concepts and all the laws
of relations between them. The ideal semantic data domain scheme should contain its complete
formal description so that all subsequent intermodelling scheme transformations may have only
syntactic character and consequently the repeated analysis of a data domain semantics and work
with texts in a natural language will not be necessary.
2. The rules of scheme transformation used in a method should be so accurate as to take account of every element of the semantic scheme. Therefore DBMS-oriented scheme proves to be
ideal from all points of view.
The application of semantic data model «Entity – Relationship – Mapping» in combination
with elaborated rules of scheme translation gives almost ideal semantic method of relational DB
designing. Its implementation in CASE-tool will reduce the problem of designing to ERMscheme construction and application of automatic transformation means.
Druzhinin Denis V. (Tomsk State University). Composite algorithm for screen video key
frames compression.
Keywords: screen video, image compression, fast compression algorithms.
Screen video is one of the video data types, which must be compressed in real-time mode.
Often it is necessary to compress screen video in background mode at that. There is a necessity in
fast image compression algorithms, because during video compression key frames are encoded
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Paper referats
119
independently. Screen video frames are referred to discrete-tone images. As a rule algorithms
without information loss are used to compress such images, because while compressing such images even a small information loss percent can result in significant visual image degradation. RLE
and family of LZ algorithms can be referred to such algorithms. LZO is actively used in screen
video compression (for example, it is used in freeware screen video recorder CamStudio). Second
version of hybrid algorithm, which is intended for discrete-tone images compression, is introduced in this paper. First version of hybrid algorithm was developed by the author too. Second
version of hybrid algorithm differs from previous modifications by increased speed of execution
and compression rate. Composite algorithm, which is based on hybrid algorithm and use LZO on
the final stage of compression, is also introduced in this paper. This compression scheme allows
to increase compression rate of screen video frames, which are typical for Windows XP, at the
average of 17 % as compared with the LZO family representatives with best compression rate,
which are able to compress screen video in the real-time mode on the wide variety of computers
(LZO_X_999 level 6). At the same time compression rate of composite algorithm and
LZO_X_999 level 6 are similar for images, which contain text, diagrams and graphs.
Esina Zoya N., Korchuganova Margarita R., Murashkin Vitaliy V. (Kemerovo State University).
Mathematical simulation of phase change fluid – solid.
Keywords: a fluid-solid equilibrium, exuberant energy of Gibbs, minimization on parameter of
solvation, parameter of association.
The paper presents a problem of simulation of phase equilibrium curve fluid – solid for binary
and multicomponent mixtures. Researching of equilibrium is important for all processes where an
interaction between solid and liquid stages exists.
The minimization of a free energy of the Gibbs on parameter of salvation λ is applied to
build-up of mathematical model, gated in as the relation of number of moleculas of a builder A to
number of moleculas of a builder B in molecular compound generated solution. The model using
minimization on parameter of salvation, can be referred to predictive model, which are based on
state equation. Introduced method of model operation of phase equilibrium a solid body – fluid
for binary systems allows to obtain the expression for temperature as function mole rate of component mixture:
T(z1) = [∆H10z1 + ∆H20(1-z1)]/{ ∆H10z1 / T 10 + ∆H20(1-z1)/ T20 –R[ z1 ln z1 +(1-z1) ln (1-z1)]},
where ∆Hi 0 – enthalpy melting of pure component i by temperature Ti 0; zi – effective mole part of
components in binary systems: z1 = x1/(x1+ λx2), z2 = x2/(x1 /λ + x2); λ – parameter of solvation;
i = 1,2.
Thermodynamic coordination of model is tested by Herington’s and Redlih-Kister’s methods:
1
∫ lg(γ
1
/ γ2 )dz1 = 0,
0
where γi – activity coefficient of component, i = 1,2. From thermodynamic coordination of model
the coefficient of association k = k1/k2 is defined, which is equal the ratio of molecules’ number in
cluster of component А to number of molecules in cluster of component B in liquid states. This
allows one to build curves of liquidus lines, which are close to experimentally measured values.
That model also can be used to describe the fluid – steam and solid-solid equilibrium with
formation of compound in solid phase. This method used for computation of phase equilibrium in
triple and multicomponent real systems, accompanied by solvation of molecules in solution and
association pure components. The advantage of the method of phase equilibrium consists in small
number of parameters for computation, for example a temperature and enthalpy melting of pure
components for ideal systems.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
120
Paper referats
Kurnosov Mikhail G., Paznikov Alexey A. (Siberian State University of Telecommunications and
Information Sciences. Novosibirsk). Software tools for decentralized servicing of parallel
MPI-jobs streams in geographically distributed multicluster computer systems.
Keywords: Parallel tasks scheduling, brokering, geographically-distributed computer systems,
GRID-systems.
Parallel program scheduling refers to the meaningful problem of computer systems (CS)
functioning organization. For every incoming program the execution computing resources (subsystems) have to be found. System composition dynamics and variable workload of computer
nodes should be taken into account by job scheduler.
Centralized schedulers have the inherent significant shortcoming: CS’s front-end failure may
cause a whole system failure. Besides that, time overhead for resources search increase in case of
using these tools in large-scale CS. Thus problem of development of decentralized models, algorithms and system software for parallel program scheduling in distributed CS is urgent.
In case of decentralized scheduling collective of schedulers have to function in system and
search necessary resources for programs. It allows reaching persistence also in large-scale CS,
making them able to continue functioning at some subsystems failures.
Decentralized algorithms and software of parallel program scheduling in geographicallydistributed and GRID systems are proposed in this paper.
Geographically-distributed CS, composed of H subsystems, is considering. N is total number
of computer nodes on subsystems. Let ni be number of nodes in subsystem i ∈ S = {1, 2, …, H}.
Let also bij = b(i, j, m) be channel capacity between i, j ∈ S subsystems while transferring m bytes
message ([b(i, j, m)] = byte/s).
Scheduler functioning on each subsystem manages parallel program queue and searches for
computing resources for job execution. Collective of schedulers is represented by graph
G = (S, E), where schedulers and logical links between them correspond to vertices and edges.
Presence of (i, j) ∈ E edge means that scheduler i is able to send resource requests (jobs of its
queue) to scheduler j. Set of vertices j incident to i represents its local neighborhood
L(i) = {j ∈ S: (i, j) ∈ E}.
User sends job with resource request to one of the schedulers. That scheduler (in accordance
with realized algorithms) searches (sub)optimal subsystem j∗ ∈ S for user’s job to compute.
Let job is characterized by rank r – number of parallel branches, expected execution time t
(walltime) and total size z of execution files and data ([z] = byte).
GBroker software suite of parallel MPI-programs decentralized scheduling in geographicallydistributed CS has been created and is being developed in the Centre of Parallel Computing Technology of “Siberian State University of Telecommunications and Information Sciences” (CPCT
SibSUTIS) and Computer Systems Laboratory of Institute of Semiconductor Physics of SB RAS
(ISP SB RAS).
Software suite includes scheduler gbroker, client tool gclient and netmon monitor of channels
performance between subsystems at TCP/IP protocol level.
Developed toolkit of parallel job scheduling was investigated on active multicluster CS, created by CPCT SibSUTIS together with ISP SB RAS. Experiments results have shown that mean
job service times in centralized and decentralized scheduling are comparable. Scheduling time is
rather minor in comparison with job execution time.
Decentralized scheduling software suite is one of necessary components for providing persistence of geographically-distributed multicluster CS of CPCT SibSUTIS and ISP SB RAS.
Lapatin Ivan L., Nazarov Anatoly A. (Tomsk State University). Characteristics of the Markovian queueing systems with asymptotical Poisson arrival processes.
Keywords: Poisson process, MMPP, MAP, output process.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Paper referats
121
In this paper the MAP│M│∞ and MMP│M│∞ systems are investigated. Output process of
the MMP│M│∞ system under condition of extremely frequent changes of flow states is shown to
be asymptotical Poisson. MAP under condition of extremely frequent changes of flow states and
conformed intensive decimation is considered. Output process of the MAP│M│∞ under these
conditions is shown to be asymptotical Poisson.
Pottosin Yury V., Shestakov Evgeniy A. (United Institute of Informatics Problems, NAS of Belarus, Minsk). Application of the ternary matrix cover technique to search for a partition of
the argument set in decomposition of Boolean functions.
Keywords: Decomposition of Boolean functions, compact table, ternary matrix cover.
The problem of a series two-block disjoint decomposition of a system of completely specified
Boolean functions is considered. A method to search for a partition of the set of arguments into
subsets of bound and free arguments is suggested. The method is based on using the ternary matrix cover approach.
Sergeeva Ekaterina E., Vorobeychikov Sergey E. (Tomsk State University). Guaranteed estimation of parameters and fault detection in GARCH(1,1) process.
Keywords: GARCH model, fault detection, least squares method, mean square error.
Problem of fault detection of parameters of GARCH(1,1) process is considered. Parameters of
the process before and after the change point are assumed to be unknown. An efficient algorithm
for detecting change point, which uses estimators of unknown parameters, is proposed. A sequential procedure for estimating the GARCH parameters based on the weighted least squares method
with special weights is proposed. The choice of weights and the stopping rule guarantees the preassigned accuracy of the estimation, which depends on parameter of procedure. Asymptotic properties of proposed estimators are studied. The asymptotic boundary for mean squares error is obtained. The procedure of change point detection is based on a comparison of parameters estimators on different observation intervals. The upper bound for probabilities of false alarm and the
delay was found. Results of numerical simulation are given.
Shabaldina Natalia V. (Tomsk State University). Studying non-separability relation for nondeterministic finite state machines with time-outs
Keywords: non-deterministic finite state machines with time-outs, timed input sequence, nonseparability relation, separating sequence.
In this paper we consider one of the classical finite state machine (FSM) model modification –
FSM with time-outs (or timed FSM). In this model in addition to the ordinary transitions under
inputs there are transitions under time-outs when no input is applying. So there is no external
stimulus in case of transitions under time-outs, and thus timed FSMs gives an opportunity to describe the behavior of many modern systems, for example, mobile phones, mp3-players, etc.
In the past few years some papers have been carried out on studying different relations between timed FSMs. Most of these relations and their properties are inherited from the classical
FSM model. Non-separability relation, that is studied in this paper, is also adapted from FSMs
theory, or, to be more precise, from FSMs with non-deterministic behavior. This relation is very
attractive for non-deterministic classical FSMs and FSMs with time-outs course for this relation
we don’t need «all weather conditions» while testing, i.e. it is not necessary to input every sequence from the test suite enough times in order to observe all outputs of the system to this sequence. Practical implementation of this assumption is almost impossible, and so test suite derivation with respect to the non-separability relation is actual for non-deterministic classical FSMs
and their modifications.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
122
Paper referats
In this paper we present an algorithm for constructing a separating sequence for two separable
FSMs with time-outs, and with the help of this algorithm one can derive a complete test suite for
timed FSM with respect to the non-separability relation in case of explicit faults enumeration. The
results presented in the paper can be extended in different ways, for example, they can be applied
for construction of test for timed FSMs whicht don’t need «all weather conditions» and explicit
faults enumerations for timed FSMs.
Shumilov Boris M., Matanov Sherali M. (Tomsk State University). An algorithm with splitting
of the wavelet transforms of first degree splines.
Keywords: First degree splines, wavelets, relations of decomposition and restoration.
For the space of first degree splines of a kind SL ( u ) =
2 L −1
∑ CiL NiL ( u ),
a ≤ u ≤ b, with a uni-
i =0
form net of knots ∆L : ui = a + (b – a) i / 2L, i = 0, 1,…, 2L, L ≥ 0, and basic functions N iL ( u j ) = δij , with the centers in integers, it is proposed to use as wavelets functions NLi
with the centers in even integers («lazy» wavelets). The formulas for splines-coefficients on a
thinned net ∆L–1 and wavelet-coefficients
C0L–1=2 C L1, CiL–1=2 CL2i–1+ 2 CL2i+1, i = 1, 2,…, 2L–1,
D0L–1= C L0 – 2 C L1, DiL–1=C L2i – 2CL2i–1– 2CL2i+1, i = 0, 1,…, 2L–1,
are obtained. Here values of spline-coefficients CiL in odd knots are counted from the solution of three-diagonal system of the linear equations with matrix
⎡2 1
⎤
⎢1 2 1
⎥
⎢
⎥.
⎢
⎥
1 1 ⎦⎥
⎣⎢
For the orthonormal basis of wavelets values of spline-coefficients on a thinned net ∆L–1 are
calculated by formulas
C0L–1=1/2 C L0 +C L1, CiL–1=1/2 CL2i +CL2i–1+ CL2i+1, i = 1, 2,…, 2L–1,
while wavelet-coefficients are equal to
6⎛1 L
6⎛1 L
L⎞
L −1
L
L ⎞
L −1
D0L −1 =
⎜ C0 − C1 ⎟ , Di =
⎜ C2i − C2i −1 − C2i +1 ⎟ , i = 1, 2,…, 2 .
6 ⎝2
3 ⎝2
⎠
⎠
Smagin Valery I, Smagin Sergey V. (Tomsk state university). Filtering for linear nonstationary
discrete system with unknown disturbances.
Keywords: discrete linear nonstationary system, Kalman filtering, unknown disturbances.
Optimal filter, giving estimation state vector of the discrete linear dynamic system with additive disturbances with unknown constant mean, is considered. The results of the simulations are
presented.
Tarkov Michail S. (Institute of Semiconductor Physics SB RAS. Novosibirsk). Mapping semigroup array operations onto computer system with toroidal structure.
Keywords: Distributed multiprocessor systems, hypercubic, torus, semigroup operation.
A distributed computer system (CS) is a set of processor-memory couples to be called processor elements (processors) and to be connected by a network where each line connects two processors. The network of interprocessor connections is described by a graph. In modern distributed
supercomputer systems a three-dimensional torus is usually used as the interconnection graph.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Paper referats
123
A semigroup operation is a binary associative one. The examples of this operation are: a
summation, a product, a conjunction, a disjunction, an exclusive OR, and also a computation of
maximum or minimum. This paper describes a parallel algorithm for implementation of these operations on data arrays distributed among processors with a matrix (“mesh”) network where every
processor must have the operation result. The algorithm is reduced to a sequence of cyclic shifts
in a linear processor network with making operation on each shift. The shifts are implemented for
every mesh dimension. The algorithm is easily adapted to a toroidal processor network.
In the paper an algorithm for mapping semigroup array operations onto distributed CS with
toroidal structure is proposed. The algorithm is based on usage of a “butterfly” scheme and mapping this scheme onto hypercubic CS structure with subsequent XOR-mapping of the hypercube
onto torus. It is shown that the XOR hypercube-onto- torus mapping does not produce congestions
in message passing. The algorithm implementation time is evaluated. It is shown that:
1. Besides the hypercube edge dilations on torus, the proposed algorithm has the time of the
semigroup operation implementation on torus less than the cyclical-data-shift algorithm has.
2. When the number of the CS processors (and the number of the data array elements) increases, the time gain of the proposed algorithm increases also.
Zakrevskiy Arkadiy D. (United Institute of Informatics Problems, NAS of Belarus, Minsk). The
Algorithm of Matrix Mapping of a Graph on a Boolean Cube.
Keywords: Boolean cube, matrix cube, coding of states, adjacency matrix, edge mapping.
The problem, considered in the paper, has important applications for the discrete device designing. To this problem can be reduced the problem of minimization of the memory triggering
number in a circuit implementation of some finite state machine. The paper proposes formal matrix method to solve this problem, based on visual method, suggested earlier, and is oriented to the
computer implementation.
Домбровский В.В., Объедко Т.Ю. (Томский государственный университет). Управление
дискретными динамическими системами со случайными зависимыми параметрами
при ограничениях.
Ключевые слова: управление с прогнозирующей моделью, ограничения, случайные
зависимые параметры.
Рассмотрим дискретную линейную систему, заданную на вероятностном пространстве
(Ω, F , P):
x( k + 1) = Ax(k ) + B[η( k + 1), k + 1]u (k ) ,
(1)
где x(k) – nx-мерный вектор состояния, u(k) – nu-мерный вектор управления, η(k) –
последовательность q-мерных случайных векторов, наблюдаемых до момента времени k.
A, B[η(k),k] – матрицы соответствующих размерностей, причем B[η(k),k] зависит от η(k)
линейно.
Пусть на (Ω, F , P) выделен поток σ-алгебр F =( Fk )k≥1, где каждая из σ-алгебр Fk
порождается последовательностями {(x(s), η(s)): s=0, 1, 2,…, k} и интерпретируется как
доступная информация до момента времени k включительно.
Будем полагать, что для процесса η(k) известны условные моменты относительно Fk :
M {η(k + i ) / Fk } = η(k + i );
{
M ⎡⎣ η(k + i ) − η(k + i ) ⎤⎦ ⎡⎣ η(k + j ) − η(k + j ) ⎤⎦
T
/ Fk } = Θij (k ),(k = 0,1, 2,...),(i, j = 1, 2,...).
(2)
(3)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Paper referats
124
На управляющие воздействия накладываются ограничения:
umin ( k ) ≤ S ( k )u (k ) ≤ umax (k ),
(4)
где S(k) – матрица соответствующей размерности.
В работе для управления системой (1) синтезированы стратегии с прогнозирующей
моделью. Прогнозирующие управления определяются по следующему правилу: на каждом
шаге k минимизируем критерий со скользящим горизонтом управления
m
{
/
}
/
}
J (k + m / k ) = ∑ M xT (k + i ) R1 (k , i ) x(k + i ) − R3 (k , i ) x(k + i) Fk +
i =1
m −1
{
+ ∑ M uT (k + i / k ) R2 ( k , i )u (k + i / k ) − R4 (k , i )u (k + i − 1/ k ) Fk
i =0
на траекториях системы (1) по последовательности прогнозирующих управлений u(k/k), …,
u(k+m-1/k), зависящих от состояния системы в момент времени k, при ограничениях (4),
где M{a/b} – оператор условного математического ожидания, R1(k,i)≥0, R2(k,i)>0, R3(k,i) ≥0,
R4(k,i) ≥0 – весовые матрицы соответствующих размерностей, m – горизонт прогноза, k –
текущий момент времени. В качестве управления в момент времени k берем u(k)=u(k/k).
Тем самым получаем управление u(k) как функцию состояний x(k), т.е. управление с
обратной связью. Чтобы получить управление u(k+1) на следующем шаге, процедура
повторяется для следующего момента k+1 и т.д. Алгоритм синтеза прогнозирующих
стратегий включает решение последовательности задач квадратичного программирования.
1/--страниц
Пожаловаться на содержимое документа