УДК 681.326:519.713
В.И. ХАХАНОВ, С.В. ЧУМАЧЕНКО, Е.И. ЛИТВИНОВА
ЛОГИЧЕСКИЙ ВЕКТОРНЫЙ АНАЛИЗ АССОЦИАТИВНЫХ ТАБЛИЦ
Предлагается инфраструктура логического анализа ассоциативных таблиц, позволяющая выполнять обработку взаимодействия входного вектора с n-мерным алгебрологичес-ким пространством, задаваемым с помощью упорядоченных и структурированных таблиц проблемно-ориентированных данных, которые представляют собой ассоциативные модели поведения логических объектов. Для оценки взаимодействия векторов в алгебрологи-ческом пространстве разработан универсальный критерий качества, позволяющий находить и оценивать квазиоптимальное решение в задачах ассоциативно-логического поиска информации. Приводятся примеры использования инфраструктуры и алгебрологических процедур для решения традиционных задач логического анализа, подтверждающие эффективность и практическую направленность алгебраических моделей.
Цель - разработка элементов алгебры логического анализа ассоциативных таблиц для реализации инфраструктуры обработки больших объемов информации при решении задач поиска, принятия решений и диагностирования технических состояний.
Задачи исследования: 1. Мотивация и актуальность процедур анализа информационных массивов, сформатированных в графы ассоциативных таблиц. 2. Разработка алгебры логического анализа ассоциативных таблиц как эффективного математического аппарата, ориентированного на параллельно-конвейерную обработку векторных и табличных массивов. 3. Создание метрики для оценивания взаимодействия векторов и таблиц в процессе поиска оптимального решения в дискретном булевом пространстве. 4. Решение практических задач нахождения квазиоптимального покрытия и диагностирования неисправностей или ошибок в программных продуктах.
Источники исследования: 1. Аппаратные средства решения информационно-логических задач [1-4]. 2. Алгебраические системы для описания и анализа ассоциативно-логических структур данных [5-8]. 3. Критерии оценивания вариантов поиска решений в дискретном булевом пространстве [9-12]. 4. Методы решения задач покрытия и диагностирования на основе анализа таблиц [13-16].
1. Актуальность технологий векторного параллельного анализа
Современный рынок электронных и информационных технологий нуждается в новых носителях больших объемов информации, эффективных структурах данных для хранения и поиска требуемой информации, новых интеллектуальных и компьютерных средствах, точно и быстро обеспечивающих любые запросы пользователя. Современные компьютеры ориентированы в своей основе на арифметические вычисления, поэтому не всегда являются эффективным инструментом для решения логических, ассоциативных и поисковых задач в существующем океане информации. Поэтому актуальной представляется разработка новых специализированных технологий, ориентированных на использование ограниченной системы логических команд для анализа в реальном масштабе времени больших информационных массивов, организованных в эффективные структуры данных. Если исключить из рассмотрения арифметические операции, которые не свойственны человеческому мозгу, то все ресурсы компьютера можно переориентировать на повышение мощности и производительности вычислителя для решения чрезвычайно большого класса проблем логического, ассоциативного анализа, распознавания образов, диагностирования и поиска информации.
Создание ассоциативно-логического «движка» должно быть ориентировано только на параллельные вычисления, связанные с обработкой двоичных и многозначных векторов, таблиц, матриц на основе использования мультипроцессора, ассоциативной памяти, регистров. Для оценивания полученных решений необходимо разработать арифметически независимый критерий оценки качества в векторном логическом пространстве, определяемый
соотношением нулевых и единичных разрядов. Таким образом, лучшим решением при разработке упомянутого «движка» будет полное исключение всех арифметических операций и команд на их основе, что позволит на несколько порядков повысить быстродействие выполнения векторных логических операций над информационными массивами больших объемов. Теория должна быть ориентирована только на логические операции, оперировать не переменными, а векторами и матрицами (таблицами), максимально распараллеливать все вычислительные процессы, обеспечивать масштабируемость как размерности операндов, так и исполняемых программных приложений для эффективного достижения цели с требуемым качеством удовлетворения запроса.
Сущность данного исследования - создание проблемно ориентированной алгебры логического анализа ассоциативных матриц на основе минимального числа логических операций, ориентированных на параллельно-конвейерную обработку табличных и векторных форм данных для существенного повышения быстродействия анализа больших объемов информации при решении задач поиска, принятия решений, распознавания образов и диагностирования технических состояний объектов или процессов.
2. Инфраструктура логического анализа ассоциативных таблиц
Аналитическая модель описания и решения логических уравнений информационного анализа представлена системой выражений:
P(m,A) = Q(m,A) = [0,0;1,0];
Q(m, A) = -3[d(m, A) + ц(т e A) + ц(А e m)];
P(m,A) = 1 ^ (m = A);
P(m,A) = maxQi(m,Aj).
i ;
Q(m,Ai) = {Qi,Q2,...,Qi,...,Qn>;
P(m,A) = m A(AbA2,...,Ab...,At);
A = { i,a,v> ;
A = (Ai,A2,...,Ai,...,At); Ai = (Ai1,Ai2,...,Aij,.. ,Ais);
Aij = (Aij1, Aij2,.., Aijr,.., Atsq); m = (m1,m2,...,mr,...,mq);
P(m, A) = m a {Ai,A2,...,Ai,...,At> = p; p = {pi,P2,...,Pr, . ,Pn>; m a (Ai v A2 v ... v Ai v ... v At) = maxQi(m, Ai);
j=1,s fVi3j (m a Aij Ф 0); pr = m Aij ^
i = 1,t M^JV"" ^ij
3i Vj (m a Aij =0) a d(m, Aij) = max; pr e p;
m a Aij = mr a Aj =
r=1
ijr
m ^ mr a Aijr = mr;
r=1
Aij ^ mr a Aijr = Aijr; r=1
m a Aij ^ mr a Aijr = mr v Aijr; r=1
0 ^ 3(mr a Aijr = 0); r=1
(1)
P(m, A) = pr ^ Qj (m, pr) = max, r = 1,n, pr e p
Здесь определены следующие предикаты или высказывания. Выражение Р(т, А) = А) с помощью операций объединения, пересечения и дополнения задает аналитическую модель вычислительного процесса в виде предиката, определенного на единичном интервале Q(m,A) = [0,0; 1,0] интегральным критерием принадлежности входного вектора множеству дискретных булевых состояний. Упорядоченная совокупность А = (А1,А2,...,А^,...,А^) взаимодействующих ассоциативных таблиц объединяется на системном уровне обобщенным графом целевой функциональности. Предикат А1 = (А11,А12,--,Ау,--,А^) =1 представлен совокупностью векторов, формирующих ассоциативную таблицу. Вектор Ау = (Ац, Ау2,...,АуГ,...,А^) задает ассоциативное решение как совокупность состояний переменных, где каждая координата определена в троичном алфавите АуГ е {0,1,х} = р . Взаимодействие Р(т, А) входного вектора запроса т = (ml,m2,...,mr,...,mq) с графом ассоциативных таблиц А = (А1,А2,...,А^,...,А^) формирует множество решений р = {р1,р2,...,рг,...,рп}, каждое из которых имеет интегральную оценку качества Q(m,A) = Выбор лучшего решения осуществляется
путем вычисления функционала:
Р^, А) = рг ^ Q1 рг) = max, г = 1,п, рг е р .
3. Элементы алгебры векторного анализа ассоциативных матриц
Матрица (таблица), размерностью п х m, может быть представлена векторами строк или столбцов [А1] V [А^ , где каждая координата матрицы или вектора определена в алфавите {0,1}:
А = [Ау] = {[А^]}, [А1] = (А1,А2,...,А1,...,Ап), [А]] = (А^,...,^,...^), Ау = {0,1}, А1 = (А1ЬА12,...,Ау,...,А1п), Aj = (Ajl,Aj2,...,Aji,...,Ajt).
(2)
Матрица взаимодействует с одним из входных векторов, ориентированных на обработку строк или столбцов ma V mb :
m = ma Vmb, ma = (ml,m2,...,ml,...,mn), mb = (ml,m2,...,mJ,...,mt). (3)
По существу матрица представляет собой любое ассоциативное отношение (таблицу истинности, таблицу предикатов), заданное в п- мерном векторном двоичном пространстве, где каждый вектор есть точка, принадлежащая данному пространству (т.е. элемент пространства). Взаимодействие m-вектора с матрицей А преследует цель определить отношение принадлежности каждого вектора матрицы или точки пространства к m-вектору или выполнить разделение пространства точек на два подмножества. Для решения данного класса задач вводятся предикаты, инвариантные по отношению к обработке строк и столбцов матрицы, основанные на использовании логических операций (И, ИЛИ, НЕ).
1) Дизъюнкция конъюнктивного взаимодействия между m-вектором и А-матрицей:
Р1^,А) = m л А = m л [А1 V А2 V... V А^) V... V Ап^)] =
п п
Pa = Pa V ma л А1 ^ ^ л А1 Ф 0); 1=1 1=1
2)
Ь Ь Ь t ь t (4) РЬ = РЬ V mb л Aj ^ (mb л Aj Ф0). j=1 j=1
3) Логическое умножение конъюнкции единичных по m векторов матрицы А на отрицание дизъюнкции нулевых по m векторов А:
Рг^А) = ( л Аад) л ( V Al(J)) Vml(J) =1 Vml(J) =0
4) Логическое умножение дизъюнкции единичных по m векторов матрицы А на отрицание дизъюнкции нулевых по m векторов А:
Рз(т,А) = ( V _ л( V А^р (5)
Vmi(j) =1 =0 •
Для всех трех операций качество взаимодействия между т-вектором и А-матрицей оценивается с помощью теоретико-множественной метрики:
О = 3[й(т, А^)) + ц(т е Ai(j)) + ц(А^) е т)],
3
1 n(t)
n
d(m, Ai(j)) = - {n - card [m f| Aij = 0]};
n =i
i(j) =1
|(m e Ai(j)) = 2card[mnAKj)]-card[Ai«] ^ card[m n Ai(j) ] =
n(t) n(t) n(t)
= card[m | Ai(j) = x]&card[Aij = card[ U Ai(j) = x]&[m | Ai(j) *0];
i(j)=1 i(j)=1 i(j)=1 (6)
(6)
ч ,card[m n Ai(j)]-card[m] Jr
^(Ai(j) e m) = 2 i(j) ^ card[m n Ai(j)] =
n(t) n(t) n(t)
= card[m |Ai(j) = x]&card[m] = card[ Um = x]&[m |Ai(j) ^0]. i(j)=1 i(j)=1 i(j)=1
Данные формулы определения качества взаимодействия m-вектора и A-матрицы изоморфны следующим алгебрологическим выражениям:
Q = 3[d(m, Ai(j)) + |(m e Ai(j)) + |(Ai(j) e m)],
1 n(t)
d(m,Ai(j)) = —{n -card[m л Ai(j) = 0]};
JJ n i(j)=1 JJ
|(m e ai(j)) = 2card[mЛAKj)]-card[AKj)] ^ card[m л Ai(j)] =
n(t) n(t) n(t)
= card[m л Ai(j) = x]&card[Ai(j)] = card[ v Ai(j) = x]&[m л Ai(j) Ф 0]; i(j)=1 i(j)=1 i(j)=1
.. . ,card[m л Ai(j)]-card[m] Jr (7)
|(Ai(j) e m) = 2 i(j) ^ card [m л Ai(j) ] =
n(t) n(t) n(t)
= card[m л Ai(j) = x]&card[m] = card[ v m = x]&[m л Ai(j) Ф 0]. i(j)=1 i(j)=1 i(j)=1
Здесь кодирование теоретико-множественных символов четырехзначного алфавита для выполнения операций в алгебре логики определяется в следующем виде:
T(a ^ Р) =
а 0 1 x 0
Р 01 10 11 00
(8)
В таком алфавите все теоретико-множественные операции, согласно изоморфизму, имеют аналоги в булевой алгебре, что позволяет параллельно выполнять алгебрологичес-кие регистровые операции над векторами. Если векторы А^), т определены в двоичном алфавите, то формулы вычисления качества взаимодействия т-вектора и А-матрицы существенно упрощаются:
1 n(t)
Q = -[d(m, Ai(j)) + „(m e Aj(j)) + „(Ai(j) e m)],
d(m,Aj(j)) = — {n -card[m л Aij = 0]}; JJ n i(j)=1 KJJ
„(m e Ai(j)) = 2Card[m Л Ai(j)]-Card[Ai(j)] ^ card[m л Aj =
n(t) n(t)
= card[m л Ai(j) = 1]&card[Ai(j)] = card[ v Ai(j) = 1];
i(j)=1 i(j)=1 (9)
ч ,card[m л Ai(j)]-card[m] Jr
„(Ai(j) e m) = 2 i(j) ^ card [m л Ai(j) ] =
n(t) n(t)
= card[m л A^j = 1]&card[m] = card[ v m = 1]. i(j)=1 i(j)=1
Фактически функция принадлежности определяется числом единиц, полученных после логического умножения векторов Ai(j) л m , отнесенных к количеству единиц в векторах Ai(j), m . Здесь следует понимать существенное отличие взаимодействия уже не пространств, а точек в виде вектор-маски m и двоичных векторов матрицы A = [Aij ]. Тем не менее, два упомянутых компонента успешно могут взаимодействовать в векторном алгеб-рологическом пространстве с помощью операций И, ИЛИ, НЕ. При этом следует учитывать, что нулевые векторы не могут взаимодействовать между собой, поскольку они соответствуют пустому множеству по определению. Следовательно, векторы матрицы
A = [Aij ] и маска m не могут быть определены только нулевыми значениями по всем координатам. Кодовое расстояние между двумя алгебрологическими векторами определяется числом нулевых значений при их конъюнкции минус количество единичных координат в результирующем векторе.
Здесь и далее матрица A = [Aij ] будет записываться двумя способами - по строкам или столбцам:
A = [A] v [B] = [Ai] v [Bj],
A = (A1,A2,...,Ai,...,An); (10)
B = (B1,B2'...'Bj'..'Bm).
Две формы записи служат для сокращения сложности представления формул, задающих процесс обработки матрицы, а также для улучшения понимания аналитически записанных вычислительных процессов. Соответственно входной вектор-маска имеет идентификаторы m = ma v mb в зависимости от способа анализа матрицы, по строкам или столбцам. Четыре предикатные векторные операции (and, or, not, xor - раньше не упоминалась и не задавалась) позволяют решать многие, интересные для практики, задачи. Некоторые из них представлены ниже.
4. Логический анализ таблицы для поиска покрытия
Нахождение квазиоптимального покрытия единичными значениями вектор-строк всех вектор-столбцов таблицы. Технологическая инновация - параллельное выполнение операций над векторами матрицы или таблицы. Научная новизна - определение подмножества максимально непересекающихся или минимально пересекающихся строк. Стратегия процедуры. Выбор ядра - каждая строка, покрывающая некоторый столбец безальтернативно
- одна единица в столбце. Для этого вектор-столбец mb последовательно маскирует по одной координате для нахождения ядра в виде вектор-строк, которые покрывают безаль-
тернативно некоторый столбец. Определение дополнения к ядру - строки с максимальным числом единиц, имеющие максимально пустое пересечение с уже найденными векторами покрытия. Вербальному описанию модели процесса поиска покрытия соответствует следующая аналитическая форма поиска ядра и дополнения к нему:
P = P V [Ai ^ (Qj(mb л Bj) = 1) ^ (ш° = 0) V (mj = 1)]; i=1 j=1 j
b
P = p v [Ai ^ max[Qi((ma = 1) л Ai)) x (1 - Qi(P л Ai))]]. i=1
(11)
где х - арифметическое умножение критериев качества.
Здесь вектор т играет неоценимую роль маскирования строк, столбцов или отдельных переменных матрицы для создания идеальных условий вычислительного процесса в целях достижения результата. Без него матрица не несет информации. Для решения задачи покрытия необходимо последовательно задать для каждого столбца вектор-маску (т = 0) V = 1), определенную всеми нулями, кроме одной координаты _), имеющей единичный сигнал; запись та = 1 означает, что строчный вектор-маска равен 1 по всем координатам. Произведение критериев качества Р;((та = 1) л Л;)) х (1 - Р;(Р л Л;)) предпочтительнее суммы, поскольку оно дает более взвешенную оценку относительно покрывающей способности вектора и кодового расстояния с уже имеющимся решением при выборе очередной строки - кандидата в покрытие. Вычислительная сложность процедуры
поиска квазиоптимального покрытия равна
Z = n+-n2 2 :
где n - число строк в матрице,
первое слагаемое - определение ядра покрытия, второе - поиск квазиоптимального дополнения к нему. Для примера таблицы, размерностью 5х7, имеющей вид:
A = [A,] v [Bj] =
Ai \ Bj B1 B2 B3 B4 B5 B6 B7
A1 0 0 0 0 1 0 1
A2 0 0 1 1 0 1 0
A3 0 1 0 1 1 0 0
A4 0 1 1 0 0 1 0
A5 1 0 0 1 0 0 0
(12)
модель поиска квазиоптимального покрытия на основе использования описаннои выше процедуры дает минимальное покрытие: P = {A1,A4,A5} .
5. Логический метод диагностирования дефектов по таблице неисправностей
Рассматривается на примере транзакционного графа одного из программных модулей Row_buffer, используемых при создании IP-core вейвлет-преобразования для стандарта JPEG 2000 (рисунок). Вершины графа представлены входными шинами и переменными, регистрами и выходными шинами. Дуги между ними означают существование транзакций между вершинами при выполнении операторов HDL-кода.
Row_buffer транзакционный граф
Для данного Котсг_ЬиАег графа построена таблица, задающая поведение неисправных блоков на тесте путем использования системы моделирования и генерации тестов 8ЮЕТЕ8Т:
A = {AbBj} =
Test B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 b b
m2
(L1) (L2) (L3) (L4) (C1) (R1) (R2) (D1) (D2) (D3) 2
A1(t1) 1 0 0 0 0 1 0 1 0 1 0 1
A2(t2) 0 1 0 0 0 0 1 0 1 0 1 1
A-Ct-) 0 0 1 0 0 1 1 1 0 1 0 1
A4(t4) 0 0 0 1 0 0 1 0 1 0 1 0
A5(t5) 0 0 0 0 1 1 1 1 0 1 0 0
A6(t6) 1 0 0 0 0 0 1 0 1 0 1 1
A7(t7) 0 1 0 0 0 1 0 1 0 0 0 1
A8(t8) 0 0 1 0 0 1 0 1 0 0 0 1
A9(t9) 0 0 1 0 0 0 1 0 1 0 1 0
A10(t10) 0 0 0 1 0 1 1 1 0 0 0 0
An(tn) 0 0 0 1 0 0 0 0 0 1 0 0
A12 (t12 ) 0 0 0 0 1 0 1 0 1 0 1 0
A13(t13) 0 0 0 0 1 1 1 1 0 0 0 0
5.1. Логический метод анализа столбцов таблицы неисправностей
Основан на применении операции логического умножения или конъюнкции вектора экспериментальной проверки, формально рассматриваемого в качестве входного вектор-столбца или маски m, на столбцы таблицы неисправностей mb л(B1 vB2 v... vBj v... vBm) и подсчете качества взаимодействия векторов Qj(mb л Bj) в целях выбора лучшего из них при наличии максимальной оценки. При этом столбец Bj e A фактически идентифицирует метрику поведения неисправности или дефектного блока на тестовых наборах. Предикатная запись процесса получения решения в виде совокупности ошибок, присутствующих в HDL-коде, представлена в следующем виде:
n b t
Ps = Ps v [Bj ^max(Qj(mb л Bj))]; i=1 j=1
n b b t (13)
Pm = Pm v [Bj ^ (mb л Bj = Bj)] ^ Q[mb л ( v Bj e Pm)] = 1 v max; i=1 j=1
Здесь вектор экспериментальной проверки
mb = f(T,F) © f *(T,F,L) (14)
есть результат проведения тестового экспер имента - сравнение функционалов (состояний выходов) эталонного f (T, F) и реального f (T, F, L) устройства с дефектами L на тестовых наборах T.
Достоинство метода - выбор всегда лучшего решения из всех возможных как для одиночных, так и для кратных дефектов. В последнем случае, если одиночный дефект не идентифицируется оценкой, равной 1, выполняется дизъюнкция таких вектор-строк (главное отличие метода от существующих технологий), которые формируют оценку качества,
равную 1 или максимально близкую к единице Q[mb л( v Bj e Pt)] = 1 vmax. По суще-
j=1
ству, в список кратных дефектов включаются такие одиночные неисправности, которые при логическом умножении на вектор экспериментальной проверки дают результат в виде соответствующего вектор-столбца. Дизъюнкция всех столбцов, составляющих решение,
равна v (Bj e Pt) = mb. j=1
С использованием таблицы и процедуры диагностирования (13) определяются дефектные компоненты программного кода модуля Row_buffer методом логического умножения вектор-столбцов таблицы истинности на вектор экспериментальной проверки. Здесь векторы mj\ m!j формируют результаты диагностического эксперимента, выполненные по технологии (14). Результат диагностирования одиночных и кратных дефектов имеет следующий вид:
Ps(mb) = mj л(L1 vL2 vL3 vL4 v C1 vR1 vR2 vD1 vD2 vD3) = D2;
Pm(m^) = m2 л(L1 vL2 vL3 vL4 v C1 vR1 vR2 vD1 vD2) = L1 vL2;
Q(mb,D2) = 1; (15)
Q[mj,(L1 v L2)] = t3(143 + 4 +!) = 0,52.
В первом случае диагноз определен в виде одного дефектного блока D2, присутствующего в транзакционном графе, качество решения равно 1. Во втором случае процедура диагностирования выявила наличие двух дефектных модулей L1 v L2, которые не смогли сформировать идеальную оценку качества. Тем не менее, решение является лучшим среди всех возможных, которое максимально приближено к вектору экспериментальной проверки по критерию принадлежности Q[m!j ,(L1 v L2)].
Вычислительная сложность метода анализа столбцов определяется следующей зависимостью: Zc = 3n2 + n2 = 4n2; Zr = 3n + n = 4n. Здесь первая оценка учитывает выполнение координатных операций над матрицей размерностью n х n. Вторая оценка определяет вычислительную сложность регистровых параллельных операций для подсчета критериев качества и обработки матрицы соответственно.
5.2. Логический метод анализа строк таблицы неисправностей
Стратегия определения ошибок программного кода по таблице неисправностей связана с анализом ее строк, состоящим из двух процедур: 1) вычисление логического произведения конъюнкции строк, отмеченных единичными значениями вектора A; (mb = 1), на отрицание дизъюнкции нулевых строк A; (mb = 0) для одиночных дефектных блоков; 2) вычисление логического произведения дизъюнкции единичных строк на отрицание дизъюнкции нулевых строк для кратных дефектных блоков:
Р8 = ( л Л;) л ( V Л;);
Уть =1 Уть =0
1 1
Рт = ( V Л;) л ( V Л;); (16)
УтЬ =1 УтЬ =0
Формулы интересны тем, что они не привязаны к критериям качества диагностирования, а оперируют лишь двумя компонентами, таблицей неисправностей и вектором экспериментальной проверки. Выполнение процедуры диагностирования по формулам (16) для
вектора экспериментальной проверки тЬ = (0101010010010), заданного в последней табли-
8 ь
це неисправностей, дает результат: Р (т1 ,Л) = Б2, который не хуже, чем полученный ранее методом анализа столбцов. Для вектора экспериментальной проверки ть = (1110011100000), результат диагностирования имеет вид: Рт(т2,Л) = Ц VЬ2 . Вычислительная сложность метода анализа строк определяется следующей зависимостью: 2° = п2; 2Г = п. Первая оценка предназначена для подсчета числа координатных операций, вторая - определяет вычислительную сложность процесса обработки на основе регистровых параллельных операций.
6. Векторно-логический критерий качества решения
Цель - использовать только логические операции и исключить арифметические вычисления из процедуры формирования критерия для существенного повышения быстродействия логического анализа информационных массивов.
Идея - качество решения логического анализа оценивается мощностью единиц в векторе качества и определяется путем взаимодействия входного вектора с таблицами данных на основе использования векторных логических операций.
Вектор качества формирует критерий принадлежности, определяемый следующими выражениями:
Q = d[m, Ai(j) ] + |[m e Ai(j) ] + |[Ai(j) e m], n(i)
d(m,Ai(j)) = card[m © Ai(j) = 1];
i(j)=1
n(i)
l(m e Ai(j)) = card[Ai(j) = 1] - card[m л Ai(j) = 1];
i(j)=1 (17)
n(i)
|(Ai(j) e m) = card [m = 1] - card [m л Ai(j) = 1].
i(j)=1
Первый компонент, составляющий критерий, формирует степень несовпадения n-мерных векторов - кодовое расстояние, путем выполнения операции хог, второй и третий -определяют степень непринадлежности результата конъюнкции к числу единиц каждого из двух взаимодействующих векторов. Понятия принадлежности и непринадлежности являются взаимодополняющими, но в данном случае технологичнее высчитывать именно непринадлежность. Таким образом, идеальный критерий качества равен нулю, когда два вектора равны между собой. Оценка качества взаимодействия двух двоичных векторов убывает по мере роста критерия от 0 к 1.
Чтобы окончательно уйти от арифметических операций при подсчете критерия качества, необходимо выражения (17) преобразовать к следующему виду:
Q = d(m, A) v |(m e A) v |(A e m),
d(m, A) = m © A;
|(m e A) = A л m л A; (18)
|(A e m) = m л m л A.
Здесь критерии представлены уже не числами, а векторами, которые оценивают взаимодействие между компонентами m, A . При этом число нулей в трех оценках есть хорошо, а единицы ухудшают качество взаимодействия. Оптимизация решения логической задачи направлена на минимизацию числа единиц и максимизацию количества нулевых координат в векторах критерия качества. Для сравнения двух оценок необходимо определять мощность единиц в каждом векторе без выполнения операций суммирования, это можно сделать, например, с помощью регистра [4] уплотнения единиц и их сдвига влево. После процедуры сжатия номер последнего или правого единичного бита уплотненной серии единиц формирует индекс качества взаимодействия векторов.
Для двух векторов m = (110011001100); A = (000011110101) определение качества их взаимодействия в соответствии с моделью (18) представлено в следующем виде (нулевые координаты отмечены точками):
ш 1 1 . . 1 1 . . 1 1 . .
Л ....1111.1.1
ш л Л .... 1 1 ... 1 . .
ш л Л 1111. .111.11
а(ш,Л) = ш © л 1 1 .... 1 1 1 .. 1
ц(Л е ш) = ш л ш л Л 11......1...
ц(ш е Л) = Л л ш л Л ......1 1 ... 1
Q = ё(ш, Л) V ц(ш е Л) V ц(Л е ш) 1 1 .... 1 1 1 .. 1
Q(ш,Л) = (6,12) 111111......
Здесь сформирована не только оценка качества взаимодействия векторов, равная Р(ш,Л) = (6,12), но, что самое главное, единичные координаты строки Q = ^ш, Л) V ц(ш е Л) V ц(Л е ш) идентифицируют все те места или позиции, по которым существует некачественное взаимодействие векторов.
Другой пример иллюстрирует формирование максимального критерия качества для двоичных векторов ш = (110000110011); Л = (110000110011), имеющих совпадение по всем координатам:
ш 1 1 .... 1 1 .. 1 1
Л 1 1 .... 1 1 .. 1 1
ш л Л 1 1 .... 1 1 .. 1 1
ш л Л . . 1 1 1 1 . . 1 1 . .
а(ш,л) = ш © л
ц(Л е ш) = ш л (ш л Л)
ц(ш е Л) = Л л (ш л Л)
Q = ё(ш, Л) V ц(ш е Л) V ц(Л е ш)
Q = (0,12)
Здесь критерий качества, равный нулю во всех 12 разрядах Q = (0,12), является максимальным или самым лучшим для взаимодействующих векторов ш = (110000110011); Л = (110000110011), поскольку он определен минимальным числом единиц на двенадцати координатах вектора. Для сравнения двух решений, полученных в результате логического анализа, следует использовать сжатые векторы качества Q, над которыми необходимо выполнить процедуру, включающую следующие векторные операции:
1^1 (ш,Л) ^ Q1(ш,Л) © Q1(ш,Л) л Q2 (ш,Л) = 0;
Q(m,A) =<! (19)
|д2(ш,Л) ^ д^Л)©д^Л)лд2(ш,Л) Ф 0. у '
Для двоичных векторов, представляющих собой критерии качества, выполнена процедура выбора лучшего их них на основе выражения, представленного в (19):
Ql(m,A) = (6,12) 111111......
Q2(m,A) = (8,12) 11111111....
Ql(m,A) лQ2(m,A) 111111......
Q1 (ш, Л) © Q1 (ш, Л) л Q2 (ш, Л)
Q(m,Л) = Ql(m,Л) 111111......
Предложенная алгебра и разработанные на ее основе аналитические модели и методы анализа таблиц на основе введенных критериев качества позволяют решать задачи поиска квазиоптимального покрытия, диагностирования одиночных и кратных дефектов программных и/или аппаратных блоков. Алгебра анализа матриц также может быть использована для решения следующих задач технической диагностики: 1. Моделирование исправного поведения цифрового устройства, заданного таблицей истинности. 2. Определение качества теста по таблице неисправностей. 3. Минимизация теста. 4. Поиск тестов, распознающих заданный дефект, на основе анализа таблицы неисправностей. 5. Идентификация кратного дефекта. 6. Поиск и исправление ошибок при наборе текста.
7. Выводы
1. Научная новизна представлена алгеброй логического анализа векторных и табличных форм задания информации для решения задач поиска, диагностирования, распознавания образов и принятия решений в векторном дискретном булевом пространстве. Представлены быстродействующие модели и методы параллельного векторного логического анализа информации, в пределе полностью исключающие использование арифметических операций, в том числе и для подсчета критерия качества решения, где применяются только логические операции. В качестве примеров описаны новые методы для решения задач диагностирования и нахождения квазиоптимального покрытия, использующие векторные операции, ориентированные на распараллеливание вычислительных процессов.
2. Практическая значимость заключается в ориентации алгебры ассоциативных таблиц и методов их анализа на создание логического мультипроцессора с ограниченной системой команд, ориентированной на высокое быстродействие параллельной обработки больших массивов информации, представленных графовыми структурами ассоциативных матриц.
3. Дальнейшие исследования будут направлены на разработку прототипа мультипроцессора и решение новых практических задач с помощью предложенной алгебры.
Список литературы: 1. Zorian Yervant. Test Strategies for System-in-Package // The Plenary Paper of IEEE East-West Design & Test Symposium (EWDTS'08). Lvov, Ukraine. October 9-12, 2008. 2. Smith L. 3D Packaging Applications, Requirements, Infrastructure and Technologies // Fourth Annual International Wafer-Level Packaging Conference. San Jose, California. September, 2007. 3. The next Step in Assembly and Packaging: System Level Integration in the package (SiP) / Editors: William Chen, W. R. Bottoms, Klaus Pressel, Juergen Wolf // SiP White Paper. International Technology Roadmap for Semiconductors. 2007. Р. 17-23. 4. Какурин Н.Я., Хаханов В.И., Лобода В.Г., Какурина А.Н. / Регистр сдвига. А.С. №«1439682. 22.07.88. 4с. 5. БондаренкоМ. Ф., Дударь З.В., Ефимова И.А., Лещинский В.А., Шабанов-Кушнаренко С.Ю. О мозгоподобных ЭВМ // Радиоэлектроника и информатика. 2004. № 2. С. 89-105. 6. Бондаренко М.Ф., Шабанов-Кушнаренко Ю.П. Об алгебре предикатов // Бионика интеллекта. 2004. № 1. С. 15-26. 7. Бондаренко М.Ф., Шабанов-Кушнаренко Ю.П. Теория интеллекта. Учебник. Харьков: СМИТ, 2006. 592 с. 8. Бондаренко М.Ф., Шабанов-Кушнаренко Ю.П. Модели языка // Бионика интеллекта. 2004. № 1. С. 27-37. 9. АкритасА. Основы компьютерной алгебры с приложениями: Пер. с англ. М.: Мир, 1994. 544 c. 10. Гилл Ф. Мюррей У., РайтМ. Практическая оптимизация. М.: Мир. 1985. 509с. 11. АттетковА.В., Галкин С.В., Зарубин В.С. Методы оптимизации. М.: Изд-во МГТУ им. Н.Э.Баумана, 2003. 440 с. 12. Дегтярев Ю. И. Методы оптимизации: Учебное пособие для вузов. М.: Сов. радио, 1980. 270с. 13. Bergeron J. Writing Testbenches Using SystemVerilog / J. Bergeron // Springer Science and Business Media, Inc., 2006. 414 p. 14. Abramovici M., Breuer M.A. and Friedman A.D. Digital System Testing and Testable Design. Comp. Sc. Press. 1998. 652 р. 15. Densmore Douglas A Platform-Based taxonomy for ESL Design / Douglas Densmore, Roberto Passerone, Alberto Sangiovanni-Vincentelli // Design&Test of computers. 2006. P. 359-373. 16. Хаханов В.И., Литвинова Е.И., Гузь О.А. Проектирование и тестирование цифровых систем на кристаллах. Харьков: ХНУРЭ, 2009. 484с.
Поступила в редколлегию 15.04.2010
Хаханов Владимир Иванович, декан факультета КИУ ХНУРЭ, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: [email protected]. Чумаченко Светлана Викторовна, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: математическое моделирование и вычислительные методы, методы дискретной оптимизации. Увлечения: путешествия, музыка, поэзия, спорт. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: [email protected].
Литвинова Евгения Ивановна, канд. техн. наук, доцент кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: [email protected].