УДК 621.372 Доц. В.М. Теслюк, канд. техн. наук; acnip. Р.З. Кривий;
acnip. TapiK (Мох'д Тайар) АлiАльОмарг, асист Т.М. Теслюк - НУ "Львiвcькa nолimехнiкa"
РОЗРОБЛЕННЯ П1ДСИСТЕМИ ДЛЯ РОЗВ'ЯЗАННЯ ОПТИМ1ЗАЦ1ЙНИХ ЗАДАЧ ЕВОЛЮЦ1ЙНИМИ МЕТОДАМИ
Описано особливосп розроблення тдсистеми для розв'язання оптимiзацiйних задач за допомогою генетичних алгоритмiв. Розроблено структуру, лшгвютичне, програмне та математичне забезпечення пiдсистеми та результати тестування.
Assoc. prof. V.M. Teslyuk; post-graduate R.Z. Kryvyj; post-graduate Tarik (Mokh'd Taysir) Ali Alemari; assist. T.M. Teslyuk - NU "L'vivs'ka Politekhnika"
Development of subsystem for decision of optimization tasks by evolutional methods
The features of development of subsystem are described for the decision of optimization tasks by genetic algorithms. A structure, linguistic, programmatic and mathematical providing of subsystem and testing results, is developed.
Вступ. Задача пошуку оптимальних ршень - одна з найпоширетших i актуальних. Тому виникае потреба в методах, алгоритмах i комп'ютерних тдсистемах, як дають змогу користувачу знаходити оптимальт варiанти рь шень серед множини альтернатив.
Практично вс системи, яю використовують генетичний алгоритм (ГА) для розв'язання ошгашзацшних задач (OGA, Awakener, EVO) [1], роз-роблялись без досвщу попередтх розробок. У цих системах вщсутт засоби модифжаци структури i операцш ГА. Цей чинник може негативно вплинути на результат роботи системи. Тому для розроблення таких тдсистем найкра-ще використовувати об'ектно-орiентований тдхщ, який на цей час вважають найкращим для опису об'ектiв, 1'хшх властивостей та методiв. Саме його було використано тд час розроблення тдсистеми Genet, що дають змогу продов-жити удосконалення системи враховуючи ïï iсторiю та результати роботи.
1. Розроблення структурно'1 схеми пщсистеми
Для створення тдсистеми розв'язання оптимiзацiйних задач було по-будовано структурну схему, яку зображено на рис. 1.
У пiдсистемi передбачено режими роботи: оброблення даних, вико-нання ГА i виводу результат. Шдсистема оброблення даних виконуе такi функци, а саме: перевiрку коректностi введених даних та перетворення цшьо-воï функцiï в зворотний польський запис. Шсля цього данi передаються нас-тупнiй пiдсистемi, в якiй виконуються основт операцiï генетичних алгорит-мiв над переробленою цiльовою функцiею. Шдсистема виводу результа^в дае змогу переглянути результати у текстовому i графiчному форматах.
Для опису цшьово1" функци та обмежень використано числовий вираз, який е записом, складеним за певними правилами зi сталих, iмен, знакiв опе-рацiй та дужок. Сталi та iмена у виразi позначають операнди, а знаки опера-
ц1и з дужками задають посл1довн1сть операц1и, виконання яких породжуе значения виразу._
ЕнрпфеЙс йзркстурача
Г
Пщсмгема обробки дани*
Модуль переярки коренное^ взедених
_ДНН1М_
Модуль побудови ЗПЗ
П^дсиермуч робели
геийт WHDrci алгоритму
Модуль почапжсюЬТ
ПйПуЛЯЦ|К
Модуль селения
I
Модуль охрещуычяя
Í
Модуль нутйц[|
ГКдокгЗЧа ри0(щу
рМуГ11=ЛЭТ1е
модуль зивсду ¡МфорМ^(Д|| в и?т:кгаому ни,1 г-
Модуль еиводу дэпнку гр£ф1чиому
!! I !! !! !!
Рис. 1. Структурна схема тдсистеми 2. Розроблення лшгвктичного забезпечення пщсистеми
Вирази мютять: цш И дшсш стал та 1мена змшних; символи "+'' "*", "/" двомюних арифметичних операцш; 1мена (щентифжатори) одномю-них функцш sin та cos; дужки "(" та ")".
Задачу обчислення значення виразу розбито на дв1 шдзадачг
• прочитати вираз i побудувати Иого внутршне подання;
• за внутрштм поданням виразу обчислити Иого значення.
1снуе кiлька способiв представити послiдовнiсть операцiИ, задану ви-разом. Один iз них - це подання виразу Иого зворотним польським записом (ЗПЗ) [1].
2.1. Алгоритм побудови вираз1в
Звичною формою представлення виразiв е iнфiксна, коли знак бшар-но! операци записуеться мiж позначеннями операндiв ще! операци, наприк-лад, a+b. А запис знаюв операцiИ пiсля позначень операндiв, тобто постфж-сниИ запис, виглядае так ab+. ТакиИ запис мае також назву зворотного поль-ського, оскшьки Иого запропонував польськиИ лопк Ян Лукасевич [2]. Вираз е послщовшстю символiв-цифр, букв та шших знакiв, що утворюють лексич-нi одиницi, або лексеми, чотирьох рiзновидiв: сталi, iмена (позначення функцш), знаки операцш та дужки. Вираз розглядають саме як послщовшсть лексем, як ми одержуемо послщовним читанням виразу злiва направо.
Процес побудови ЗПЗ виразу можна подати послщовшстю вигляду -(вихщна послщовшсть лексем; магазин; непрочитана частина виразу). 1м'я функци записуеться в магазин i видаеться безпосередньо за ЗПЗ виразу li аргументу. 1м'я функци виштовхуеться з вершини з появою у вхiдному виразi
знака операци або закриваючо! дужки. Пiсля того, як вираз прочитано, в магазин ще можуть залишитися знаки операцш; 1х треба записати у вихщну послiдовнiсть.
Описане оброблення лексем подано фрагментом блок-схеми, яку зоб-ражено на рис. 2:
Рис. 2. Фрагмент блок-схеми алгоритму побудови ЗПЗ
2.2. Алгоритм обчислення виразу за його ЗПЗ
Позначення операндiв у ЗПЗ передують знакам операцш, як до них застосовуються, тому при читанш ЗПЗ спочатку обчислюються та запам'ято-вуються операнди, а по^м до них застосовуеться операщя.
Потiм ЗПЗ виразу читаеться, а для обчислень застосовуеться стек. На цьому це вже стек операндiв, а не знаюв операцш. Числа, що е значеннями сталих чи змшних, переносяться в стек. Якщо черговою лексемою е знак дво-мюно! операци, то зi стеку вилучаються два верхнi елементи, i результат зас-тосування операци до цих значень записуеться в стек. За знаку одномюно! операци з стеку вилучаеться лише один елемент. 1м'я функцп на входi задае 11 застосування до елемента з вершини стеку та вмiщення результату в стек.
Пiсля закшчення вхiдного списку лексем у магазиш збер^аеться лише одне число - значення всього виразу.
Процес обчислення можна подати послщовшстю пар такого вигляду: стек операндiв; непрочитана частина ЗПЗ. Спочатку стек порожнш, а в кшщ в ньому едине значення. Оброблення ЗПЗ можна здшснити за алгоритмом фрагмент блок схеми якого зображено на рис. 3:
2.3. Побудова основних алгоритм1в роботи пщсистеми
Розроблена шдсистема функцiонуе за визначеним наперед алгоритмом, який використовуеться практично уЫма генетичними алгоритмами. Робота цього алгоритму розпочинаеться з вводу вхщних даних, а саме: цшьово! функци, значень обмежень, кшькосл популяцш та хромосом та ш. [3].
Другий крок передбачае генерацш значень для хромосом, де викорис-тано генератор рiвномiрного закону розподшу випадково! величини. Наступ-ний крок передбачае ощнку "здоров'я" хромосом та вiдбiр найкращих результат (найоптимальнiших). Крок номер 5 призначений для виконання операци схрещування. Зпдно до яко! користувач на власний розсуд може встановити виконання ще! операци в автоматичному режимi. Разом з тим, в цьому блощ можуть вщбуватися мутаци, ймовiрнiсть яких, у вхщних даних, задае користувач шдсистеми.
3. Основш меню пщсистеми
Приклад основного меню розроблено1 пiдсистеми наведено на рис. 4. Основне меню мютить три закладки: Вхщт данi, Протокол роботи, Графжи.
Рис. 4. Закладка "Вхiднi дат" (змша кiлькостi вхiдних змшних)
Закладка "Вхщт дат" призначена для вводу вхщних даних тдсисте-ми, зокрема: кшькосл змiнних, значення меж для обмежень вхщних парамет-рiв, вид цшьово1 функци, вибору пошуку мiнiмуму чи максимуму, кшькосл особин, кiлькостi поколiнь та параметрiв мутаци. Пiсля введення у вщповщш поля всiх вищезазначених змiнних необхщно натиснути кнопку "Початок" i тдсистема розпочне виконувати розрахунки.
Отриманi результати можна переглянути з допомогою закладок "Протокол роботи" та "Графши" (див. рис. 5 i рис. 6).
Закладка "Протокол роботи" дае змогу користувачу переглянути результати розрахунку в текстовому вид^ де наведено шформащю про поко-лiння, значення змшних та значення цшьово! функци, вiдсоткове вiдношення отриманого значення цшьово! функци сили значень ЦФ уше1 популяци.
Отриманi результати вiдображаються за допомогою графтв. Зокрема ця шформащя вiдображаеться з допомогою закладки Трафжи", де показана картина змiни середнього значення ЦФ по популяци та максимальне i мшь мальне значення (див. рис. 5).
4. Результати дослщження та тестування розроблено1' пщсистеми
Для перевiрки правильностi та коректност роботи пiдсистеми i розв'язання оптимiзацiйних задач використано тестовi приклади, як наведенi в лiтературних джерелах разом з розв'язанням [4]. Зокрема, використано тес-тову безумовну оптимiзацiйну задачу, де цшьова функцiя мае такий вигляд: /(х, у) = 1/ (1+х2 + у2). Зрозумшо, що оптимум отримаемо при х = у = 0 . Отриманi
результати наведено на рис. 5 та 6, як зб^аються з розрахунковим i е шд-твердженням коректностi та правильност роботи реашзовано! пiдсистеми.
^Генетичш алгоритм» -lD|x|
BxjflHi дани | Протокол роботи ;| Графки 1
Оссбина #24 7 32735 0, 25157 0, 85434 2 Jti
Оссбина #25 0, 42735 0, 35157 0, 75552 2
Оссбина #25 0, 42735 0, 35157 0, 75552 2
Оссбина #27 о J 42735 -■: ,04333 0,04391 2
Оссбина #28 о 12735 0, 25157 0, 82531 2 i
Оссбина £29 о 22735 0, 35157 0, 85081 2
Оссбина с, 22735 0, 45157 0, 79538 2
Оссбина #31 0, 42735 0, 25157 0, 80259 2
Оссбина #32 о J 22735 0, 25157 0, 89584 2
Осабина #33 о 42735 0, 25157 0, 80259 2
Оссбина #34 о 42735 0, 45157 0, 72117 2
Особина #35 22735 0, 15157 0, 83050 2
Оссбина #35 0, €2735 0, 25157 0, 58539 2
Оссбина #37 а J 22735 0, 25157 0, 89584 2
Оссбина #38 о 22735 0, 35157 0, 85081 2
Оссбина #39 о J 52735 0, 45157 0, 52595 2
Оссбина #40 42735 0, 25157 0, 80259 2
Оссбина #41 0, 52735 0, 25157 0, 74547 2
Оссбина #42 0, 22735 0, 25157 0, 89584 2
Оссбина #43 0, 42735 0, 25157 0, 80259 2
Оссбина #44 о J 42735 0, 35157 0, 75552 2
Оссбина #45 32735 0, 05157 0, 90104 2 *■
Оссбина #45 42735 0, 45157 0, 72117 2 *
Оссбина #47 0, 42735 0, 25157 0, 80258 2
Оссбина #48 0, 52735 0, 25157 0, 58539 2
Оссбина #49 0 22735 0, 35157 0, 85081 2
Оссбина #50 0, 42735 0, 35157 0, 75552 2
Середне здаров 'ST - 0, 82 418
1К±нець роботи - 19.08.2 :007 15 :4" ' : 35
|Час роботи - 0 =01:0G ij
|_
Start
Рис. 5. Закладка "Протокол роботи " (зЬрочками позначено мутаци)
ЭЕЗНаЯЕШ^^^И ^jsjjli
BxiQHi дан11 Протокол роботи Граф1ки |
TChart
О Б 10 15 20 25 30 35 40 45 50 55 60 65 70 75 S0 85 90 95
i..........S tart........l]
Рис. 6. Закладка "Графжи "
Висновки
Таким чином, розроблено шдсистему Genet, зокрема побудовано 11 структуру, програмне та лшгвютичне забезпечення шдсистеми, використано зворотний польський вираз для опису параметрiв цшьово! функци. Наведено
результати тестування роботи основних складових пщсистеми, що шдтвер-джуе коректнiсть та правильшсть роботи пiдсистеми.
Л1тература
1. [Електрон. ресурс]. - Доступний з: http://sourceforge.net/softwaremap/trove_list.php? form_cat=621.
2. Lukasiewicz, Jan (1957). Aristotle's Syllogistic from the Standpoint of Modern Formal Logic: Oxford University Press.
3. Курейчик В.В., Нужнов Е.В. Возможности организации интегрированной инструментальной среды поддержки процедур генетического поиска и оптимизации решений // Новости искусственного интеллекта, 2003. - № 5. - 236 с.
4. Michalewicz, Zbigniew. Genetic algorithms + data structures = evolution programs. - 3rd rev. and extended ad, Springer - Verlag Berlin Heidelberg New York, 1996. - P. 141-149.
УДК 681.3+519.6 Доц. О.А. Пастух, канд. техн. наук -
Свропейський утверситет, ТернопЫьська фЫЫ
МАТЕМАТИЧНИЙ ФОРМАЛ1ЗМ ФУНКЦ1ОНУВАННЯ КВАНТОВОГО ПРОЦЕСОРА
Розглянуто математичний формалiзм функщонування квантового процесора, охоплюе математичний опис сташв квантових бтв регистра квантового процесора у виглядi комплексного векторного простору хвильових функцш. Наведено математичний опис квантово'1 статистично'' модел^ яка штегруе у ^6i основш стадп (запис, об-числення, вивщ) роботи квантового процесора i показано неспроможшсть викорис-тання класично'1 статистично'1 моделi для цих потреб. Математичний опис однокуб^-них, двокубггного та багатокубiтних лопчних елементiв (унiтарних операторiв).
Assoc. prof. O.A. Pastukh - European university, Ternopol department Mathematical formalism of functioning quantum processor
Mathematical formalism of functioning quantum processor has been analyzed. It include mathematical description of states of quantum bits of register of quantum processor as of complex vector space of wave functions. Mathematical description of quantum statistical model if integrate bases phases (enter, computation, output) of operation quantum processor and show impossibility of classical statistical model for needs. Mathematical description of logical gates for one quantum bit, two quantum bit and many quantum bits (unitary operators).
Вступ. Все бшьше науковщв, як працюють у сфер1 шформацшних технологш, у сво'х роботах проявляють штерес до квантових шформацшних технологш, зокрема до 1х основного обчислювального елемента - квантового процесора. Це зумовлено тим, що квантовий процесор мае ефект квантового паралел1зму та квантово'' штерференци, яю розширюють його обчислювальш можливост пор1вняно з класичним процесором. Основою роботи квантового процесора, кр1м ф1зично! реал1заци, е математичне забезпечення - математичний формал1зм його функцюнування.
Аналiз дослiджень i публiкацiй. Математичний апарат, який викорис-товуеться для математично'' формал1зацИ функцюнування квантового процесора використовуе надбання квантово'' теори, теори алгоритм1в та ш i висвгг-лений у багатьох роботах, як шоземних [1, 2], так i укра'нських [3, 4] вчених.