ИНФОРМАЦИОННЫЕ
ТЕХНОЛОГИИ,
СИСТЕМЫ
АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ
удк«21317 В.И.ПОТАПОВ
Омский государственный технический университет
ЛОКАЛИЗАЦИЯ НЕИСПРАВНОСТЕЙ ИСКУССТВЕННЫХ НЕЙРОНОВ С ТОЧНОСТЬЮ ДО ВХОДА-ВЫХОДА
Приводятся алгоритмы локализацт неисправностей монофункциональных и многофункциональных искусственных нейронов.
При настройке искусственных нейронных сетей (ИНС) нейрокомпьютерных систем с технологическими дефектами или отказами, возникшими в процессе эксплуатации, а так же при восстановлении после отказов нейронов логически избыточных функционально устойчивых ИНС из многофункциональных нейронов [ 1 ] и в других подобных ситуациях требуется локализация неисправности в отказавшем искусственном нейроне (ИН) с точностью до входа-выхода. В связи с этим возникает задача разработки алгоритмов локализации неисправностей в ИН с точностью до входа-выхода.
Основные определения и постановка задачи
Многофункциональным ИН с переменными весовыми коэффициентами ©„ входов х, 0 = 1,2,..., л) и переменным порогом Т,, (^=1,2,...,м) будем называть
такой нейрон, выходные функции которого определяются следующими соотношениями:
/=1
/'11.(х1,...,хЛ)=0, если £ а>лх,<Т„ , (2)
¿=1
где - функция, реализуемая ИН с набором весовых коэффициентов входов номер ((с=\,2,...,н) ипорогом номер у(у=1,2,...,ы) , ш„ — весовой коэффициент ¡-то (| =1,2,..., п) входа ИН, входящий в ?-тый набор.
Легко заметить, что число различных весовых коэффициентов у любого 1-го входа ИН удовлетворяет условию N1, <, Н. В дальнейшем будем считать, что наборы весовых коэффициентов входов, необходимые для реализации ИН заданного множества функций , нумеруются в произвольном порядке, удобным для
разработчикатест-профаммы, входы ИН для каждого i -го набора весовых коэффициентов нумеруются в порядке возрастания весов, а пороги нумеруются либо в порядке их возрастания либо в порядке убывания.
Очевидно, что при (.= coast =1, a v ^ const и при Ыconst, а V = const= 1 соотношения (1) и (2) описывают работу многофункциональных ИН, соответственно, с постоянными весовыми коэффициентами входов и переменным порогом и с переменными весовыми коэффициентами входов и постоянным порогом. При (=const =1, и V = const= 1 соотношения
(1) и (2) описывают работу монофункционального ИН, то есть ИН с постоянными значениями весовых коэффициентов входов и постоянным порогом.
В дальнейшем, если в этом нет особой необходимости, при описании ИН индексы C = const =1, и V = const=l у (Оц и будем опускать.
Все последующие рассуждения будем вести в предложении, что сои и Т,, целочисленные, неотрицательные и для каждого (£,v)-ro набора параметров ИН удовлетворяется условие maxú)lf .
В том случае, если у подлежащего контролю ИН среди весовых коэффициентов входов имеются отрицательные (тормозящие), следует исходный ИН модифицировать, инвертировав знаки у отрицательных весовых коэффициентов и добавив к порогу сумму модулей отрицательных весовых коэффициентов входов. Затем необходимо составить тест для проверки модифицированного ИН и, инвертировав значение переменных х,, поступающих на входы ИН с отрицательными весовыми коэффициентами, получить тестдля контроля исходного нейрона.
Нетрудно убедиться, что в минимальном и минимизированном ИН [2] любые катастрофические отказы в виде обрывов и коротких замыканий деталей, сводящиеся к логическим неисправностям типа const= 0 и const = 1 на входах или выходах ИН, а также параметрические и некоторые виды катастрофических отказов, приводящие к увеличению или уменьшению заустановленные пределы значения о)if и Т„, вызывают на одном или нескольких наборах входных переменных нарушение соотношения (1) или
(2). Считая в дальнейшем, что у отказавшего ИН имеет место одна неисправность, последние можно разбить на две группы. К первой группе отнесем неисправности, приводящие хотя бы на одном наборе входных переменных к нарушению соотношения (1), то есть изменяющие ожидаемое значение выходной функции ИН /,„ = 1 на инверсное ftv = 0, а ко второй группе — неисправности, приводящие к нарушению соотношения (2), то есть изменяющие ожидаемое значение выходной функции нейрона /¿„=0 на инверсное
= 1
Приведенное разбиение неисправностей на две группы позволяет сформулировать требования к проверяющим тест-наборам на входах ИН. Так, для обнаружения у минимального нейрона с ( £, у )-м набором параметров любой неисправности первой группы тест-наборы должны, как минимум, удовлетворять условию
(3)
Учитывая особенности работы неминимальных ИН при конкретных видах неисправностей, условия (3) и (4) могут быть расширены. При составлении тест-наборов для контроля неминимальных ИН не всегда удается обеспечить выполнение условий (3) и (4). В этом случае следует составить тест-наборы, удовлетворяющие следующим условиям:
(5)
(6)
а для обнаружения неисправностей второй группы -условию
где г — число входов ИН с у)-м набором параметров, у которых весовые коэффициенты имеют следующие значения: Т„, (Т„ -1), (Т„ - 2),..., (Т„ - й +1) ; с ий- наименьшие целые положительные числа, обеспечивающие выполнение равенства (5) и (6).
В табл. 1 сведены все возможные одиночные неисправности для минимального ИН с у)-м набором параметров и даны расширенные условия для проверяющих тест-наборов.
Анализ таблицы 1 показывает, что во множество тест-наборов, позволяющих обнаружить первый тип неисправностей, каждая переменная х, должна войти не менее одного раза без инверсии, а во множество тест-наборов, позволяющих обнаружить второй тип неисправностей, каждая переменная х, должна войти не менее одного раза без инверсии и не менее одного раза с инверсией. Таким образом, задача построения теста, проверяющего произвольный ИН, сводится к составлению минимального количества тест-наборов, удовлетворяющих, по крайней мере, условиям (3) и (4) и проверяющих все входы нейрона для каждого ( £, I/) -го набора параметров.
При постановке и решении задачи локализации неисправностей ИН будем считать, что перед проведением тестовой процедуры в ИН может иметь место одиночная неисправность любого типа из числа неисправностей первой и второй группы и за время прохождения проверяющего и диагностического тестов вероятность появления второй неисправности равна нулю.
К неисправностям выхода ИН будем относить неисправности первой группы типа 1 (обрыв на выходе ИН) и 4 (увеличение порога Т^) и второй группы типа 5 (которое замыкание на выходе ИН) и 8 (увеличение порога Т„).
К неисправностям |'-го входа ИН отнесем неисправности первой группы типа 2 (обрыв на 1-м входе) и 3 (уменьшение весового коэффициента а„) и второй группы типа 6 (которое замыкание на 1-м входе) и 7 (увеличение весового коэффициента еои).
Для обнаружения данной неисправности требуется один тест-набор.
Назовем исход ¡-к проверки положительным, если результат реализации ИН функции /(х,,х2,...,хп) от переменных, включенных в данный проверяющий тестовый набор т, (г*), соответствует таблице истинности, где через г, обозначен г-й набор входных переменных, удовлетворяющий условию (3), а через тг - набор входных переменных, удовлетворяющий условию (4). В противном случае исход г-й проверки будем называть отрицательным.
Очевидно, что процедура поиска неисправности ИН должна начинаться после первого отрицательного исхода очередной проверки.
Таблица 1
Группа неисправности Тип неисправности Тип неисправности Проверяющий тест-набор /„. /„ Примечание
1 Const = 0 на выходе ИН I - Т„ /=1 1 0 Для обнаружения данной неисправности требуется один тест-набор.
2 const = 0 на / - том входе ИН (т +«,)> X , ^ т. >•1 1 0 Проверяются входы ИН, для которых Х1 = 1 в данном тест-наборе.
I 3 Весовой коэффициент 0)а уменьшился п X х, =т. 1 0 Проверяются входы ИН, для которых .X. = 1 в данном тест-наборе.
4 Порог Т„ увеличился н1 м -W3 1 0 Для обнаружения данной неисправности требуется один тест-набор.
5 const = 0 на выходе ИН £ 0,tXl<{\-\) 0 1 Для обнаружения данной неисправности требуется один тест-набор.
2 6 const = 1 на i - том входе ИН (T„-l)>J >(Tk -coi() i=i 0 1 Проверяются входы ИН, для которых X, = 0 в данном тест-наборе.
7 Весовой коэффициент а>1/ увеличился 1>„*=(т-1) 0 1 Проверяются входы ИН, для которых X, = 1 в данном тест-наборе.
в Порог Т„ уменьшился i=I 0 1 Для обнаружения данной неисправности требуется один тест-набор.
Оценим диагностируемую информацию, которую несет тестовый набор проверяющего теста в зависимости от его номера г. Пусть отрицательный исход имеет проверка, которой соответствует тестовый набор тг. Тогда при г= 1 в проверяемом ИН возможна любая неисправность первой группы входов нейрона, на которые были поданы переменные ху = 1, и выход ИН, а при г > 1 в ИН отсутствуютнеисправности типа 1 и 4 выхода нейрона, также неисправности 2 и 3 входов, на которые в (г - 1)-м предыдущих проверяющих наборах теста подавались значения х, =1.
Если отрицательный исход имеет проверка, которой соответствует тестовый набор г*, то при г= 1 в проверяемом ИН возможна любая неисправность второй группы, а при г > 1 в проверяемом ИН отсутствуют неисправности типа 6 и 7 входов, на которые хотя бы в одном из (г-1)-м предыдущих проверяющих тестовых наборов теста подавались соответственно значения х, = 0 и х, =1.
Таким образом, диагностика отказавшего ИН при т— 1 заключается в выявлении любого неисправного входа из числа входов ИН, на которые в тестовом наборе т, были поданы значения х, = 1 или в тестовом наборе г' — соответствующие значения х, = 0 и х; = 1, либо в выявлении неисправного выхода ИН, а при г > 1 — только в выявлении неисправного входа ИН из числа указанных выше, заисключением входов, проверенных предыдущими (г - 1)-м тестовыми наборами.
Алгоритм локализации неисправностей
первой группы у монофункциональных ИН
Будем полагать, что для целей поиска неисправности имеются все наборы входных переменных, удовлетворяющие условию (3). Тогда алгоритм локализации неисправностей первой группы ИН будет состоять из следующих шагов.
1. Разбить множество тестовых наборов, удовлетворяющих (3), на два подмножества А1 и В1. При этом в подмножество А1 включить те наборы входных переменных, которым соответствуют положительные исходы проверок ИН, а в В1 - наборы, соответствующие отрицательным исходам проверок.
2. Над наборами входных переменных, которые вошли в подмножество А1, произвести операцию поразрядного логического сложения и результат выполнения этой операции а] а\... а\... а1а запомнить.
3. Инвертировать значения переменных двоичного числа, полученного после выполнения п.2.
4. Наднаборами входных переменных, вошедших в подмножество В1, произвести операцию поразрядного логического умножения и результат выполнения этой операции р\ р\ ..,р\ запомнить.
5. Над двоичными числами, полученными после выполнения пп.З и 4, произвести операцию поразрядного логического умножения и результат выполнения этой операции у[ у\ ...у\ ...у\ запомнить.
6. Определить номер входа ИН, имеющего неисправность первой группы. Номер искомого входа совпадает с индексом переменной у\ =1 двоичного числа, полученного по п.5.
Из приведенного алгоритма следует, что двоичное число а} а'2... а\ ...а'п содержит единицы в тех разрядах, которым соответствуют входы ИН, не имеющие неисправностей первой группы.
Двоичное число, полученное после выполнения п.З, содержит единицы в тех разрядах, которым соответствуют номера входов ИН, не проверяющихся наборами входных переменных из А1.
Двоичное число /?,' р\ ...р\ ...р\, полученное после выполнения п.4, содержит единицы в тех разрядах, которым соответствуют номера входов ИН, подозреваемых в наличии неисправности.
Если двоичное число у\ у\ ...у\... содержит несколько разрядов с единицами, то неисправности соответствующих входов или входов и выхода ИН (в случае, если А1 является пустым подмножеством) будут неразличимы.
Алгоритм локализации неисправностей
второй группы у монофункциональных ИН
Будем полагать, что для целей поиска неисправностей имеются все наборы входных переменных, удовлетворяющие условию (4). Тогда алгоритм локализации неисправностей второй группы у ИН будет состоять из следующих шагов.
1. Разбить все множество тестовых наборов на подмножества А2 и В2. При этом в подмножество А2 включить те наборы входных переменных, которым соответствуют положительные исходы проверки ИН, а в подмножество В2 - наборы, соответствующие отрицательным исходам проверок.
2. Логически поразрядно сложить все наборы переменных из А2 и результат выполнения этой операции а[ а\ ...а* ...а2 запомнить.
3. Инвертировать число а\ а\ ...а] ...а\ и результат запомнить.
4. Логически поразрядно умножить все наборы входных переменных из А2 и результат выполнения этой операции а\ а\ ... а? ... а2п запомнить.
5. Логически поразрядно умножать наборы входных переменных ИН из В2 и результат выполнения этой операции р\ /72... Д2... р\ запомнить.
6. Инвертировать наборы входных переменных, вошедших в подмножество В2.
7. Над полученными по п.6 наборами входных переменных произвести операцию поразрядного логи-ческого_умножения ирезультат выполнения этой операции Д2 р\ ...Д2 ...р1 запомнить.
8. Над двоичными числами, полученными попп.З и 5, произвести операцию поразрядного логического умножения и результат выполнения этой операции у2 у\...у]... у1 запомнить.
9. Над двоичными числами, полученными по пп. 4 и7, произвести поразрядную операцию логического умножениями результат выполнения этой операции у* у\...у] ... у\ запомнить.
10. Над двоичными числами, полученными в результате выполнения пп. 8 и 9, произвести операцию поразрядного логического сложения. Результат выполнения этой операции у\ у\ .. .у] .. .у\ запомнить.
11. Определить номер входа ИН, имеющего неисправность второй группы. Номер искомого входа совпадает с индексом у* = 1 двоичного числа, пол ученного но п. 10.
Из алгоритма следует, что двоичное число, полученное после выполнения п.З, содержит единицы втех разрядах, которым соответствуют номера входов ИН, не проверявшихся наборами входных переменных из подмножества А2 на наличие неисправностей типа 7.
Число, полученное после выполнения п.4, содержит единицы в тех разрядах, которым соответствуют номера входов ИН, не проверявшихся на наличие неисправностей типа 6.
Двоичное число, полученное после выполнения п.5, содержит единицы в тех разрядах, которым соответствуют номера входов ИН, подозреваемых в наличии неисправности типа 7.
Двоичное число, полученное после выполнения п.7, содержит единицы в тех разрядах, которым соответствуют номера входы ИН, подозреваемых в наличии неисправности типа 6.
Двоичное число, полученное после выполнения п. 8, содержит единицы втех разрядах, которым соответствуют входы ИН, имеющие неисправность типа 7. Число, полученное после выполнения п.9, содержит единицы в тех разрядах, которым соответствуют входы ИН, имеющие неисправности типа 6.
Минимизация времени локализации неисправностей ИН
В рассмотренных выше алгоритмах локализации неисправностей первой и второй групп использовались все наборы входных переменных ИН, удовлетворяющие условиям (3) и (4). Среднее число таких наборов составляет 2п-1 и при большом п заметно влияет на время выполнения процедуры локализации неисправностей. Для минимизации времени локализации неисправности в ИН необходимо осуществить минимизацию множеств входных наборов, удовлетворяющих условиям (3) и (4).
Одним из путей минимизации является добавление минимального числа наборов входных переменных, удовлетворяющих указанным выше условиям, к минимальному проверяющему тесту для ИН, полученному по правилам, изложенным в [3]. Выбор добавляемых наборов необходимо производить таким образом, чтобы устранить максимально возможное число совпадающих столбцов в матрице, строками которой является тестовые наборы проверяющего теста; удовлетворяющих условию (3). Добавление наборов, удовлетворяющих условию (4), осуществляется до тех пор, пока не будет устранено максимально возможное число совпадающих столбцов и столбцов со взаимно противоположными значениями переменных в строках матрицы, образованной тестовыми наборами, обнаруживающими неисправности второй группы.
Локализация неисправностей у многофункциональных ИН
Очевидно, что алгоритмы локализации неисправностей с точностью до входа-выхода у многофункциональных ИН с постоянными весовыми коэффициентами входов и переменным значением порога полностью совпадают с вешеприведенными для монофункциональных ИН.
Для локализации неисправности в многофункциональном ИН с переменными весовыми коэффициентами входов и постоянным значением порога или с переменными весовыми коэффициентами входов и переменным значением порога необходимо для каж-
дого ^-го, ( = 1,2,..., Н, набора весовых коэффициентов определить множества наборов входных переменных, удовлетворяющих условиям (3) и (4) и позволяющих локализовать неисправности соответствующих входов ИН. После этого с помощью проверяющего теста необходимо установить номер набора весовых коэффициентов входов и значение порога, на которых зафиксирован отказ, а также группу неисправности, к которой он принадлежит. Дальнейшая локализация неисправности производится так же, как и у монофункционального ИН, а в качестве элементов подмножеств А1, В1 и А2,В2 используются наборы входных переменных, удовлетворяющие условиям (3) и (4), для набора весовых коэффициентов, на котором зафиксирован отказ.
Следует отметить, что при построении наборов входных переменных, необходимых для локализации неисправности, в случае многофункциональных ИН с переменными значениями порогов могут исполь-
зоваться любые из имеющихся значений порогов, на которых отсутствуют неразличимые неисправности.
Библиографический список
1. Потапов В.И., Потапов И.В. Математические модели и методы оптимизации надежности отказоустойчивых вычислительных систем из искусственных нейронных сетей, - Омск: ОмГТУ, 2003. - 84 с.
2. Бутаков Е.А. Методы синтеза релейных устройств из пороговых элементов. — М.:Энергия, 1970. — 328 с.
3. Потапов В,И., Потапов И.В. Оптимизация надежности и техническая диагностика искусственных нейронных сетей/ Омский гос.техн.ун-т.-Омск, 2003.-207с. — Деп.в ВИНИТИ 25.06.03, №1216-В2003.
ПОТАПОВ Виктор Ильич, доктор технических наук, профессор, заведующий кафедрой информатики и вычислительной техники.
уд< 687 016 s О. В. РЕВЯКИН А
Омский государственный институт сервиса
СОЗДАНИЕ ГРАФИЧЕСКОГО РЕДАКТОРА САПР ОДЕЖДЫ НА ОСНОВЕ ИСПОЛЬЗОВАНИЯ СРЕДСТВ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ
Основой графического редактора САПР являются графические объекты, выделенные на основе анализа современных систем проектирования одежды и программно реализованные с помощью языка Object Pascal интегрированной среды разработки Borland Delphi 7, при использовании стандартной библиотеки процедур Borland Visual Component Library. Созданные объекты, интегрированная среда, архитектура программного средства позволяют решить задачи проектирования и моделирования чертежей конструкций одежды с помощью средств визуального программирования, а также записать и повторить созданный в процессе конструирования алгоритм с другими входными данными или использовать ее для обучения.
Ядром системы для автоматизации проектных работ в области конструирования одежды, несомненно, является блок разработки базовых и модельных конструкций, графический редактор, т. к. он связан с остальными модулями и определяет их иерархию, взаимодействие, содержание, информационное единство. С целью выбора среды для автоматизации проектных работ в области конструирования одежды были проанализированы системы Visual Basic, Borland С + + Builder, Delphi и AutoLISP (Visual LISP) [ 1,2, 4, 5].
Визуальная среда для создания графического редактора была выбрана не случайно, поскольку она принимает на себя всю работу по оформлению типовых окон — главного окна прикладной программы, диалоговых окон ввода строк и вывода стандартных сообщений. Она предоставляет программисту возможность без каких-либо хлопот встроить в приложение любой объект, приписать ему необходимые свойства, сформировать схему поведения объекта в
случае возникновения определенных событий, облегчает процесс создания и отладки приложений с помощью набора стандартных средств:
— элементов для проектирования;
— большого числа скрытых и вспомогательных окон, которые могут быть вызваны по мере необходимости;
— панелей меню и «быстрых» кнопок для исполнения наиболее часто используемых команд;
— наличия хранилища визуальных компонентов;
— предлагаемой стандартной формы для конструирования приложений;
— окна компонентов, включенных в состав приложения, и окно значений их свойств.
Система Visual Basic предполагает действие локальной системы координат в каждом графическом объекте, начало которой расположено в левом верхнем углу. Кроме того, можно ввести свою систему координат методом Scale (масштабирования). Для обозначе-