Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
синтезатор и шкаф с дисками. Наверху висели старые афиши с анонсами фильмов, в которых снимался хозяин дома. В отдалении видавший виды кожаный рыжий ...полностью>>
'Доклад'
д. Борисово находятся 3 рыболовецкие артели, 12 рыболовецко-крестьянских хозяйств, занимающихся, в основном, промыслом рыбы, 2 рыбоперерабатывающих з...полностью>>
'Методические рекомендации'
В методических рекомендациях представлена региональная модель системы психолого-медико-педагогических комиссий (ПМПК). Эта модель разработана на осно...полностью>>
'Урок'
Здесь рассматриваются три класса кишечнополостных животных, преимущественно морских, т.к. они более интересны в изучении. На данном этапе учитель рас...полностью>>

Главная > Документ

Сохрани ссылку в одной из сетей:

Распределенная виртуальная лаборатория для обучения генетическим алгоритмам

Д. А. Чащин, А. А. Шалыто, Санкт-Петербургский государственный университет информационных технологий, механики и оптики, denis@chaschin.pro;

1. Введение

С каждым годом находится все больше задач, решаемых с помощью генетических алгоритмов и генетического программирования [1]. Как показывает практика, разработка с использованием этих методов может занимать большое время, и разработчику приходится неоправданно долго ожидать результатов. Для более удобной и наглядной разработки программного обеспечения с применением этих технологий ранее были созданы «виртуальные лаборатории по генетическим алгоритмам» для языков Java [2] и C# [3].

Однако использование этих виртуальных лабораторий ограничено языком программирования и вычислительной мощностью компьютера, на котором лаборатория запущена. Для увеличения скорости работы указанных лабораторий или организации бесперебойности их работы необходимо увеличить производительность процессора и надежность хранения данных, что часто невозможно без дополнительных финансовых затрат.

Из этого следует, что создание легко расширяемой лаборатории по генетическим алгоритмам, является актуальным. При этом лаборатория должна обладать следующими качествами:

  1. Легкая расширяемость.

  2. Сохранение полученных результатов при сбоях системы.

  3. Независимость от установленного на компьютере программного обеспечения.

2. Основные положения

Виртуальная лаборатория DGL (Digital Genetic Laboratory) реализована в виде клиент-серверного приложения. Обмен информацией между сервером и клиентом происходит с использованием специально разработанного протокола обмена GenPP (Genetic Programming Protocol) [4].

Клиентская часть лаборатории реализована на языке JavaScript, что делает возможным ее запуск в любом браузере, вплоть до браузера, установленного в мобильном телефоне. Для запуска лаборатории необходимо зайти на разработанный авторами сайт [5] и ввести параметры доступа к серверной части и адрес сервер, на которой установлена серверная часть лабоатории. После ввода параметров откроется рабочий стол лаборатории и можно будет в ручном либо автоматическом режиме запустить генетический алгоритм. При запуске в лаборатории в автоматическом режиме, процессом генерирования особей управляет автомат [6]. Схема этого управляющего автомата представлена на рис.1.

Группа 1

Состояния и переходы автомата описаны в табл.1,.2.

Табл. 1. Состояния управляющего автомата

Состояние

Описание действия при переходе в состояние

1

Добавление одной особи в популяцию

2

Выбор и скрещивание двух особей

3

Удаление особи из старого поколения, но не из элиты

4

Ничего не делаем

5

Подсчет fitness-функции особи, у которой она не посчитана

6

Ничего не делаем

7

Мутация популяции

Табл. 2. Описание переходов управляющего автомата

Переход

Условие, при котором переход осуществляется

A

Особей меньше, чем численность популяции

B

Особей не меньше, чем численность популяции и произошло менее N-k скрещиваний

C

Особей не меньше, чем численность популяции и произошло не менее N-k скрещиваний

D

Произошло менее N-k скрещиваний

E

Произошло не менее N-k скрещиваний

F

В популяции более N особей

G

Безусловный переход

H

В популяции не более N особей

I

Функции приспособленности всех особей подсчитаны

J

Последней операцией было скрещивание

K

Безусловный переход

L

Была мутация

M

Есть особи с неподсчитанной функцией приспособленности

Такое построение лаборатории позволяет снять все ограничения с выбора языка, на котором реализуются операции скрещивания, мутации и подсчета функции приспособленности в генетических алгоритмах. Пользователю необходимо лишь реализовать на сервере поддержку протокола GenPP. После этого клиентское приложение, отправляя запросы, сможет создавать новые популяции, скрещивать особи, осуществлять мутацию популяции и вычислять фитнес-функцию.

3. Использование лаборатории

ПГруппа 17
ри запуске лаборатории (переходе на сайт [5]) пользователю предлагается ввести параметры сервера (рис. 2), на котором будут происходить операции генетического алгоритма. Сервер должен быть заранее настроен и должен поддерживать протокол GenPP.

Группа 35
После ввода и нажатия кнопки «Открыть лабораторию» пользователю открывается рабочий стол лаборатории (рис. 3), на котором можно выбрать популяции и типы популяций, поддерживаемые сервером.

ПГруппа 41
ри нажатии на тип популяции, откроются все популяции выбранного типа (рис. 4). Внизу будут отображены тесты, которые пользователь добавлял для выбранного типа популяции.

Для того чтобы добавить еще одну популяцию выбранного типа, следует нажать на знак «+» и ввести параметры новой популяции: название и число особей (рис. 5).

Если введенное название совпадет с уже существующей популяцией, то к этой существующей популяции просто будет добавлено введенное число особей.

ПГруппа 44
Группа 50
осле выбора номера или идентификатора популяции, с которой пользователь собирается работать, откроется окно, в котором представлены все особи выбранной популяции и панель управления популяцией (рис. 6).

На панели управления присутствуют следующие кнопки:

  • «Мутация» – мутация всей популяции;

  • «Следующее поколение» – создание следующего поколения, скрещиванием особей текущего поколения;

  • «Посчитать фитнес-функцию» – вычисление фитнес-функции каждой особи текущего поколения;

  • «Запуск auto» – запуск автомата, руководящего скрещиванием, мутацией и вычислением фитнес-функции текущей популяции. Каждый шаг автомата выполняется один раз в 30 с.

4. Разработка модулей лаборатории

Для того чтобы иметь возможность использовать лабораторию, пользователю необходимо иметь настроенный сервер, поддерживающий передачу данных по одной из официально существующих версий протокола GenPP. Если у пользователя не имеется достаточно опыта для программирования сервера, предлагается воспользоваться разработанными фреймворками для лаборатории DGL.

На момент написания этого текста существовал фреймворк для языка PHP, поддерживающий версию протокола GenPP 1.0. Более детальное описание этого фреймворка можно найти в работе [7] или в списке фреймворков на сайте [8].

5. Заключение

Представленная в данной работе виртуальная лаборатория является следующим шагом в развитии парадигмы генетического программирования. Благодаря такой реализации лаборатории стало возможным запускать генетические алгоритмы на любом компьютере, где существует средство для просмотра web-страниц (браузер).

Также по сравнению с ранее известными решениями в данной области стало возможным значительно увеличивать скорость работы алгоритма за счет подключения нескольких серверов и одновременном запуске алгоритма на каждом из них.

В настоящее время с использованием описанной лаборатории создана система автоматической генерации изображений, при генерации которых учитывается субъективное мнение пользователя о их красоте.

В дальнейшем планируется:

  1. Создание системы, позволяющей разрабатывать алгоритмы, основываясь не только на генетическом программировании, но и используя другие методы искусственного интеллекта.

  2. Добавление возможности сравнения разных методов.

  3. Добавление возможности перевести сервер в автономный режим работы, для того чтобы генетический алгоритм продолжал работать вне зависимости от состояния клиента.

  4. Разработка фреймворков для других языков программирования.

  5. Разработка системы серверов, которую сможет использовать каждый разработчик для ускорения выполнения алгоритмов, поддерживаемых лабораторией.

Источники

  1. Koza J. Genetic Programming: On the Programming of Computers by Means of Natural Selection. The MIT Press, 1992.

  2. Соколов Д.О., Давыдов А.А., Царев Ф.Н., Шалыто А.А. Виртуальная лаборатория обучения генетическому программированию для генерации управляющих конечных автоматов / В сборнике трудов третьей Международной научно-практической конференции «Современные информационные технологи и ИТ-образование». М.: МАКС Пресс. 2008, с. 179 – 183. /works/_2_93_davidov_sokolov.pdf

  3. Тяхти А. С., Чебатуркин А. А., Царев Ф. Н., Шалыто А. А. Виртуальная лаборатория обучения методам искусственного интеллекта для генерации управляющих конечных автоматов / в сборнике докладов IV Международной научно-практической конференции «Современные информационные технологии и ИТ-образовние». М.: ИНТУИТ. РУ, МГУ. 2009, с. 222–227. /works/_2010_10_13_tjahti.pdf

  4. Протокол GenPP /GenPP.html

  5. Виртуальная лаборатория Digital Genetic Laboratory /

  6. Шалыто А. А. SWITCH-технология. Алгоритмизация и программирование задач. СПб.: Наука, 1998.

  7. Чащин Д. А. Автоматическое создание красивых изображений. СПбГУ ИТМО, 2010. . Раздел «Проекты».

  8. Фреймворки для виртуальной лаборатории /framework



Скачать документ

Похожие документы:

  1. Виртуальная лаборатория обучения генетическому программированию для генерации управляющих конечных автоматов

    Документ
    В докладе описывается виртуальная лаборатория, предназначенная для обучения генетическому программированию для построения управляющих конечных автоматов.
  2. Программа квалификационного экзамена для педагогических и руководящих работников образовательных учреждений Хабаровского края, претендующих на высшую квалификационную категорию г. Хабаровск

    Программа
    Руководители образовательных учреждений, заместители руководителей образовательных учреждений (по учебно-воспитательной, воспитательной, научно-методической работе,
  3.    Алгоритмы "распределенных согласований" для оценки вычислительной стойкости криптоалгоритмов / Л. К. Бабенко, А. М. Курилкина. М. Урсс, 2008. 108 с

    Документ
    Бабенко, Л.К. Алгоритмы "распределенных согласований" для оценки вычислительной стойкости криптоалгоритмов / Л. К. Бабенко, А. М. Курилкина. - М.
  4. Концепция профильного обучения 57 Базисный учебный план профильного обучения 62

    Реферат
    Особенности отбора содержания курса "Естествознание" для классов физических профилей (физико-математический, информационно-технологический и др.
  5. Образовательная программа моу «Репьевская школа» среднего (полного) общего образования на 2011 -2015 годы

    Образовательная программа
    Образовательная программа является нормативно-управленческим документом МОУ «Репьевская школа», характеризует специфику содержания образования и особенности организации учебно-воспитательного процесса.

Другие похожие документы..