Что такое "Hello World!" генетических алгоритмов хорошо для? - PullRequest
8 голосов
/ 29 марта 2009

Я нашел этот очень классный образец C ++ , буквально "Hello World!" генетических алгоритмов.

Я так решил переписать все это на C #, и это результат.

Теперь я спрашиваю себя: Существует ли какое-либо практическое применение для генерации целевой строки, начиная с совокупности случайных строк?

РЕДАКТИРОВАТЬ : мой друг в твиттере только что написал в Твиттере, что "полезен для вещей типа транскрипции, таких как перевод. Не обязательно""от Обезьяны. Хотел бы я иметь подсказку.

Ответы [ 5 ]

13 голосов
/ 29 марта 2009

Существует ли какое-либо практическое применение для генерации целевой строки, начиная с совокупности случайных строк?

Конечно. Представьте себе любой сценарий, в котором вы знаете, как оценить пригодность конкретной строки, и в котором выбор является дискретным и ограниченным каким-либо образом:

  • Выбор произносимых имен («Xhjkxc» имеет низкую пригодность; «Artekzo» имеет высокую пригодность)
  • Испытание серии шахматных ходов
  • Угадай комбинацию с сейфом, предполагая, что ты можешь сказать, насколько близко ты к открытию каждого тумблера
  • Выбор телефонных номеров, которые соответствуют словам (например, "843-2378" имеет высокую пригодность, потому что это означает "THE-BEST")
2 голосов
/ 29 марта 2009

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

1 голос
/ 08 сентября 2009

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

Это очень упрощенное представление о том, что необходимо, но это возможно. Вам потребуется хост, который предоставляет множество методов для кода IronPython (технические индикаторы и т. Д.) И базу данных тиков.

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

Итак, я был вовлечен в проект, который делал все, кроме EA. У нас была спутниковая антенна, которая получала биржевые тики в реальном времени от NASDAQ, сервис для торговли с API и примитивный «мозг» для принятия решений, который принимал решения по мере появления тиков.

К сожалению, один из партнеров вышел, уволился с работы, раздвоил проект (получил свое собственное блюдо и т. Д.) И начал торговать с логикой, которая еще не была готова. Он потерял кучу денег. Оказывается, что для некоторых людей этот тип проекта - всего лишь шаг от обычной азартной игры. Но в любом случае, проект после этого потерял сознание. Эволюция логической части - недостающее звено. И я знаю, что есть люди, которые делают подобные вещи.

0 голосов
/ 10 сентября 2009

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

0 голосов
/ 30 марта 2009

Я использовал GA в 2 реальных задачах исследования.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...