Раздел II. Автоматизация проектирования
УДК 681.3
Ю.О. Чернышев, Н.Н. Венцов, С.А. Мухтаров
К ВОПРОСУ ОБ ИНТЕЛЛЕКТУАЛЬНОЙ ПОДДЕРЖКЕ ПРОЦЕССА
ДОВОДКИ СБИС*
Приведено описание адаптивной системы поддержки процесса доводки СБИС, поддерживающей три лингвистические команды «незначительно улучшить решение», «улучшить решение», «существенно улучшить решение». Особенностью предлагаемой системы является адаптивная поддержка лингвистических команд. Под адаптивностью в данном случае понимается корректировка численных характеристик, соответствующих лингвистическим командам, на основе анализа ранее выполненных команд. Управление процессом корректировки осуществляется на основе автомата адаптации. Рассмотрены варианты чекой и расплывчатой градации численных характеристик соответствующих лингвистическим переменным. Четкая градация задается отрезками и лучами, расплывчатая - функциями принадлежности.
Доводка СБИС; адаптация; интеллектуальные системы; оптимизация.
Yu.O. Chernyshev, N.N. Vencov, S.A. Mukhtarov
TO THE QUESTION OF INTELLECTUAL SUPPORT OF PROCESS OF FINISHING VLSI
The description of the adaptive system of support of process of a finishing of VLSI supporting three linguistic commands is provided in operation «slightly to improve the decision», «to improve the decision», «it is essential to improve the decision». Feature of offered system is the adaptive support of linguistic commands. Adaptivity in this case is understood as adjustment of the numerical characteristics corresponding to linguistic commands, on the basis of the analysis of earlier executed commands. Process control of adjustment is carried out on the basis of the adaptation machine gun. Options of cheky and fuzzy gradation of numerical characteristics appropriate to linguistic variables are considered. The accurate gradation is set by segments and rays, fuzzy -accessory functions.
VLSI finishing; adaptation; intellectual systems; optimization.
Введение. Одним из важнейших рыночных требований к процессу создания СБИС является минимизация времени проектирования. По этой причине подходы, гарантирующие получение оптимальных решений, на практике используются достаточно редко, в виду высокой временной сложности. Используемые на практике стандартные алгоритмы решения проектных задач не гарантируют получение глобального оптимума. Работа данных алгоритмов завершается либо после попадания в локальный оптимум, либо после выполнения заданного числа итераций. Относительно новым алгоритмическим инструментом решения проектных задач являются идеи, основанные на моделировании эволюционных процессов, например методы моделирования отжига, генетические алгоритмы, автоматы адаптации. Недостатком методов моделирования отжига является зависимость итогового решения от
* Работа выполнена при финансовой поддержке РФФИ (проект № 12-01-00474).
начального, генетических алгоритмов - большой объем вычислений на каждой итерации, а автоматов адаптации - трудности, связанные с представлением исходной задачи в виде адаптивной системы. Несмотря на перечисленные недостатки, данные подходы обладают существенным достоинством - возможностью получать субоптимальные решения за небольшое, как правило, полиномиальное, время. При этом существует априорно неизвестная вероятность улучшения полученного ранее субоптимального решения [1-6]. По этой причине проектирование СБИС, как правило, реализуется на основе итерационных процедур, с периодическим повторением реализованных ранее этапов. В ходе выполнения очередной итерации в проект СБИС вносятся локальные изменения, способствующие, по мнению экспертов, улучшению разрабатываемого изделия. Сущность изменений в ряде случаев может состоять в дополнительной локальной оптимизации решенных ранее проектных задач, например покрытия, разбиения, трассировки, компакции и т.д., как для всей проектируемой схемы, так и для некоторой её части. На данном этапе проектирования особую роль играет опыт эксперта-проектировщика, его способность выбрать наиболее перспективные направления, в соответствии с которыми, будет осуществляться дальнейшая доводка изделия, а также способность к анализу получаемых промежуточных решений [1, 2, 6]. В общем случае, процессу доводки изделия присуща свойственная неопределенность, связанная с неоднозначностью перспектив локальной оптимизации. Поэтому необходимо разрабатывать системы поддержки доводки проектных решений, взаимодействующие с проектировщиком на основе нечетких инструкций.
Предлагаемый подход. Проблема дефицита проектного времени, а также противоречивость перспектив локальной оптимизации (и, как следствие, общей доводки изделия) частично может быть решена за счет использования нечетких алгоритмов поддержки управления процессом проектирования СБИС. В связи с этим разработана система поддержки процесса доводки СБИС на основе трех нечетких команд: «незначительно улучшить решение», «улучшить решение», «существенно улучшить решение». Под заданными управляющими инструкциями понимаются не только качественные ожидания величины улучшения исходного решения, но и временные лимиты необходимые для выполнения соответствующих действий. Будем исходить из того, что ожидаемая величина улучшения исходного решения, в некотором роде, прямо пропорциональна времени отводимому для улучшения данного решения. Качество решения оценивается объективными количественными характеристиками, например, для задачи разбиения качественной оценкой решения может быть число реберного соединения всех частей графа [2]:
где к, - число ребер, соединяющих части О і и Оі графа О; I - число частей на которые разбивается граф О.
Коэффициент К может быть использован для сравнительной оценки различных разбиений одного и того же графа, в таком случае критерием оптимальности будет количество ребер соединяющих части графа между собой. Альтернативной оценкой разбиений может быть использовано отношение суммарного числа внутренних ребер к суммарному числу соединяющих ребер [2]:
где \и1,11 - число внутренних ребер части 01 графа О.
Величины Д(С) и К являются достаточно условными характеристиками оптимальности разбиения, но по причине отсутствия критериев оптимальности, не связанных с полным перебором, они будут использоваться как критерии успешности локальных оптимизаций.
2 ¿іі = 1 ¿17 = 1 лі,7 ,
(1)
(2)
Определим лингвистические переменные «время работы» и «качество решения», принимающие три значения: «малое», «среднее», «большое». Переменная «время работы», определяет длительность решения задачи оптимизации, а «качество решения» - улучшение исходного решения проектной задачи. Введем четкую градацию переменных «время работы» и «качество решения». В двумерной декартовой системе координат, по аналогии с [8], ассоциируем значения переменной «время работы» Т - с осью абсцисс, а «качество решения» Q - с осью ординат (рис. 1). Величины х1-х4 носят относительный характер и принимают значения от 0 до 1. Абсолютная градация значений лингвистических переменных определяется произведением величин Т1 на х1 или х2 и Q1 на х3 или х4 соответственно, где Т1 -время первой оптимизации проектной задачи, Q1 - количественная оценка первой оптимизации проектной задачи.
Рис. 1. Четкое сегментирование области значений
В общем случае одноименные, а тем более разноименные, значения различных переменных не равны между собой, например, значение «малое» логической переменной «время работы» не равно значению «малое» логической переменной «качество решения». По этой причине введем постфиксы «-і» и «-д», для идентификации различия значений «малое», «среднее», «большое» переменных «время работы» (-і) и «качество решения» (-д) (см. рис. 1).
При вводе любой из трех команд («незначительно улучшить решение», «улучшить решение», «существенно улучшить решение») инициализируются два счетчика і и д. Счетчик і фиксирует время работы алгоритма оптимизации, д -улучшение качества решения. Таким образом, каждая выполняемая/завершенная команда характеризуется кортежем (і', д'), где і' - длительность выполнения команды, д' - полученное улучшение решения.
Критериями необходимости анализа промежуточных результатов, а также остановки процесса выполнения команды могут быть: превышение лимита времени отведенного на выполнение команды; переход в другую качественную или временную градацию і' и/или д'; выполнение алгоритмом оптимизации заданного числа итераций; не улучшение исходного решения в течение заданного числа итераций.
После завершения выполнения команды производится корректировка значений хгх4, которые четко делят первую четверть Декартова базиса на девять областей (см. рис. 1). Например, если в ходе реализации команды «незначительно улучшить решение» будут выполнены условия і'<х1 и д'>х3 т.е. получено «среднее» улучшение за «малое» время, то целесообразно уменьшить х1 и/или увеличить х3.
Аналогичные правила разработаны для различных соотношений элементов кортежа ^', ц') со значениями хгх4. В связи с тем, что алгоритмы, улучшающие исходные решения, носят вероятностный характер использование жестких методов корректировки градаций лингвистических переменных «время работы» и «качество решения» не целесообразно. Предлагается использовать адаптивный подход к управлению процессом корректировки градаций значений лингвистических переменных. Для управления процессом корректировки градаций лингвистических команд разработан автомат адаптации (АА) схема которого приведена на рис. 2 [1, 9].
Рис. 2. Схема переходов АА
+
+
+
Частично схема выработки управляющих сигналов поощрения (+) и наказания (-) АА представлена в таблице.
Таблица
Правила выработки сигналов
Ґ ч' Тек. альтернатива Сигнал Рек. альтернатива
1'<х1 ц'<х3 А1 - А2
1'<х1 Ч'<х3 А2 + А2
1'<х1 х3<ч'<х4 А1 + А1
1'<х1 х3<ч'<х4 А2 - А1
Предлагаемый АА поддерживает две альтернативы А1 и А2. Состояние 511 -соответствует альтернативе А1, а состояния S21 и S22 - альтернативе А2. Альтернатива А1 заключается в необходимости корректировать градации значений лингвистических переменных, а альтернатива А2 подразумевает неизменность градаций. Приведенные в таблице данные частично описывают правила выработки управляющих сигналов после реализации команды «незначительно улучшить решение».
Четкое разбиение области значений, подразумевает некоторую скачкообразность формирования качественных оценок. По этой причине предложена расплывчатая градация значений нечетких переменных «время работы» и «качество решения» (рис. 3).
Для каждого элемента области рассуждений переменные «время работы» и «качество решения» принимают значения «малое», «среднее», «большое» с определенной степенью достоверности. Нижней границей степени достоверности является «0», верхней - «1». Соответствие элемента области рассуждений значениям переменной «малое», «среднее», «большое» определяется на основе функций принадлежности, аргументом которых является рассматриваемый элемент. Функции принадлежности, задаются трапециями, описываемыми кортежами (ар, Ьр, ср, ¿р). В рассматриваемом случае ар, Ьр, ср, йр - не отрицательные числа, подстрочный индекс р - признак принадлежности элементов кортежа к трапеции, описывающей одно из значений логических переменных «время работы» или «качество решения». Величина ¡лр(х) определяет степень принадлежности элемента х к значению переменной, соответствующей кортежу(ар, Ьр, ср, ¿р). Значение величины ¡лр(х) определяется по формуле:
, х-ар
-----—, если av < х < bv,
ßP(x) = -
Ьр ар
1, bp<x< cp,
dv-x
——, если c„ < x < gL,
dp-cp’ P P'
. 0, в остальных случаях.
(3)
Рис. 3. Расплывчатое сегментирование области значений
При расплывчатой сегментации области значений элементам каждого кортежа (t', q') соответствуют степени принадлежности значениям «малое», «среднее», «большое» лингвистических переменных «время работы» и «качество решения». В общем случае, при такой градации, наряду с четкими областями, однозначно и абсолютно соответствующими значениям лингвистических переменных, присутствуют нечеткие - частично соответствующие значениям лингвистических переменных. При этом элементу кортежа (t', q') может соответствовать несколько ненулевых значений функции принадлежности к нечеткой переменной, например, на рисунке (см. рис. 3) элементу t' соответствуют ненулевые степени принадлежности значениям «среднее-t» и «большое-t» лингвистической переменной «время решения». Соответствие S кортежа (t', q') подмножеству области значений, ограниченному значениями лингвистических переменных *-t и *-q определяется как:
S*-t, *-q(t', q')= min (ß*-t(t'y, ju*-q(qr)), (4)
где S*-tt *-q(t', q') - степень принадлежности кортежа (t', q') сегменту области значений ограниченному значениями *-t и *-q нечетких переменных «время работы» и «качество решения» соответственно;
ß*t(t') - степень принадлежности величины t' значению *-t нечеткой переменной «время работы»;
M*-q(q') - степень принадлежности величины q' значению *-q нечеткой пере-менной«качество решения»;
min - функция, возвращающая значение наименьшего аргумента;
*-t элемент из множества {«малое-t», «среднее-t», «большое-t»};
*-q элемент из множества {«малое-q», «среднее-q», «большое-q»}.
В соответствии с (4) можно утверждать, что для изображенного на рисунке
(см. рис. 3) кортежа (t',qr) вреднее-?»,
»(t', q')-min (0,57;1)-0,57, а
¿«большое -t», «среднее-q» (t',q')~ min (0,31;1) -0,31. Таким образом, кортежу (t', qr) при-
суща двойственная принадлежность к сегментам «среднее-?» - «среднее-д» и «большое -?» - «среднее-д». Управление расплывчатой градацией области значений осуществляется на основе предложенного выше АА.
На рис. 4 приведена схема управления процессом оптимизации на основе предложенного подхода. При вводе нечеткой команды на основе текущей сегментации области значений переменных «время работы» и «качество решения» автоматически определяются критерии остановки, параметры алгоритма оптимизации (например, число особей в популяции, используемые генетические операторы и т.д.), а также критерии необходимости проведения промежуточного анализа работы алгоритма оптимизации. После поступления команды происходит инициализация счетчиков ?', д'. Анализ промежуточных результатов оптимизации осуществляется на основе текущих значений I' и д' а также сегментации области значений.
Запуск алгоритма оптимизации
выполнение7
Рис. 4. Структурная схема адаптивного управления процессом оптимизации
На основе проведенного анализа принимается решение о целесообразности дальнейшее оптимизации. После завершения процесса оптимизации осуществляется корректировка параметров сегментации области значений переменных «время работы» и «качество решения». Управление процессом корректировки осуществляется при помощи АА (см. рис. 2).
Выводы. Разработана интеллектуальная подсистема поддержки процесса доводки СБИС. Особенностью подсистемы является адаптивная реализация лингвистических команд на основе четкой и расплывчатой системы градаций значений нечетких переменных. Четкая система градаций более проста с точки зрения реализации, расплывчатая - более чувствительна к динамике вычислительного процесса. При расплывчатой градации наличие нескольких ненулевых значений функции принадлежности у элементов области значений позволяет более гибко организовывать управление поиском проектных решений, точнее учитывая динамику процесса проектирования.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Курейчик ВМ., Лебедев Б.К., Лебедев О.Б. Поисковая адаптация: теория и практика. Монография. - М.: Физматлит, 2006.
2. Морозов К.К., Одиноков В.Г., Курейчик ВМ. Автоматизированное проектирование конструкции радиоэлектронной аппаратуры: Учеб. пособие для вузов. - М.: Радио и связь, 1983. - 280 с.
3. Donath W.E. et al. Timing Driven Placement Using Complete Path Delays Proc. ACM/IEEE DAC, 2008.
4. Курейчик ВМ. Биоинспированный поиск с использованием сценарного подхода // Известия ЮФУ. Технические науки. - 2010. - № 7 (108).- С. 7-12.
5. Cong J., Fang J., Xie M. and Zhang Y. MARS-A multilevel full-chip gridless routing system// IEEE Trans Comput.-Aided Design Integr. Syst. - 2005. - Vol. 24, № 3. - P. 382-394.
6. Лебедев Б.К., Лебедев В.Б. Поисковые процедуры канальной трассировки, базирующиеся на моделировании адаптивного поведения роя частиц в пространстве решений с неупорядоченным лингвистическим шкалированием // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 15-22.
7. Dorigo M. and Sttitzle T. Ant Colony Optimization. MIT Press, Cambridge, MA, 2004.
8. Walter Banks, Gordon Hayward. Fuzzy logic in embedded microcomputers and control systems. Published by Byte Craft Limited, Waterloo Ontario Canada, 2001.
9. Чернышев Ю.О., Венцов Н.Н., Крупенин АВ., Щербаков А.В., Мухтаров С.А. Адаптивная оптимизация запросов в современных системах управления базами данных. Монография. - Краснодар: ФВАС, 2011.
Статью рекомендовал к опубликованию д.т.н., профессор Б.К. Лебедев.
Чернышев Юрий Олегович - Донской государственный технический университет; e-mail: myvnn@list.ru; 344000, г. Ростов-на-Дону, пл. Гагарина, 1; тел.: 88632738582; кафедра автоматизации производственных процессов; д.т.н.; профессор.
Венцов Николай Николаевич - e-mail: vencov@list.ru; кафедра информационных технологий; к.т.н.; доцент.
Мухтаров Сергей Артурович - Филиал Военной академии связи (г. Краснодар); e-mail: samucht@list.ru; г. Краснодар, ул. Красина, 4; тел.: 88612683509; соискатель.
Chernyshev Yury Olegovich - Don State Technical University, Russia, e-mail: myvnn@list.ru; 1, Gagarin street, Rostov-on-Don, Russia; phone: +78632738582; the department of automation of productions; the department of automation of productions; dr. of eng. sc.; professor
Vencov Nikolay Nikolaevich - Don State Technical University; e-mail: vencov@list.ru; the department of information technologies; cand. of eng. sc.; associate professor.
Mukhtarov Sergey Arturovich - Branch of Military academy of communication (Krasnodar), competitor; e-mail: samucht@list.ru; 4, Krusina street, Krasnodar, Russia; phone: +78612683509; competitor.