Чистяков Александр Евгеньевич - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371606; кафедра высшей математики; доцент.
Першина Юлия Валериевна - e-mail: [email protected]; тел.: 89043471778; кафедра высшей математики; студентка.
Chistyakov Alexander Evgenjevich - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634371606; the department of higher mathematics; associate professor.
Pershina Yulia Valerievna - e-mail: [email protected]; phone: +79043471778; the department of higher mathematics; student.
УДК 004.3:681.518
Д.Е. Иванов
ПРИМЕНЕНИЕ ИНФОРМАЦИИ СТРУКТУРНОГО УРОВНЯ В АЛГОРИТМАХ ПОСТРОЕНИЯ ИДЕНТИФИЦИРУЮЩИХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
Рассматриваются вопросы эффективного применения структурной информации об обрабатываемом цифровом устройстве при построении оценочных функций в алгоритмах идентификации таких устройств. Целью работы является построение математического аппарата конструирования оценочных функций. Первая задача работы - формализация параметров оценочных функций. Для этого вводятся понятия функций состояния и активности компонент, а также различия компонент по паре и по множеству устройств. Вторая задача - показать применение введённого математического аппарата при построении оценочных функций в практических задачах идентификации. Формализация структурной информации о поведении устройства в виде оценочной функции позволяет более точно оценивать последовательности и, следовательно, улучшить сходимость эволюционных алгоритмов.
Цифровое устройство; идентификация; эволюционный алгоритм; оценочная функция.
D.E. Ivanov
USE OF STRUCTURAL INFORMATION IN THE ALGORITHMS OF GENERATION OF IDENTIFYING SEQUENCES
The article deals with the effective implementation of structural information about the digital devices in the construction of evaluation functions in the algorithms of generation of identifying sequences. The aim is to construct a mathematical apparatus for the building of evaluation functions. The first objective is the formalization of the parameters of evaluation functions. For this purpose the functions of the achieved component value, component activity and components difference are introduced. The second objective - to show the application of the introduced mathematical formalism in the construction of evaluation functions in practical problems of identification. The formalization of the structural information about the behavior of the device under test allows more accurately assess the sequences, and hence to improve the convergence of evolutionary algorithms.
Digital device; identification; evolutionary algorithm; evaluation function.
Введение. Парадигма эволюционных вычислений проникла в техническую диагностику [1-3]. Это выразилось в том, что решение многих задач синтеза идентифицирующих последовательностей (ИдП) было заменено на применение итеративной задачи анализа, что позволяет производить обработку больших
цифровых устройств (ЦУ). В эволюционных алгоритмах (ЭА) происходит вероятностное построение новых решений на основе текущих с помощью некоторых эволюционных операций. В генетических алгоритмах (ГА) [3-4], например, используется популяционная модель: новые популяции особей порождаются из текущей с помощью операций скрещивания и мутации. В алгоритмах симуляции отжига (СО) [5] происходит эволюция одного потенциального решения, а в качестве оператора порождения используется возмущение, которое является аналогом мутации в ГА. В ЭА построения ИдП потенциальное решение представляется в виде входной последовательности.
Основной принцип эволюции заключается в том, что в новое поколение переходят преимущественно более приспособленные особи. Степень приспособленности особи определяет оценочная функция (ОФ), которая показывает, насколько близко особь приблизилась к решению задачи. Ключевым при построении таких оценок является тот факт, что в процессе проведения эксперимента с ЦУ на структурном уровне наблюдению доступны все линии устройства: как внешние так и внутренние. Такой подход существенно отличается от абстрактных методов, в которых само устройство представляется чёрным ящиком, а для наблюдения доступны лишь его входные и выходные линии.
В ЭА построения ИдП, предложенных к настоящему времени, построение ОФ выполняется эвристическими методами. Целью данной статьи является построение формального подхода конструирования ОФ на основе информации структурного уровня. Для этого вводятся функции, отражающие поведение ЦУ на структурном уровне: состояние компонент ЦУ, активности, разности поведения компонент двух ЦУ и множества ЦУ. Будет показано, что динамические параметры в ОФ выражаются через введённые функции. Предлагаемый в статье математический аппарат использовался авторами при разработке ЭА построения ИдП, однако может быть полезен и в других методах.
Данная статья имеет следующую структуру. Во втором разделе будут введены функции, отражающие поведение ЦУ на структурном уровне, а также будут даны общие замечания о построении ОФ в алгоритмах генерации ИдП. В третьем разделе показывается практическое построение оценок входных последовательностей в задачах идентификации ЦУ. В заключении делаются выводы.
Функции поведения ЦУ структурного уровня. Будем рассматривать модель синхронных последовательностных ЦУ. Пусть задано ЦУ Д, в нём Nвх -
число внешних входов, Nвъх - число внешних выходов, Nэл - число логических элементов, Nтр - число элементов состояний (псевдовыходов / псевдовходов); Nк - число контрольных точек для улучшения тестирования. Пусть используется моделирование работы ЦУ Д в трёхзначном алфавите Е3 = {0,1,и}. Обозначим Q - множество всевозможных состояний последовательностного ЦУ, включая неопределённые. Тогда Q = {0,1,и}1^тр . Пусть X - множество всех определённых состояний ЦУ: X = {0,1}^°, X С Q. Множество всех возможных входных последовательностей образуют множество 2, причём элементы 81 кодируются элементами из Е3. Будем также считать, что в начальный
момент времени устройство Д находится в полностью неопределённом состоянии: = (ыы...ы) є Q . Отображение 8: QхЕ^ Q показывает все достижимые
состояния ЦУ, когда на его вход поступают последовательности Бі є 2 при ра-
боте в алфавите Е3.
Таблица 1
Статические параметры оценочных функций
Параметр Интерпретация Применение Замечание
Число внешних выходов Задачи построения ИдП
Nвx Число внешних входов Задачи построения ИдП
N тр Число элементов состояний Задачи построения ИдП Полный список достижимых состояний не доступен
N к.т. Число контрольных точек Задачи построения ИдП Могут отсутствовать, N = 0 к.т.
Nэл Число логических элементов, либо комбинационных блоков Задачи построения ИдП
И Число неисправностей Задачи тестирования Велико для больших ЦУ
Ні Управляемость элемента с номером [ Задачи построения ИдП Для больших ЦУ часто не доступно
іі Наблюдаемость элемента с номером 1 Задачи построения ИдП Для больших ЦУ часто не доступно
кА Структурная глубина устройства Задачи построения ИдП Отношение числа входов к невыходным линиям
й Последовательностная глубина устройства Задачи построения ИдП
Центральным элементом ЭА построения ИдП является ОФ, которая формализует цель всего алгоритма. Для её построения используются два типа параметров: статические и динамические.
Статические параметры (табл. 1) являются характеристиками обрабатываемого ЦУ А0 и не изменяются в процессе работы алгоритма. Будем считать, что
если для ЦУ представлена информация об управляемости и наблюдаемости
элементов, то она доступна не только для всех логических элементов, но и для входов, выходов и элементов состояний ЦУ, а также контрольных точек. Все статические параметры могут быть вычислены до начала работы метода.
Динамические характеристики (табл. 2) являются свойством оцениваемой особи-последовательности 5 и вычисляются на основании моделирования поведения исследуемого ЦУ А0 .
Таблица 2
Динамические параметры оценочных функций.
Параметр Интерпретация Применение Замечание
и _ N _, и _ Nвx и N , — тр ’ и _ N к.т. , и _ N„ Число соответствующих компонент, для которых установлено заданное состояние в алфавите моделирования Задачи достижения для исправных и неисправных ЦУ Вводятся как функции состояния компонент и ()
К _ Nвhх, * _ N вХ, К _ Nтр , К _ N к.т., К _ N эл Число соответствующих компонент, для которых получены различные значения Задачи верификации двух и более устройств Вводятся как функции различия компонент г () двух устройств, Я() - множества устройств
N 1У соб Число событий Задачи построения ИдП, оценки рассеивания тепла
Длина последовательности Задачи построения ИдП Может изменяться в соответствии с определением эффективной длины
И I | тест | Число обнаруженных неисправностей Задачи тестирования Мера полноты теста
И I | акт | Число активизированных неисправностей Задачи тестирования, основанных на активизации
Ni нер Число множеств неразличимых неисправностей мощности 1 Задачи построения диагностических тестов Последовательность К ер, г = 1,... является одной из диагностических мер
В самом общем случае ОФ строится с учётом параметров обоих типов, т.е.
О = О (Ад, 5). (1)
Если в методе построения ИдП происходит обработка двух устройств А1 и
А2 , то (1) может быть записано в виде
О = О (Л, А2,5). (2)
В задачах построения тестов обычно рассматривается исправное ЦУ А0 и
множество неисправных А = {А1,..., Ап}, порождаемое соответственно множеством неисправностей F = {/1,..., /п}. Тогда (1) принимает следующий вид:
О = 0( А,, А, 5) = О (А,, И, 5).
(3)
Включение всех перечисленных в табл. 1-2 параметров в оценочную функцию при решении конкретной задачи может оказаться неэффективным и необходим их отбор.
Пусть g (X ., А0) показывает значение на выходе компоненты g при завершении моделирования ЦУ А0 на входном наборе X ■ = 5[.] последовательности 5. Под компонентой будем понимать внешние входы и выходы, логические элементы, линии состояний и контрольные точки в ЦУ.
Определение 1. Функция установки в ноль и0(g, X., Ад) равна 1, если после моделирования устройства Ад на входном наборе X ■ выход элемента g равен нулю:
после моделирования устройства А, на входном наборе X ^ выход элемента g равен единице:
Тогда, например, установка фиксированного значения 0 или 1 вместо значения и £ Е3 на выходе некоторого элемента g определяется выражением
Поскольку вычисление параметров управляемости Н и наблюдаемости I
для больших ЦУ само по себе является нетривиальной задачей, используются упрощённые подходы. Например, в [6] в качестве веса элементов и триггеров используется мера топологического расстояния от элемента g до внешнего выхода ЦУ, которая вычисляется по ориентированному графу, соответствующему топологии ЦУ. При реализации различных ЭА построения ИдП авторы использовали параметры управляемости Н и наблюдаемости Ig, вычисленные статистически
методом на основании энтропийного подхода [7].
В [8] с привлечением теории информации проводится анализ взаимосвязи тестируемости и потребляемой мощности (динамической активности) ЦУ, который показывает, что улучшение тестируемости ЦУ ведёт к увеличению динамической активности логических вентилей. Поэтому параметр динамической активности Nсо6 также часто включается в оценочную функцию.
Определение 2. Функция установки в единицу и 1(g, X^, А,) равна 1, если
(5)
(6)
(7)
Число событий Nсо6 (функция активности) ЦУ А,, при моделировании на одном входном наборе X, через функции установки значений выражается следующим образом:
Коб (Л. X,) = 2 ((и ■( g, X., Ад) = и 0( g, X.', А,)) V
g£G
(8)
V (и 0( g, X, _1, Ад) = иЧg, X,, Ад))),
где G - множество логических элементов ЦУ. Тогда число событий для
ЦУ А, при моделировании на входной последовательности 5 определяется:
длина(5)
(Ад,5) = I Кооб(Ад,X,). (9)
г=1
Также в ряде случаев полезной бывает не численная, а структурная информация. Сюда можно отнести, например, списки состояний ЦУ, достигнутых в процессе работы того или иного метода. Причём такая информация может быть полезна не только для вычисления оценочной функции особей, но и для ускорения работы эволюционного метода в целом.
Большое количество параметров порождает многокритериальность ОФ. При этом построение эффективной ОФ может быть затруднено, а учёт сразу всех необходимых параметров в ней может ухудшить сходимость ЭА [9]. Часто в случае многокритериальности функция оценки строится по аддитивному принципу как взвешенная сумма некоторых из перечисленных параметров или некоторых функций от них (так называемые «наивные методы», [9]):
О = кх ■ /г(параметр1) + к2 ■ /2(параметр2) +..., (Ю)
что по сути является скаляризацией ОФ. В этом случае требуется обоснование численных значений нормирующих констант к{, что осуществляется обычно на
основании машинных экспериментов.
Второй из возможных подходов при решении проблемы многокритериально-сти заключается в том, что сначала достигается один из критериев качества последовательности, затем второй и т.д. Таким образом, в алгоритме выделяется несколько этапов работы, для каждого из которых строится своя оценочная функция
О, () , где г - номер этапа. Переход от этапа I _ 1 к этапу , осуществляется при
выполнении критерия этапа г _1. При этом эволюционные операции на этапе с номером I , которые нарушают критерии предшествующих этапов 1,...,г _ 1 считаются запрещёнными. Отметим, что такой подход хоть и требует введения дополнительных проверок, однако используется достаточно часто.
Построение оценочных функций на основе семантики качества последовательностей. Покажем как на практике происходит построение ОФ на основе введённых функций.
В задаче логической инициализации необходимо снять неопределённости в начальном состоянии ЦУ Ъи = (ии...и) .
Определение 3. Последовательность 5 £2 называется логически инициализирующей для заданного ЦУ А,, с функцией перехода 8, если финальное состояние г,. =8( 2и, 5 ) £ X , т.е. в нём определены все элементы состояний.
Для построения оценочной функции соответствующего ЭА введём следующие эвристические параметры:
1) П1 — отношение числа элементов состояний с определённым значением сигнала из Е2 = ЮЛ} к общему числу элементов состояний Nтр ;
2) п2 — число событий при моделировании поведения или активность ЦУ; чем выше число событий при моделировании ЦУ Ад на заданной последовательности 5 , тем выше вероятность, что определённые значения сигналов из Е2 = {д, 1} достигнут элементов состояний ЦУ;
3) п3 - длина входной последовательности-особи 5 .
Видно, что параметр пх прямо соответствует определению 3, тогда как параметры п2 и п3 являются эвристическими. Все данные параметры выражаются через введённые функции. Для п1 имеем
п = (I (и Ч g, X,, Ад) V и 0( g, X,, Ад)))/Ктр, (11)
g£Z
где X - множество линий элементов состояний ЦУ.
Параметр п2 в точности соответствует числу событий в виде (9)
п2 = N со6 (Ад, 5). Параметр п3 зависит только от последовательности п3 = п3( 5) . Таким образом, ОФ в целом будет зависеть от параметров А и 5 , т. е. соответствовать (1). С учётом весовых коэффициентов можно записать:
О(Ад,5) = (к1 *п1(Ад,5) + к2 *п2(Ад,5))*к3”э(5), (12)
где к1 , к2 , к3 - нормализующие константы.
Сходной для данной является задача, когда ЦУ Ад необходимо перевести в некоторое фиксированное состояние Хкон. Для формализации оценки будем использовать расстояние по Хэммингу для двоичного представления X тек = 8( X нач, 5) (являющееся достигнутым состоянием после приложения последовательности 5 ) и Xкон, показывающее число совпадений элементов состояний. Тогда для заданного ЦУ А,, и заданной входной последовательности 5 оценка вычисляется на основании результатов исправного моделирования:
О( А), 5, %нач , ^кон ) = О (^тек ( Ад, 5, ^нач ), ^кон ) = I 1,
2тек [г]=2кон [г] (13)
где X[г] показывает значение г-го элемента состояния, г = 1,...,т .
ОФ в виде (13) также можно представить через функции достижения значений, введённые в данном разделе ранее. Поскольку Zmек определяется как достижение определённого значения д или 1 для элементов g £ X, то значения компонент gкон определяют состояние Xкон, а последнее состояние ЦУ задаётся при , = длина(5) _ 1, то с учётом (4)-(5) можно записать:
О( Ад, 5, X нач, X кон) = I ((и °(g, X,, Ад, X нач) = g кон) V
g£Z
V(U1(g , X, , Ад, X нач ) = gкон )), (14)
где X - множество элементов состояний ЦУ. Видно, что в (14) была включёна только одна компонента из (12), показывающая совпадение на множестве элементов состояний X . По аналогии с (12) данную оценку можно обобщить путём добавления компонент, которые показывают активность ЦУ А1 = {Z1, Xх, У1,81,Л1}, а также длину особи-последовательности 5 , что должно улучшить качество оценки.
При решении задачи верификации эквивалентности поведения двух заданных ЦУ А1 и А2 необходимо строить последовательности, которые стараются породить различные реакции на внешних выходах. При этом важным является определение эквивалентности. Если для двухзначного алфавита определение является достаточно тривиальным, то при использовании трёхзначных логик используется множество подходов. Рассмотрим два из них: трёхзначная неизменяющая замена (ТНЗ) и трёхзначная эквивалентность (ТЭ).
Определение 4. ЦУ А^ называется трёхзначной неизменяющей заменой для
ЦУ (автомата) А2 тогда и только тогда, когда для произвольной последовательности 5 выходные реакции А1(Zu, 5) покрывают выходные реакции А2(Zu, 5 ).
Определение 5. Значение сигнала ух называется покрывающим для значения сигнала у2, если пара значений (ух , у2) принимает только следующие значения: (0,0), (1,1), (и,и), (и,д) и (и,1), где 1,д,и £ Е3.
Видно, что для пары значений (ух , у2 ) запрещены следующие комбинации:
^1 ={ (д,1), ад), о, и) и (1, и)}.
Определение 6. ЦУ Ах является трёхзначным эквивалентом для ЦУ А2 тогда и только тогда, когда при их старте из неопределённого состояния Zu для любой входной последовательности 5 пары выходных реакций на неё ( Al(Zu, 5 ), A2(ZU, 5 )) принадлежат множеству {(0,0),(1,1),(u, и)}.
Таким образом определяется, что два ЦУ А1 и А2 состоят в отношении ТЭ при использовании алфавита моделирования Е3 тогда и только тогда, когда их выходные реакции полностью совпадают, при этом оба ЦУ начинают работу из состояния Zu. Запрещёнными являются следующие выходные комбинации: D1={(0,1), (1,д), (д,и), (1,и), (и,д), (и,1)}. Данное определение является очевидн^1м расширением обычного определения эквивалентности на трёхзначную логику.
Следовательно, последовательность 5 будет различающей для А1 и А2 в смысле определений ТНЗ и ТЭ, если она порождает на выходе устройств пару значений, принадлежащую множеству и соответственно. Поскольку в определениях речь идёт только о реакциях на внешних выходах ЦУ, то они соответствуют абстрактному уровню, когда для наблюдения доступны только внешние выходы устройств. Для структурного уровня выполняется следующее уточнение: если не удалось породить различие на внешних выходах, то различие в поведении следует искать на линиях состояний анализируемых ЦУ: данное различие будет показывать,
что ЦУ находятся в разных состояниях и данное различие скорее должно проявиться на внешних выходах. Продолжая уточнение, если несоответствие не обнаружено и на линиях состояний, то его следует искать на внутренних линиях анализируемых ЦУ, предполагая, что это позволит различию поведения распространиться сначала на внутренние состояния, а затем на внешние выходы ЦУ.
При применении «наивных методов» формализации многокритериальной оптимизации формализация ОФ для двух заданных ЦУ А1 и А2 и входной последовательности-особи Б = (Xх,...,Хп) задаётся выражением
длина Б
0(Д, А2, Б) == 2 (К ■ П\(Д, А,, Х}) +
і =1
+к2 ■ п2(А1, А2,Хі) + к3 ■ п3(А1, А2,Хі)), (15)
где к1 - к3 - нормализующие константы, которые уравновешивают различие поведений заданных ЦУ на внешних выходах, линиях состояний и внутренних линиях (контрольных точках); п1- п3 - числовые параметры, определяемые по результатам моделирования работы ЦУ А1 и А2 . Смысл данных параметров исходит из семантики качества последовательности и заключается в следующем:
♦ п1 (А1, А2, X і) показывает число различий на множестве внешних выходов двух ЦУ А1 и А2 по результатам моделирования на ]-м входном наборе последовательности Б :
п,( Д, А2, Хі) = 2 г (5, Хі, Д, А2), (16)
«еУ
где У - множество внешних выходов ЦУ А1 и А2 ;
♦ п2( А1, А2, Хі) показывает число различий на множестве линий состояний двух ЦУ А1 и А2 по результатам моделирования на і-м входном наборе последовательности Б :
п2( А1, А2, Хі) = 2 г (5, Хі, Д, А2), (17)
«ег
где г - множество линий состояний ЦУ А1 и А 2 ;
♦ п3(А1, А2, Х і ) показывает число различий на множестве выходов комбинационных блоков (множестве контрольных точек) двух ЦУ А1 и А2 по результатам моделирования на і-м входном наборе последовательности Б :
пз( А1, А2, Хі) = 2 г («, Хі, Д, А2), (18)
«еО
где Є - множество линий комбинационных блоков ЦУ А1 и А 2 .
Функция г () является функцией различия компонент устройств А1 и А2 и вычисляется на основании моделирования. При использовании двухзначного алфавита моделирования Е2 она определяется согласно формуле
г2(«,Хі, Д, А2) = «(Хі, Д) © «(Хі, А2), (19)
где 2 - индекс в г () , показывающий значность алфавита моделирования.
Функция г2() выражается через функции установки и0 и и1:
г2( 5, X, Л, А2) = (и 0( 5, Х], А1) = и >( 8, Х], А2)) V
V (и\8, X ■, А1) = и °(8, X ■, А2)). (20)
Активность на выходе различных компонент ЦУ по-разному может влиять на активность его выходов, что задаётся численным значением (табл. 2). С учётом
данного параметра (20) принимает вид
г2(5,Х], А1, А2) = 18 • (и0(5,Х], А1) = и\5,Х], А2)) V
v(U1(g, Х., А1) = и0(5, Х., А,)). (21)
Функция г2() в виде (19) определена и может принимать значения из Е2. Однако определения 4 и 6 ориентируются на 3-значные логики. Расширим определение г () на данный случай.
1. Для алгоритма верификации ТНЗ функция г() будет принимать значение
1, если пара выходов элементов 51(Х ■, А1) и 52(Х ■, А2) принадлежит запрещённому множеству D1 = {(0,1), (1,0)}:
Xесли (5(х,A1),5(х,А2))е Д;
Гз( Е, Х3, Д, А) = \ ■ ■ (22)
[0, иначе.
2. Для алгоритма верификации ТЭ функция г () будет принимать значение 1, если пара выходов элементов 51(Х ■,А1) и 52(Х ■,А2) принадлежит запрещённому множеству 02 = {(0,1), (1,0), (и,0),(и,1),(0, и),(1, и)}:
... . . . I1,если (§(Х,A1),§(Х,а2))е А;
Гз( 5, Х;., Д, А2) = \ ■ ■ (23)
[0, иначе.
По аналогии с (21) функции (22) и (23) выражаются через и0 и и1.
В задаче функционального тестирования рассматривается одно исправное устройство А и множество неисправных А = {А1,..., Ап}, порождаемое множеством
неисправностей ¥ = {/1,..., /п}. Задача фактически заключается в итеративном выборе неисправности /цел е ¥ и построения различающей последовательности для А,, и А^ (соответствующего неисправности fцел). Тогда оценочная функция будет совпадать с (15), в котором А1 соответствует А , а А2 соответствует Af . Более того, поскольку порождение различий на выходах Ад и Af решает задачу построения теста для неисправности fцел, то счётчик различий по внешним выходам п1 можно исключить, поскольку разность поведений всегда обнаруживается по результатам моделирования. Тогда для одного входного набора можно записать
0( А0 , /'цел , Х1 ) = к2 ' п2 (А0 , Af , Х■ ) к3 ' пз( А0, А , Х■ ), (24)
где к2 и к3 - нормирующие константы; п2 и п3 соответствуют (17) и (18).
Более сложной является задача построения диагностических тестов. Здесь необходимо отличить поведение Аf не только от А , но и от всех других неисправных устройств. Задача сводится к итеративному построению различающей последовательности для выбранного класса неразличимых неисправностей ¥к е ¥', где ¥' - текущее множество неразличимых классов неисправностей.
При этом в начальный момент времени ¥' = {¥}, а на конечном этапе работы
алгоритма последовательности будут строиться для классов, которые содержат
только по две неисправности: |¥к| = 2 .
По аналогии с (15) выше оценочную функцию следует строить на основании параметров различающей активности:
длина(Б)
0(А),¥■,5) == 2(к 'Ъ(Х,, А),¥■) +
, =1
+ кг ' Nг(Х,, А),¥}) + к3' ^(Х{, А,,¥})). (25)
Здесь - N3 несут другую смысловую нагрузку и показывают:
- N - число внешних выходов с различными значениями в неисправных ЦУ, соответствующих неисправностям, входящим в класс неразличимости ¥■:
^( Х,, А), ¥■) = 2 Я( В, Х,, А), ¥■), (26)
^еУ
где У - множество внешних выходов ЦУ;
- N2 - число элементов состояний с различными значениями в неисправных ЦУ, которые соответствуют неисправностям, входящим в класс неразличимости ¥■:
N 2( Х,, А), ¥) = 2 ж «. Х,, А), ¥), (27)
ее?
где ? - множество линий состояний ЦУ;
- N 3 - число выходов вентилей с различными значениями в неисправных ЦУ,
которые соответствуют неисправностям, входящим в класс неразличимости ¥■:
^( Х,, А), ¥■) = 2 Я( 5, Х,, А), ¥■), (28)
&еО
где О - множество линий комбинационных блоков ЦУ.
Соответственно, функции различия Я() в (26)-(28) должны быть переопределены для множества сравниваемых ЦУ. Функции различия элементов для множества ЦУ определяются следующим образом:
0, если выходы элементов £ множества ЦУ
Я(5,Х{,Ад,¥■) = <из ¥■, одинаковы после подачи набора Х{; (29)
1, иначе.
Видно, что функции г() различия двух устройств (16)-(18) являются частными случаями функции различия Л() для множества устройств. Также функции различия Л() выражаются через функции достижения значений и0 и и1.
Также ОФ (15) в методе верификации эквивалентности и (24) в методе построения проверяющих тестов являются частными случаями ОФ в виде (25) при рассмотрении пары устройств.
Также (25) отличается от (24) следующим моментом. В функции оценки (24) отсутствует член, показывающий различие на внешних выходах двух ЦУ. Это связано с тем, что такая информация показывает, что задача решена. Однако для функции оценки (25) информация о количестве различий выходных реакций множества устройств N1 является существенной: чем больше различных устройств -тем качество последовательности выше.
Выводы. В статье рассмотрены вопросы построения оценочных функций в алгоритмах генерации идентифицирующих последовательностей на основании информации, показывающей поведение устройства на структурном уровне. Это позволяет более точно отражать поведение ЦУ, формализуя его в виде оценочной функции, и, следовательно, улучшить сходимость эволюционных алгоритмов. Введены понятия функций состояния и активности компонент, различия компонент по паре и по множеству устройств. Для ряда практических задач показано построение оценочных функций на основе предложенного математического аппарата.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Goldberg D.E. Genetic Algorithm in Search, Optimization, and Machine Learning. - Boston, MA: Addison-Wesley Longman Publishing Co. - 1989. - 412 p.
2. Скобцов Ю.А. Основы эволюционных вычислений. - Донецк: ДонНТУ, 2008. - 326 с.
3. Иванов Д.Е. Генетические алгоритмы построения входных идентифицирующих последовательностей цифровых устройств. - Донецк, 2012. - 240 с.
4. Skobtsov Y.A., Ivanov D.E., Skobtsov V.Y. Genetic algorithms in test generation for digital circuits // Proceedings of the 8th Biennial Baltic Electronics Conference. - Tallinn Technical University, 2002. - P. 291-294.
5. Иванов Д.Е. Применение алгоритмов симуляции отжига в задачах идентификации цифровых схем // Вестник Национального технического университета «Харьковский политехнический институт». Сборник научных трудов. Тематический выпуск: Информатика и моделирование. - Харьков: НТУ "ХПИ", 2011. - № 17. - C. 60-69.
6. Corno F., Prinetto P., Rebaudengo M., Sonza Reorda M. GARDA: a Diagnostic ATPG for Large Synchronous Sequential Circuits // Proc. of IEEE European Design and Test Conference, Paris, March. - 1999. - P. 267-271.
7. Барашко А.С., Скобцов Ю.А., Сперанский Д.В. Моделирование и тестирование дискретных устройств. - Киев: Наукова думка, 1992. - 288 с.
8. Petlin O.A., Furber S.B. Power consumption and testability of CMOS VLSI circuits // IEEE Transactions on CAD. - 2007. - P. 1-6.
9. Luke S. Essentials of Metaheuristics. - George Mason University Press, USA. - 2009. - 239 p.
Статью рекомендовал к опубликованию д.т.н., профессор Б.К. Лебедев.
Иванов Дмитрий Евгеньевич - Институт прикладной математики и механики НАН Украины; e-mail: [email protected]; Украина, 83114, г. Донецк, ул. Р. Люксембург, 74; тел.: 380623116795; к.т.н.; доцент.
Ivanov Dmitry Evgen'evich - Institute of Applied Mathematics and Mechanics, National Academy of Science of Ukraine; e-mail: [email protected]; 74,R. Luxemburg street, Donetsk, 83114, Ukraine; phone: 380623116795; cand. of eng. sc.; associate professor.