Введение
Анализ предметной области исследования 7
1.1 Основные определения и применения эволюционных методов 7
1.2 Эволюционные методы в разработке Web-интерфейсов 8
1.3 Обоснование выбора объекта исследования 10
1.4 Постановка задачи 10
Выводы 12
2 Информационная система для генерации дизайна Web-страницы 14
2.1 Основная гипотеза предмета исследования 14
2.2 Взаимодействие пользователя с ИГА 16
2.3 Внедрение эволюционного алгоритма в язык CSS 18
2.4 Обзор аналогов 22
2.5 Описание информационной системы 32
2.5.1 План описания информационной системы 32
2.5.2 Взаимодействие компонентов системы 33
2.5.3 Концептуальная модель системы и функциональные требования 36
2.5.4 Стадии разработки информационной системы 45
Выводы 50
3 Анализ работы эволюционных алгоритмов 52
3.1 Концептуальные модели работы генетических алгоритмов 52
Выводы 56
Заключение 57
Список использованных источников 58
Приложение А. Схемы эволюционных алгоритмов 61
Приложение Б. Сгенерированные дизайн-макеты
В середине XX века основные информационные исследования велись в области искусственного интеллекта. Изучение данной области основывалось на трёх методах моделирования: классическое моделирование, эвристическое программирование и эволюционное моделирование.
Классический подход предусматривал изучение непосредственно модели головного мозга человека. К таким моделям относятся нейронные сети. Первая компьютерная модель нейронных сетей была разработана Уоренном Мак - Каллаком и Уолтером Питтсом, которая базировалась на теории деятельности головного мозга человека и математических алгоритмов.
Методология эвристического программирования опирается на решения задач, которые основаны на опыте принятия решений. Главной особенностью задач такого типа является уменьшение вариантов, необходимых при использовании метода проб и ошибок. Однако при таком варианте поиска оптимальных решений можно пропустить более рациональный вариант.
В основу эволюционного моделирования положена идея заменить процесс моделирования человеческого интеллекта на процесс моделирования эволюции интеллекта. Это подразумевает то, что разумное поведение предусматривает сочетание способности предсказывать состояние внешней среды с умением подобрать реакцию на каждое предсказание, которое наиболее эффективно ведет к цели [1]. Другими словами, основной акцент сводится к адаптации искусственного интеллекта под определённые внешние условия.
Методология эволюционного моделирования получила широкое развитие благодаря доктору Лоуренсу Дж. Фогелю в начале 60-х годов прошлого века. В докладе конгрессу США Фогелем была представлена концепция эволюционного программирования. Концепция заключалась в моделировании непосредственно процесса эволюции, используя сам процесс в качестве транспортного средства для получения разумного поведения [2].
В дальнейшем на основе этой концепции эволюционного моделирования стали создаваться эволюционные алгоритмы. Идея эволюционных алгоритмов заимствована у живой природы и состоит в организации эволюционного процесса, конечной целью которого является получение решения в сложной задаче оптимизации.
В 1975 году Джоном Холландом была предложена концепция генетических алгоритмов, которые основывались на принципах естественного отбора Ч. Дарвина [3]. Предложенные алгоритмы моделируют такие процессы, как: мутации, наследования определённых признаков от родителей,
приспособление к окружающей среде и отбор наиболее сильных особей. Функциональность генетических алгоритмов основывается на поиске лучших решений с помощью наследования и усиления полезных свойств множества объектов определенного приложения в процессе имитации их эволюции. Постепенно эволюционные алгоритмы стали применятся во многих оптимизационных задачах.
С развитием информационных технологий и созданием сети интернет начали появляться первые примитивные сайты, которые открыли для пользователей доступ к новейшей информации. Со временем внешний вид сайтов претерпевал значительные изменения в плане внешнего вида и функциональных возможностей. Web-сайты стали большим подспорьем для реализации задач оптимизации, а именно для поиска новых дизайнерских решений.
Идея использования генетических алгоритмов для дизайна Web-страниц мотивирована системой, созданной Карлом Симсом, которая использует генетические алгоритмы для создания 2D текстур [4]. Мотивация его работы была в основном художественной, в результате чего художник непосредственно определял пригодность каждого решения путем визуального осмотра. Его система позволяла случайным образом исследовать пространство текстур с решениями, сходящимися на основе симпатий и антипатий художника.
Эволюционный механизм может улучшить процесс проектирования, позволяя дизайнерам и проектировщикам одновременно сравнивать и оценивать решения динамическим и интуитивно понятным способом.
Хотя цели Web-дизайна и давно созданного вычислительного эволюционного процесса поиска различны, основная проблема, то есть размещение и структура элементов, одна и та же.
Проблема с визуальной составляющей Web-сайтов имеет многомерное пространство проблем. Генетические алгоритмы могут существенно упростить решение задач, которые связаны с оптимизацией интерфейса сайта и помогут сократить время на его проектирование. Поэтому вопрос о необходимости внедрение генетических алгоритмов в Web-разработку является на данной момент актуальной.
Цель диссертации состоит в изучении и дальнейшем применении эволюционных методов для разработки Web-сайтов. На основе изученных методов выработать механизм работы генетических алгоритмов для проектировки дизайна сайта. Показать эффективность, а также быстроту применяемых эволюционных методов, для ускорения работы по нахождению лучших дизайнерских вариантов для Web-страниц.
Задачи исследования. Основная последовательность выполняемых задач:
- изучение эволюционных алгоритмов, связанных с Web-разработкой;
- разработка концептуальной модели информационной системы с использованием предложенных генетических алгоритмов;
- разработка генетических алгоритмов для формирования новых дизайнерских решений.
Объектом исследования была выбрана область в Web-разработке, отвечающая за внешний вид сайта.
Предметом исследования является эволюционные методы и алгоритмы, использованные в разработке сайтов для создания новых вариантов дизайнерских решений.
Методы исследования. В соответствии с поставленными целями исследования, работа включает в себя современные методы изучения, связанные с эволюционными поиском и решением задач оптимизации.
Научная новизна работы заключается в следующем:
- эволюционные методы позволят автоматизировать работу по созданию удобного внешнего вида Web-ресурсов;
- разработанные генетические алгоритмы позволят получать большое количество новых вариантов решений для нахождения лучшего дизайна;
- работа эволюционных алгоритмов в несколько раз сокращает время работы над поиском проектных решений;
- применение эволюционных методов увеличивают производительность новых Web-страниц.
Практическая значимость исследований. На основе концептуальной модели информационной системы в дальнейшем можно создать программное обеспечение, которое позволит пользователям в сферах Web-разработки за короткое время создавать новые макеты для будущих Web-сайтов.
Основные положения, выносимые на защиту:
- эволюционные методы, которые подходят для решения задач в области оптимизационных задач, связанные с созданием сайтов;
- модель информационной системы, показывающая процесс работы интерфейса по генерации новых макетов ;
- созданные генетические алгоритмы для получения новых вариантов дизайна сайта;
- анализ эффективности работы системы на основе эволюционных алгоритмов.
Публикации. По теме диссертационного исследования опубликована одна научная статья.
Структура и объем работы. Работа содержит: введение, три тематические главы, заключение, список литературы, два приложения, одну таблицу, 29 рисунков основной части и 8 рисунков из приложений. Объём основного текста - 60 страниц. Список литературы представлен на двух страницах и содержит 21 наименование.
В процессе написания научной исследовательской работы была рассмотрена важная тема - разработка дизайна Web-сайтов с помощью эволюционных методов. Одним из этих методов является генетические алгоритмы. Основной идеей эволюционных методов является получение конкретного оптимального решения в сложной задаче оптимизации. Задачей для исследования была выбрана область, связанная с разработкой дизайн-макетов. Результатом данного исследования было показать эффективность взаимодействия эволюционных алгоритмов с языком каскадных таблиц стилей CSS.
В ходе исследования были проанализированы основные направления применения эволюционных методов. Были приведены труды, связанные с применением эволюционного методик в сфере разработки Web-интерфейсов. На основе этих проанализированных исследований была выдвинута гипотеза, которая заключалась во внедрении генетического алгоритма в язык CSS. На основе этой гипотезы была разработана схема архитектуры информационной системы и создана концептуальная модель. Информационная система показана в виде диаграмм процессов, которые подробно отображают работу системы. Далее были представлены диаграммы процессов работы генетических алгоритмов внутри системы. В них подробно описывается каждый шаг данных алгоритмов. Результатом являются сгенерированные дизайн-макеты.
Подводя итог данного исследования хочется отметить, что задача по разработке хорошего дизайна для Web-страницы является трудоёмкой. Дизайнер тратит очень много времени на создание оптимального варианта дизайна-макета. Совместная работа эволюционных алгоритмов и каскадных таблиц стилей помогает решить проблему разработки Web-интерфейсов сайта, а также снижает трудоёмкость при поиске оптимальных вариантов дизайнерских решений.
1. Сознание и язык. Проблема искусственного интеллекта. [Электронный ресурс]. URL: https://studopedia.ru/10_192176_struktura-soznaniya- soznanie-i-samosoznanie.html(дата обращения: 25.05.2020).
2. Эволюционное программирование. [Электронный ресурс]. URL:
http://wi-ki.ru/wiki/Эволюционное_программирование (дата обращения: 25.05.2020).
3. Holland, J. H. Building Blocks, Cohort Genetic Algorithms, and Hyperplane-Defined Functions / J. H. Holland // Evolutionary Computations. - 2000 - Vol. 8 (4). - P. 373-391.
4. Sims, K. Artificial Evolution for Computer Graphics / K. Sims, // SIGGRAPH '91 Proceedings. - 1991. - С. 319 - 328.
5. Koza, J.R. (1990), Genetic Programming: A Paradigm for Genetically Breeding Populations of Computer Programs to Solve Problems, Stanford University Computer Science Department technical report STAN-CS-90-1314.
6. Панченко, Т. В. Генетические алгоритмы: учебно-методическое пособие / Т. В. Панченко, под ред. Ю. Ю. Тарасевича. - Астрахань: Издательский дом «Астраханский университет», 2007. - 6 с.
7. Кольчугина, Е. А. Биоинспирированные методы саморазработки программ для распределенных систем / Е. А. Кольчугина // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2018 - № 4 (48).
- С. 96-104. - DOI 10.21685/2072-3059-2018-4-9.
8. Гладков, Л. А., Курейчик, В. В., Курейчик, В. М. Генетические алгоритмы / под ред. В. М. Курейчика. 2-е изд., испр. и доп. М.: ФИЗМАТЛИТ, 2006. — 320 с.
9. Кольчугина, Е. А., Заваровский, К.В. Применение методов генетического программирования к разработке web-интерфейсов / Е. А. Кольчугина // Прикладная информатика. — №5(41), 2012. — Москва, ООО «Синергия Пресс», 2012. — С. 64-74.
10. Саяпин, О. В., Тиханычев, О. В., Чискидов, С. В., Быстракова И. А.
Разработка интерфейсов прикладных программ: макетирование или
прототипирование / О. В. Саяпин // Прикладная информатика. — №1(85), 2020. — Москва, ООО «Синергия Пресс», 2020. — С. 49-56.
11. Тиханычев О.В. Пользовательские интерфейсы в автоматизированных системах: проблемы разработки // Программные системы и вычислительные методы. - 2019. - № 2. - С. 11 - 22. [Электронный ресурс] URL: https://nbpublish .com/library_read_article.php?id=28443 (дата обращения: 25.05.2020).
12. Sunghyun, R. K. Webpage design optimization using genetic algorithm driven CSS / R. K. Sunghyun, R. Baer, V. Honavar // Iowa State University. - 2007. - 104 с.
13. Кольчугина Е. А., Заваровский К. В. Разработка методов и средств создания пользовательских интерфейсов с использованием генетического программирования // Современные научные исследования и инновации. Июнь, 2012 [Электронный ресурс] URL: http://web.snauka.ru/issues/2012/06/15165(дата обращения: 25.05.2020).
14. Докинз, Р. Эгоистичный ген / Р. Докинз //: Пер. с англ. - М.: Мир, 1993. - 318 с.
15. Пискулин, Д. Е. Применение интерактивного генетического алгоритма для поиска оптимального дизайна web-сайтов на основе CSS / Д. Е. Пискулин. // Молодой ученый. — 2020. — № 11 (301). — С. 24-29. [Электронный ресурс] URL: https://moluch.ru/archive/301/68054/(дата обращения: 25.05.2020).
16. ГОСТ Р 54869-2011. Национальный стандарт. Проектный менеджмент. Требования к управлению проектом - Введ. 2012-09-01. - М.: Стандартинформ, 2019. - 9 с.
17. ГОСТ 15.016-2016 СРПП. Межгосударственный стандарт. Техническое задание. Требования к содержанию и оформлению. - Введ. 2017¬09-01. - М.: Стандартинформ, 2017. - 53 с.
18. ГОСТ 2.119-73 ЕСКД. Межгосударственный стандарт. Эскизный проект (с Изменениями № 1-5). Общее положение. - Введ. 1974-01-01. - М.: Стандартинформ, 2011. - 11 с.
19. ГОСТ Р ИСО 11442-2014. Национальный стандарт. Техническая документация на продукцию. Управление документацией. - Введ. 2016-01-01. - М.: Стандартинформ, 2018. - 20 с.
20. ГОСТ 25866-83. Государственный стандарт СССР. Эксплуатация техники. Термины и определения (с Изменением №1). - Введ. 1985-01-01 - М.: Издательство стандартов, 1983. - 11 с.
21. ГОСТ Р ИСО/МЭК 14764-2002. Государственный стандарт Российской Федерации. Сопровождение программных средств. - Введ. 2003¬07-01 - М.: Издательство стандартов, 2002 - 54 с.