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

 
Alexey Navoykov:
А также возникают вопросы по поводу методики определения победителей.  По замыслу автора будут рассматриваться несколько критериев: скорость, точность, количество обращения к ФФ.  Но для итогового рейтинга ведь нужна единая оценка.  Значит каждому критерию автор должен назначить свой вес,  и тут как-то всё очень субъективно получается.  Поэтому участники заранее должны знать о методике оценки, чтобы иметь возможность оптимизировать под неё свои алгоритмы.

Количество обращений к ФФ будет фиксированным и одинаковым для всех участников.

Остается точность и скорость. Точность будет иметь приоритет в 3 раза больше.

 
Dmitry Fedoseev:
Есть ограничение на количество алгоритмов от одного участника?

Один участник - один алгоритм.

А разве может быть по другому? 

 
Andrey Dik:

Один участник - один алгоритм.

А разве может быть по другому? 

Мысль появилась еще шутку сделать. Ладно, сначала надо поэкспериментировать, а то может и смысла нет. 
 
Dmitry Fedoseev:
Мысль появилась еще шутку сделать. Ладно, сначала надо поэкспериментировать, а том может и смысла нет. 

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

Почему бы и нет.

Но, нужно же как то соревноваться и выявлять победителей, поэтому в самом чемпе только 1 алгоритм от каждого участника. 

 
Точность, макс 1,0МаксМинКритерийКритерий*3Время, с.MaxMinКритерийОбщий критерийМесто
Петров0,890,890,211,003,00800,00800,00221,000,003,001
Лемонов0,740,890,210,782,34456,00800,00221,000,592,932
Сидоров0,760,890,210,812,43589,00800,00221,000,362,793
Ухин0,610,890,210,591,76387,00800,00221,000,712,484
Прогрес0,650,890,210,651,94521,00800,00221,000,482,425
Ленон0,450,890,210,351,06800,00800,00221,000,001,066
Заборов0,210,890,210,000,00221,00800,00221,001,001,007
Абамов0,300,890,210,130,40721,00800,00221,000,140,538

 

Вот пример расчета места на чемпионате для участников. Таблица уже отсортирована по колонке "Общий критерий".

Внимательно посмотрим на таблицу. Петров набрал 0,89 по критерию "Точность", где максимальное значение ФФ масштабируется до 1,0 а минимум к 0,0. Тем самым это лучшее значение среди всех. Наименьшй показатель по этому критерию у Заборова, он смог набрать лишь 0,21 и уже казалось было, что Заборов будет сидеть на заборе в турнирной таблице....

Но по критерию "Время" лидером является тот же Заборов, у него самый быстрый алгоритм, он выполнил задание за 221 секунду (но и самый неточный в тоже время).

Теперь подсчитаем общий критерий. И что же мы видим? Кто бы мог подумать, но Абамов занял последнее место, так как общий критерий у него самый низкий, он смог набрать все лишь 0,53. 

 

ЗЫ. По критерию "Точность" - наибольшее значение лучше, по критерию "Время" - наименьшее значение лучше. Все совпадения фамилий случайны, для меня самого было большой неожиданностью последнее место у Абамова, ну что ж, точнее нужно искать... и быстрее.  

ЗЗЫ. Для расчета критерия "Точность" применяется формула (In - InMIN) / (InMAX - InMIN); а для расчета критерия "Время" (InMIN - In) / (InMAX - InMIN);

 

Итак, чемпионат будет проходить в двух зачетах, 100 параметров и 500 параметров. В обоих случаях будет использоваться фиксированное количество итераций - 1000.

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

 
Andrey Dik:

Итак, чемпионат будет проходить в двух зачетах, 100 параметров и 500 параметров. В обоих случаях будет использоваться фиксированное количество итераций - 1000.

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

Поправте меня если я ошибаюсь, но у меня сложилось следующее впечатление о сути поставленной задачи:

В цикле, состоящем из 1000-чи итераций, в первом зачете, нужно найти ближайшие значения к ста параметрам с уже предустановленными значениями, а во втором зачете,  сделать тоже самое, но уже к пятистам параметрам?

 
Andrey Dik:

Итак, чемпионат будет проходить в двух зачетах, 100 параметров и 500 параметров. В обоих случаях будет использоваться фиксированное количество итераций - 1000.

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

А как получится проконтролировать количество итераций? Даже если проверяющий будет писать свой цикл, не факт, что единичный вызов моей функции (или не моей а чьей-то) будет соответствовать одной итерации. Можно увеличить количество особей в стаде, и может хватить одной итерации.

Вот что можно четко проконтролировать, так это количество вызовов фф. Может условием должно быть количество вызовов фф, а победителя выбирать по  точности результата.

 
Количество вызовов Фф равно колиествам итераций (эпох) - 1000. А что делает алгоритм внутри себя и сколько раз это его (алгоритма) проблемы.