Адаптация генетических алгоритмов для моделирования вычислительной техники с фиксированной структурой

УДК 519.6

Д. А. Петросов, асп.,

АДАПТАЦИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ

ДЛЯ МОДЕЛИРОВАНИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

С ФИКСИРОВАННОЙ СТРУКТУРОЙ

Проведен анализ предметной области, а так же предложен и формализован метод синтеза генетических алгоритмом и Ь Сетей Петри для адаптации генетических алгоритмов при моделирования процесса принятия решений проектировании вычислительной техники с фиксированной (статической) структурой.

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

Как говорилось ранее, основной недостаткок сетей Петри - фактор времени, поэтому в данной работе предлагается использовать генетические алгоритмы (ГА).

В работе [1] рассматривалась проблема формализации и алгоритмизации процесса генерации вариантов проектных решений в САПР компьютерной техники (КТ) имеющих статичную (фиксированную) архитектуру. Сегодня такие задачи человек решает гораздо лучше компьютера, поэтому их можно отнести к проблемам из области исследований искусственного интеллекта (ИИ) [2].

В настоящее время в ИИ существуют два ярко выраженных направления: нейрокибернетика и "кибернетика черного ящика" [3]. Основной постулат нейрокибернетики можно сформулировать следующим образом: «Единственный объект, способный мыслить, - это человеческий мозг. Поэтому любое "мыслящее" устройство должно каким-то образом воспроизводить его структуру». Сторонники "кибернетики черного ящика" придерживаются совершенно другого мнения: «Не имеет значения, как устроено "мыслящее" устройство. Главное, чтобы на заданные входные воздействия оно реагировало так же, как человеческий мозг».

При решении рассматриваемой нами задачи генерации вариантов проектных решений в САПР большую помощь могли бы оказать экспертные системы (ЭС) - наиболее широко применяемые на практике системы ИИ, которые оперируют со знаниями в определенной предметной области с целью выработки рекомендаций или решения проблем [4]. Основные задачи, которые решают ЭС: классификация и конструирование. Классификация - это выбор в пространстве решений. Но САПР предназначены для структурного синтеза конфигурации объектов (компонентов проектируемой системы) при заданных ограничениях, поэтому для рассматриваемой

нами задачи больший интерес представляет конструирование, т. е. формирование решения из более примитивных компонентов. Тем более, что в мировой практике имеется положительный опыт разработки таких ЭС. Ярким примером может служить ЭС R1, предназначенная для помощи разработчикам при определении конфигурации вычислительной системы. Ее коммерческая версия XCON разработана совместно университетом Карнеги-Меллон и корпорацией Digital Equipment [5].

В работе [1] для решения задачи генерации различных вариантов проектных решений в САПР предлагалось использовать генетические алгоритмы (ГА), которые являются одним из направлений исследования в области ИИ [6]. ГА отражают принципы естественного отбора и генетики: выживание наиболее перспективных особей, наследование и мутации. Поэтому ГА ближе к направлению нейрокибернетики, чем к "кибернетике черного ящика". ГА ориентированы на нахождение не оптимального решения, а на поиск лучшего, чем существующие на данный момент решения, и именно это их свойство требуется нам при использовании сетей Петри при генерации вариантов проектных решений в САПР. Такой подход эффективен для сложных систем, где зачастую необходимо каким-то образом улучшить текущее решение, а задача поиска оптимального решения не ставится из-за сложности системы и, как следствие, невозможности применения традиционных методов, которые направлены на нахождение оптимальных решений. Поэтому ГА можно также применять для моделирования экспертных знаний, которые представляют собой комбинацию теоретико-аналитических методов и эвристических правил решения задач, которые показали свою эффективность на практике.

ГА являются стратегическим подходом к решению проблемы, который необходимо адаптировать к конкретной предметной области. В САПР КТ особое внимание уделяется методам моделирования, одним из которых

являются сети Петри (СП) [7]. Поэтому в работе [1] для представления ГА

предлагалось использовать СП. Актуальность и перспективность такого подхода подтверждается современными научными исследованиями [8].

Рассмотрим следующий простейший класс задач проектирования

КТ:

O =

где O - объект, который необходимо спроектировать; S = const - структура объекта; C = const - состав объекта,

C =

где Ci - i -й компонент объекта; R - количество компонентов объекта,

Q = { C„} M,,

где C - j -й экземпляр i -го компонента; - количество экземпляров i -

го компонента,

где Р - множество свойств, которыми может обладать проектируемый объект; Рк - к -е свойство множества Р; Ь - количество свойств множества Р.

Требуется: для заданного свойства Рко, которым должен обладать объект О, подобрать по одному экземпляру Су.(к) каждого компонента Сг так, чтобы объект

обладал свойством Рк.

Такие задачи относятся к задачам экспертной классификации [9] и являются типичными и актуальными для фирм-производителей персональных компьютеров (ПК). Для них объектом проектирования является ПК, в состав которого входят такие компоненты как процессор, модули оперативной памяти, материнская плата, жесткий диск, CD-ROM, видеокарта и т. п. Структура ПК (связи между его компонентами), как правило, жестко фиксирована. На складе фирмы обычно имеется несколько десятков экземпляров каждого компонента. Например, для компонента процессор экземплярами могут быть Pentium, Celeron, Athlon, Duron ит. п. В качестве множества свойств, которыми может обладать ПК, можно рассматривать сферы применения ПК. Например, ПК может быть игровым, офисным, сервером печати и т. п. Основной задачей фирмы-производителя ПК является выбор таких экземпляров компонентов ПК, чтобы собранный ПК обладал заданным заказчиком свойством, т. е. чтобы ПК был способен решать возлагаемые на него заказчиком задачи.

Различные фирмы-производители ПК по разному подходят к решению поставленной задачи. Можно выделить несколько основных методов ее решения. Самый простой метод - создание базовых конфигураций ("для учебы", "для работы", "для отдыха" ит. п.), ориентированных на среднестатистического пользователя. Развитием этого метода является варьирование экземпляров компонентов ПК. Обычно предлагается до 5-ти различных экземпляров каждого компонента, что позволяет в какой-то мере выйти за рамки "средних" потребностей. Самым лучшим подходом является формирование конфигурации "под заказ" с учетом специфических требований каждого пользователя. Однако, на этом пути придется столкнуться с целым рядом сложных проблем.

Во-первых, не существует стандартного метода выявления требований пользователя.

Во-вторых, не существует формального метода перехода от требований пользователя к конфигурации ПК.

В-третьих, для решения вышеуказанных проблем необходимо привлекать эксперта, который на основе своего опыта и знаний способен решать эти задачи.

В-четвертых, для крупных фирм с сотнями клиентов таких экспертов необходимо достаточно много.

Существует два метода решения этих проблем. Первый метод предполагает создание экспертной системы (ЭС), содержащей знания и опыт одного или нескольких экспертов об определении конфигурации ПК, соответствующей требованиям заказчика. При таком подходе к решению проблемы необходимо решать следующие задачи: поиск эксперта, выявление экспертных знаний, создание ЭС, ее совершенствование и расширение. Каждая из этих задач сама по себе является нетривиальной, требует привлечения соответствующих специалистов (инженеров по знаниям, программистов), немалых материальных средств и времени, а также преодоления множества трудностей организационного и психологического характера.

Второй метод - это метод проб и ошибок, заключающийся в формировании некоторой начальной конфигурации, изменении экземпляров компонентов ПК и тестировании получающихся конфигураций на предмет соответствия требованиям заказчика. Такой подход предполагает поиск в пространстве конфигураций именно той конфигурации, которая удовлетворяет запросы пользователя. Здесь основная проблема заключается в количестве возможных конфигураций. Уже при наличии порядка 10-ти компонентов и порядка 10-ти экземпляров у каждого компонента таких конфигураций будет порядка 1010 (десяти миллиардов!). И отыскать среди них необходимую методом случайного поиска довольно проблематично.

Для повышения эффективности в методы случайного поиска вводят элементы детерминированности. Примером методов такого типа являются эволюционные вычисления [10], наиболее популярными из которых являются ГА.

ГА необходимо адаптировать к конкретной предметной области путем задания параметров и определения операторов Г А. При использовании ГА альтернативные решения представляются в виде строки символов, имеющей фиксированную длину и называющейся генотипом. Поэтому особое внимание следует уделить формальному описанию генотипа.

В нашем случае решением является объект О, определение (1)-(3) которого дано в постановке задачи. Из этого определения видно, что объект О описан в виде строки (5) символов. Единственное, чего не хватает в таком описании исходя из цели данной работы - это СП. Очевидно, чтобы

получить описание (1) объекта O в виде СП, необходимо определять его структуру S и состав C также на языке СП.

Из определений (2) и (3) следует, что состав C полностью определяется компонентами, поэтому каждый компонент Ci должен быть описан в виде СП, а это в свою очередь означает, что каждый экземпляр компонента Ci необходимо определять на языке СП.

Рассмотрим экземпляр C4. Обозначим СП, моделирующую этот экземпляр, через PNi}-. Учитывая то, что экземпляры разных компонентов

взаимодействуют между собой, у каждого экземпляра необходимо выделить входы и выходы, которые, естественно, будут моделироваться позициями сети PNH. Множество входных и выходных позиций обозначим через INtJ и OUTJ} соответственно.

Теперь рассмотрим компонент Ci. Структура этого компонента полностью определяется тем экземпляром Ci}-, который его представляет.

Компоненты взаимодействуют между собой через входы и выходы, моделируемые множеством входных и выходных позиций, которые будут обозначаться через INi и OUT соответственно. Естественно, что между элементами множеств INi}- и INj, а также OUTtj и OUTj должны существовать взаимно однозначные соответствия F NINV ^ INj и F vOUT: OUTj ^ OUTj . Все

сказанное относительно компонентов и экземпляров можно проиллюстрировать рис. 1.

Обозначим СП, моделирующую компонент Ci, через PNi. Если компонент Ci, представлен экземпляром C4 , то PNt = PNi}- .

Рис. 1. Соответствие между компонентом и экземпляром

Наконец, рассмотрим структуру £ объекта О. Она полностью определяется взаимосвязями между компонентами, которые естественно моделировать переходами СП. Обозначим множество таких переходов через Т. Каждый переход е Т соединяет выходные позиции некоторых компонентов Ск, Сч, ..., С^ с входными позициями некоторых других компонентов С{ , С{ +2, ., С{ +в, что наглядно иллюстрируется рис. 2.

Рис. 2. Связь между компонентами

R

Следовательно, соответствие F : T ^ У (lNi U OUTt) полностью опре-

i=1

деляет структуру S объекта O.

Таким образом, СП, моделирующую объект O, можно описать в виде кодовой строки

PN = (PN i,..., PNi,..., PNr , T, F), где PNi - модель компонента Ci, а множество переходов T и соответствие F определяют структуру S объекта O.

С учетом того, что S = const, количество M всех гипотетически возможных моделей объекта O определяется по формуле

M = Y\M,,

i=1

где Mt - количество экземпляров компонента C, R - количество компонентов объекта O. Поэтому даже при небольшом количестве компонентов и их экземпляров количество моделей объекта O очень велико. Например, при R = 10 и M1 = M2 =... = M10 = 10 получаем M = 1010 (десять миллиардов!).

Согласно постановке задачи, из всех возможных моделей объекта O необходимо выбрать такую, которая обладала бы заданным свойством. В качестве свойства объекта можно рассматривать его реакцию на входные сигналы. Другими словами, свойство объекта определяется тем, какой вы-

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

К

зиций обозначим через 1Ы и Оит соответственно. Очевидно, 1Ы е и ш< и

¿=1

К

Оит с 1>ит.

¿=1

Свойством объекта О будем называть пару неотрицательных целочисленных векторов

2 =

^1Ы V 1 ’ У ' Оит V 1 5 ^0 /’

где 2^ - число меток, поступивших В V -ую входную позицию перед запуском сети РЫ , 2Оит - число меток, появившихся в w -ой выходной позиции после остановки сети РЫ, У0 и Ж0 - число элементов множеств 1Ы и Оит соответственно.

Следовательно, множество Р свойств, которыми может обладать проектируемый объект, моделируется множеством 2 = {1к} ьк=1, где 2к ={2кш, 2кОит) - модель свойства Рк в виде пары неотрицательных целочисленных векторов.

Таким образом, поставленная задача сводится к следующей. Среди всех гипотетически возможных моделей РЫ объекта О найти такую, которая обладает свойством 2к.

Проанализируем эту задачу. Для того чтобы проверить, обладает ли модель РЫ свойством 2к, необходимо сформировать эту модель, на ее вход 1Ы подать вектор 2кш, запустить сеть РЫ и после ее остановки сравнить количество меток на выходе Оит с вектором 2кОит. Пусть все эти действия компьютер выполняет за 1 секунду. Для 10 компонентов по 10 экземпляров на обнаружение необходимой модели объекта О прямым перебором может потребоваться М = 1010 секунд. Что составляет примерно 317 лет! При этом нет никакой гарантии, что среди возможных моделей существует необходимая.

Очевидно, что прямым перебором такие задачи решать неэффективно. Более того, ставить задачу нахождения модели, обладающей некоторым свойством, вообще некорректно, потому что такой модели может не существовать. Поэтому переформулируем поставленную задачу следующим образом: среди всех гипотетически возможных моделей РЫ объекта О найти такую, которая ближе всего к свойству 2к.

Такая формулировка задачи требует определить меру близости модели РЫ к свойству 2к. Для этого сначала необходимо на вход 1Ы модели подать вектор 2к1Ы и получить на выходе вектор 2Оит. Меру близости будем

определять, привлекая понятие метрического пространства и рассматривая полученный вектор 2Оит и эталонный вектор 2коит как элементы евклидова пространства ЖШ0 - множества упорядоченных наборов из Ж0 действительных чисел х = (х1з..., хщ) с расстоянием

^0

р1

w=1

где У = (У1,^,У^0).

Чем меньше р1 (2Оит, 2Оит ), тем ближе модель РЫ к свойству 2к. Если р1 (2Оит, 2кит )= 0, то модель РЫ обладает свойством 2к. Естественно рассматривать расстояние р1 как целевую функцию.

Операторы ГА манипулируют генотипами, представленными в виде кодовой строки символов. В теории СП аналогом операторов являются переходы. Поэтому естественно моделировать операторы ГА переходами СП. Учитывая, что переходы манипулируют метками СП, необходимо использовать такое расширение СП, в котором метки могут моделировать кодовую строку символов. Таким расширением являются нагруженные СП. В нашем случае кодовая строка является СП. Поэтому можно воспользоваться расширением нагруженных СП, в которых метка является СП (макрометкой). Это расширение СП называется Ь-сетью Петри (Ь-СП) [1].

Таким образом, операторыГА будут моделироваться переходами Ь-СП, а генотипы - макрометками Ь-СП.

Множество генотипов, непосредственно обрабатываемое ГА, называется популяцией. Начальная популяция может формироваться либо автоматически (например, случайным выбором экземпляров компонентов), либо задаваться непосредственно разработчиками КТ. Обозначим начальную популяцию через

о0 = (ры РЫ2 п),

где РЫ¿' - ¿-я модель объекта проектирования в виде СП; 2п - фиксированный размер популяции. Здесь для простоты дальнейшего описания предполагается, что размер популяции является четным числом.

Каждую модель РЫг разместим в соответствующей позиции Д в качестве макрометки Ь-СП.

Оператор отбора моделируется переходом Жк, который будет копировать РЫиз позиции Д и размещать эти копии в позициях В1, В2, ..., В2г_1, В2г, ..., В2п1, В2п в качестве макрометок Ь-СП. Обозначим макрометки, размещенные в позициях В2г._1 и В2г, через РЫ;'2Н и РЫ]2г. Макрометки размещаются в позициях В1, ., В2п в соответствии со значением целевой функции (6) по правилу: чем меньше значение функции (6), тем меньше номер позиции, в которой размещается макрометка. Таким образом, в

позиции В1 размещается самая лучшая макрометка, в позиции В2 - чуть худшая макрометка и т. д. до позиции B2n, в которой будет находиться самая плохая макрометка.

Оператор скрещивания моделируется переходом CROSSt, который будет забирать макрометки PN12i1 и PN12i из позиций B2i_1 и B2i, скрещивать их и размещать новые макрометки PNI2Н и PNj2i в позициях D2i_x и D2i соответственно. Макрометки скрещиваются по следующему правилу.

1. Случайным образом из множества R} выбирается некоторое число, которое обозначим через r.

2. В генотипах PN12Н и PN12i выделяем модель r -го компонента:

PNl2i-1 = (PN/2«,...,PNJr2i-1,...,PNR2i-1, T,f);

PNl2i = (PNj2i,...,PNj2i,...,PNR2i, T, f).

3. Меняем местами выделенные модели и получаем новые макрометки:

PN12Н = (PN/2«,..., PNj2i,..., PNR2i-1, T, F);

PNI2i = ( PNj2i,..., PNj2i-1,..., PNR2i, T, F).

Оператор мутации моделируется переходом MUT2i, который будет забирать макрометку PNj2i из позиции D2i, осуществлять ее мутацию и размещать новую макрометку PN„;„2i в позиции E2i . Макрометка подвергается мутации по следующему правилу.

1. Случайным образом из множества {l,2,...,R} выбирается некоторое число, которое обозначим через r.

2. В генотипе PNj2i выделяем модель r -го компонента:

PNI2 = (PNj2i,...,PNj2i,...,PNR2i, T, F).

3. Из множества {PNr. моделей экземпляров r -го компонента

случайным образом выбираем новую модель, которую мы обозначим через PNj2i , заменяем ею модель PNj2i и получаем новую макрометку:

PN¿2 =(PN(2i,...,PN^‘,...,PNR2i,T,F).

\ 1 'new 1v /

Оператор мутации макрометки в позиции D2i_1 моделируется аналогично.

Оператор редукции моделируется переходом RED, который будет забирать макрометки из позиций E1, ..., E2n и из позиций A1, ..., A2n, удалять худшие макрометки, а оставшиеся размещать в позициях A1, ., A2n.

Макрометки удаляются по следующему правилу.

1. Для каждой макрометки вычисляется целевая функция (6).

2. В позиции A1 размещается самая лучшая макрометка, в позиции А2 - чуть худшая макрометка и т. д. до позиции А2п, в которой будет находиться самая плохая макрометка. Обозначим макрометку, размещенную в позиции Аг, через PNI.

3. Все остальные макрометки удаляются. Заметим, что будет удалено ровно 2п макрометок.

Структура L-СП с обозначением всех макрометок показана нарис. 3.

Рис. 3. Структура Ь-сети Петри

Теперь все готово для решения поставленной задачи формализации и алгоритмизации процесса генерации вариантов проектных решений в САПР КТ с использованием ГАна основе СП.

Алгоритм решения можно описать следующим образом.

1. Для каждого компонента Ci построить модель РЫЬ- каждого его

экземпляра Сг].

2. Построить модель структуры £, определив множество переходов т и соответствие Г .

3. Задать свойство Рк, которым должен обладать объект О, в виде пары векторов 7к = {1к1Ы, 1коит).

4. Сформировать начальную популяцию О0.

5. Задать количество циклов работы Ь-СП и (или) условие ее останова в виде значения целевой функции р1.

6. Разместить начальную популяцию О0 в Ь-СП.

7. Запустить Ь-СП.

8. После останова Ь-СП в позиции А1 будет находится модель РЫ объекта О, которая лучше всех удовлетворяет заданному свойству 1к.

Задача полностью решена.

Основным результатом данной работы является формализация и алгоритмизация процесса проектирования объектов КТ путем формирования решения с фиксированной структурой из заданных компонентов.

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

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

В теоретическом плане перспективным представляется развитие предлагаемого подхода на задачи проектирования КТ с изменяющейся структурой и составом используемых компонентов.

В практическом плане эффективным будет внедрение данного подхода в САПР на основе языка УНОЬ. Это позволит автоматизировать процесс генерации вариантов различных проектных решений, который до сих пор производится проектировщиками вручную.

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

Решение поставленных проблем особенно актуально для фирм, занимающихся проектированием КТ, потому что «если в 80-е годы прошлого столетия основным слагаемым успеха было качество продукции, а в 90е - все решала правильная организация бизнес-процессов, то основным инструментом конкурентной борьбы первых пяти лет нового тысячелетия станет "скорость" генерации новых идей».

Список литературы

1. Бондаренко М. Ф., Маторин С. И., Ельчанинов Д. Б. Системная технология моделирования информационных и организационных систем : учеб. пособие. Харьков: ХНУРЭ, 2005. 116 с.

2. Объектная технология моделирования информационных и организационных систем: учеб. пособие / М. Ф. Бондаренко [и др.]. Харьков: ХНУРЭ, 2005. 160 с.

3. Системологическая технология моделирования информационных и организационных систем: учеб. пособие / М. Ф. Бондаренко [и др.]. Харьков: ХНУРЭ, 2005. 136 с.

4. Белова Н. В., Лобода В. Г., Петросов Д. А. Функционально ориентированный перестраиваемый процессорный модуль // Системы обработки информации. Харьков: ХУПС, 2005. Вып. 3(43). С. 8-18.

5. Лобода В. Г., Петросов Д. А. Концепция построения структур функционально ориентированных вычислительных устройств // АСУ и приборы автоматики. 2003. Вып. 122. С.61-71.

6. Белова Н. В., Петросов Д. А., Долженкова Т. Г. Модель перепрограммируемого процессора с гибкой архитектурой // Сб. мат. 8-го Межд. молод. форума «Радиоэлектроника и молодежь в XXI веке». Харьков: ХНУРЭ. 2004. 4.2. С. 227.

7. Применение генетических алгоритмов и многоуровневых Сетей Петри при проектировании компьютерной техники / Д. Б. Ельчанинов [и др.] // Радиоэлектроника и информатика. 2002. № 1. С. 89-97.

8. Джонс М. Т. Программирование искусственного интеллекта в приложениях. М.: ДМКПресс, 2004. 312 с.

9. Люггер Д. Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. М.: Издательский дом «Вильямс», 2003. 864с.

10. Базы данных. Интеллектуальная обработка информации / В. В. Корнеев [и др.]. М: Нолидж, 2000. 352с.

D. Petrosov

ADAPTATION OF GENETIC ALGORITHM IN MODELING OF COMPUTER TECHNOLOGY WITH FIXED STRUCTURE

The adaptation of genetic algoritm for modeling of computer technology with the fixed structure is present. The formalized Petri nets are used as mathematical base.

Key words: genetic algorithm, networks of Petri, the computer facilities, the fixed structure, modeling mathematical modeling, formalization by networks of Petri.

Получено 28.05.10