<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр:  Метки / генетический алгоритм</title>
	<link>http://habrahabr.ru/rss/tag/генетический алгоритм/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sun, 12 Feb 2012 00:49:12 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
			
		<item>		
			<title><![CDATA[Алгоритмы / Генетический алгоритм: оптимальный размер популяции]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/algorithm/124758/</guid>
			<link>http://habrahabr.ru/blogs/algorithm/124758/</link>			
			<description><![CDATA[В предыдущем очерке (<a href="http://habrahabr.ru/blogs/algorithm/122222/">Генетический алгоритм: боремся с преждевременной сходимостью</a>) в качестве эффективного метода борьбы с преждевременной сходимостью было выбрано использование оператора митоза:<br/>
<br/>
<i>Каждая хромосома, к которой применен оператор митоза, заведомо производит как минимум одного полностью идентичного ей самой потомка.<br/>
Помимо этого, чем больше приспособленность хромосомы превышает среднее значение приспособленности по всей популяции, тем больше вероятность того, что хромосома произведет второго потомка.<br/>
<br/>
Хромосомы с меньшей приспособленностью формируют пул для скрещивания между собой. Попарное скрещивание хромосом из пула проводится до тех пор пока не будет достигнута требуемая общая численность популяции (с учетом хромосом уже созданных с помощью оператора митоза). Выбор хромосом для скрещивания производится случайным образом методом рулетки (хромосомам с большей приспособленностью соответствует больший сектор на колесе рулетки). Численность популяции остается постоянной на протяжении всего времени работы генетического алгоритма.<br/>
<br/>
Доля хромосом к которым применяется оператор митоза обратно пропорциональна средней величине приспособленности популяции и прямо пропорциональна среднеквадратичному отклонению приспособленности популяции (причем зависимость выбираем не линейную, а логарифмическую). Для первого поколения задаем долю популяции, размножающейся митозом, равной 50%</i><br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/algorithm/124758/#habracut">далее небольшой анализ выбора оптимального размера популяции</a> </div>]]></description>
			
			<pubDate>Sun, 31 Jul 2011 18:53:38 GMT</pubDate>
			<author>aLelik</author>
			<category>алгоритмы</category><category>генетический алгоритм</category><category>генетические алгоритмы</category><category>размер популяции</category><category>митоз</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Алгоритмы / Генетический алгоритм: боремся с преждевременной сходимостью]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/algorithm/122222/</guid>
			<link>http://habrahabr.ru/blogs/algorithm/122222/</link>			
			<description><![CDATA[В предыдущем очерке (<a href="http://habrahabr.ru/blogs/algorithm/114910/">Выбор размера популяции для генетического алгоритма</a>) был определен минимальный размер популяции необходимый для работоспособности генетического алгоритма:<br/>
N = 1 + LOG2(1/(1-P1^(1/L))), где<br/>
P1 — требуемая вероятность того, что случайный набор хромосом будет содержать все необходимые элементы для каждого локуса; <br/>
L — длина хромосомы.<br/>
<br/>
В реальности данный размер популяции будет необходимым, но не достаточным для эффективной работы генетического алгоритма.<br/>
Происходит это из за преждевременной сходимости — остановки алгоритма до достижения глобального максимума (а зачастую и до достижения даже локальных максимумов).<br/>
Причина этого заложена в самой природе алгоритма: чем выше приспособленность хромосомы тем больше вероятность того, что она примет участие в скрещивании. Соответственно, тем большее количество раз она сможет принять участие в скрещивании. <br/>
Таким образом, генетический код хромосом, функция приспособленности которых существенно превышает среднее значение для популяции, получая преимущество, вытесняет из популяции другие наборы генетического кода. <br/>
<br/>
Но если приспособленность таких хромосом, значительно меньше чем глобальный максимум функции приспособленности (а для начальных стадий это естественно), а размер популяции не достаточен для поддержания разнообразия, то преждевременная сходимость к значениям далеко отстоящим от оптимальных (или, в лучшем случае, сходимость к локальным максимумам) гарантированна.<br/>
Так как даже если в дальнейших генерациях популяции появится хромосома с гораздо большей приспособленностью, то к этому моменту предыдущие лидеры уже успеют сильно размножится и есть вероятность того, что новый лидер будет просто «вытеснен» из популяции, до того как успеет в ней «закрепиться».<br/>
<br/>
Сам собой напрашивается экстенсивный путь борьбы с этим явлением — увеличение размера популяции, но найти интенсивный (не ресурсозатратный) путь гораздо интересней.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/algorithm/122222/#habracut">Добро пожаловать под кат</a> </div>]]></description>
			
			<pubDate>Sun, 26 Jun 2011 20:05:27 GMT</pubDate>
			<author>aLelik</author>
			<category>алгоритмы</category><category>генетические алгоритмы</category><category>генетический алгоритм</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[DIY или Сделай Сам / Генетический алгоритм на примере бота Robocode]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/DIY/111811/</guid>
			<link>http://habrahabr.ru/blogs/DIY/111811/</link>			
			<description><![CDATA[<img src="http://habrastorage.org/storage/habraeffect/d7/19/d719fcab274ce8a83550a8539770544c.png"/><br/>
<br/>
Когда писалась эта статья, <a href="http://habrahabr.ru/search/?q=%D0%B3%D0%B5%D0%BD%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9+%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC">хабрапоиск по словосочетанию «Генетический алгоритм»</a> выдавал благородную пустоту. Однако недостаточный уровень *вырезано цензурой* отодвинул дату публикации, и вот только сейчас после позорного нудливого попрошайничества с моей стороны эта статья получила возможность показать себя миру. За этот промежуток времени успели выйти в свет как минимум три (столько мне на глаза попалось) статьи на подобную тему, и, вполне вероятно, что-то из написанного ниже вы прочитаете не впервые. Таким людям я предлагаю не хмурить носики от очередной попытки неопытного юнца научно-популярно объяснить ГА, а проходить <s>к следующему экспонату</s> ко второй части, где описывается создание на основе ГА бота для программистской игры Robocode. Это, по последним сведениям разведки, еще не встречалось на хабре. <br/>
<br/>
<h3>Часть первая. Жизнь и творчество генетического алгоритма.</h3><br/>
Начнем издалека. Есть некоторый набор задач, которые требуют решения. Наша цель — найти действия, которые смогут преобразовать <i>Дано</i> (начальные условия задач) в <i>Ответ</i> (целевое состояние). <br/>
<br/>
Если ситуация простая, и решение такой задачи можно явно посчитать из условий при помощи этих ваших матанов, то и славно, тут и без наших премудростей все хорошо, <s>нас наебали, все расходимся</s>. Например, при решении квадратного уравнения ответ (нахождение значений x1, x2) получаются из начального условия (коэффициентов a, b, c) путем применения формулы, которую мы все учили в школе. А что делать в более печальном случае, когда нужной формулы в учебнике нету? Можно попробовать с помощью мозгового штурма решить одну из задач. Аналитически. Численными методами. Силой отчаянного перебора функций. Через некоторое время послышатся мечтательное студенческое «хоть бы оно само решилось». Ага, тут-то мы и вылезаем из-за занавесок. Итак, цель — написать программу, которая бы находила функцию (программу), получающую на вход исходные данные и возвращающую годные циферки. Сила метапрограммирования, в бой!<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/DIY/111811/#habracut">пучина невежества</a> </div>]]></description>
			
			<pubDate>Mon, 24 Jan 2011 18:25:16 GMT</pubDate>
			<author>kefiijrw</author>
			<category>генетический алгоритм</category><category>генетические алгоритмы</category><category>robocode</category><category>быдлокодинг</category><category>karva-дерево</category>
		</item>
		
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[Алгоритмы / [Из песочницы] Увеличение поисковых способностей генетических алгоритмов с помощью прогнозирования временных рядов]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/algorithm/111233/</guid>
			<link>http://habrahabr.ru/blogs/algorithm/111233/</link>			
			<description><![CDATA[На написание статьи, подтолкнула публикация <a href="http://habrahabr.ru/blogs/algorithm/110419/">Прогнозирование временных рядов</a>.<br/>
<br/>
Здесь я покажу, как прогнозирование временных рядов может быть применено для увеличения поисковых способностей (ПС) генетических алгоритмов (ГА).<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/algorithm/111233/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 05 Jan 2011 13:07:30 GMT</pubDate>
			<author>mdfyz</author>
			<category>генетические алгоритмы</category><category>генетический алгоритм</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Ненормальное программирование / Выращиваем программы]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/111124/</guid>
			<link>http://habrahabr.ru/blogs/crazydev/111124/</link>			
			<description><![CDATA[<img src="http://habrastorage.org/storage/74577519/0ed9b9ea/6b46e378/ed4b22dd.jpg" alt="image"/> Прошли новогодние праздники и я вспомнил про BrainFuck. Писать свой <a href="http://habrahabr.ru/blogs/crazydev/95126/">морской бой</a> желания не было, а хотелось как в сказке «Ну ка, проги, пишитесь сами!».<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/crazydev/111124/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 04 Jan 2011 15:10:54 GMT</pubDate>
			<author>Hizof</author>
			<category>brainfuck</category><category>генетический алгоритм</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Учебный процесс в IT / Что такое генетический алгоритм?]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/study/86777/</guid>
			<link>http://habrahabr.ru/blogs/study/86777/</link>			
			<description><![CDATA[В рамках проекта Computer Science Student сегодня я постараюсь дать короткое наглядное объяснение: что такое генетический алгоритм? В самой простой и общей формулировке для решения самой простой задачи. Исходные коды решения (код не самый качественный, потому что писался на скорую руку; но код и не важен в этом курсе) и текст самих заданий <a href="http://css.freetonik.com/wiki/sources:2009:evolutionary_computation_and_artificial_life:assignment_1">доступен на CS-Student Wiki</a>.<br/>
<br/>
Первая часть<br/>
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/GYSAKQfCb84&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/GYSAKQfCb84&hl=en&fs=1" type="application/x-shockwave-flash" wmode="transparent" allowfullscreen="true" width="425" height="355"></embed></object><br/>
<br/>
Вторая часть — под катом.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/edu_2_0/86777/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 08 Mar 2010 17:28:46 GMT</pubDate>
			<author>freetonik</author>
			<category>ga</category><category>генетический алгоритм</category><category>computer science student</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Алгоритмы / Векторизуем изображение генетическим алгоритмом]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/algorithm/68323/</guid>
			<link>http://habrahabr.ru/blogs/algorithm/68323/</link>			
			<description><![CDATA[Итак, на выходных мы должны весело отдохнуть, а потому попробуем векторизовать изображение генетическим алгоритмом.<br/>
<img title="Векторизованный доктор Хаус" alt="Векторизованный доктор Хаус" src="http://img43.imageshack.us/img43/88/previewnpv.jpg"/><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/algorithm/68323/#habracut">Хочу знать как!</a> </div>]]></description>
			
			<pubDate>Sun, 30 Aug 2009 07:26:52 GMT</pubDate>
			<author>SkywalkerY</author>
			<category>генетический алгоритм</category><category>векторизация</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Искусственный интеллект / Ломаем каптчу Яндекса]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/artificial_intelligence/64535/</guid>
			<link>http://habrahabr.ru/blogs/artificial_intelligence/64535/</link>			
			<description><![CDATA[На прошлой неделе был топик «<a href="http://habrahabr.ru/blogs/infosecurity/63854/">Ломаем капчу</a>» &mdash; каптча там была довольно простая, но в комментариях <a href="http://habrahabr.ru/blogs/infosecurity/63854/#comment_1774831">предложили</a> сломать каптчу Яндекса. Мне эта идея показалась интересной, и я решил попробовать. <br/>
<br/>
<img src="http://img145.imageshack.us/img145/3523/4458245600x139.png"/><br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/artificial_intelligence/64535/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 15 Jul 2009 11:13:24 GMT</pubDate>
			<author>P_r_i_m_a_t</author>
			<category>каптча</category><category>captcha</category><category>Яндекс</category><category>нейронная сеть</category><category>генетический алгоритм</category><category>распознавание изображений</category>
		</item>
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	

	
</channel>
</rss>

