Есть ли у Вас собственные разработки эволюционных алгоритмов? - страница 38

 

Нужно же понимать, что ддя чего и почему нужно...

Создали зопарожец - фигня, в щели дует...

Создали лимузин - нафиг он не нужен, дорогой...

Получился Хабл - бесполезен, газету не прочитаешь

Создали вездеход - на дискотеку не съездишь..

Всё не слава богу...

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

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

Предъявы с пиком похожи на претензии учительнице в школе. Типа, а чейто у тебя в классе 2 отличника, 10 троечников и 1 двоечник, надо бы что бы 13 троечников было! - а вот и нет, если в классе все троечники, то фиговый значит учитель в классе. 

 

Еще пока незавершенный, но дающий представление об Эволюционных алгоритмах конспект.

Его и другие (там на ресурсе) пишут преподаватели/тренеры многих чемпионов мира по программированию. Соответственно, подают свежие на данный момент идеи.

Ошибка
  • neerc.ifmo.ru
Запрашиваемое название страницы неправильно, пусто, либо неправильно указано межъязыковое или интервики название. Возможно, в названии используются недопустимые символы.
 
Anton Zverev:
Еще пока незавершенный, но дающий представление об Эволюционных алгоритмах конспект.
Спасибо. Похоже конспект годный.
 
Да. Да. Оочень ценный и ооочень полезный конспект.
 
Andrey Dik:

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

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

Не нужно воспринимать чемпионат как нечто железобетонное и неповоротливое. На мой взгляд это простые исследования и эксперименты, отличия лишь в том, что будут жури, которые проследят за мероприятием. Другой формат чемпионата мне трудно себе представить. Поэтому я и говорю, что не получится кого то обмануть каким либо образом. Зрители же в любой момент после окончания основного этапа могут скачать файлы чемпионата и прогнать у себя на компьютере, в том числе и со своей ФФ. У некоторых человеков закопошились мысли, как бы так вот изловчится, что бы всех обхитрить и победить... Не получится, чемпионат "открытый". 

"А судьи кто?"

Если не делать жестких правил, что каждый участник будет иметь право сказать "эта функция какая-то не такая, давайте проверять на моей", и чемпионат не закончится никогда. Рамки должны быть.

А уже после завершения официальной части можно соревноваться "в свободной программе".

 
Andrey Dik:
Кто "он"? Просто повезло исследователю, что входные значения (числа которые назывались) совпадали с ответами (значениями фф). Но я ничего не говорил о функции, и это могло быть не так. К примеру, я мог бы при некоторых попытках отвечать "нет ответа" когда в функции попадалась бы дырка или "ответ такой же" когда попадался плоский участок функции.... И для решения задачи пришлось бы постоянно менять или модифицировать стратегию поиска. Это и есть эволюционный алгоритм, а задача с числами от 0 до 100 лишь простейший пример подобных задач и ЭА будут лучше (практичнее) для них (задач), чем полный перебор. 

"Он" — алгоритм.

Эволюция — это процесс, а тут алгоритм не менялся, а был неизменным на протяжении всего теста.

Решение задачи быстрее, чем полным перебором — это не свойство эволюционного алгоритма. Эволюционным он был бы, если бы при изменении условий (например, появлении "нет ответа", которого не было в начальных правилах), учился бы решать эту задачу эффективнее. Учился, а не просто решал также, как и раньше.

Я так понимаю эволюцию. Это изменение, развитие, а не просто эффективное решение.

 
Andrey Khatimlianskii:

"Он" — алгоритм.

Эволюция — это процесс, а тут алгоритм не менялся, а был неизменным на протяжении всего теста.

Решение задачи быстрее, чем полным перебором — это не свойство эволюционного алгоритма. Эволюционным он был бы, если бы при изменении условий (например, появлении "нет ответа", которого не было в начальных правилах), учился бы решать эту задачу эффективнее. Учился, а не просто решал также, как и раньше.

Я так понимаю эволюцию. Это изменение, развитие, а не просто эффективное решение.

Абсолютно с Вами согласен.

Но, уровень сложности таких алгоритмов настолько велик, что думаю, если бы даже мы все общими усилиями стали его писать, быстро бы не получилось... :)

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

Однако, мы не можем увидеть, - КАК мы это делаем.

Врядли кому то удасться написать такой алгоритм для участия в чемпионате.

Хотя, можно попробывать... :)

 

Давайте стремиться понять и воспроизвести эволюционные процессы.

Чемпионат, - прекрасный повод для этого.

Человек должен заключить Природу в тиски своего мышления.

Должен понять ЕЕ и себя.

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

Так же подумайте над тем, что я говорил об эволюции вселенной. Код не меняется со времен большого взрыва. Сдесь код это физические постоянные, Планка и другие. Результат этого кода мы видим своими глазами, и сами являемся резултатом этого кода. Результаты меняются со временем, а код остаётся постоянным. Ученые утверждают, что если бы хоть одна из констант имела другое значение с разницей в сотые доли процента, то появление разумной жизни было бы невозможно. 
 
Andrey Khatimlianskii:

"А судьи кто?"

Если не делать жестких правил, что каждый участник будет иметь право сказать "эта функция какая-то не такая, давайте проверять на моей", и чемпионат не закончится никогда. Рамки должны быть.

А уже после завершения официальной части можно соревноваться "в свободной программе".

Основной этап с чемпионатными ФФ. Далее по пользовательским. Я ж так и говорил.