УДК 681.5.015.23
Назаров Д.А.
Алгоритмы сжатия данных при построении и использовании областей
работоспособности
Рассматривается проблема хранения больших объёмов данных, описывающих представление областей работоспособности сложных систем на основе метода аппроксимации их дискретным множеством элементарных параллелепипедов по результатам многомерного зондирования на регулярной сетке. Предлагаются алгоритмы решения этой проблемы для представления областей работоспособности на основе регулярных сеток.
Ключевые слова: проектирование, сложная система, надёжность, область работоспособности, сжатие данных.
Одной из задач, возникающих при проектировании сложных технических систем с учётом дрейфа параметров и требований надёжности, является определение характеристик области в пространстве параметров, в каждой точке которой система удовлетворяет требованиям к качеству её функционирования
[1]. Эта область называется областью работоспособности (ОР). Среди известных методов представления ОР можно выделить аппроксимацию гиперпараллелепипедами, эллипсоидами, а также множествами этих фигур, в частности, дискретным множеством гиперпараллелепипедов. В основе метода построения аппроксимирующей фигуры лежит зондирование области поиска, заключающееся обычно в переборе точек в узлах заданной некоторым образом сетки [2, 3]. Главная проблема такого представления ОР состоит в необходимости хранения и обработки большого количества информации о многомерном объекте. Для обработки больших объёмов данных при построении ОР используются технологии параллельных и распределённых вычислений [4]. Данная работа посвящена методам уменьшения объёмов данных, описывающих представление ОР, что актуально не только при непосредственном их хранении, но и передаче по коммуникационной среде в случае использования параллельных вычислений.
1. Задача построения области работоспособности
Параметры элементов, составляющих исследуемую систему, далее называются внутренними параметрами и задаются вектором
X = ^i^^... (1)
Выходные количественные характеристики исследуемой системы называются выходными параметрами и обозначаются т-вектором:
У = (УъУ2,...,Ут)Т, Уі "i = Uv.^т. (2)
Значения выходных параметров зависят от параметров элементов (1):
У = Y(x),
(3)
где Y(x)- модель процесса функционирования исследуемой системы. Модели достаточно сложных систем обычно задаются алгоритмически в виде численного решения систем дифференциальных уравнений или с помощью имитационной модели.
Выходные параметры выражают характеристики устройства или системы, интересующие потребителя. Для выполнения определённых функций и удовлетворения потребностей конечного пользователя эти параметры должны находиться в определённом диапазоне значений, который называется условиями работоспособности (УР):
У min < У(x) < У max. (4)
Считается, что устройство работоспособно, если его выходные параметры удовлетворяют выражению (4) при заданном наборе внутренних параметров, и неработоспособно - в противном случае, что выражается функцией:
Fy (x) _ J1, У min < y (x) < y max , (5)
I0, [y(x) < У min]v [y(x) > У max]'
Нарушение УР вызываются изменениями значений внутренних параметров, которые возникают под влиянием факторов различной природы: воздействие внешних факторов, таких как температура, влажность, различные излучения, внутренние процессы износа и старения, а также взаимное влияние элементов.
Условия работоспособности (4) определяют в пространстве внутренних параметров некоторую область, в каждой точке которой выходные параметры удовлетворяют этим условиям:
D х _ {x Є*n I y min < y(x) < У max). (6)
Область Dх, определённая выражением (6), называется областью работоспособности (ОР) исследуемого технического объекта, заданного моделью
(3), для условий работоспособности (4).
Получение характеристик этой области позволяет, во-первых, сокращать время поиска номинальных значений параметров с использованием стохастических критериев путём проверки принадлежности случайной реализации вектора параметров ОР x є Dх, не прибегая к моделированию системы, во-вторых, использовать детерминированные критерии выбора номиналов параметров, а также устанавливать или корректировать значения их допусков.
С учётом вышесказанного, задача построения ОР ставится следующим образом. Для заданной модели (3) исследуемых зависимостей выходных характеристик, заданных УР (4), а также допусков на внутренние параметры
2. Сеточное представление области работоспособности
В данной работе предлагается способ представления многомерной области дискретным множеством элементарных параллелепипедов, заданных регулярной сеткой, по результатам многомерного зондирования на основе метода матричных испытаний (ММИ) [2].
Согласно ММИ, заданный диапазон изменения значений каждого параметра
ai < xi < bf, "i = 1,2,...,n (7)
разбивается на qi равных отрезков - квантов, пронумерованных индексами ki, i = 1,2,...,n. В центре каждого кванта выбирается точка:
ck= (ajk + bk )/2, (8)
где akj,bjl - соответственно левая и правая граница k -го кванта i-го параметра (рис. 1). Эта точка называется «точкой-представителем» кванта k.
Рис. 1. СПОР на основе квантования области поиска.
Пересечение границ квантов всех координатных осей параметров образуют сетку, узлы которой задают вершины элементарных параллелепипедов, на основе которых строится представление ОР. Каждый элементарный параллелепипед ek k k задаётся набором индексов (k1,k2,...,kn) образующих его квантов. По этим индексам вычисляются характеристики элементарного параллелепипеда: его границы ak ,bk , "i = 1,2,...,n и координаты (8) его точки-
представителя [2].
Для представления ОР множеством элементарных параллелепипедов требуется выделить некоторое их подмножество B + . Таким образом, для каждого
ekl k2 k требуется признак принадлежности подмножеству B + множества Bg всех элементарных параллелепипедов. Таким признаком является значение функции Fy (x) (5) в точке xc = (ck1, c^2,..., ckn )T элементарного параллелепипеда. При этом считается, что значение функции Fy (x) во всех его внутренних
точках равны значению этой функции в точке-представителе xc .
Таким образом, структура данных для представления ОР множеством элементарных параллелепипедов несёт следующую информацию:
• геометрические параметры сетки, задающей множество элементарных параллелепипедов;
• данные о принадлежности каждого элементарного параллелепипеда подмножеству B +X .
Информация о принадлежности каждого элементарного параллелепипеда подмножеству B + хранится в одномерном массиве состояний (МС)
n
S = (х1,s2,...,sR), где R = Пqi - количество всех элементарных параллелепипе-
i=1
дов. Каждый из элементов МС представляет собой индикатор принадлежности соответствующего элемента ek k k подмножеству B + и хранит значение
функции Fy (xс) в точке-представителе каждого из них:
sp = F (x С (k1,k 2’...’ kn ))’ (9)
где индекс p - номер элемента МС, соответствующий определённому параллелепипеду e^ k2 k и взаимнооднозначно связан с его индексами:
Р = kl + 4l (k2 - 1) + qtf2 (k3 - 1) + ... + W2...4n-1 (kn -1);
k
n-1
(Р -1)/П4i
i=1
+1’
k
n -1
n -1 n - 2
(Р - (kn -1) П Qi)/П Qi
i=1 i=1
+1’
n
k1 = p - Ё
i=2
i -1
(ki-1) П qj
j=1
’ n > 1
а выражение xС(k1,k2,...,kn) означает процедуру вычисления координат (8) точки-представителя для параллелепипеда с индексами (k1,k2,...,kn).
Таким образом, описанная структура данных задаётся моделью GR:
Gr = (n, B’ Q’ S)’ (10)
где n - размерность пространства внутренних параметров, B - область поиска
(7), Q = (q1,q2,...,qn) - набор показателей количества квантов для каждого параметра, S = (s1,s2,...,sR) - массив состояний.
Процедура построения ОР для заданной модели (3) и УР (4) сводится к инициализации элементов МС при заданных параметрах регулярной сетки согласно выражению (11). В связи с тем, что каждый элементарный параллелепипед e^ k k задаётся элементом n-мерной сетки с индексами (k1,k2,...,kn), в
дальнейшем изложении вместо термина «элементарный параллелепипед» будет использоваться «элемент сетки» или «ячейка сетки», а область, состоящая из объединения элементов множества B +, будет называться сеточным представ-
лением области работоспособности (СПОР). Структура данных, описывающая СПОР задаётся моделью GR .
3. Сжатие данных СПОР
Описание СПОР с помощью модели GR (10) требует больших объёмов данных, из которых наибольший объём имеет МС. Это обуславливается использованием регулярной структуры сетки, которая лежит в основе построения аппроксимирующей фигуры. Такой подход порождает избыточность внутренних элементов сетки, что наиболее существенно при измельчении шага сетки. Одним из способов снижения избыточности такого рода является использование нерегулярных сеток. В работе [5] описывался метод построения ОР с ис-
пользованием нерегулярных сеток, основанных на детализации отдельных элементов грубой сетки. В данной работе рассматривается подход, при котором для построения ОР используется регулярная сетка, но сокращение объёмов данных достигается за счёт уменьшения избыточной информации в МС.
При этом именно в этих данных присутствует большое количество избыточной информации. Эта избыточность порождается, во-первых, представлением области поиска с помощью регулярной сетки, из-за чего в МС будет присутствовать большое количество длинных повторов нулей и единиц, и, во-вторых, внутренним представлением чисел «0» и «1», для которых одного байта, состоящего в большинстве современных архитектур ЭВМ из восьми разрядов, излишне много.
В первом случае для сокращения серий повторов предлагается использовать известный алгоритм кодирования длин серий (RLE — Run Length Encoding) [6], согласно которому элементы МС записываются в виде пар значений sf = (Sj,l),i = 1,2,...,Rc, где Sj - элемент МС, с которого начинается i-я се-
рия повторов его значения длиной . Rc - количество всех серий повторов и длина упакованного массива состояний (УМС) (Рис. 2):
S
rle
c
ґ c c c \ (s1 ,s2 ,...,SR„ )
Рис. 2. Представление МС в сжатом по алгоритму RLE виде.
Классическим примером работы алгоритма является кодирование последовательности растров чёрно-белого изображения. Пусть задана последовательность символов, условно обозначающих цвета:
WWWWWWWWBBWWWWWWBBBWWWWWBBBBWWWWBBBBBWWW,
где W - белый (white), B - чёрный (black). Тогда эта же строка, закодированная с помощью алгоритма RLE, в символьном представлении будет иметь следующий вид:
8W 2B6W 3B5W 4B 4W 5B3W.
Процедура сжатия МС с использованием алгоритма RLE подробно описана алгоритмом 1. При этом важно отметить, что для построения УМС не обязательно иметь в распоряжении МС: вместо считывания значений элементов МС (шаг 3
и 6) используется вычисление состояния Fy (xc) по формуле (9).
Алгоритм. 1. Сжатие МС с помощью алгоритма RLE
01
02
03
04
05
06
07
08 09
Rc = 0; //начальная установка длины УМС: не содержит элементов Цикл по i = 1,2,..., R; //цикл по индексам МС
Если Rc = 0 или Srd/e [Rc ].c Ф S[i], то //если УМС пустой или новая серия Добавить новый элемент в конец УМС;
Rc = Rc + 1; //увеличить счётчик кол-ва элементов УМС
Srcle [ Rc ]c = S[i]; //запись состояния в новый элемент УМС
Srcle [ Rc ].l = 1 ; //начальная установка длины серии Иначе //УМС не пустой и значение состояния совпало с последней серией
Srcle [ Rc ].l = Srcle [ Rc ].l +1 ; //инкремент длины текущей серии
Во втором случае предлагается задействовать все двоичные разряды байтмассива. Поскольку в большинстве современных архитектур компьютеров минимально адресуемым элементом памяти является байт, то для считывания и записи отдельных разрядов потребуется применение двоичной арифметики.
Рис. 3. Кодирование элементов МС двоичными разрядами.
2
Например, для считывания третьего (при 2 ) двоичного разряда байта b требуется обнулить все остальные разряды путём выполнения операции логического «И» с байтом-маской 000001002 = 2 . Если в третьем разряде стояла
единица, то результат этой операции будет больше нуля 2 > 0, иначе - «0». Подробно процедура считывания двоичных разрядов описана алгоритмом 2. Для записи состояния третьего разряда требуется сначала его обнулить, сохранив состояния других разрядов, что достигается в результате операции логического «И» с байтом-маской 111110112, предварительно полученной в результате поразрядного отрицания 000001002 = 2 . Затем, если необходимо установить третий разряд в состояние «1», то к байту b применяется операция логического «ИЛИ» с маской 000001002 = 2 . При хранении значений элементов МС в двоичных разрядах байт-массива (УМС) для доступа к элементу с индексом p требуется вычислить номер i байта bi, которому принадлежит кодирующий разряд, а также номер r этого разряда. Для этих чисел вместо номеров из нату-
рального ряда удобнее использовать смещения, которые принимают значения, начинающиеся с нуля:
i = L(p -1)/L_|, г = p -1 - i • L, (11)
где L - количество двоичных разрядов в байте, значение г используется для вычисления маски 2 г . Процедура записи значения элемента МС в соответствующий двоичный разряд описан алгоритмом 3.
Алгоритм. 2. Считывание значения элемента МС из двоичного разряда.
01 Вычисление значений i и Г для заданного p по выражениям (11);
02 M<jand = 2 Г; //подготовка битовой маски для Г-го бита, Г = 0,1, ...,(L -1)
03 mb = Sbit [b +1] A M?nd; //получение состояния Г-го бита, mb є(0,2Г}
04 Если mb > 0 , то
05 S[p] = 1; // r-й бит равен «1»
06 Иначе
07 S[p] = 0; // r-й бит равен «0»
Алгоритм. 3. Запись элемента МС в двоичный разряд.
01
02
03
04
05
06
Вычисление значений і и Г для заданного p по выражениям (11);
МГ = 2 Г; // подготовка битовой маски для r-го бита, г = 0,1,...,(L -1) Mnot = —М Г ; // подготовка обнуляющей r-й бит маски Sb [b + 1] = [b + 1] A Mnot; //обнуление г-го бита
Если S[p] > 0, то
i bit
ibit
Suc11 [b +1] = S™ [b +1] V M Г ; //установка г-го бита в значение «1»
Рассмотренный метод представления элементов МС с помощью двоичных разрядов байт-массива позволяет сократить объём данных МС в L раз вне зависимости от конфигурации ОР и параметров сетки. Что касается эффективности алгоритма RLE, то она во многом зависит от конфигурации ОР и параметров сетки. Результаты практического применения этого алгоритма демонстрировали уменьшение объёмов данных от 10 до 1000 раз.
Время доступа к произвольному элементу МС в случае сжатия по алгоритму RLE без применения дополнительных способов определения позиции нужной серии повторяющихся элементов увеличивается пропорционально его удалённости от начала УМС в связи с тем, что для вычисления начальной и конечной позиции искомой серии необходимо выполнить суммирование длин l
предыдущих серий. На рис. 4 приведены графики степени сжатия МС обоими приведёнными способами, а также время доступа к элементам МС.
Стоит отметить ограничение применимости рассмотренных способов уменьшения объёмов для методов исследования СПОР, использующих расстановку весов для определённых элементов сетки. Для использования таких процедур при сжатом МС необходимы дополнительные структуры для хранения весов элементов сетки.
Рис. 4. а) уменьшение объёмов данных МС с применением алгоритмов двоичного кодирования и RLE, б) увеличение времени инициализации МС в сжатом
виде
ЛИТЕРАТУРА
1. Абрамов О.В. Параметрический синтез стохастических систем с учетом требований надежности. - М.: Наука, 1992.
2. Васильев Б.В., Козлов Б.А., Ткаченко Л.Г. Надежность и эффективность радиоэлектронных устройств. - М.: Сов. Радио, 1964.
3. Катуева Я.В., Назаров Д.А. Аппроксимация и построение областей работоспособности в задаче параметрического синтеза // Международный симпозиум «Надежность и качество»: Сб. науч. тр. - Пенза, 2005. - С. 130 - 134.
4. Назаров Д.А. Использование распределенных вычислений при построении области работоспособности // Информатика и системы управления. -
2008. - №1(15). - С. 142 - 151.
5. Назаров Д.А. Двоичная многоуровневая детализация элементов сеточного представления области работоспособности // «Надежность и качество-2010»: труды международного симпозиума в 2-х т. / под ред. Н. К. Юркова. - Пенза: ПГУ. - 2010. - 1 т. - С. 337 - 341.
6. Salomon D. Data Compression: the complete reference. Volume 10. - Springer,
2007.
Nazarov, D.A.
The algorithms of data compression in the task of performance region construction.
The problem of large volumes of data for describing performance (acceptable) region on the basis of approximation with parallelepipeds method and multidimensional probing method is considered. The solutions of this problem for the region approximation on the basis of a regular grid are offered.
Keywords: computer-aided design, engineering system, reliability, performance region, acceptable region, data compression.