УДК 681.326:519.713
В.И. ХАХАНОВ, О. А. ГУЗЬ, ТИЕКУРА ИВ (TIECOURA YVES), НГЕНЕ КРИСТОФЕР УМЕРАХ (NGENE CHRISTOPHER UMERAH), В.И. КОПАНЕВ
ИНФРАСТРУКТУРА ЛОГИЧЕСКОГО АНАЛИЗА АССОЦИАТИВНЫХ ТАБЛИЦ
Предлагается инфраструктура логического анализа ассоциативных таблиц (матриц), позволяющая выполнять обработку взаимодействия входного вектора с n-мерным алгебро-логическим пространством, задаваемым с помощью упорядоченных и структурированных таблиц проблемно-ориентированных данных, которые представляют собой ассоциативные модели поведения логических объектов. Для оценки взаимодействия векторов в алгебрологи-ческом пространстве разрабатывается универсальный критерий качества, позволяющий находить и оценивать квазиоптимальное решение в задачах ассоциативно-логического анализа информации. Приводятся примеры использования инфраструктуры и алгебрологичес-ких процедур для решения традиционных задач логического анализа, подтверждающие эффективность и практическую направленность алгебраических моделей.
Цель - разработка предикатной алгебры ассоциативных матриц для аппаратной реализации инфраструктуры логического анализа больших объемов информации в виде мультипроцессорной матрицы, использующей ограниченную систему логических команд для параллельно-конвейерного решения задач поиска, принятия решений, распознавания образов и диагностирования технических состояний.
Задачи исследования: 1. Мотивация и актуальность аппаратной реализации процедур анализа информационных массивов, сформатированных в графы ассоциативных таблиц. 2. Разработка предикатной алгебры ассоциативных матриц как эффективного математического аппарата, ориентированного на параллельно-конвейерную обработку векторных и табличных массивов. 3. Создание метрики для оценивания взаимодействия векторов и таблиц в процессе поиска оптимального решения в дискретном булевом пространстве. 4. Решение практических задач нахождения квазиоптимального покрытия и диагностирования неисправностей или ошибок в программных продуктах.
Источники исследования: 1. Аппаратные средства решения информационно-логических задач [1-4]. 2. Алгебраические системы конечных предикатов для описания и анализа ассоциативно-логических структур данных [5-8]. Критерии оценивания вариантов поиска решений в дискретном булевом пространстве [9-12]. Методы решения задач покрытия и диагностирования на основе анализа таблиц [13-16].
1. Актуальные технологии
Современный рынок электронных и информационных технологий очень нуждается в новых носителях больших объемов информации, эффективных структурах данных для хранения и поиска требуемой информации, новых интеллектуальных и компьютерных средствах, точно и быстро обеспечивающих любые запросы пользователя. Современные компьютеры ориентированы в своей основе на арифметические вычисления, поэтому не всегда являются эффективным инструментом для решения логических, ассоциативных и поисковых задач в существующем океане информации. В связи с этим актуальным представляется разработка новых специализированных технологий, ориентированных на создание цифровой системы на кристалле с ограниченной системой логических команд для анализа в реальном масштабе времени больших информационных массивов, организованных в эффективные структуры данных. Такие информационно-ориентированные процессоры могут поддерживать как серверную, так и клиентскую стороны компьютерной сети путем встраивания в системную плату или их соединения через один из портов, например, используя USB. Если исключить из рассмотрения арифметические операции, которые не свойственны человеческому мозгу, то все ресурсы мозгоподобного компьютера можно переориентировать на повышение мощности и производительности вычислителя для чрезвычайно большого класса проблем логического, ассоциативного анализа, распознавания образов, диагностирования и поиска информации. 18
В плане предлагаемых исследований вызывает интерес десятка перспективных технологий от Gartner Research Group (Gary Smith, EE Times, 12.2009) для ближайших лет. В ней нашли отражение только технологии, связанные с разработкой специализированных цифровых изделий на кристаллах, хотя развитие программных технологий также будет оказывать сильное влияние на состояние рынка электроники. Глобально важными остаются технологии снижения потребляемой мощности и решения, направленные на уменьшение содержания ценных материалов в продукте. Данные технологии выступают двигателями многих направлений развития электроники, перечисленных ниже: 1. Биологическая обратная связь или электроника, управляемая мыслью. 2. Печатная электроника на основе использования органических материалов. 3. Пластиковая память на основе полимеров, проявляющих ферроэлектрические свойства. 4. Безмасочная литография на основе использовании электронного луча для создания топологии схемы. 5. Параллельная обработка данных для многоядерных гетерогенных графических процессоров. 6. Сбор энергии от механических и электрических процессов в окружающей среде. 7. Биоэлектроника и wetware, сочетающие биологические объекты и электронику для медицины. 8. Резистивное ОЗУ или мемристор с эффектом памяти как четвертый пассивный элемент электронной схемы, дополняющий резистор, конденсатор и индуктивность. 9. Переходные отверстия в кремнии (Through-Silicon-Via - TSV) для создания реальных 3D-SiP и кристаллов. 10. Различные технологии батарей на основе сочетания никеля и лития.
В плане актуализации пункта 5 топ-технологий мозгоподобный компьютер ориентируется только на параллельные вычисления, связанные с обработкой двоичных и многозначных векторов, таблиц, матриц на основе использования мультипроцессора, ассоциативной памяти, регистров. Для оценивания полученных решений необходимо использовать арифметически независимый критерий оценки качества в векторном логическом пространстве, определяемый соотношением нулевых и единичных разрядов. Таким образом, лучшим решением при разработке мозгоподобного компьютера будет полное исключение всех арифметических операций и команд на их основе, что на несколько порядков повысит быстродействие выполнения векторных логических операций над информационными массивами больших объемов. Еще одна инновация связана с параллельной обработкой не векторов, а информационного окна, сканирующего данные, с масштабируемыми параметрами количества строк и столбцов.
Если рассматривать успех мозгоподобного проекта как создание двух эффективных движков, математического и технологического (аппаратного), то первый должен быть основан на использовании алгебры, ориентированной на выполнение транзакций, максимально приближенных к системным компонентам информационно-логической модели как носителя алгебры. В этом случае сигнатура будет представлена векторными или транзак-ционными логическими операциями над таблицами, матрицами, векторами, а также более сложными предикатными конструкциями, ориентированными на создание полезной для человека системной функциональности, определенной во времени и пространстве и имеющей целевую функцию и метрику для оценивания полученного решения. Если для технологического информационно-логического движка в современных условиях не найти лучшего варианта эффективной аппаратной платформы, чем мультипроцессорная матрица с системой только логических команд, то математический двигатель должен быть инвариантным к любым регулярным структурам данных и масштабируемым относительно параллельной обработки векторов и таблиц произвольной размерности. Важным технологическим свойством движка является скроллинговое окно для сканирования таблиц большой размерности, которое обеспечивает параллельное выполнение логических операций между входным вектором-запросом и всеми ячейками окна. Средства предлагаемой алгебры должны иметь эффективные и простые критерии оценивания решений логического анализа в дискретном булевом пространстве. Иначе, теория должна быть ориентирована только на логические операции, оперировать не переменными, а векторами и матрицами (таблицами), максимально распараллеливать все вычислительные процессы, обеспечивать масштабируемость как размерности операндов, так и исполняемых программных приложений для эффективного достижения цели с требуемым качеством удовлетворения запроса.
Сущность данного исследования - создание проблемно ориентированной предикатной алгебры ассоциативных матриц и масштабируемого технологического двигателя в виде мультипроцессорной инфраструктуры с минимальным числом логических операций, ориентированных на параллельно-конвейерную обработку табличных и векторных форм данных для существенного повышения быстродействия анализа больших объемов информации при решении задач поиска, принятия решений, распознавания образов и диагностирования технических состояний объектов или процессов.
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) = maxQj(m,Aj); i
Q(m, A;) = {Qi,Q2,...,Qi,...,Qn}; P(m, A) = m Д (Ai,A2,...,A;,...,Am);
Д = {a,v, —};
A = (Ai,A2,...,A;,...,Am);
Ai = (Aii,Ai2,...,Aij,...,Ais);
Aij = (Aij1, Aij2,.., Aijr,.., Amsq);
m = (mi,m2,...,mr,...,mq);
P(m, A) = m a {Ai,A2,..,Ai,...,Am} = p;
P = {Pi,P2,...,Pr,..,Pn};
m a (Ai v A2 v ... v Ai v ... v Am) = maxQi(m,Ai);
i
j=M iVi3j (m a Aij *0);
Pr(e P) = m Ai, ^-j
i =1,m I3i Vj(m a Aij =0) a d(m,Aij) = max;
m a Aij = mr a Ajjr = r=1
m ^ mr a Aijr = mr; r =1
Aij ^ mr a_ Aijr = Aijr;
r=1
m a Aij ^ mr a Aijr = mr v A
4r'
(1)
r=1
q
0 ^ 3(mr a Aijr = 0); r =1
P(m,A) = Pr(e p) ^ Qi(m,Pr) = max, r = 1,n.
Здесь определены следующие предикаты. Выражение P(m,A) = Q(m,A) с помощью операций объединения, пересечения и дополнения задает аналитическую модель вычислительного процесса в виде предиката, определенного на единичном интервале
Q(m, A) = [0,0 -1,0] интегральным критерием принадлежности входного вектора множеству
дискретных булевых состояний. Упорядоченная совокупность A = (Ai,A2,...,Aj,...,Am) взаимодействующих ассоциативных таблиц объединяется на системном уровне обобщенным графом целевой функциональности. Предикат Ai = (Aii,Ai2,..,Aij,..,Ais) =1 представлен совокупностью векторов, формирующих ассоциативную таблицу. Вектор Aij = (Aij1,Aij2,...,Aijr,..,Amsq) задает ассоциативное решение как совокупность состояний переменных, где каждая координата или переменная определена в троичном алфавите Aijr 6{0,1,x} = р . Взаимодействие P(m,A) входного вектора запроса m = (mi,m2,...,mr,.. ,mq) с графом ассоциативных таблиц A = (Ai,A2,...,Aj,...,Am) формирует множество решений p = {pi,p2,...,pr,...,pn}, каждое из которых имеет интегральную оценку качества Q(m,A) = {Qi,Q2,...,Qi,...,Qn}. Выбор лучшего решения осуществляется путем вычисления функционала: P(m,A) = pr(e p) ^ Qi(m,pr) = max, r = 1,n .
3. Предикатная алгебра ассоциативных матриц
Матрица (таблица), размерностью n х m, может быть представлена векторами строк или столбцов [Ai ] v [Aj ], где каждая координата матрицы или вектора определена в алфавите {0,1}:
A = [Aij] = {[Ai],[Aj]}, [Ai] = (AbA2,...,Ai,...,An), [Aj] = (AbA2,...,Aj,...,Am), Aij = {0.1},
Ai = (Ai1,Ai2,...,Aij,...,Ain), Aj = (Aj1,Aj2,...,Aji,...,Ajm). (2)
Матрица взаимодействует с одним из входных векторов, ориентированных на обработку
строк или столбцов ma v mb :
m = ma vmb, ma = (m1,m2,...,mi,...,mn), mb = (m1,m2,...,mj,...,mm). (3)
По существу матрица представляет собой любое ассоциативное отношение (таблицу истинности, таблицу предикатов), заданное в n- (m-) мерном векторном двоичном пространстве, где каждый вектор есть точка, принадлежащая данному пространству. Взаимодействие m-вектора с матрицей A преследует цель определить отношение принадлежности каждого вектора матрицы или точки пространства к m-вектору или выполнить разделение пространства точек на два подмножества. Для решения данного класса задач вводятся предикаты, инвариантные по отношению к обработке строк и столбцов матрицы, основанные на использовании логических операций (И, ИЛИ, НЕ).
1) Дизъюнкция конъюнктивного взаимодействия между m-вектором и A-матрицей:
P1 (m, A) = m a A = m a [A1 v A2 v... v Ai(j) v... v An(m)] =
n n
Pa = Pa v ma a Ai ^ ma a Ai * 0; i=1 i =1
b b b m b m (4)
Pb = Pb vmb a Aj ^ mb a Aj * 0. j =1 j =1
2) Логическое умножение конъюнкции единичных по т векторов матрицы А на отрицание дизъюнкции нулевых по т векторов А:
Р2(т,А) = ( Л Аад) а ( V Аад)
=1 Vml(J) =0
3) Логическое умножение дизъюнкции единичных по т векторов матрицы А на отрицание дизъюнкции нулевых по т векторов А:
р3(тА) = (v V 1А10))а( V оА10)) (5)
Vml(J) =1 Vml(J) =0 •
Для всех трех операций качество взаимодействия между т-вектором и А-матрицей оценивается с помощью теоретико-множественной метрики:
О = + ц(ш £ Ai(j)) + £ т)],
1 п(т)
d(m,Ai(j)) = -{п-сага[т П Ai(j) =0]};
П К^1
ц(т £ Лад) = ^^О)^^ ^ card[mп Л1^)] =
п(т) п(т) п(ш)
= card[m П Ai(j) = x]&card[Ai(j)] = card[ и Ai(j) = х]&[т П Ai(j) Ф0];
i(j)=1 i(j)=1 i(j)=1 (6)
ц(Ai(j) £ т) = 2card[шnAi(j)]-card[ш] ^ card[mп =
п(т) п(т) п(т)
= card[m П Ai(j) = x]&card[m] = card[ ит = х]&[т П Ai(j) Ф0]. i(j)=1 i(j)=1 i(j)=1 Данные формулы определения качества взаимодействия т-вектора и A-матрицы изоморфны следующим алгебрологическим выражениям:
О = -^(т, Ai(j)) + ц(т £ Ai(j)) + ^(Ai(j) £ т)],
1 п(т)
d(m,Ai(j)) = — {п-card[m л Ai(j) = 0]}; ^ п i(j)=1
ц(т £ Ai(j)) = 2^^ card[mл=
п(т) п(т) п(т)
= card[m л Ai(j) = x]&card[Ai(j)] = card[ V Ai(j) = х]&[т л Ai(j) Ф 0];
i(j)=l i(j)=l i(j)=l (7)
£ т) = 2^^ card[mл ^
£ т) = 2 1 1ия —^^
п(т) п(т) п(т)
= card[m л Ai(j) = x]&card[m] = card[ V т = х]&[т л Ai(j) Ф0]. ¡0)=1 i(j)=1 i(j)=1 Здесь кодирование теоретико-множественных символов четырехзначного алфавита для выполнения операций в алгебре логики определяется в следующем виде:
0 1 ^ Щ (8)
01 10 11 00 (8)
Т(а ^ в) =
в
В таком алфавите все теоретико-множественные операции, согласно изоморфизму, имеют аналоги в булевой алгебре, что позволяет более эффективно, параллельно выполнять алгебрологические регистровые операции над векторами.
Если векторы Aj(j), т определены в двоичном алфавите, то формулы определения качества взаимодействия т-вектора и A-матрицы упрощаются:
О = ^(т, + д(т £ Ai(j)) + £ т)],
1 п(т)
d(m,Ai(j)) = — {п - card[m л Ai(j) = 0]}; и п i(j)=1
ц(т £ = 2card[ш^ card[mл Ai(j)] =
п(т) п(т)
= card[m л Ai(j) = 1]&card[Ai(j)] = card[ V Ai(j) = 1];
i(j)=l ОД=1 (9)
£ т) = 2^^ card[mл Ai(j)] =
п(ш) п(ш)
= card[m л Ai(j) = 1]&card[m] = card[ V т = 1].
¡а)=1 i(j)=l
Фактически функция принадлежности определяется числом единиц, полученных после логического умножения векторов A^j) л m , отнесенных к количеству единиц в векторах Aj(j), m . Здесь следует понимать существенное отличие взаимодействия уже не пространств, а точек в виде вектор-маски m и двоичных векторов матрицы A = [Ay ]. Тем не менее, два упомянутых компонента успешно могут взаимодействовать в векторном алгеб-рологическом пространстве с помощью операций И, ИЛИ, НЕ. При этом следует учитывать, что нулевые векторы не могут взаимодействовать между собой, поскольку они соответствуют пустому множеству по определению. Следовательно, векторы матрицы A = [Aij ] и маска m не могут быть определены только нулевыми значениями по всем координатам. Нуль-вектор есть n-мерный вектор, равный единицам по всем координатам. Он формирует пустое пространство. Кодовое расстояние между двумя алгебрологически-ми векторами определяется числом нулевых значений при их конъюнкции минус количество единичных координат в результирующем векторе.
Здесь и далее матрица A = [Ay ] будет записываться двумя способами - по строкам или столбцам:
A = [A] v [B] = [A,] v [Bj],
A = (Ai,A2,...,Ai,...,An); (10)
B = (B1,B2'-'Bj'-'Bm)-
Две формы записи служат для сокращения сложности представления формул, задающих процесс обработки матрицы, а также для улучшения понимания аналитически записанных вычислительных процессов. Соответственно входной вектор-маска имеет идентификаторы m = ma v mb в зависимости от способа анализа матрицы, по строкам или столбцам. Три предикатные векторные операции (and, or, not) позволяют инновационно решать многие, интересные для практики, задачи. Некоторые из них представлены ниже.
4. Задача покрытия
Нахождение квазиоптимального покрытия единичными значениями вектор-строк всех вектор-столбцов таблицы. Технологическая инновация - параллельное выполнение операций над векторами матрицы или таблицы. Научная новизна - определение подмножества максимально непересекающихся или минимально пересекающихся строк.
Стратегия процедуры. Выбор ядра - каждая строка, покрывающая некоторый столбец безальтернативно - одна единица в столбце. Для этого вектор-столбец mb последовательно маскирует по одной координате для нахождения ядра в виде вектор-строк, которые покрывают безальтернативно некоторый столбец. Определение дополнения к ядру - строки с максимальным числом единиц, имеющие максимально пустое пересечение с уже найденными векторами покрытия. Вербальному описанию модели процесса поиска покрытия соответствует следующая аналитическая форма поиска ядра и дополнения к нему:
n b m b b
P = P v [A, ^ (Qj(mb л Bj) = 1) ^ (mb = 0) v (mb = 1)];
1=1 j=1 J j
n a (11)
P = P v [A, ^ max[Qi((ma = 1) л A,)) x (1 - Q,(P л A,))]];
1 =1
Здесь вектор m играет неоценимую роль маскирования строк, столбцов или отдельных переменных матрицы для создания идеальных условий вычислительного процесса в целях достижения результата. Без него матрица - мертвая информация. Для решения задачи покрытия необходимо последовательно задать для каждого столбца вектор-маску (m = 0) v(mj = 1), определенную всеми нулями, кроме одной координаты j, имеющей
J a
единичный сигнал; запись m = 1 означает, что строчный вектор-маска равен 1 по всем координатам. Произведение критериев качества Q,((ma = 1) л A,)) x (1 - Q,(P л A,)) предпочтительнее суммы, поскольку оно дает более взвешенную оценку относительно покрывающей способности вектора и кодового расстояния с уже имеющимся решением при выборе очередной строки - кандидата в покрытие. Вычислительная сложность процедуры
Z + 12
поиска квазиоптимального покрытия равна Z = n +—n , где n - число строк в матрице,
первое слагаемое - определение ядра покрытия, второе - поиск квазиоптимального дополнения к нему.
Для примера таблицы, размерностью 5х7, имеющей вид:
A = [A,] v [Bj] =
Ai \Bj Bi B2 B3 B4 B5 B6 B7
Ai 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 = {Ai,A4,A5} .
5. Метод диагностирования дефектов по таблице неисправностей Рассматривается на примере транзакционного графа одного из программных модулей Row_buffer, используемых при создании IP-core вейвлет-преобразования для стандарта JPEG 2000 (рис. 1). Вершины графа представлены входными шинами и переменными, регистрами и выходными шинами. Дуги между ними означают существование транзакций между вершинами при выполнении операторов HDL-кода.
Рис. 1. Яо^^ЬиНег транзакционный граф
Для данного Яо^,_Ьи£Гег графа построена таблица, задающая поведение неисправных блоков на тесте путем использования системы моделирования и генерации тестов 8ЮЕТЕ8Т:
A = {A,,Bj} =
Test Bi B2 B3 B4 B5 B6 B7 Bg B9 B10 b b
тЬ m2
(Li) (L2) (L3) (L4) (C1) (R1) (R2) (D1) (D2) (D3) 2
Ai(ti) 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
A3(t3) 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
Ag(tg) 0 0 1 0 0 1 0 1 0 0 0 1
Aç(tç) 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
Aii(tii) 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. Метод ассоциативно-логического анализа столбцов таблицы неисправностей (ТН)
Он основан на применении операции логического умножения или конъюнкции вектора экспериментальной проверки, формально рассматриваемого в качестве входного вектор-столбца или маски т, на столбцы таблицы неисправностей тЬ л(В1 VВ2 V...VBj V... VВт) и подсчете качества взаимодействия векторов Qj(mb лBj) в целях выбора лучшего из них по критерию максимального качества. При этом столбец Bj е А фактически идентифици-
рует метрику поведения неисправности или дефектного блока на тестовых наборах. Предикатная запись процесса получения решения в виде совокупности ошибок, присутствующих в HDL-коде, представлена в следующем виде:
n , m
Ps = Ps v [Bj ^ max(Qj(mb л Bj))]; i=1 j=1
n b b m (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, выполняется дизъюнкция таких вектор-строк (главное отличие метода от существующих технологий), которые формируют оценку качества,
b m
равную 1 или максимально близкую к единице Q[m л ( v Bj e Pm)] = 1 v max. По существу,
j=1
в список кратных дефектов включаются такие одиночные неисправности, которые при логическом умножении на вектор экспериментальной проверки дают результат в виде соответствующего вектор-столбца. При этом дизъюнкция всех столбцов, составляющих
m m b
решение, равна ,N=1(Bj e P ) = m .
С использованием таблицы и процедур диагностирования (13) определяются дефектные компоненты программного кода модуля Row_buffer методом логического умножения вектор-столбцов таблицы истинности на вектор экспериментальной проверки. Здесь векторы mj5, m!b формируют результат диагностического эксперимента, выполняемый по ранее
определенной технологии (14). Результат диагностирования одиночных и кратных дефектов имеет следующий вид:
Ps(mj) = mj л(L1 vL2 vL3 vL4 v C1 vR1 vR2 vD1 vD2 vD3) = D2; Pm(m^) = m2 л (L1 v L2 v L3 v L4 v C1 v R1 v R2 v D1 v D2) = L1 v L2;
Q(mj,D2) = 1; (15)
b 14 1
Q[m2,(L1 v L2)] = + - +1) = 0,52.
В первом случае диагноз определен в виде одного дефектного блока D2 , присутствующего в транзакционном графе, качество решения равно 1. Во втором случае процедура диагностирования выявила наличие двух дефектных модулей L1 v L2, которые не смогли сформировать идеальную оценку качества. Тем не менее, решение является лучшим среди всех возможных, которое максимально приближено к вектору экспериментальной проверки
по критерию принадлежности Q[m!b, (L1 v L2)].
Вычислительная сложность метода анализа столбцов определяется следующей зависимостью:
Zc = 3n2 + n2 = 4n2; Zr = 3n + n = 4n.
Здесь первая оценка учитывает выполнение координатных операций над матрицей размерностью n х n. Вторая оценка определяет вычислительную сложность регистровых параллельных операций для подсчета критериев качества и обработки матрицы соответственно.
5.2. Метод ассоциативно-логического анализа строк таблицы
неисправностей
Стратегия определения ошибок программного кода по таблице неисправностей связана с анализом ее строк, состоящим из двух процедур: 1) вычисление произведения конъюнкции строк, отмеченных единичными значениями вектора А; (mb = 1) на отрицание дизъюнкции нулевых строк A^m5 = 0) для одиночных дефектных блоков; 2) вычисление произведения дизъюнкции единичных строк на отрицание дизъюнкции нулевых строк для кратных дефектных блоков:
Ps = ( л АО л ( v АО;
Vmb =1 Vmb =0
i i
Pm = ( V А;) л ( V A;); (16)
Vmb =1 Vmb =0 i i
Формулы интересны тем, что они не привязаны к критериям качества диагностирования, а оперируют лишь двумя компонентами, таблицей неисправностей и вектором экспериментальной проверки.
Выполнение процедуры диагностирования по формулам (16) для вектора экспериментальной проверки mb = (0101010010010), заданного в последней таблице неисправностей, дает результат: Ps(mb, А) = D2 , который не хуже, чем ранее полученный, методом анализа столбцов. Для вектора экспериментальной проверки mb = (1110011100000) результат диагностирования имеет вид: Pm (mb, А) = L1 v L2 .
Вычислительная сложность метода анализа строк определяется следующей зависимостью: Zc = n2; Zr = n.
Первая оценка предназначена для подсчета числа координатных операций, вторая определяет вычислительную сложность процесса обработки на основе регистровых параллельных операций.
6. Векторно-логический критерий качества решения
Цель - использовать только логические операции и исключить арифметические вычисления из процедуры формирования критерия для существенного повышения быстродействия логического анализа информационных массивов.
Идея - качество решения логического анализа оценивается мощностью единиц в векторе качества, а определяется путем взаимодействия входного вектора с таблицами данных на основе использования векторных логических операций.
Вектор качества формирует критерий принадлежности, определяемый следующими выражениями:
Q = d[m, a;q] + ^[m е A;j + е m],
n(m)
d(m,Al(j)) = card[m © a;q = 1];
i(j)=1
n(m)
^(m е А;(j)) = card[A;(j) = 1] -card[m л A;(j) = 1];
;(j)=1 (17)
n(m)
^(A;(j) е m) = card[m = 1] -card[m л Al(j) = 1].
;(j)=1
Первая составляющая критерия формирует степень несовпадения n-мерных векторов -кодовое расстояние путем выполнения операции Xor, вторая и третья определяют степень непринадлежности результата конъюнкции к числу единиц каждого из двух взаимодейству-
ющих векторов. Понятия принадлежности и непринадлежности являются взаимодополняющими, но в данном случае технологичнее высчитывать именно непринадлежность. Таким образом, идеальный критерий качества равен нулю, когда два вектора равны между собой. Оценка качества взаимодействия двух двоичных векторов убывает по мере роста критерия от 0 к 1.
Чтобы окончательно уйти от арифметических операций при подсчете критерия качества, необходимо выражения (17) преобразовать к следующему виду:
Q = ^т, А) V д(т е А) V д(А е т), а(т,А) = т © А;
д(т е А) = А л т л А;
(18)
д(А е т) = т л т л А.
Здесь оценки представлены уже не числами, а векторами, которые оценивают взаимодействие между компонентами т, А . При этом число нулей в трех оценках есть хорошо, а единицы ухудшают качество взаимодействия. Оптимизация решения логической задачи направлена на минимизацию числа единиц и максимизацию количества нулевых координат в векторах критерия качества. Для сравнения двух оценок необходимо определять мощность единиц в каждом векторе без выполнения операций суммирования, это можно сделать с помощью регистра [4] уплотнения единиц и их сдвига влево, представленного на рис. 2. Регистр позволяет за один такт выполнить сдвиг влево и уплотнить все единичные координаты п-разрядного двоичного вектора. После процедуры сжатия номер последнего или правого единичного бита уплотненной серии единиц формирует индекс качества взаимодействия векторов.
Рис. 2. Регистр уплотнения единиц
Для двух векторов т = (110011001100); А = (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(m, А) = (6,12) 111111......
Здесь сформирована не только оценка качества взаимодействия векторов, равная 0(ш,Л) = (6,12), но, что самое главное, единичные координаты строки 0 = ^ш, Л) 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 . .
а(ш,Л) = ш© л
ц(Л е ш) = ш л (шл Л)
ц(ш е Л) = Л л (ш л Л)
0 = ^ш, Л) V ц(ш е Л) V ц(Л е ш)
0 = (0,12)
Здесь критерий качества, равный нулю во всех 12 разрядах 0 = (0,12), является максимальным или самым лучшим для взаимодействующих векторов ш = (110000110011); Л = (110000110011), поскольку он определен минимальным числом единиц на двенадцати координатах вектора.
Для сравнения двух решений, полученных в результате логического анализа, следует использовать сжатые векторы качества над которыми необходимо выполнить процедуру, состоящую из следующих векторных операций:
1^1 (ш, Л) ^ (ш, Л) © (ш, Л) л 02 (ш, Л) = 0;
0(ш,Л) = ] (19)
|02(ш,Л) ^ (ш,Л) ©(ш,Л) л02(ш,Л) Ф 0. ^ '
Для двоичных векторов, представляющих собой критерии качества, выполнена процедура определения лучшего из них на основе выражения, представленного в (19):
01(ш,Л) = (6,12) 111111......
02(ш,Л) = (8,12) 11111111....
01(ш,Л) лд2(ш,Л) 111111......
(ш, Л) © (ш, Л) л 02 (ш, Л)
0(ш,Л) = 01(ш,Л) 111111......
Предложенная алгебра и разработанные с ее помощью аналитические модели и методы анализа таблиц на основе введенных критериев качества позволяют решать задачи поиска квазиоптимального покрытия (неисправностей), диагностирования одиночных и кратных дефектов программных блоков. Алгебра анализа матриц также может быть использована для решения следующих задач: 1. Моделирование исправного поведения цифрового устройства, заданного таблицей истинности. 2. Определение качества теста по таблице неисправностей. 3. Минимизация теста. 4. Поиск тестов, распознающих заданный дефект, на основе анализа таблицы неисправностей. 5. Идентификация кратного дефекта. 6. Поиск и исправление ошибок при наборе текста.
7. Выводы
1. Научная новизна представлена предикатной алгеброй логического анализа векторных и табличных форм задания информации для решения задач поиска, диагностирования, распознавания образов и принятия решений в векторном дискретном булевом пространстве. Представлены быстродействующие модели и методы параллельного векторного логического анализа информации, полностью исключающие использование арифметических операций, в том числе и для подсчета критерия качества решения, где используются только логические операции. Также описаны новые методы для решения задач диагностирования и нахождения квазиоптимального покрытия, использующие векторные операции, ориентированные на распараллеливание вычислительных процессов.
2. Практическая значимость заключается в ориентации алгебры ассоциативных таблиц и методов их анализа на создание логического мультипроцессора с ограниченной системой команд, ориентированной на высокое быстродействие параллельной обработки больших массивов информации, представленных графовыми структурами ассоциативных матриц. Дальнейшие исследования будут направлены на разработку прототипа мультипроцессора и исследование новых практических задач с помощью предложенной алгебры.
Список литературы: 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. С. 89105. 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с.
Поступила в редколлегию 12.11.2009
Хаханов Владимир Иванович, декан факультета КИУ ХНУРЭ, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: hahanov@kture.kharkov.ua.
Гузь Олеся Алексеевна, канд. техн. наук, доцент, зав. кафедрой специализированных компьютерных систем Донецкой академии автомобильного транспорта. Научные интересы: проектирование и диагностика цифровых систем и сетей на кристаллах. Адрес: Украина, 83086, Донецк, пр. Дзержинского, 7, тел. (063) 470-52-09. E-mail: olesya_guz@ukr.net. Тиекура Ив (Tiecoura Yves), аспирант кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем и сетей. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-421. E-mail: kiu@kture.kharkov.ua.
Нгене Кристофер Умерах (Ngene Christopher Umerah), аспирант кафедры АПВТ ХНУРЭ. Научные интересы: вычислительная математика, техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: музыка, поэзия, путешествия. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: ri@kture.kharkov.ua.
Копанев Вадим Игоревич, студент гр. КСМ-06-2 факультета КИУ ХНУРЭ. Научные интересы: вычислительная математика, техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: музыка, поэзия, путешествия. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: burninglegion@xakep.ru.