Хабрахабр:
Когда писалась эта статья, хабрапоиск по словосочетанию ?Генетический алгоритм? выдавал благородную пустоту. Однако недостаточный уровень *вырезано цензурой* отодвинул дату публикации, и вот только сейчас после позорного нудливого попрошайничества с моей стороны эта статья получила возможность показать себя миру. За этот промежуток времени успели выйти в свет как минимум три (столько мне на глаза попалось) статьи на подобную тему, и, вполне вероятно, что-то из написанного ниже вы прочитаете не впервые. Таким людям я предлагаю не хмурить носики от очередной попытки неопытного юнца научно-популярно объяснить ГА, а проходить к следующему экспонату ко второй части, где описывается создание на основе ГА бота для программистской игры Robocode. Это, по последним сведениям разведки, еще не встречалось на хабре. Часть первая. Жизнь и творчество генетического алгоритма. Начнем издалека. Есть некоторый набор задач, которые требуют решения. Наша цель ? найти действия, которые смогут преобразовать Дано (начальные условия задач) в Ответ (целевое состояние). Если ситуация простая, и решение такой задачи можно явно посчитать из условий при помощи этих ваших матанов, то и славно, тут и без наших премудростей все хорошо, нас наебали, все расходимся. Например, при решении квадратного уравнения ответ (нахождение значений x1, x2) получаются из начального условия (коэффициентов a, b, c) путем применения формулы, которую мы все учили в школе. А что делать в более печальном случае, когда нужной формулы в учебнике нету? Можно попробовать с помощью мозгового штурма решить одну из задач. Аналитически. Численными методами. Силой отчаянного перебора функций. Через некоторое время послышатся мечтательное студенческое ?хоть бы оно само решилось?. Ага, тут-то мы и вылезаем из-за занавесок. Итак, цель ? написать программу, которая бы находила функцию (программу), получающую на вход исходные данные и возвращающую годные циферки. Сила метапрограммирования, в бой! пучина невежества
В последнее время участилось количество вопросов, крутящихся вокруг одной и той же темы. От знакомых, работающих в бизнесе: ?У меня есть идейка нового проекта, не мог ли ты порекомендовать мне команду, которая захотела и смогла бы этим проектом заняться?? От участников Уикендов: ?Мы хотели бы сделать такой-то проект, но мы сами не разработчики ? не могли бы ли вы посоветовать, к кому обратиться?? От веб-студий: ?Вот мы работаем, делаем сайты для заказчиков, но за эту работу мы один раз получаем деньги ? и все. Эти же усилия мы бы могли приложить для создания стартапа. Если он выстрелит, то это будет для нас интереснее. Как мы могли бы посотрудничать?? От фрилансеров: ?Да, мы и так занимаемся тем, что нам нравится. Но хочется сделать что-нибудь перспективное, правда, своих идей у нас пока еще нет. А мимо вас пробегают всякие стартапы, которым нужна быстрая и качественная разработка. Как мы могли бы поучаствовать?? Соответственно, тема может быть сформулирована следующим образом. С одной стороны есть не-разработчики с идеями, с другой стороны ? команды квалифицированных разработчиков. И есть непонятные пока для меня вещи? Читать дальше →
Всегда странно представлять себе времена, когда чего-то не было. Сложно сегодня представить себе, как мы жили без персональных компьютеров, без интернета, без торрентов, mp3, или без электрокопировальных аппаратов, в просторечии ?ксероксов?. Тем не менее всегда были времена, когда что-то привычное нам еще не существовало. Также обстояло дело и с понятием ?снэпшота данных?. Но сперва ? что же такое ?снэпшот?? "Снэпшот" (дословно ? ?фотография?, ?моментальный снимок?, здесь и далее под этим словом мы будем понимать конкретно, не уточняя, ?снэпшот данных?) это моментальная копия состояния данных в системе хранения, или программе, зафиксированная на определенный момент времени. Это может быть моментальное состояние содержимого файла, базы данных, или файловой системы (как частного случая ?базы данных?). В применении к системам хранения данных этот термин появился вместе с первыми системами хранения NetApp и был, на тот момент первой и главной их ?фичей?. Читать дальше →
Дорогие друзья, доброго времени суток! Уже не один раз здесь обсуждалась такая разновидность оптимизационных алгоритмов, как генетические алгоритмы. Однако, существуют и другие способы поиска оптимального решения в задачах с многими степенями свободы. Один из них (и, надо сказать, один из наиболее эффективных) ? метод имитации отжига, о котором здесь ещё не рассказывали. Я решил устранить эту несправедливость и как можно более простыми словами познакомить вас с этим замечательным алгоритмом, а заодно привести пример его использования для решения несложной задачки. Я понимаю, почему генетические алгоритмы пользуются такой большой популярностью: они очень образны и, следовательно, доступны для понимания. В самом деле, несложно и крайне интересно представить решение некой задачи, как реальный биологический процесс развития популяции живых существ с определёнными свойствами. Между тем, алгоритм отжига также имеет свой прототип в реальном мире (это понятно и из самого названия). Правда, пришёл он не из биологии, а из физики. Процесс, имитируемый данным алгоритмом, похож на образование веществом кристаллической структуры с минимальной энергией во время охлаждения и затвердевания, когда при высоких температурах частицы хаотично движутся, постепенно замедляясь и застывая в местах с наименьшей энергией. Только в случае математической задачи роль частиц вещества выполняют параметры, а роль энергии ? функция, характеризующая оптимальность набора этих параметров. Читать дальше →
Чистое SEO, которое так не любят многие профи от веба, медленно, но верно умирает. И слава богу. В нашем блоге на Хабре мы уже пытались выяснить причины такого отношения и посмотреть на проблему с разных сторон. Совсем недавно хороший знакомый рассказал свое видение того, почему со словами ?продвижение? и ?SEO? связан на 99% негатив со стороны разработчиков. Получилась сказка. Действующие лица: Будущий владелец сайта ? человек, считающий себя супер-бизнесменом и уверенный, что знает все лучше других; Вебмастер ? начинающий верстальщик-программист-дизайнер, который полагает, что установка бесплатной CMS с типовым шаблоном и закидывание на все это контента, который остался от полиграфических материалов клиента, и есть разработка сайта; SEOшник ? рубаха-парень, который прочитал пару книг по оптимизации, освоил биржу ссылок и зарегистрировался три месяца назад на форуме оптимизаторов. Под катом - сказка и комикс

Отписаться от этой рассылки