Вы находитесь на странице: 1из 6

Обробка інформації в складних технічних системах

УДК 681.325

Н.В. Белова1, Д.А. Петросов2, В.Ю. Цуканов3, И.В. Чалый3


1
Харьковский национальный университет радиоэлектроники, Харьков
2
Харьковский университет Воздушных Сил им. И. Кожедуба, Харьков
3
Харьковский национальный технический университет сельского хозяйства, Харьков

ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ НА БАЗЕ СЕТЕЙ ПЕТРИ


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

Проведены формализация и алгоритмизация процесса проектирования перестраиваемого процессорного мо-


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

генетический алгоритм, сети Петри, перестраиваемый процессорный модуль

Введение Основным результатом работ [14 – 15] является


формализация и алгоритмизация процесса проекти-
Задача проектирования перестраиваемого про- рования объектов КТ путем формирования решения
цессорного модуля (ПМ) является разновидностью с фиксированной структурой из заданных компо-
более общей научной и практической проблемы: нентов. Хотя эта задача и принадлежит к простей-
проектирование системы с заданным поведением, шему классу задач проектирования КТ, однако ее
которая преобразует входные данные в необходи-
решение существенно осложняется огромным коли-
мые выходные данные. В качестве данных может
чеством возможных вариантов реализации, из кото-
выступать как информация, так и нечто материаль-
рых необходимо выбрать один, удовлетворяющий
ное (вещество, энергия и т.п.). Сегодня, в частности,
заданному условию. Для преодоления этой пробле-
эта проблема актуальна при проектировании ин-
мы были использованы ГА, адаптированные к ре-
формационных и организационных систем [1 – 3].
шению поставленной задачи путем использования
В работе [4] рассмотрены вопросы построения
двухуровневых СП.
ПМ, реализующего режимы полноразрядного функ-
Целью данной работы является решение бо-
ционального преобразования входных слов и уни-
лее сложной задачи формализации и алгоритмиза-
тарного (инкрементного) преобразования. Проведен
ции процесса проектирования перестраиваемого ПМ
структурно-функциональный анализ составляющих
компонентов и синтез общей функциональной путем формирования решения с изменяющейся
структуры ПМ. Осуществлен выбор технических структурой и набором компонентов с использовани-
модулей для моделирования работы ПМ на про- ем ГА на основе СП.
граммном уровне и в среде VHDL. Концепция по- Постановка задачи. Рассмотрим следующий
строения структур функционально ориентирован- класс задач проектирования КТ.
ных вычислительных устройств рассмотрена в рабо- Дано: S  In, Out , S k K A B
k 1 , f a a 1 , Fb b 1 ,
те [5]. Модель перепрограммируемого процессора с
гибкой архитектурой обсуждалась в работе [6]. где S – система, которую необходимо спроектиро-
В работе [7] рассматривалась проблема форма- вать; In – множество входных данных системы S ;
лизации и алгоритмизации процесса генерации ва- Out – множество выходных данных системы S ;
риантов проектных решений в САПР компьютерной Sk – k -ая подсистема системы S ; f a – функция,
техники (КТ). Для решения этой проблемы предла- определяющая, какие выходные данные соответст-
галось использовать генетические алгоритмы (ГА), вуют входным данным: f a : In  Out ; Fb – бинар-
которые являются одним из направлений исследо-
вания в области искусственного интеллекта [8 – 10]. ное отношение на множестве S k K
k 1 :
ГА являются стратегическим подходом к ре-
Fb  S k K K
k 1  S k k 1 .
шению проблемы, который необходимо адаптиро-
вать к конкретной предметной области. В САПР КТ Требуется: для заданной функции f a 0 подоб-
особое внимание уделяется методам моделирования, рать бинарное отношение Fb 0 такое, чтобы множе-
одним из которых являются сети Петри (СП) [11].
Поэтому в работе [7] для представления ГА предла- ство подсистем S k Kk 1 обеспечивало обработку
галось использовать СП. Актуальность и перспек- системой S входных данных в выходные данные в
тивность такого подхода подтверждается современ-
соответствии с функцией f a 0 .
ными научными исследованиями [12 – 13].

 Н.В. Белова, Д.А. Петросов, В.Ю. Цуканов, И.В. Чалый 9


Системи обробки інформації, 2007, випуск 5 (63) ISSN 1681-7710

1. Формализация сетями Петри Входы и выходы подсистем системы S также


будут моделироваться множеством позиций. Входы
Входы системы S будут моделироваться мно-
жеством позиций Pin   
p in
M
m m 1 , где M – количест-
подсистемы Sk – это множество Pkin  p in
k, m    , Mk
m 1
где Mk  – количество входов подсистемы Sk , а ее
во входов системы, а ее выходы – множеством по-
зиций Pout  p out
n   N
n 1 , где N – количество выходов выходы – множество Pkout  p out
k, n     , где Nk
n 1
Nk  –
системы (рис. 1). количество выходов подсистемы Sk (рис. 2).

in out
Подсистемы S k K
k 1 могут быть связаны как
p 1 p 1
… … между собой, так и с входами и выходами системы
in out S . Эти связи будут моделироваться множеством
p m S p n
… … переходов T  t q  Qq 1 , где Q – количество перехо-
in out
p p
M N дов. Каждый переход t q характеризуется своими
Рис. 1. Контекстная модель системы входными и выходными позициями.

p1in,1 p1out
,1 p1out
… … S

p1in, m S 1 p1out
,n
… …
out
… … p n
p1in, M 1 p1out
, N 1  …
out
p
p kin,1 p kout,1 N

… …
… p kin, m S k p kout, n …
… …
p kin, M k  p kout, N  k 
in
p 1
… p Kin,1 p Kout,1
p in … …
m
… … p Kin, m S K p Kout, n
… … …
in p Kin , M  K  p Kout, N  K 
p M

Рис. 2. Множество подсистем системы S

Входами перехода t q могут быть как любые Аналогично, для каждого выхода системы S
входы системы S , так и любые выходы подсистем должен существовать переход tq, соединенный с
этим выходом, и для каждого входа каждой подсис-
S k Kk 1 . Выходами перехода t q могут быть как темы Sk должен существовать переход tq, соеди-
любые выходы системы S , так и любые входы под- ненный с этим входом. Формально эти требования
систем S k K
k 1 . Обозначим входы перехода t q че-
можно записать в виде равенства
Q  K in 
рез In q , а выходы – через Out q . Тогда:
 q out    Pk  .
Out  P
 K   K  q 1  k 1 
In q  Pin    Pkout  ; Out q  Pout    Pkin  . Разные переходы могут иметь некоторые общие
   
 k 1   k 1  входные и выходные позиции, но полностью совпа-
Естественно, что для каждого входа системы S дающих переходов быть не должно. Это требование
должен существовать переход t q , соединенный с формально записываются следующим образом:
этим входом. Кроме этого, для каждого выхода каж- In q1  In q 2  Out q 1  Out q 2 (при q1  q 2 );
дой подсистемы Sk должен существовать переход Out q1  Out q 2  In q 1  In q 2 (при q1  q 2 ).
t q , соединенный с этим выходом. Формально эти
Множество подсистем S k K
k  1 вместе с под-
требования можно записать в виде равенства
Q  K  множеством множества переходов T  t q  Qq1 пол-
 In q  Pin    Pkout  .
q 1  k 1  ностью определяют текущую структуру системы S .

10
Обробка інформації в складних технічних системах

Не обязательно все подсистемы S k Kk 1 должны изменением подмножества задействованных в дан-


ный момент переходов. Пример структуры системы
быть задействованы в текущей структуре. При этом
показан на рис. 3.
перестройка структуры системы S определяется

p1in t1
S
t5
p in
pout p1out
1,1 1,1

p1in, 2 S 1 p1out
,2 p 2in,1 p 2out,1
t3
p 2in p1in, 3 p1out p in2, 2 S 2 p 2out, 2 p 3in,1 p3out
,3 ,1 p 2out
t4
p2in,3 p 2out,3 p3in, 2 S 3 p3out
,2
in
p 3 p3in,3 p3out
t2
,3 p3out
t6

Рис. 3. Пример структуры системы

Перестройка функций (изменение алгоритма хода t k,r могут любые выходы подсистемы Sk :
функционирования системы S ) происходит в под-
Out k , r  Pkout (рис. 5).
системах S k K
k 1 . В общем случае каждой подсис-
теме Sk можно сопоставить множество сетей Пет- Sk
ри, которые будут моделями программ обработки p kin,1 p kout,1
данных. Обозначим это множество через PN k и
определим его следующим образом … …
PN k  
PN k ,r R k  ,
 где PN k, r – r -й алгоритм обра-
r 1 p kin,m t k ,r p kout,n
ботки данных подсистемой Sk , представленный в
… …
виде сети Петри (рис. 4).
p kin, M k  p kout, N  k 
Sk
p kin,1 p kout,1 Рис. 5. Представление алгоритма обработки переходом

… … Исходя из всего вышесказанного, модель сис-


темы S в виде сети Петри может выглядеть, напри-
p kin,m PN k ,r p kout,n мер, так, как показано на рис. 6. В этой модели по-
лужирным выделен путь, по которому входные дан-
… … ные, поступив на верхние два входа системы S (на
p kin, M k  p kout, N k  рисунке в виде двух меток), проходят через ее под-
системы и появляются на нижнем выходе системы
Рис. 4. Представление алгоритма обработки сетью Петри S . Пунктиром выделены незадействованные пере-
ходы и дуги.
Формально необходимо для каждой сети Петри
PN k, r описать ее позиции, переходы и дуги. Но в 2. Описание генотипа
общем случае сеть PN k, r моделирует некоторое ГА необходимо адаптировать к конкретной
предметной области путем задания параметров и оп-
действие по преобразованию входных данных в вы-
ределения операторов ГА. При использовании ГА
ходные данные. Поэтому далее для простоты в каче-
альтернативные решения представляются в виде
стве моделей алгоритмов будут рассматриваться не
строки символов, имеющей фиксированную длину и
сети Петри PN k, r , а переходы («вырожденные»
называющейся генотипом. Поэтому особое внимание
сети Петри). Таким образом, множество PN k будет следует уделить формальному описанию генотипа.
В нашем случае генотип G должен опреде-
выглядеть так PN k  t k , r  Rr 1k  . Входами In k, r каж-
лять:
дого перехода t k,r могут любые входы подсистемы
 какие переходы из множества T  t q  Qq1
Sk : In k , r  Pkin , а выходами Out k, r каждого пере-
будут представлены в модели системы S ;

11
Системи обробки інформації, 2007, випуск 5 (63) ISSN 1681-7710

S
t1 5

S1
 S2
t3
S3
4

t2
6

Рис. 6. Пример модели системы S

 какие переходы из множества ближе выходной вектор к требуемому, тем постро-


PN k   
t k,r R k  будут представлены в модели каж- енная система лучше.
r 1 Для оценки этой близости введем обозначение
дой подсистемы Sk . для требуемого вектора: V  v1,, v n , v N  , где
Таким образом, генотип G будет иметь сле- v n – количество меток, которые должны находить-
дующий вид:
ся в позиции p out
n системы S . Естественно, что

G  g1 ,, g q ,g Q , h1 ,, h k ,, h K ,  v n  0,1,2,3, . Вектор, который получился в ре-
зультате работы системы S , обозначим через
где g q  0,1 и h k  0,1,, r,, R k  .
W  w1 ,, w n , w N  , где w n – количество ме-
Если g q  0 , то переход t q отсутствует в мо-
ток, которые реально находятся в позиции p out
n сис-
дели системы S , иначе ( g q  1 ) переход t q присут-
темы S . Аналогично, w n  0,1,2,3, .
ствует в модели системы S . Если h k  0 , то в моде- Разницу (расстояние) между требуемым и ре-
ли подсистемы Sk отсутствует алгоритм обработки альным вектором можно оценивать, например, по
данных (не загружена программа). Если h k  r N
формуле V, W    vn  w n .
( r  1,, R k  ), то в модели подсистемы Sk пред- n 1
ставлен переход t k,r . Выбор целевой функции влияет на эффектив-
Таким образом, число C всех гипотетически ность работы генетического алгоритма. Поэтому на
возможных моделей системы S определяется сле- практике можно использовать и формулу, задаю-
щую классическое евклидово расстояние
дующей формулой:
K N
C2 Q
 R k   1 . V, W    v n  w n 2 ,
k 1 n 1

Поэтому даже при небольшом количестве свя- и редко используемую формулу


зей, подсистем и алгоритмов обработки данных ко- V, W   max v n  w n .
1n  N
личество моделей системы S очень велико. Напри-
При программной реализации генетического
мер, при Q  10 , K  10 и R(1)=R(2)=…=R(10)=10
алгоритма имеет смысл заложить в систему воз-
получаем C  210 1110  2210  26 559 922 791 424 . можность работы с формулой
1/ p
 N p
3. Целевая функция V, W     v n  w n  ,
 
 n 1 
Среди огромного количества всех гипотетиче-
ски возможных моделей системы S необходимо которая при p  1 , p  2 и p   представляет со-
найти именно ту, которая решает поставленную за- бой рассмотренные выше формулы [16]. Изменяя
параметр p , можно будет влиять на эффективность
дачу: из имеющегося множества подсистем S k K
k 1
работы генетического алгоритма.
и системы переходов T  t q  Qq1 построить такую Чем меньше  , тем ближе система S к тре-
систему S , которая на входной вектор реагировала буемой конфигурации. При   0 система пол-
бы требуемым выходным вектором. Поэтому чем ностью соответствует заданному требованию.

12
Обробка інформації в складних технічних системах
Но, тем не менее, нет гарантии того, что из за- Оператор редукции должен удалять слабые ге-
данного множества подсистем Sk K
  нотипы. Для этого после скрещивания необходимо
k 1 , их моделей
определить качества всех потомков. Затем потомков
 Rr 1k  и связей
PN k  t k , r
q 1
 
T  t q Q можно постро- и родителей объединять в одно множество геноти-
пов и упорядочить их по качеству от лучшего к
ить требуемую систему S .
худшему. Кто оказался в худшей половине, тот уда-
ляется.
4. Операторы генетического алгоритма
После выбора целевой функции можно описать 5. Решение задачи
операторы генетического алгоритма. Перед началом работы операторов генетиче-
Оператор отбора должен отбирать для скрещи- ского алгоритма необходимо задать начальную по-
вания те генотипы, которые ближе всего к требуе- пуляцию генотипов. Если есть какие-либо гипотезы
мой конфигурации. Организовать этот процесс о структуре и функционировании системы S , то
можно описать, например, следующим образом: генотипы может описать сам проектировщик. Иначе
упорядочить все имеющиеся генотипы по качеству можно случайно сгенерировать несколько геноти-
(от лучшего к худшему) и скрещивать соседние па- пов. Размер популяции также определяется проек-
ры. Можно также разрешить лучшим генотипам тировщиком.
участвовать в нескольких скрещиваниях. Процесс работы генетического алгоритма мож-
Оператор скрещивания можно описать сле- но также описать сетью Петри (рис. 7) так, как это
дующим образом. Рассмотрим два генотипа: делалось в работе [14].
 
G1  g11 , , g1q , g1q 1 , g1Q , h 11 , , h1k , h 1k 1 , , h 1K ; Начальная популяция генотипов G1 , G 2 , …

G2  g 2 2 2 2 2 2 2 2
1 , , g q , g q 1 , g Q , h 1 , , h k , h k 1 , , h K. G 2D размещается в позиции сети Петри. Оператор
sel осуществляет отбор генотипов для скрещива-
Случайным образом выбираем два числа: q из
ния. Операторы cross1 , …, cross d , …, cross D осу-
диапазона (множества) 1,2,, Q и k из диапазона
ществляют скрещивание генотипов, которые затем
1,2,, K . А затем меняем соответствующие участ- подвергаются мутации оператором mut . Цикл рабо-
ки генотипов. Таким образом, из родителей G1 и ты завершает оператор red , удаляющий слабые ге-
G 2 получаются потомки G 3 и G 4 , наследующие нотипы. Затем процесс повторяется.
свойства родителей: Остановка этого циклического процесса может
определяться разными способами:

G 3  g11 , , g1q , g q2 1 , g Q
2 1
, h1 , , h1k , h 2k 1 , , h 2K ;   заданием определенного числа циклов;
G4  g 2 2 1 1 2 2 1 1
1 , , g q , g q 1 , g Q , h 1 , , h k , h k 1 , , h K .  заданием нижнего предела качества  всей
Можно ограничиться и выбором какого-то од- популяции;
ного числа ( q или k ). Сколько чисел будет выбрано  заданием нижнего предела качества  час-
(одно или два) и если одно, то какое именно, можно ти популяции (например, половины).
также определять случайным образом. Можно также Выводы
выбрать для каждого диапазона ( 1,2,, Q и
Основным результатом данной работы являет-
1,2,, K ) по две точки и меняться «серединками». ся формализация и алгоритмизация процесса проек-
Оператор мутации можно описать следующим тирования перестраиваемого ПМ путем формирова-
образом. Рассмотрим один генотип ния решения с изменяющейся структурой и набором

G  g1 ,, g q ,g Q , h1 ,, h k ,, h K .  компонентов с использованием ГА на основе СП.
Случайно выбираем два числа: q из диапазона Решение этой задачи существенно осложняется ог-
ромным количеством возможных вариантов реали-
1,2,, Q и k из диапазона 1,2,, K . А затем ме-
зации, из которых необходимо выбрать один, удов-
няем значения g q и h k следующим образом. Если летворяющий заданному условию. Для преодоления
было g q  0 , меняем его на единицу: g q  1 . И на- этой проблемы были использованы генетические
алгоритмы, адаптированные к решению поставлен-
оборот: если было g q  1 , то станет g q  0 . Если ной задачи путем использования сетей Петри.
было h k  r , то меняем его на любое другое из диа- В теоретическом плане перспективным пред-
пазона 0,1,, r  1, r  1,, R k  . Естественно, при ставляется развитие предлагаемого подхода на за-
дачи проектирования перестраиваемого процес-
r  0 это будет диапазон 1,, R k  , а при r  R k  сорного модуля, адаптирующегося к изменяющим-
это будет диапазон 0,1,, R k   1 . ся задачам.

13
Системи обробки інформації, 2007, випуск 5 (63) ISSN 1681-7710

sel cross 1 mut red


* **
G1 G 1 G 1

G2 G 2* G 2**

… … …
cross d
G1
G 2 d 1 G 2*d 1 G 2**d 1
G2

G2D G 2d *
G 2d G 2**d

… … …
cross D
G 2 D 1 G 2*D 1 G 2**D 1

G2D G 2*D G 2*D

Рис. 7. Описание генетического алгоритма сетью Петри

В практическом плане эффективным будет 8. Программирование искусственного интеллекта


внедрение данного подхода в САПР на основе языка в приложениях / М. Тим Джонс; Пер. с англ. – М.: ДМК
VHDL. Это позволит автоматизировать процесс ге- Пресс, 2004. – 312 с.
9. Люгер Джордж, Ф. Искусственный интеллект:
нерации вариантов различных проектных решений,
стратегии и методы решения сложных проблем, 4-е изд.;
который до сих пор производится проектировщика- Пер. с англ. – М.: Издательский дом «Вильямс», 2003. –
ми вручную. 864 с.
10. Корнеев В.В., Гареев А.Ф., Васютин С.В.,
Список литературы Райх В.В. Базы данных. Интеллектуальная обработка
1. Бондаренко М.Ф., Маторин С.И., Ельчани- информации. – М.: Нолидж, 2000. – 352 с.
нов Д.Б. Системная технология моделирования информа- 11. Советов Б.Я., Яковлев С.А. Моделирование
ционных и организационных систем: Учебное пособие. – систем. – М.: Высш. шк., 1998. – 319 с.
Х.: ХНУРЭ, 2005. – 116 с. 12. Григорьев А.В. Представление генетических ал-
2. Бондаренко М.Ф., Соловьева Е.А., Мато- горитмов сетями Петри в задаче размещения. Автореф.
рин С.И., Ельчанинов Д.Б. Объектная технология модели- дис. канд. техн. наук. – Казань, 2002. – 20 c.
рования информационных и организационных систем: 13. Молчанов Г.И. Повышение качества печатных
Учебное пособие. – Х.: ХНУРЭ, 2005. – 160 с. плат в процессе автоматической трассировки соедине-
3. Бондаренко М.Ф., Соловьева Е.А., Мато- ний // Вестник НТУ «ХПИ». – Х.: НТУ «ХПИ», 2001. –
рин С.И., Ельчанинов Д.Б. Системологическая технология Вып. 114. – С. 101-106.
моделирования информационных и организационных сис- 14. Ельчанинов Д.Б., Петросов Д.А., Механа Сами.
тем: Учебное пособие. – Х.: ХНУРЭ, 2005. – 136 с. Применение генетических алгоритмов при проектировании
4. Белова Н.В., Лобода В.Г., Петросов Д.А. Функ- компьютерной техники // Вестник Херсонского государст-
ционально-ориентированный перестраиваемый процес- венного университета. – 2003. – № 2 (18). – С. 45-49.
сорный модуль // Системи обробки інформації. – Х.: 15. Петросов Д.А. Лобода В.Г., Ельчанинов Д.Б.
ХУ ПС, 2005. – Вип. 3 (43). – С. 8-18. Представление генетических алгоритмов сетями Петри
5. Лобода В.Г., Петросов Д.А. Концепция по- в задачах проектирования компьютерной техники // Ма-
строения структур функционально ориентированных териалы научно-практической конференции «Информа-
вычислительных устройств // АСУ и приборы автомати- ционные технологии – в науку и образование». – Х.:
ки. – 2003. – Вып. 122. – С. 61-71. ХНУРЭ, 2005. – С. 48-51.
6. Белова Н.В., Долженкова Т.Г., Петросов Д.А. 16. Колмогоров А.Н., Фомин С.В. Элементы тео-
Модель перепрограммируемого процессора с гибкой ар- рии функций и функционального анализа: Учебник для
хитектурой // Сб. мат. 8-го Межд. молод. форума «Ра- вузов. – 6-е изд., испр. – М.: Наука. Гл. ред. физ.-мат.
диоэлектроника и молодежь в XXI веке». – Х.: ХНУРЭ. – лит., 1989. – 624 с.
2004. – Ч. 2. – С 277.
7. Ельчанинов Д.Б., Кривуля Г.Ф., Лобода В.Г., Поступила в редколлегию 22.03.2007
Механа Сами. Применение генетических алгоритмов и
многоуровневых сетей Петри при проектировании ком- Рецензент: д-р физ.-мат. наук, проф. С.В. Смеляков,
пьютерной техники // Радиоэлектроника и информатика. Харьковский университет Воздушных Сил им. И. Коже-
– 2002. – № 1. – С. 89-97. дуба, Харьков.

14

Вам также может понравиться