2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Генетические алгоритмы: нужна помощь
Сообщение28.08.2006, 23:13 


28/08/06
1
Уважаемые господа, требуется Ваша помощь! Крайне необходимы примеры заданий по теме «генетические алгоритмы»: лабораторные работы, примеры, задачи, одним словом – все, что найдется! Тематика ограничивается следующими разделами:

Способы кодирования (прямое кодирование (бинарный алфавит); коды Грея);
Оператор кроссовера;
Оператор мутации;
Стратегии отбора (пропорциональный отбор, турнирный отбор, отбор усечением, рулеточный отбор)
Стратегии формирования нового поколения (новые особи (потомки) занимают места своих родителей; создается промежуточная популяция, которая включает в себя как родителей, так и их потомков. Члены этой популяции оцениваются, а затем из них выбираются N самых лучших, которые и войдут в следующее поколение), Принцип "элитизма".

Буду крайне признателен за ссылки, примеры, образцы, рекомендации!

 Профиль  
                  
 
 
Сообщение28.08.2006, 23:39 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Введение (с примером) — была статья в DDJ. Вполне неплохой разбор.

Коды Грея встречались в "Numerical recipes in ..." (глава 20.2)

 Профиль  
                  
 
 Re: Генетические алгоритмы: нужна помощь
Сообщение29.08.2006, 11:08 
Заслуженный участник


05/09/05
515
Украина, Киев
BE1 писал(а):

Буду крайне признателен за ссылки, примеры, образцы, рекомендации!


Можно посмотреть статью в MSDN Magazine:
http://msdn.microsoft.com/msdnmag/issue ... fault.aspx

 Профиль  
                  
 
 
Сообщение29.08.2006, 12:03 
Заслуженный участник
Аватара пользователя


03/03/06
648
А вот я откопал и на русском

Рутковская Д., Пилиньский М., Рутковский Л.
Нейронные сети, генетические алгоритмы и нечеткие
системы: Пер. с польск. И. Д. Рудинского. - М.: Горячая линия -
Телеком, 2004. - 452 с: ил.

 Профиль  
                  
 
 
Сообщение29.08.2006, 14:25 
Модератор
Аватара пользователя


11/01/06
5660
Вот тут куча материалов: http://www.basegroup.ru/neural/materials.htm

 Профиль  
                  
 
 
Сообщение29.08.2006, 18:19 
Заслуженный участник


15/05/05
3445
USA
Насколько я понял, основной вопрос - это задачи и упражнения по теме.

1) Гладков Л.А., В.В.Курейчик, В.М.Курейчик. Генетические алгоритмы // М:Физматлит,2006.-320с.
(Я лично эту книгу не видел)

Аннотация: Рассмотрены основные стратегии, принципы и концепции нового направления "Генетические алгоритмы". Описаны фундаментальные основы генетических алгоритмов и эволюционного моделирования. Проанализированы архитектуры генетического поиска и модели генетических операторов. Приведены конкретные примеры решения основные задач оптимизации на основе генетических алгоритмов и дано большое число контрольных вопросов и упражнений. Для студентов вузов, обучающихся по направлению "Информатика и вычислительная техника", специальности "Информационные технологии в образовании", для специалистов, занятых разработкой интеллектуальных САПР, разработкой новых информационных технологий в науке, технике, образовании, бизнесе, экономике.

2) Лекция: Эволюционное моделирование и генетические алгоритмы:
http://www.intuit.ru/department/expert/intsys/12/3.html
Есть несколько вопросов для самоконтроля, задач и упражнений.

 Профиль  
                  
 
 
Сообщение29.08.2006, 18:32 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Вопрос в тему — встречалось ли кому-нибудь кодирование перестановок для генетического алгоритма? (Например, как представить клавиатуру?)

 Профиль  
                  
 
 
Сообщение29.08.2006, 22:00 


22/06/05
164
незваный гость писал(а):
Вопрос в тему — встречалось ли кому-нибудь кодирование перестановок для генетического алгоритма?

Очень многие решали генетическим алгоритмом задачу коммивояжёра.
google даёт 300 тысяч ссылок на запрос "genetic algorithms traveling salesman".

Видимо, во многих ситуациях естественно считать близкими такие перестановки, которые получаются одна из другой в результате малого числа транспозиций. Более точно, мерой близости двух перестановок считать декремент их частного. Хотелось бы построить такое отображение из множества бинарных векторов ("геномов") в группу перестановок, чтобы близость геномов (по расстоянию Хемминга) была равносильна близости перестановок.

Конечно, можно в качестве генотипа взять просто разложение на транспозиции: каждый из $\frac{n(n-1)}{2}$ генов показывает, участвует ли в разложении соответствующая транспозиция. Но тогда близким фенотипам могут соответствовать далёкие генотипы.

 Профиль  
                  
 
 
Сообщение29.08.2006, 22:24 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Егор писал(а):
Очень многие решали генетическим алгоритмом задачу коммивояжёра.
google даёт 300 тысяч ссылок на запрос "genetic algorithms traveling salesman".

Коммивояжер может повторять путь, не так ли? Поэтому это не совсем кодирование перестановки.

Егор писал(а):
Конечно, можно в качестве генотипа взять просто разложение на транспозиции: каждый из $\frac{n(n-1)}{2}$ генов показывает, участвует ли в разложении соответствующая транспозиция. Но тогда близким фенотипам могут соответствовать далёкие генотипы.

Любопытно, об это я не думал. Но плотность такого представления мала по сравнению с минимально необходимой, ${\rm O}(n \log n)$. Есть и фундаментальный недостаток — в связи с неоднозначностью представления некоторые перестановки будут иметь «генетическую предрасположенность» к появлению, что нежелательно.

~~~~

Можно упростить задачу — рассмотреть вопрос о равномерном кодировании целого числа в диапазоне $0 .. n$, $n$ не степень двойки. После ее решения можно было бы воспользоваться «кнутовским» алгоритмом генерирования перестановки.

 Профиль  
                  
 
 
Сообщение29.08.2006, 22:56 


22/06/05
164
незваный гость писал(а):
Коммивояжер может повторять путь, не так ли? Поэтому это не совсем кодирование перестановки.

Задачу коммивояжёра понимаю как построение гамильтонова пути минимальной длины (товар такого качества, что встреча с прежними покупателями опасна).
незваный гость писал(а):
Можно упростить задачу — рассмотреть вопрос о равномерном кодировании целого числа в диапазоне $0 .. n$, $n$ не степень двойки. После ее решения можно было бы воспользоваться «кнутовским» алгоритмом генерирования перестановки.

Интересная задача.

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

Добавление. Видимо, в одну сторону связь просто необходима: близкие геномы должны приводить к близким значениям целевой функции. Иначе получим не генетический алгоритм, а Монте-Карло какое-то.

 Профиль  
                  
 
 
Сообщение02.09.2006, 09:13 


02/09/06
33
В Matlab 7 есть тулбукс Genetic algorithm, в хелпе рассмотрен ряд классических примеров по оптимизации, в том числе и упомянутая выше задача комивояжора.

Документация к тулбуксу:
http://www.mathworks.com/access/helpdes ... ads_tb.pdf
+немного на русском:
http://matlab.exponenta.ru/genalg/index.php

И еще: avaxhome есть книженции на English по ГА, в некоторых из них есть готовые коды программ для написания ГА.

 Профиль  
                  
 
 
Сообщение23.09.2006, 10:01 


02/09/06
33
Цитата:
Генетические алгоритмы/Гладков Л.А., Курейчик В.В., Курейчик В.М.I

Оглавление здесь http://www.fml.ru/pdf/0510_c.pdf.
Если кто читал книгу, поделитесь впечатлениями. На каком языке программирования реализован ГА?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group