АВТОМАТИЧНА ГЕНЕРАЦІЯ ВЕБ-ІНТЕРФЕЙСУ ЗА ДОПОМОГОЮ ГЕНЕТИЧНОГО АЛГОРИТМУ ТА НЕЙРОННОЇ МЕРЕЖІ НА БАЗІ АЛГОРИТМУ K-СЕРЕДНІХ
24.09.2021 21:52
[1. Информационные системы и технологии]
Автор: Савчук Д.П., магістрант, кафедра комп’ютерних систем та мереж, ІФТКН, Чернівецький національний університет імені Юрія Федьковича, м.Чернівці
Вступ. Мета роботи полягає в розробці програмного забезпечення для автоматичної генерації веб-дизайну.
Актуальність теми. Web технології є одною із найпопулярніших течій в світі розробки програмного забезпечення. Звертаючи увагу на те, що всі процеси стараються автоматизувати за допомогою різних програмних рішень, можна дійти до висновку, що задача автоматизації процесу створення дизайну є актуальною на даний час. Щоб автоматизувати роботу дизайнерам, які створюють різні інтерфейси, пропонується створити самоадаптуючий веб-інтерфейс, який буде генерувати різні варіації дизайну базуючись на власних вподобанням користувача.
Аналіз проблеми. Створення веб-дизайну займає від одного місяця до півроку, а іноді й більше – залежно від технічного завдання. Під час створення веб-інтерфейсу зазвичай приходиться часто його перероблювати та адаптовувати під вимоги замовника. Щоб полегшити дизайнерам та компаніям якнайшвидше вирішити цю проблему, спробуємо автоматизувати процес створення веб-дизайну за допомогою ГА та нейромережі. Таке рішення допоможе автоматизувати процес тестування будь-якої кількості версій сайту. Програма буде працювати наступним чином: ГА генеруватиме довільний веб-інтерфейс і отримуватиме оцінку від користувача. В заданих к-перших ітераціях нейромережа буде запам'ятовувати вибір користувача і тим самим збиратиме статистику, тобто вчитися оцінювати дизайн. Після здійснення навчання, нейромережа буде відігравати роль функції пристосованості та буде здійснювати відбір популяції без участі користувача. Дане рішення дозволить генерувати будь-яку кількість інтерфейсів і в подальшому здійснювати тестування різних версій сайту, де в якості функції пристосованості виступатиме конверсія. Це дозволятиме, для прикладу, схрещувати версії сайту з різними конверсіями і тим самим підвищувати його ефективність.
Запропоноване технічне рішення. Пропонується реалізувати описаний алгоритм у вигляді веб-додатку. Користувач має змогу побудувати «блоковий ескіз» майбутнього дизайну на веб-формі сайту.
Веб-форма складається із блоків, які в дизайні відіграють роль зображень, кнопок або ж текстових блоків. Дані блоки користувач може довільно додавати та позиціонувати на робочому полотні, проектуючи початкову версію веб-форми. Кожен блок має наступні властивості:
• Координати розташування на робочому полі;
• Розміри у вигляді висоти та ширини та обмеження цих властивостей.
Отже, комбінуючи властивості кожного блоку можна генерувати різний вигляд сайту. Властивості блоків в даному рішенні відіграватиму роль хромосом, які будуть схрещуватись між собою та піддаватимуться мутації ГА. Для того, щоб обмежити заздалегідь небажану генерацію варіантів веб-форми, користувач матиме змогу обмежити діапазон мутації властивостей кожного блоку.
На початку роботи потрібно задати кількість навчальних видів дизайну G, та число об’єктів в кожній наступній популяції P. Потім, розташувати блоки на робочій формі та визначити діапазон мутацій властивостей. В нашому випадку G — це число, яке означає кількість позитивно оцінених варіантів дизайну, які будуть схрещуватися та запам’ятовуватися нейромережею. Число P відображає кількість осіб в новому поколінні. Це означає, що користувач повинен оцінити G варіантів дизайну, щоб алгоритм згенерував P нових осіб для наступного покоління.
Після запуску алгоритм почне генерувати перше покоління веб-форм. Кожну веб-форму користувач повинен оцінити, відповівши на питання такні, що визначить, чи перейде дана форма в наступне покоління, чи ні. Кожен вибір користувача запам’ятовується нейромережею. В процесі навчання даний вид нейромереж накопичує вектори вхідних параметрів у вигляді точок в n-мірному просторі. Тобто, навчальні екземпляри зоображатимуться скупченням точок в n-мірному просторі. Для того, щоб отримати оцінку нейромережі відносно певного вхідного вектору, достатньо представити його у вигляді n-мірної точки та обчислити відстань до геометричного центру утвореної раніше сукупності. Чим менша відстань, тим краще відповідає вхідний вектор заданим критеріям. В роботі відстань до геометричного центру буде порівнюватись із змінною Radius, яку користувач може задавати для регулювання точності спрацювання нейромережі. Отже, веб-форму зручно представити у вигляді вектору, елементами якого будуть властивості всіх блоків дизайну V= {p1,p1,…pn}.
Висновки. За допомогою ГА можна відбирати дані, які пізніше будуть кластеризуватися за допомогою НМ. Таким чином, покращується відбір даних. В даній роботі користувач виступає в ролі функції-пристосованості для ГА, який в свою чергу забезпечує даними НМ. НМ в свою чергу кластеризує дані в n-мірному просторі та за допомогою змінної Radius відсікає небажані варіації дизайну. Після цього варіації дизайну, які в n-мірному просторі не входять в коло – відсікаються. Виграє тільки той дизайн, який попадає в коло.