Научная статья на тему 'Применение генетических алгоритмов и многоуровневых сетей Петри при проектировании компьютерной техники'

Применение генетических алгоритмов и многоуровневых сетей Петри при проектировании компьютерной техники Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ельчанинов Дмитрий Борисович, Кривуля Геннадий Федорович, Лобода Виталий Гаврилович, Механа Сами

Рассматривается проблема формализации и алгоритмизации процесса генерации вариантов проектных решений в САПР. Формулируется задача адаптации генетических алгоритмов к решению поставленной задачи. Для представления генетических алгоритмов предлагается использовать многоуровневые структурированные L-сети Петри.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ельчанинов Дмитрий Борисович, Кривуля Геннадий Федорович, Лобода Виталий Гаврилович, Механа Сами

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

Application of genetical algorithms and all-level Petri-nets at designing of computer equipment

The problem of formalizing of process of generating of versions of the design solutions in a CAD is considered. The problem of acclimatization of genetical algorithms to the solution of a put problem is formulated. For representation of genetical algorithms it is offered to use the alllevel structured L-Petri-nets.

Текст научной работы на тему «Применение генетических алгоритмов и многоуровневых сетей Петри при проектировании компьютерной техники»

УДК 658.512

ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ И МНОГОУРОВНЕВЫХ СЕТЕЙ ПЕТРИ ПРИ ПРОЕКТИРОВАНИИ КОМПЬЮТЕРНОЙ ТЕХНИКИ

ЕЛЬЧАНИНОВД.Б., КРИВУЛЯГ.Ф.,

ЛОБОДА В.Г., МЕХАНА САМИ_______________

Рассматривается проблема формализации и алгоритмизации процесса генерации вариантов проектных решений в САПР. Формулируется задача адаптации генетических алгоритмов к решению поставленной задачи. Для представления генетических алгоритмов предлагается использовать многоуровневые структурированные L-сети Петри.

1. Введение

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

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

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

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

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

В настоящее время применяют три вида методов поиска наилучших решений [2,3]: использующие математические расчеты; перечислительные методы и применяющие элемент случайности.

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

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

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

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

В эволюционных вычислениях существуют три основных направления: генетические алгоритмы, эволюционные стратегии и эволюционное программирование .

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

РИ, 2002, № 1

89

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

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

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

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

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

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

2. Генетические алгоритмы

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

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

Основные отличия генетических алгоритмов от традиционных методов заключаются в следующем [3,5]:

1. Генетические алгоритмы оперируют с решениями, представленными в виде кодовой строки. И преобразования кодов производятся вне какой-либо связи с их семантикой.

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

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

4. Для синтеза новых точек генетический алгоритм использует вероятностные правила, а для перехода от одних точек к другим — детерминированные. Такое объединение правил значительно эффективнее, чем их раздельное применение.

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

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

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

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

К хромосомам новой популяции применяется оператор мутации. Вероятность применения этого оператора к хромосоме также является параметром генетического алгоритма.

Оператор отбора осуществляет выбор родительских хромосом для порождения потомков, а оператор редукции—выбор хромосом, подлежащих уничтоже-

90

РИ, 2002, № 1

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

Генетический алгоритм прекращает свою работу в следующих случаях:

1. Он обработал число поколений, заданных пользователем перед началом работы алгоритма.

2. Качество всех хромосом превысило значение, заданное пользователем до начала работы алгоритма.

3. Хромосомы стали однородными до такой степени, что их улучшение от поколения к поколению происходит очень медленно.

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

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

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

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

Оператор мутации вносит случайные изменения в хромосомы, расширяя область пространства поиска.

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

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

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

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

Для увеличения скорости генетические алгоритмы могут подвергаться распараллеливанию [3] как на уровне организации работы алгоритма, так и на уровне его реализации на ЭВМ.

На уровне организации работы распараллеливание осуществляется путем структурирования популяции, которое может осуществляться двумя способами.

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

Таким образом, учитывая возможность параллельной работы генетического алгоритма на структурированной популяции, актуальной является задача его представления на структурированных сетях Петри [6].

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

РИ, 2002, № 1

91

Устойчивость поиска зависит от параметров операторов генетического алгоритма.

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

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

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

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

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

Таким образом, учитывая возможность многоуровневой организации генетического алгоритма, актуальной является задача его реализации на многоуровневых L-сетях Петри [9-11].

Учитывая все сказанное в пунктах 2 и 3, можно указать следующие общие свойства сетей Петри и генетических алгоритмов, обосновывающих преимущество использования сетей Петри для описания генетических алгоритмов.

1. Независимость от предметной области.

2. Параллелизм.

3. Вероятность и детерминированность.

4. Структурированность.

5. Многоуровневость.

4. Структурированные L-сети Петри

L-сеть Петри представляет собой иерархическую многоуровневую сетевую модель, в которой меткам сети Петри верхнего уровня сопоставлены сети Петри нижнего уровня. Структура сети Петри

верхнего уровня определяет алгоритм изменения структур сетей Петри нижнего уровня.

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

Первый (нижний) уровень L-сети Петри описывается следующим образом.

Пусть A — множество дуг. На множестве A задается отношение эквивалентности р . Класс эквивалентности р называется позицией. Таким образом, фактормножество A Р = ЫП=1 является множеством позиций. Затем на множестве а задается отношение эквивалентности т . Класс эквивалентности т называется переходом. Значит, фактормножество

Aх = {tj является множеством переходов.

Для каждого класса р; задается разбиение Pi = l(pj) U O(p;). Множество l(pj) называется множеством входных дуг для позиции р;, а множество °Pi) — множеством выходных дуг для позиции Pi. Затем для каждого класса tj задается разбиение tj = l(tj) U 0(tj). Множество l(tj) называется множеством входных дуг для перехода t j, а множество 0(t j) — множеством выходных дуг для перехода t j. Разбиение классов эквивалентностей должно удовлетворять следующим условиям:

1. Для любой дуги а є l(pi) существует переход t j є Aт, такой, что а є 0(t j).

2. Для любой дуги а є 0(p;) существует переход t j є Aт, такой, что а є l(t j).

3. Для любой дуги а є l(tj) существует позиция pi є AР, такая, что а є 0(p J.

4. Для любой дуги а є 0(tj) существует позиция pi є AР, такая, что а є l(pi).

Пусть N о — множество целых неотрицательных чисел. На множестве N о рассматриваются следующие отношения: <, >, ф , =, <, > . Через r обозначается множество этих отношений:

R = А >, = < >} .

Задается функция типа V: A ^ R U {+}. Если у(а) є R , то дуга а называется аналитической [12]. Если V^) ="+", то дуга а называется транспортной.

92

РИ, 2002, № 1

Функция этого типа должна удовлетворять следующему условию: если а є 0(tj), то V(a) ="+".

Задается функция веса W: А ^ N0 , такая, что если V(a) ="+", то W^) * 0 •

Наконец, задается функция маркировки M: А/ р ^ N 0 .

Совокупность N = (А,А/р ,А/т, V,W, м) называется сетью Петри N .

Транспортная дуга а є l(t j)П O(p. ) разрешает переход tj, если w(a) < m(p. ) • Аналитическая дуга ає l(tj)Л 0(pj разрешает переход tj, если (м(р^(а))є V^) • Переход tj разрешен, если все входные дуги tj разрешают его. Разрешенный переход может запуститься (сработать). Запуск перехода tj изменяет маркировку м сети Петри N на новую маркировку M * следующим образом:

M*fa) = Mfa) - W(a0+W^),

где ai є 4tj)П °Pi), a2 є 0tj)П ^i) и Vfci) ="+" •

Транспортная дуга а є l(t j)П O(p. ) называется конвейерной, если w(a) = 0 . Входная конвейерная дуга

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

всегда разрешает переход tj. У перехода может быть только одна входная конвейерная дуга. При запуске перехода tj входная конвейерная дуга а удаляет м(рі) меток из позиции Pi .

Транспортнаядуїа а є 0(t j)П і(рі ) называется конвейерной, если W^) = 0 . Если у перехода tj есть выходная конвейерная дуга, то у него должна быть входная конвейерная дуга. При запуске перехода tj выходная

конвейерная дуга а добавляет в позицию Pi столько меток, сколько удалила из соответствующей позиции входная конвейерная дуга перехода tj.

Сеть Петри второго уровня описывается следующим образом.

Структура сети Петри Nc второго уровня определяется аналогично структуре сети Петри первого уровня:

nc = (АсАе/Pc’Ac/tc) ,

где Ас — множество дуг сети Петри; рс и тс — отношения эквивалентности на множестве Ас; Ас/ Рс и Ас/ Тс — множества позиций и переходов.

Пусть Me = {mJk=i — множество меток сети Петри Nc . Распределение меток по позициям задается начальной функцией маркировки:

ZC : мс ^ Ас/Рс .

Каждой метке mi с помощью биективного отображения fi сопоставляется множество PS = jpSj позиций первого уровня:

fi:Me ^Ps, где Ps = {P:S}k=1.

Затем каждой метке mi с помощью биективного отображения f2 сопоставляется множество

NS = {NSjjj-ч сетей Петри NSj первого уровня с

общим множеством PS позиций первого уровня:

f2 : мс ^ NS, где Ns = {nS }k=1.

После этого каждой метке mi с помощью биективного отображения f3 сопоставляется начальная сеть Петри NSj. из множества NS соответствующих сетей Петри первого уровня:

f3 : мс ^ NS0 , где NS0 = {NS,jiJl1.

Наконец, каждой метке mi с помощью биективного отображения f4 сопоставляется начальная маркировка MS множества Р^ позиций первого уровня:

f4 : Me ^ Ms , где MS = {mS^.

Таким образом, метке сети Петри второго уровня сопоставлена сеть Петри первого уровня. Такая метка называется макрометкой [9, 13].

Множество Ас дуг сети Петри второго уровня разбивается на подмножество Ас входных дуг и подмножество АС выходных. Каждой входной дуге а сети Петри второго уровня с помощью отображения f5 сопоставляется некоторая макрометка mi из множества Me меток сети Петри второго уровня:

f5 : АС ^ МС .

Затем, если входной дуге а сети Петри второго уровня сопоставлена макрометка mi из множества Мс меток сети Петри второго уровня, то этой дуге а с помощью отображения f6 сопоставляется некоторая маркировка MS множества позиций PS первого уровня, сопоставленного макрометке mi:

f6 :Ас ^ Ms .

Входная дуга а є l(tj) П 0(pk) сети Петри второго уровня разрешает переход tj, если в позиции Pk находится макрометка mi, соответствующая дуге а , и маркировка MS позиций PS первого уровня, соответствующих макрометке mi, сопоставлена дуге а :

fi(mi) = Pk , ^(а) = mi, f^mj = MS , f^^ = MS . Переход второго уровня разрешен, если все входные дуги перехода t j разрешают его.

РИ, 2002, № 1

93

Каждой выходной дуге а сети Петри второго уровня с помощью отображения f7 сопоставляется некоторая макрометка ш; из множества Мс меток сети Петри второго уровня:

f7 : AC ^ МС •

Затем, если выходной дуге а сети Петри второго уровня сопоставлена макрометка ш; из множества Мс меток сети Петри второго уровня, то этой дуге а с помощью отображения f8 сопоставляется некоторая сеть Петри N‘Sj из множества N‘s, сопоставленного макрометке ш;:

f8:AC ^ Ns •

Если в переход входит дуга а , которой соответствует макрометка ш;, то из перехода должна выходить дуга ь , которой также соответствует макрометка ш; • Если из перехода выходит дуга ь , которой соответствует макрометка ш;, то в переход должна входить дуга а , которой также соответствует макрометка ш; • В переход не может входить две дуги, которым сопоставлена одна макрометка. Аналогично, из перехода не могут выходить две дуги, которым сопоставлена одна макрометка.

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

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

Приведем пример 2-сети Петри.

Пусть Ас = }8_! — множество дуг сети Петри

второго уровня. Зададим на множестве Ас отношение эквивалентности рс , определяемое следующим разбиением:

Ас = рС и Рс и Р3,

где рС = {аСщ^а^аС), р? = {а^а7) и р3 = {а;:,а;?}.

Затем зададим на множестве Ас отношение эквивалентности тс, определяемое следующим разбиением:

Ас=tC и t? и t3 и t4,

здесь t С

1ас,а6), t?={а7,аС],

94

t3 = ja С,аС}, t4 = ^3,а4).

Входные и выходные дуги определим следующим образом:

а С Є l(t3)nofpC), а? є o(t3)ni(p3), а3 є ^t4)П о(рС), а4 є o(tc4)Пі(р С), аС є ^t С)По(рС), а6 є Ot С)Пl(p?), а7 є l(t2)П о(рс), аС є Ot?)ПI^J.

Затем определим множество макрометок Мс = {ш! ,ш?}, а их распределение по позициям зададим начальной функцией маркировки

^ : Мс ^ Ас1 Рс ,

такой, что ) = рС и г^ш^ = р

Структура сети Петри второго уровня с начальной маркировкой показана на рис. 1.

t

t

Рис.1. Сеть Петри второго уровня

р

Каждой макрометке с помощью биективного отображения f сопоставим множество позиций первого уровня:

fi :Мс ^ Ps ,

где Ps = iPS,Ps!, PS = {р S,i , Ps = {рід >рі,2І,

fi (ш1 ) = P3, fi Ы = Ps .

Затем каждой макрометке ш; с помощью биективного отображения f? сопоставим множество сетей Петри первого уровня:

здесь

f? : М с ^ Ns,

Ns = |n3,n2J ,

N3 = {n3,i,n3,2) ', N? = {t

=(p3,t3 ,i 3, i ,o 3, i ) , N s,2 =1 ps,Ts,1 s,2,0 s,c)

bL 00 Ю b 00 Ю , N?,: =1 p2 t2 I2 o2 Ps , Ts ,Is,2,0s,2

РИ, 2002, № 1

tS = {tS), Ts2 = {tl},

= pS,1 , IS,l(tS) = pS,1 ,

i2,1 (t2) = pl,1, I2,l(t2) = p1,1,

O S, і (t S)=p S,i, °S,i(t s)=p S, і,

°l,1(tl) = pl,l, °l,l(tl) = p1,1,

fi(m0=NS, fi(mi)=n1 •

После этого каждой макрометке m; с помощью

биективного отображения 63 сопоставим начальную сеть Петри из множества соответствующих сетей Петри первого уровня:

f3 :MC ^ NS0 ,

где ns0 = {nS,1,n2,J , f^m0=NS,1, f3(mi)=n2,1 •

Наконец, каждой макрометке m; с помощью биективного отображения 64 сопоставим начальную маркировку множества позиций первого уровня:

f4 : Me ^ Ms ,

здесь

Ms = iMS,M2},

MS(pS,J =3, MS(pS,i)=0,

Ml(pl, 1 )=1 , ^(pll) =1,

f4m1)- M S , f4(ml) - Ml •

Таким образом, макрометкам сети Петри второго уровня сопоставлены сети Петри первого уровня, как показано на рис. 2.

t

1-г.

tC

Каждой входной дуге сети Петри второго уровня с помощью отображения 65 сопоставим некоторую

макрометку m; из множества Me меток сети Петри второго уровня:

f5 : AC ^ MC ,

где f5(a1c) = m1, f5(a3) = m1, 65(3^ = mi, f5(a7) = mi • Затем входной дуге a сети Петри второго уровня с помощью отображения f6 сопоставим маркировку множества позиций первого уровня, сопоставленного макрометке m;:

f6 : AC ^ MS ,

здесь

f6(ac) = MS , f6(ac) = MS ,

f6 (a C) = M1, f6(a7) = M4,

Ms(pS, 1 )= 1, Ms(pS,l) = 1,

m4(p1,J=0, m4(p2,^=3 •

Каждой выходной дуге a сети Петри второго уровня с помощью отображения fy сопоставим

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

некоторую макрометку m; из множества Mc меток сети Петри второго уровня:

f7 : aC —^ Me,

где f7 (a1) = m1, fy^) = m1,

f7 (a6 ) = m1, f7 (ac ) = m1 •

Затем выходной дуге a сети Петри второго уровня с помощью отображения f8 сопоставим некоторую сеть Петри из множества сетей Петри, сопоставленных макрометке m;:

здесь

f8 : AC ^ Ns ,

= NS,2 , f8 (a4) = NS,1

1= N2,1 , f8(aC) = Nl,l

8

8

Проследим за перемещением макрометок 2-сети Петри и изменением структур соответствующих им сетей Петри первого уровня •

Когда запустится переход tS, маркировка сети NS1 станет равна (2,1), и макрометка m1 разрешит запуск перехода t3, который удалит ее из позиции pC и добавит в позицию р3 • При этом дуга al сопоставит макрометке m1 сеть Петри NSi • Затем,

РИ, 2002, № 1

95

когда запустится переход tS и маркировка сети N2 станет равна (3,0), макрометка mj разрешит запуск перехода t4 , который удалит ее из позиции рС и добавит в позицию рС . При этом дуга а4 сопоставит макрометке mj сеть Петри nS j.

Аналогично, когда запустится переход t2 , маркировка сети Ngj станет равна (0,3), и макрометка m2 разрешит запуск перехода t2 , который удалит ее из позиции р2 и добавит в позицию pj,. При этом дуга аС сопоставит макрометке m2 сеть Петри n| 2 • Затем, когда запустится переход t2 и маркировка сети N2 2 станет равна (1,2), макрометка m2 разрешит запуск перехода tj, который удалит ее из позиции рС и добавит в позицию р2 • При этом дуга а6 сопоставит макрометке m2 сеть Петри N2 j.

Таким образом, 2-сеть Петри представляет собой иерархическую двухуровневую сетевую модель, в которой меткам сети Петри верхнего (управляющего) уровня сопоставлены сети Петри нижнего (исполнительного) уровня. Структура сети Петри управляющего уровня определяет алгоритм изменения структур сетей Петри исполнительного уровня.

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

Если макрометке 2-сети Петри в свою очередь сопоставить 2-сеть Петри, то получим 3-сеть Петри [9, 13]. Первый (исполнительный) уровень этой сети Петри представляют макрометки 2-сетей Петри, второй (управляющий) уровень — макрометки 3-сети Петри, третий (управляющий) уровень — 3-сеть Петри.

L-сеть Петри строится на основании (L—1)-сетей Петри аналогично тому, как на основе 2-сети Петри строится 3-сеть Петри: если макрометке 2-сети Петри сопоставить (L—1)-сеть Петри, то получится L-сеть Петри [9, 13].

Таким образом, число уровней L-сети Петри зависит от сложности моделируемой системы. (L—1)-сети Петри моделируют подсистемы, на которые первоначально разбита вся система. Эти подсистемы в свою очередь состоят из подсистем, моделируемых (L—2)-сетями Петри и т.д. до сетей Петри, моделирующих подсистемы самого нижнего исполнительного уровня иерархии.

5. Постановка проблемы

Исходя из сказанного выше, перспективной для исследования представляется проблема формализа-

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

Поставленная проблема включает в себя следующие основные задачи:

1. Описание начальных вариантов структурных схем проектируемых устройств на языке сетей Петри.

2. Описание генетического алгоритма (операторов отбора, скрещивания, редукции и мутации) на языке сетей Петри.

3. Описание оптимизации параметров операторов генетического алгоритма на языке сетей Петри.

4. Описание процесса генерации вариантов структурных схем проектируемых устройств на языке многоуровневых 3-сетей Петри, объединяющих сети Петри, полученные на этапах решения задач 1-3.

Рис.3. Генерация структурных схем на основе 3-сети Петри

Полученную в результате 3-сеть Петри графически можно представить так, как показано на рис. 3.

Таким образом, 3-сеть Петри должна выполнять следующие функции:

1. Получать на первый уровень начальные структурные схемы проектируемого устройства.

2. Улучшать эти схемы при помощи генетического алгоритма, расположенного на втором уровне.

96

РИ, 2002, № 1

3. Оптимизировать на третьем уровне работу генетического алгоритма.

4. Выдавать на первый уровень улучшенные схемы проектируемого устройства.

Перспективность поставленной проблемы и предлагаемых подходов к ее решению обусловлена новой концепцией проектирования, которая выражается в лозунге “ Компьютер — это сеть”, и состоит в том, что современный персональный компьютер рассматривается как совокупность совместимых независимых устройств, находящихся под управле -нием тонких серверов [14].

Практически эта концепция уже сейчас реализуется в так называемых системах на чипе - System On Chip (SOC). При этом SOC одного семейства (например, Linux On Chip) являются комплектом высокоуровневых модулей, на основе которых можно создавать всевозможные интегрированные однокристальные компьютеры для применения в различных предметных областях.

“Пересчитать производимые разными компаниями системы на чипе очень трудно, добиться же актуальности подобного материала практически невозможно. Чуть ли не каждый день появляются анонсы новых продуктов, проектов и, что самое интересное, новых подходов к формированию инфраструктуры разработки и производства SOC” [14, с. 39].

Литература: 1. Трахтенгерц Э.А. Компьютерная поддержка принятия решений. М.: Синтег, 1998. 2. Васильев Ф.П. Численные методы решения экстремальных задач: Учеб. пособие для вузов. М.: Наука, 1988. 552с. 3. Goldberg D.E. Genetic algorithms in search, optimization and machine learning. Adison Wesley, Reading, MA, 1989. 4. Эволюционные вычисления и генетические алгоритмы. Обозрение прикладной и промышленной математики. Вып. 5. М.: ТВП. Т.3. 1996. 5. Корнеев В.В., Гареев А.Ф., Васютин С.В., Райх В.В. Базы данных. Интеллектуальная обработка информации. М.: Нолидж, 2000. 352с. 6. Мурата Т. Сети Петри: свойства, анализ, приложения // ТИИЭР. 1989. Т. 77. № 4. С. 41-85. 7. Патент України на винахід №15213 А. Процесор Петрі / В.В. Матейченко, Г.О. Калінін, О.М. Маркін, С.Ю. Запорожцев, О.М. Гуца // Офіційний бюлетень “Промислова власність”. К.: Держпатент України, 1997. №3. С. 3.1.324-3.1.325. 8. Патент України на винахід №32183 А. Процесор

Петрі / Д.Б. Єльчанінов, В.В. Матейченко, В.Г. Лобода, Ю.С. Петришин // Бюл. №7-II. 9. Ельчанинов Д. Б. Моделирование иерархических структур і-сетями Петри // НТЖ. Автоматизация, телемеханизация и связь в нефтяной промышленности. М.: ВНИИО-ЭНГ, 1998. № 2. С. 7—8. 10. Лобода В.Г., Ельчанинов Д.Б., ЦукановВ.Ю. Модели архитектуры MISC-процессора // Радиоэлектроника и информатика. 1999. № 1. С. 85—89. 11. Єльчанінов Д.Б. Структуровані мережі Петрі у системах проектування спеціалізованих процесорів. Автореф. дис. канд. техн. наук. Харків, 2000. 20 с. 12. Маркін О.М. Спецпроцесор модифікованих керуючих мереж Петрі для організації безпечного руху на залізничному транспорті. Автореф. дис. канд. техн. наук. Харків, 1997. 22 с. 13. Ельчанинов Д.Б. Микропроцессорные иерархические системы управления на базе і-сетей Петри // Сб. статей “Актуальные проблемы современной науки в исследованиях молодых ученых г. Харькова”. Х.: АО “Бизнес Информ”, 1998. С. 20-23. 14. Зубинский А. “Первый вал” SOC // еженедельник “Компьютерное обозрение”. Киев, 2001. №1-2(271). 17-23 января. С.38-40.

Поступила в редколлегию 23.01.2002

Рецензент: д-р техн. наук, проф. Загарий Г.И.

Ельчанинов Дмитрий Борисович, канд. техн. наук, старший преподаватель кафедры программного обеспечения ЭВМ, сотрудник научно-учебной лаборатории “Приобретение знаний” ХНУРЭ. Научные интересы: математическое моделирование. Увлечения и хобби: музыка. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-95-91.

Кривуля Геннадий Федорович, д-р техн. наук, профессор, заведующий кафедрой автоматизации проектирования вычислительной техники, декан факультета компьютерной инженерии и управления ХНУРЭ. Научные интересы: техническая диагностика, системы автоматизированного проектирования цифровых устройств. Хобби: автомобилизм, туризм, рыбная ловля. Адрес: Украина, 61166 , Харьков, пр. Ленина, 14, тел. (0572) 40-93-26.

Лобода Виталий Гаврилович, канд. техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: коммутация вычислительных структур. Увлечения: мотоцикл. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26.

Механа Сами, аспирант кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика компьютерных систем. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26.

РИ, 2002, № 1

97

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