Научная статья на тему 'Модификация эволюционно-генетического алгоритма для построения оптимальных тестовых последовательностей'

Модификация эволюционно-генетического алгоритма для построения оптимальных тестовых последовательностей Текст научной статьи по специальности «Математика»

CC BY
187
67
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭВОЛЮЦИОННО-ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / ДИАГНОСТИРОВАНИЕ / ТЕСТОВАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ / EVOLUTIONARY GENETIC ALGORITHM / DIAGNOSTICS / TEST SEQUENCE

Аннотация научной статьи по математике, автор научной работы — Губернаторов Владимир Павлович

Рассматривается применение эволюционно-генетического алгоритма для решения задачи построения оптимальной тестовой последовательности, используемой при тестовом диагностировании сложной технической системы. Исследуются существующие операторы генетического поиска. Предлагается модификация генетического алгоритма, включающая специальные генетические операторы, методы построения хромосом и функции приспособленности. Приводится анализ эффективности предложенной модификации.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Губернаторов Владимир Павлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

EVOLUTIONARY GENETIC ALGORITHM MODIFICATION FOR TEST SEQUENCE OPTIMIZATION

The application of an evolutionary genetic algorithm to construct an optimal test sequence used in testing a complex technical system is considered. The existing genetic search operators are studied. A modification of the evolutionary genetic algorithm is proposed which includes special genetic operators, chromosome construction techniques and fitness functions. An efficiency analysis of the modification proposed is presented.

Текст научной работы на тему «Модификация эволюционно-генетического алгоритма для построения оптимальных тестовых последовательностей»

Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, N 3 (1), с. 179-183

УДК 681.518.5

МОДИФИКАЦИЯ ЭВОЛЮЦИОННО-ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНЫХ ТЕСТОВЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ

© 2012 г. В.П. Губернаторов

Нижегородский государственный технический университет им. Р.Е. Алексеева vladimir.gubernatorov@gmail .com

Поступила в редакцию 15.02.2012

Рассматривается применение эволюционно-генетического алгоритма для решения задачи построения оптимальной тестовой последовательности, используемой при тестовом диагностировании сложной технической системы. Исследуются существующие операторы генетического поиска. Предлагается модификация генетического алгоритма, включающая специальные генетические операторы, методы построения хромосом и функции приспособленности. Приводится анализ эффективности предложенной модификации.

Ключевые слова: эволюционно-генетический алгоритм, диагностирование, тестовая последовательность.

Введение

Тестовое диагностирование осуществляется путём анализа функционирования системы на заданных наборах входных данных — тестах. Каждый тест позволяет установить работоспособность блока элементов диагностируемой системы. При выборе тестов на исполнение необходимо учитывать, что:

• выполнение каждого теста связано с затратой некоторого количества материальных ресурсов;

• время обнаружения неисправности - случайная величина;

• набор тестов может быть избыточным.

В связи с этим возникает задача построения оптимальной тестовой последовательности, обеспечивающей минимум средних затрат на идентификацию состояний заданного числа элементов диагностируемой системы. Данная задача является комбинаторной и может быть решена с помощью известных методов дискретной оптимизации. Однако при построении оптимальных тестовых последовательностей для диагностирования сложных систем данные методы неэффективны, так как требуют трудоёмких вычислений.

Когда использование точных методов оптимизации становится невозможным, практическую значимость приобретает приближённый подход.

В данной статье предлагается модификация эволюционно-генетического алгоритма, адаптированная для решения задачи построения оптимальной тестовой последовательности.

1. Основные определения

Формально тестовая последовательность £ = = s(т) — это порядок исполнения тестов, заданный в виде нагруженного дерева поиска, листьями которого являются номера неисправных блоков системы I е [1, N], а каждой внутренней вершине соответствует тест из некоторого подмножества т множества допустимых тестов Т = = {¿ь..М}.

Каждый тест tj е Т может быть представлен

моделью в виде целочисленного ^мерного вектора V, ¡-я компонента которого равна нулю, если тест не контролирует состояние ¡-го блока диагностируемой системы [1] (рис. 1).

1 1 1 1

Бі Б2 Бз Б4

1 0 1 2

Компоненты, соответствующие контролируемым блокам

б

Рис. 1. Тест р представленный в виде вектора Vj (а); определение возможных результатов выполнения теста ^ по его вектору (б)

а

Е р( Б>)

2. Построение модификации эволюционно-генетического алгоритма

Формально эволюционно-генетический алгоритм (ЭГА) можно определить следующим образом:

ЭГА = (Ри, К, X, I, Sl, Я, f к),

(1)

Рис. 2. Дополненная матрица идентификации

Множество векторов V, соответствующих множеству допустимых тестов Т, может быть представлено в виде матрицы А, количество столбцов которой соответствует числу блоков диагностируемой системы, количество строк -числу тестов множества Т, элемент матрицы -ссоответствует ¡-й компоненте у-го вектора. В рамках технической диагностики такая модель называется матрицей идентификации [2].

Для возможности подсчета стоимости выполнения тестовой последовательности С(£) матрица идентификации должна быть дополнена столбцом, содержащим стоимости тестов С(^), и строкой, содержащей вероятности неисправных состояний блоков диагностируемой системы Р(Б) (рис. 2).

Стоимость исполнения тестовой последовательности определяется по формуле

С (£) = X С (Б:) • Р( Б:),

:е7 с N

где Z - множество блоков диагностируемой системы, состояния которых могут быть идентифицированы путём выполнения последовательности £, С(Б:) - стоимость идентификации состояния блока :, определяемая как суммарная стоимость тестов, принадлежащих пути от корня дерева £ до листа Б:.

В качестве глубины диагностирования системы, достигаемой при исполнении тестовой последовательности £, рассматривается величина

X Р(Б: )

:еZ с N

Постановка задачи.

Для диагностирования сложной технической системы разработано множество тестов Т. Множество Т задано расширенной матрицей идентификации А. Необходимо найти тестовую последовательность £ = s(тс Т), обладающую минимальной стоимостью С(£) = Ст1П и обеспечивающую заданную глубину диагностирования ф0 тестируемой системы.

/■>0 <"0 0 0 где Р = {х1,х2,...,хх} - начальная популяция;

ху - потенциальное решение задачи, представленное в виде хромосомы; X - размер популяции; К - биективное отображение множества допустимых решений во множество хромосом, определяющее способ кодирования; Ь - длина хромосомы; £1 - операторы селекции; R - операторы рекомбинации; f = ^х) - функция приспособленности (целевая функция для эволюционной оптимизации); к - критерий останова.

Модификация эволюционно-генетического алгоритма заключается в выборе параметров (1) согласно условиям поставленной задачи.

Рассмотрим в качестве генома популяции множество номеров тестов 3 = {1,2,...,/,.-М}. Допустимой хромосомой будем считать любую перестановку из элементов этого множества. При раскодировании хромосомы ху формирование тестовой последовательности £ и вычисление функции приспособленности Дху) = С(£у) будем прекращать при достижении заданной глубины диагностирования ф(£у) = ф0. Для того

чтобы хромосома однозначно соответствовала тестовой последовательности, условимся начинать раскодирование с первых генов хромосом (рис. 3).

Предложенный метод кодирования позволяет получать хромосомы одинаковой длины Ь=М и использовать недекодируемую часть хромосомы как дополнительное средство выхода из локальных оптимумов.

В качестве операторов R из различных операторов кроссинговера и мутации [3] были выбраны жадный и упорядоченный операторы кроссинговера.

Одноточечный упорядоченный оператор кроссинговера со случайной точкой разрыва осуществляет случайный поиск в области, заданной первыми генами родительских хромосом. Жадный оператор кроссинговера используется для ускорения сходимости эволюционногенетического алгоритма. Данный оператор осуществляет комбинированный поиск — сначала случайный скачок в другую подобласть допустимых решений, потом направленный поиск в этой области с помощью жадного алгоритма (рис. 4).

Рис. 3. Схема построения отображения K:{xY} не диагностирования ф 0 = 1

{SY} с помощью матрицы идентификации при заданной глуби-

область поиска упорядоченного оператора кроссинговера

Рис. 4. Область эволюционно-генетического поиска при совместном применении жадного и упорядоченного операторов кроссинговера

—>

Совместное применение выбранных операторов кроссинговера обеспечивает достаточное условие выхода из локальных оптимумов:

Vy : p(xy : xy —К>(Sy є U)) Ф 0, где U - множество тестовых последовательностей, удовлетворяющих условиям задачи; p(xY) - вероятность появления xY после применения генетических операторов R.

Из-за наличия случайной составляющей поиска процесс выхода из локального оптимума может занять достаточно много времени. Для ускорения выхода из локальных оптимумов предлагается использовать адаптивную поисковую стратегию. При подозрении на локальный оптимум вторые операнды операторов R генерируются случайно, а не выбираются из текущей популяции. При длительном нахождении в локальном оптимуме к популяции применяется оператор геноцида.

Так как проблема выхода из локальных оптимумов решена на этапе выбора операторов репродукции, в качестве оператора селекции Sl предлагается использовать простую элитную селекцию на основе сравнения значений функции приспособленности fx) = C(s).

Начальную популяцию P° предлагается формировать путём применения фрактального оператора кроссинговера к двум случайно сгенерированным решениям.

Такой подход позволит эффективно использовать жадный оператор кроссинговера на пер-

вой итерации алгоритма, обеспечивать уникальность начальных решений и автоматически определять размер родительской популяции как функцию от числа М строк матрицы идентификации:

M +1, M = 2п +1, n е N,

X = Х(м ) = i

[ м + 2, M = 2n, п е N.

Останов будем осуществлять при достижении желаемого значения целевой функции либо по истечении заданного числа итераций.

Предложенную модификацию построим по схеме простого эволюционно-генетического алгоритма [4].

3. Оценка эффективности

Рассмотрим вычислительную сложность предложенной модификации, а также стабильность её работы, то есть влияние случайной составляющей на получаемое решение.

При использовании оценки сложностей жадного и упорядоченного операторов кроссинго-вера и схемы простого генетического алгоритма было установлено, что максимальная сложность предложенной модификации — кубическая относительно числа тестов множества Т и линейная относительно числа блоков диагностируемой системы. Оценка минимальной сложности не представляет интереса, так как для любого эволюционно-генетического алгоритма эта сложность одинакова и равна 0(1). Среднюю

Рис. 5. Экспериментальная оценка средней вычислительной сложности алгоритма; t — время работы алгоритма

а б

Рис. 6. Анализ стабильности работы алгоритма (а); верхняя, нижняя и средняя графическая оценка зависимости значения функции от числа итераций алгоритма (б)

вычислительную сложность можно определить только экспериментально. Для этой цели воспользуемся программной реализацией предложенного алгоритма, разработанной в рамках данного исследования. На рис. 5 изображены экспериментальные данные и аналитические зависимости, полученные с помощью метода наименьших квадратов.

Представленные результаты позволяют сделать вывод, что средняя вычислительная сложность предложенной модификации — квадратичная относительно числа разработанных тестов и линейная относительно числа логических блоков исследуемого объекта.

Результаты анализа стабильности работы модификации генетического алгоритма приведены на рис. 6а. Производилось 100 запусков алгоритма с различным числом итераций. Из приведённого графика видно, что с течением времени случайная составляющая не оказывает существенного влияния на получаемый результат, и алгоритм сходится к глобальному оптимуму по экспоненте.

Используя несколько графиков, подобных изображённому на рис. 6а, можно осуществить более точную графическую оценку сходимости, которая подтверждает предыдущие выводы (рис. 6б).

Рассмотрим пример, заданный матрицей (рис. 7).

На рис. 8 изображён процесс генетического поиска оптимальной тестовой последовательно-

сти для примера. На графике представлено изменение среднего и минимального значения целевой функции в процессе поиска. Локальный оптимум достигается на 10-й итерации. Обнаружение локального оптимума происходит на 23-й итерации, после этого в качестве процедуры выхода начинает выполняться адаптивная поисковая стратегия, что заметно по резкому скачку на графике среднего значения. Глобальный оптимум достигается на 52-й итерации. Алгоритм продолжает работу, пока не выполнится заданное число итераций — 123.

Заключение

Разработана модификация эволюционногенетического алгоритма, в рамках которой предложены:

1. Специальные методы построения хромосом и конструирования функции приспособленности, позволяющие осуществлять поиск на множестве тестовых последовательностей различной длины.

2. Набор генетических операторов и адаптивная поисковая стратегия, позволяющая эффективно выходить из локальных оптимумов.

Оценка вычислительной сложности показала возможность эффективного применения разработанной модификации при построении оптимальных тестовых последовательностей для диагностирования сложных систем.

Ei б2 Бз б4 Бз Бб б7 б8 Бя Бю Бп Бп Б13 Бы Щ)

h l 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4

12 l l 0 0 0 0 0 0 0 0 0 0 0 0 0.2

h i l 1 0 0 0 0 0 0 0 0 0 0 0 0.1

t4 0 1 0 0 0 0 0 0 0 0 0 0 0.3

15 i l 0 1 1 0 0 0 0 0 0 0 0 0 0.3

16 l l 0 1 1 1 0 0 0 0 0 0 0 0 0.3

t 7 l l 1 1 1 1 1 0 0 1 1 1 1 1 4

h l l 1 1 1 1 1 1 0 1 1 1 1 1 2

19 l l 1 1 1 1 1 1 1 1 1 1 1 1 2

ho l l 0 0 0 0 0 0 0 1 0 1 1 1 0.8

hi l l 0 0 0 0 0 0 0 0 1 1 1 1 0.8

112 l l 0 0 0 0 0 0 0 0 0 1 0 0 1.2

113 l l 0 0 0 0 0 0 0 0 0 0 1 0 1.2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

114 l l 0 0 0 0 0 0 0 0 0 0 0 1 0.3

P%) 0.04 0.06 0.04 0.01 0.03 0.03 0.26 0.07 0.02 0.04 0.04 0.09 0.09 0.18

Рис. 7. Матрица идентификации диагностируемой f системы

Рис. 8. Изменение значения целевой функции в процессе генетического поиска Список литературы

1. Пашковский Г.С. Задачи оптимального обнаружения и поиска отказов в РЭА / Под ред. И.А. Ушакова. М.: Радио и связь, 1981. 280с.

2. Введение в техническую диагностику / Г.Ф. Верзаков, Н.В. Киншт, В.И. Рабинович, Л.С. Тимо-

нен. М.: Энергия, 1968. 224с.

3. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы / / Под ред. В.М. Курейчик. М.: Физматлит, 2006. 320с.

4. Darrel W. A Genetic Algorithm Tutorial // Statistics and Computing. 1994. V. 4. P. 65-85.

EVOLUTIONARY GENETIC ALGORITHM MODIFICATION FOR TEST SEQUENCE OPTIMIZATION

V.P. Gubernatorov

The application of an evolutionary genetic algorithm to construct an optimal test sequence used in testing a complex technical system is considered. The existing genetic search operators are studied. A modification of the evolutionary genetic algorithm is proposed which includes special genetic operators, chromosome construction techniques and fitness functions. An efficiency analysis of the modification proposed is presented.

Keywords: evolutionary genetic algorithm, diagnostics, test sequence.

i Надоели баннеры? Вы всегда можете отключить рекламу.