Методика разработки программного обеспечения эволюционными методами
|
Введение
Анализ предметной области исследования 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
Приложение Б. Сгенерированные дизайн-макеты
Анализ предметной области исследования 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 наименование.
Классический подход предусматривал изучение непосредственно модели головного мозга человека. К таким моделям относятся нейронные сети. Первая компьютерная модель нейронных сетей была разработана Уоренном Мак - Каллаком и Уолтером Питтсом, которая базировалась на теории деятельности головного мозга человека и математических алгоритмов.
Методология эвристического программирования опирается на решения задач, которые основаны на опыте принятия решений. Главной особенностью задач такого типа является уменьшение вариантов, необходимых при использовании метода проб и ошибок. Однако при таком варианте поиска оптимальных решений можно пропустить более рациональный вариант.
В основу эволюционного моделирования положена идея заменить процесс моделирования человеческого интеллекта на процесс моделирования эволюции интеллекта. Это подразумевает то, что разумное поведение предусматривает сочетание способности предсказывать состояние внешней среды с умением подобрать реакцию на каждое предсказание, которое наиболее эффективно ведет к цели [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-интерфейсов сайта, а также снижает трудоёмкость при поиске оптимальных вариантов дизайнерских решений.
В ходе исследования были проанализированы основные направления применения эволюционных методов. Были приведены труды, связанные с применением эволюционного методик в сфере разработки Web-интерфейсов. На основе этих проанализированных исследований была выдвинута гипотеза, которая заключалась во внедрении генетического алгоритма в язык CSS. На основе этой гипотезы была разработана схема архитектуры информационной системы и создана концептуальная модель. Информационная система показана в виде диаграмм процессов, которые подробно отображают работу системы. Далее были представлены диаграммы процессов работы генетических алгоритмов внутри системы. В них подробно описывается каждый шаг данных алгоритмов. Результатом являются сгенерированные дизайн-макеты.
Подводя итог данного исследования хочется отметить, что задача по разработке хорошего дизайна для Web-страницы является трудоёмкой. Дизайнер тратит очень много времени на создание оптимального варианта дизайна-макета. Совместная работа эволюционных алгоритмов и каскадных таблиц стилей помогает решить проблему разработки Web-интерфейсов сайта, а также снижает трудоёмкость при поиске оптимальных вариантов дизайнерских решений.



