УДК 004.8 DOI: 10.30977/ВиК2219-5548.2019.86.1.15
САМОВДОСКОНАЛЕННЯ ЕЛЕМЕНТ1В ДИЗАЙНУ САЙТ1В ЗА ДОПОМОГОЮ
ГЕНЕТИЧНОГО АЛГОРИТМУ
Фастовець В. I.1 , Шуляков В. М.1 1Харк1вський нац1ональний автомоб1льно-дорожн1й ушверситет
Анотаця. У статт1 наведено досл1дження застосування генетичного алгоритму до веб-сайт1в, розглянут1 перспективи самост1йного покращення сайтами деяких елемент1в свого дизайну. Розроблено генетичний алгоритм, що дозволить схрещувати обрат об'екти веб-сторток. Проанал1зоваш практичм тструменти визначення фенотипу об 'екта, що дозволить еволющонувати дизайну сайту до быьш конверайного р1вня.
Ключов1 слова: генетичний алгоритм, сайт, схрещування, дизайн, конверая, об 'ект.
Вступ
У наш час обчислювальш пристро1 i рiзнi шформацшш технологи широко використо-вуються для виршення завдань рiзного спектра - вщ теоретичних до практичних. I хоча спектр завдань, для яких можливо знайти точне аналггичне або графiчне ршення до-сить високий, не менше насичений i спектр завдань, для яких неможливо знайти точне ршення, завдань, для яких взагалi вщсутне загальне рiшення, а також для яких достат-ньо вибрати ршення з деяким ступенем при-датностi.
Анал1з публжацш
Цю нiшу зайняли еволюцiйнi алгоритми пошуку [1-4]. Вони переважно не мають пiд собою математичного обгрунтування, але, використовуючи !х, можна отримати позити-вний результат пiд час виршення конкретного кола завдань.
Еволюцшш алгоритми - напрямок в штучному штелекп (роздiл еволюцiйного моде-лювання), який використовуе i моделюе про-цеси природного вiдбору [5-7]. До них належать:
— генетичш алгоритми - евристичний алгоритм пошуку, який використовуеться для виршення завдань оптимiзацп та моделю-вання шляхом випадкового шдбирання, ком-бшування i варiацil параметрiв якi необхщно знайти;
— генетичне програмування - автоматич-не створення або змша програм за допомо-гою генетичних алгоршмв;
— еволюцiйне програмування - цей тер-мiн е аналопчним термiну генетичне програмування, але структура програми постшна, змiнюються тшьки числовi значення;
— еволюцiйнi стратеги - майже теж саме, що i на генетичнi алгоритми, але для насту-пного поколiння передаються тiльки позити-внi мутаци;
— нейроеволющя - е аналогом термшу генетичне програмування, але геноми е шту-чними нейроннимиi мережами, в яких вщбу-ваеться еволюцiя ваг за заданою топологiею мереж або, крiм еволюци ваг, також вщбува-еться еволющя топологи.
Генетичнi алгоритми - це еволюцшш алгоритми, призначеш для виршення завдань оптимiзацil. Вони засноваш на пошуку кра-щих рiшень за допомогою наслiдування i по-силення корисних властивостей багатьох об'ектiв з певно1 обласп в процесi iмiтацil !х еволюци. Пiд час вирiшення реальних завдань вони можуть бути сформульоваш як пошук оптимального значення, тобто складное' функци, що залежить вщ деяких вхiдних параметрiв.
У деяких випадках потрiбно знайти т значення параметрiв, за яких досягаеться найкраще точне значення функци. В шших випадках точний оптимум не потрiбен, тодi рiшенням може вважатися будь-яке значення, яке краще за деяку задану величини. У цьому випадку генетичш алгоритми часто е найбшьш прийнятним методом для пошуку «гарних» значень. Сила генетичного алгоритму в його здатносп маншулювати одночас-но багатьма параметрами. Вперше такий алгоритм, названий репродутивним планом, був запропонований 1975 року Джоном Хо-лландом (Мiчiганський ушверситет). Вш по-кладений в основу практично вшх варiантiв генетичних алгоритмiв.
На сьогоднi генетичш алгоритми застосо-вуються для виршення таких завдань:
— оптимiзацiя функцш;
— оптимiзацiя запита у базах даних;
— задачi компонування;
— рiзноманiтнi задачi на графах;
— задачi комiвояжера;
— складання розкладiв;
— теорiя наближень;
— знаходження паросполучень;
— iгровi стратеги;
— налагодження та навчання штучно! нейронно! мережi.
Генетичний алгоритм - це алгоритм, який базусться на таких бюлопчних принципах:
— природний в^^р;
— схрещування особин;
— мутащя.
У генетичних алгоритмах використову-ються такi поняття:
особина - це об'ект, що володie певними властивостями, якi видiляють або однозначно щентифшують його серед шших предста-вникiв популяци;
ген - мшмальна одиниця успадковано! шформаци, яка визначае одну певну власти-вiсть об'екта;
алель - значення гена; геном (хромосома) - набiр усiх генiв одного об'екта;
генотип - закодоване ршення; локус (мюце розташування) - позищя гена в геномi (хромосомi).
Популящя - це набiр об'ектiв, який характеризуемся кiлькiстю об'ектiв, що в ньому знаходяться, i поколшням.
Поколiння - порядковий номер популяци. Якщо пiсля схрещування об'ектiв першого поколiння з'явилися новi, то !х набiр е попу-ляцiею шшого другого поколiння тощо.
Схрещування - це головна генетична опе-ращя. Вона е процесом створення нових об'екта з двох або бшьше батькiвських об'ектiв. Пiд час схрещування об'екти-нащадки успадковують властивостi вщ об'ектiв-батькiв. Властивостi кожного об'екта визначаються його генами, успадко-ваними вщ батькiв.
Фiтнес-функцiя - цiльова функщя. II ви-значення е найголовшшим кроком пiд час складання генетичного алгоритму. Вибiр не-коректно! фггаес-функци призведе до неправильного результату. У цьому випадку не-можливо знайти якусь загальну фггаес-функцiю, яка була б правильною для вшх ситуацш. Тому зазвичай для кожного за-вдання пiдбираеться або створюеться власна фiтнес-функцiя, яку буде неможливо засто-совувати в iнших умовах. Якщо у разi вико-
ристання фггаес-функци досягнута необхiдна точнiсть,- алгоритм завершуе свою роботу, тобто повторюе всi кроки для отримання нового поколшня i повторного використання фггнес-функцп.
Природний вiдбiр - процес вщбору най-бiльш пристосованих об'екпв. «Виживуть» об'екти, якi бiльше за iншi вiдповiдають щ-льовiй функци.
Мутацiя - випадкова змiна генома об'екта. Мутаци застосовуються для полш-шення i запобiгання виродженню популяци (граничний стан, коли будь-яке схрещування створюе нове поколiння, яке шчим не в^^з-няеться вiд попереднього). Це операщя, яка зд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дсоток всiх користувачiв, як вiдвiдали сторiнку та натиснули кнопку "Купити" або натиснули на рекламу. Також конвершя повинна врахо-вувати час, який користувач знаходиться на веб-сторшщ, та повторнi вiдвiдування вебсайту.
Нехай спрощено веб-сайт, реалiзований з таких блоюв: назва, текст-опис, зображення, кнопка «Купити» та рекламне оголошення. Кожен з цих блоюв мютить геном, що харак-теризуе таю властивосп цього об'екта: пози-цюнування, висота та ширина, колiр, тшь,
po3Mip шрифту, вщступи, ефекти наведення тощо.
Створимо популяцда веб-сторшок з pi3-ними властивостями (перше поколшня). Ко-ристувачам будемо демонструвати випадко-во вибранi веб-сторшки, одночасно збер1гаючи даш про конверсп.
Рис. 1. Генетичний алгоритм схрещування
популяцiй
У процесi природного вщбору застосу-вання цшьово! функци дозволить вибрати найбшьш пристосованi веб-сторiнки, яю И максимiзують, та позбавитись вщ тих, на яких користувачi перебувають менше часу, тобто менше натискають на рекламу i кнопку «Купити».
У генетичних алгоритмах за передачу ознак батькiв нащадкам вiдповiдаe операщя схрещування (И також називають кросовер або кросинговер). Цей оператор визначае передачу ознак вщ батьюв нащадкам. Дiе вiн таким чином:
— з популяцп обираються двi особини, якi будуть батьками;
— визначаеться точка розриву (за яким-небудь алгоритмом або ж випадко);
— нащадок визначаеться як конкатенацiя частини першого i другого з батьюв.
Пiд час схрещування найбiльш пристосо-ваних до нього об'ектiв будемо змшувати гени батькiв. Наприклад, вщ двох об'ектiв
беремо кнопку, вщ одного з батькiв обираемо колiр (зелений з дрiбним шрифтом), вщ ш-шого (жовтий колiр з великим шрифтом). Отже, може з'явитися кнопка-нащадок зеленого кольору з великим шрифтом або жовто-го кольору з дрiбним шрифтом.
Розглянемо бшьш докладно успадкування кольорiв пiд час схрещуваншя. Нехай колiр нащадка визначаеться як середне кольорiв батькiв. Наприклад, якщо кольором одного з батькiв е rgb (0,0,0), а iншого rgb (255,255,255), то у нащадкiв буде колiр rgb (127,127,127). Тут трiада rgb - це три складо-вi кольору red (червоний), green (зелений) i blue (синiй).
Для кодування таких ознак можна вико-ристовувати найпростший варiант - бгтове значення ще! ознаки. Тодi будемо викорис-товувати ген певно! довжини, достатньо! для подання всiх можливих значень тако! ознаки.
Основний недолш такого кодування поля-гае в тому, що сусiднi числа в^^зняються в значеннях кiлькох бiтiв. Наприклад, числа 7 i 8 в битовому поданнi рiзняться в 4-х позищ-ях. Це ускладнюе функщонування генетич-ного алгоритму i збшьшуе час, необхiдний для його збiжностi. Використовуемо код Грея, в якому сусщш числа вiдрiзняються на один бгт (табл. 1).
Таблиця 1 - Код Грея
Десятковий Двшковий код Код Грея
код 23 22 21 20
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 11
3 0 0 1 1 0 0 10
4 0 1 0 0 0 110
5 0 1 0 1 0 111
6 0 1 1 0 0 10 1
7 0 1 1 1 0 10 0
8 1 0 0 0 110 0
9 1 0 0 1 110 1
10 1 0 1 0 1111
11 1 0 1 1 1110
12 1 1 0 0 10 10
13 1 1 0 1 10 11
14 1 1 1 0 10 0 1
15 1 1 1 1 10 0 0
У реалiзацil генетичного алгоритму хромосома е бгтовим рядком фшсовано! довжини. Довжина гешв усерединi хромосоми мо-
же бути однаковою або рiзною. Найчаспше застосовують гени однаково! довжини. Нехай у об'екта е 7 ознак, кожен закодова-ний геном, довжиною в 4 елементи. Тодi до-вжина хромосоми 7 * 4 = 28 бп\
Для певного вщсотка об'екпв необхiдно здiйснювати мутацп генiв, щоб у новш популяцп могли виникнути об'екти з властивос-тями, вщсутшми в батьювсько! популяцп. Наприклад, у нас може з'явитися кнопка си-нього кольору, навпъ якщо в популяцп не було жодно! кнопки такого кольору.
У генетичних алгоритмах мутащя мае ве-лике значення з двох причин:
— гени, що випали з популяцп тд час операцп вибору, можуть бути вщновлеш i перевiренi в нових комбшащях;
— можуть бути сформованi гени, яю не були представленi в вихщнш популяцп.
Iнтенсивнiсть мутацiй визначаеться !х ко-ефiцiентом, що е часткою гешв, якi шдда-ються мутацп на цiй ггерацп, в розрахуванш на !х загальне число. Якщо значення цього коефщента занадто мале, це призводить до того, що багато гешв, як могли б бути кори-сними, школи не будуть розглянуп. Але занадто велике значення коефщента мутацш призведе до того, що нащадки перестануть бути схожими на батькiв, а алгоритм втра-тить можливiсть навчатися, збертаючи спад-ковi ознаки.
Щц час програмування мутацiй необхiдно додати випадкову змшу кольору. Кольором отриманих нащадюв може бути, наприклад, ^Ь (125,127,130).
Отримаемо спрощений генетiчний алгоритм:
1) створюемо N веб-сторшок першо! популяцп. Для кожно! веб-сторшки задаемо геном, що визначае И властивосп;
2) рiзним користувачам будемо показува-ти випадково вибранi веб-сторшки, зберта-ючи данi про конверсц
3) здiйснюемо природний вiдбiр: вщбира-емо бiльш пристосованi веб-сторiнки, що ма-ксимiзують фiтнес-функцiю, iншi не розгля-даемо;
4) схрещуемо вадбраш веб-сторшки, отримуючи нове поколшня. Дуже важливим е вибiр або розроблення алгоритму схрещу-вання. Для схрещування кольору об'екта за-проваджуемо таке правило: нехай нащадки отримують 2 гена вщ першого батька i 1 ген вщ другого. Якщо перший з батьюв мае ге-номи ^Ь (115,5,183), а другий - ^Ь (148,210,155), то можуть утворитися нащад-
ки з геномами rgb (115,5,155), rgb (115,210,183) тощ;
5) здшснюемо мутацiю деяких веб-сторшок поточного поколiння;
6) повертаемось до пункту 3 i повторюемо цикл до тих тр, поки фггнес-функщя не до-сягне максимального значення.
Якщо результат нас не влаштовуе, щ кроки повторюються до тих тр, поки результат нас не почне задовольняти або не буде викона-на одна з нижче перерахованих умов, а саме:
— кiлькiсть поколшь (циклiв) досягне за-здалегiдь обраного максимуму;
— вичерпано час на мутащю.
Тепер, щоб визначити фенотип об'екта (тобто значення ознак, що його описують), нам необхщно тшьки знати значення гешв, що вщповщають цим ознакам, тобто генотип об'екта.
Висновки
Таким чином, застосування генетичного алгоритму призведе до того, що наша веб-сторшка через деякий час за умови велико! кшькосп користувачiв зможе самовдоскона-люватись або еволюцiонувати до професш-ного або бiльш конверсшного рiвня дизайну.
Лiтература
1. Вороновский Г. К. Генетические алгоритмах, искусственные нейронные сети и проблемы виртуальной реальности. Харьков, 1997. 112 с.
2. MartiNez-Torres M. R., Toral S.L., Palacios B., Barrero F. An evolutionary factor analysis computation for mining website structures. Expert Systems with Applications: An International Journal, 2012. №14. P. 11623-11633.
3. Moataz A. Ahmed, Fakhreldin Ali, Multiple-path testing for cross site scripting using genetic algorithms. Journal of Systems Architecture: the EUROMICRO Journal, 2016. №.64. P. 50-62.
4. Vijay Kumar, Kumar Dilip, Multi-criteria website optimisation using NSGA-II. International Journal of Business Information Systems, 2016. №21. P. 418-438.
5. Yan-Kwang Chen, Fei-Rung Chiu, Hung-Chang Liao, Chien-Hua Yeh. Joint optimization of inventory control and product placement on ecommerce websites using genetic algorithms.
Electronic Commerce Research, 2016. №16. P. 479-502.
6. Ivory M. Y., Megraw, R. Evolution of web site design patterns. ACM Transactions on Information Systems, 2005. №23. P. 463-497.
7. Lavie T., Tractinsky N. Assessing Dimensions of Perceived Visual Aesthetics of Web Sites. International Journal of Human-Computer Studies, 2004. №60. P. 269-298.
References
1. Voronovskiy G. K. Geneticheskiye algoritmy, iskusstvennyye neyronnyye seti i problemy virtu-al'noy real'nosti [Genetic algorithms, artificial neural networks and virtual reality problems], Kharkov, 1997. 112 p. [in Russian]
2. MartiNez-Torres M. R., Toral S. L., Palacios B., Barrero F. An evolutionary factor analysis computation for mining website structures. Expert Systems with Applications: An International Journal, 2012. №14, pp. 11623-11633.
3. Moataz A. Ahmed, Fakhreldin Ali, Multiple-path testing for cross site scripting using genetic algorithms. Journal of Systems Architecture: the EUROMICRO Journal, 2016. №.64. pp. 50-62.
4. Vijay Kumar, Kumar Dilip, Multi-criteria website optimisation using NSGA-II. International Journal of Business Information Systems, 2016. №21, pp. 418-438.
5. Yan-Kwang Chen, Fei-Rung Chiu, Hung-Chang Liao, Chien-Hua Yeh. Joint optimization of inventory control and product placement on ecommerce websites using genetic algorithms.
Electronic Commerce Research, 2016. №16, pp. 479-502.
6. Ivory M. Y., Megraw, R. Evolution of web site design patterns. ACM Transactions on Information Systems, 2005. №23, pp. 463-497.
7. Lavie T., Tractinsky N. Assessing Dimensions of Perceived Visual Aesthetics of Web Sites. International Journal of Human-Computer Studies, 2004. №60, pp. 269-298.
Фастовець Валентина 1вашвна\ к.т.н., доц., тел. +380632840672, [email protected] Шуляков Владислав Миколайович1, асистент, тел. +380931857595, [email protected], ^аршвський нацюнальний автомобшьно-дорожнш ушверситет, 61002, Укра!на, м. Харшв, вул. Ярослава Мудрого, 25.
Самосовершенствование элементов дизайна сайта с помощью генетического алгоритма Аннотация. В статье приведено исследование применения генетического алгоритма к вебсайтам, рассмотрены перспективы самостоятельного улучшения сайтами некоторых элементов своего дизайна. Разработан генетический алгоритм, что позволит скрещивать выбранные объекты веб-страниц. Проанализированы практические инструменты определения фенотипа объекта, что позволит эволюционировать дизайну сайта до более конверсионного уровня.
Ключевые слова: генетический алгоритм, сайт, скрещивание, дизайн, конверсия, объект.
Фастовец Валентина Ивановна1, к.т.н., доц., тел. +380632840672, [email protected] Шуляков Владислав Николаевич1, ассистент, тел. +380931857595, [email protected], 1Харьковський национальный автомобильно-дорожный университет, 61002, Украина, г. Харьков, ул. Ярослава Мудрого, 25.
Self-modernization of website design elements using a genetic algorithm
Abstract: Problem. Nowadays, computing devices and various information technologies are widely used to solve tasks of a wide variety from theoretical to practical. Now it becomes important to solve tasks for which it is impossible to find the exact solution, tasks for which there is no general solution in principle, as well as еру tasks for which it is sufficient to choose a solution with some degree of application. Goal. To explore the application of the genetic algorithm to websites to allow them to modernize some of their design elements on their own. To determine which designs are better, it is necessary to maximize conversion in the goal function of the genetic algorithm. Methodology. A sample of a website that is implemented from the following blocks: headline, text description, image, buy button, and ad, is considered. Each of these blocks will have a genome that characterizes the following properties of this object: positioning, height and width, color, shadow, font size, hover effects, and more. Results. The article presented the study of the application of the genetic algorithm to websites, and the perspectives for independent improvement of some elements and its design by sites were considered. Originality. A genetic algorithm has been developed that will allow you to mix selected objects of web pages. Practical value. Practical tools for determining the phenotype of an object were analyzed, and this will allow the site design to evolve to a more conversion level. Keywords: genetic algorithm, site, mixing, design, conversion, object.
Fastovec Valentyna Ivanivna1, assistant professor, cand. eng. sc., tel. +380632840672, tinafast2013 @gmail.com,
Shuliakov Vladislav Mikolayovytch1, assistant lecturer, tel. +380931857595, [email protected], Kharkov National Automobile and Highway University, 25, Yaroslava Mudrogo str., Kharkiv, 61002, Ukraine.