Чемпионат Алгоритмов Оптимизации. - страница 122

 

Чемпионат рассчитан на подготовленных участников, на тех, у кого есть готовые алгоритмы. Кто хочет предварительно почитать профильную литературу, напомню - ссылка в моём профиле и тут

Когда наберётся достаточно подготовленных участников с готовыми алгоритмами, тогда нам будет о чем разговаривать. А пока - пока и до новых встреч! 

 

Я посвятил чемпионату много сил и нервов, но один модератор может всё перечеркнуть одним своим постом. Примеры кодов и рабочий алгоритм, ссылки на литературу, интерфейсы подключения - всё это я давал, но оказывается, как сказал модератор, всего этого нет, мне наверное показалось!

Все кому интересно проверить свои алгоритмы на прочность - обращайтесь ко мне в личку, пообщаемся, отвечу на вопросы.

Общественной деятельности от меня больше не ждите, прошу понять меня правильно. 

 

     Андрей с Вашего позволения, предлагаю так оценивать , опять же не настаиваю.

Задача: Найти экстремум F(x1,x2,  xn)  неизвестной алгоритму функции.

Правила:

Победитель выявляется по совокупности 2-х  праметров

1. Точность  T=  Fmin_best/Fmin_y  - (  минимум лучший из участников/ минимум участника  )  в случае поиска минимума

    Т=Fmax_y/Fmax_best  в случае поиска максимума

2. Число обращений к функции  К= Кbest/Ky  (Минимальное число обращений из всех участников)

Общая оценка Ос=Т+К.

Алгоритм участника передает массив double Х[x1,x2,  xn] и получает значение функции, далее действует по своей логике и вычисляет экстремум и число обращений ( число передач массива). 

Диапазон поиска объявляется  отдельно.

Для тренировки можно взять функцию.    F(x1,x2,x3)=exp(x1+x2+x3)/(x1*x2*x2*x3*x3*x3);

Мой алгоритм получил такие результаты

Получил такие результаты.

Заданная погрешность поиска- 0.01 Начальные параметры (первое обращение) x1=x2=x3=0.5; Диапазон поиска 0-100

Количество обращений к функции- Ky= 51

Минимум Fmin_y=3.76210

x1=1.1; x2=2.1; x3=3.1;

F=(exp(X[1]+X[2]+X[3]))/(X[1]*X[2]*X[2]*X[3]*X[3]*X[3]);
 
Yuri Evseenkov:

     Андрей с Вашего позволения, предлагаю так оценивать , опять же не настаиваю.

Задача: Найти экстремум F(x1,x2,  xn)  неизвестной алгоритму функции.

Правила:

Победитель выявляется по совокупности 2-х  праметров

1. Точность  T=  Fmin_best/Fmin_y  - (  минимум лучший из участников/ минимум участника  )  в случае поиска минимума

    Т=Fmax_y/Fmax_best  в случае поиска максимума

2. Число обращений к функции  К= Кbest/Ky  (Минимальное число обращений из всех участников)

Общая оценка Ос=Т+К.

Алгоритм участника передает массив double Х[x1,x2,  xn] и получает значение функции, далее действует по своей логике и вычисляет экстремум и число обращений ( число передач массива). 

Диапазон поиска объявляется  отдельно.

Для тренировки можно взять функцию.    F(x1,x2,x3)=exp(x1+x2+x3)/(x1*x2*x2*x3*x3*x3);

Мой алгоритм получил такие результаты

Получил такие результаты.

Заданная погрешность поиска- 0.01 Начальные параметры (первое обращение) x1=x2=x3=0.5; Диапазон поиска 0-100

Количество обращений к функции- Ky= 51

Минимум Fmin_y=3.76210

x1=1.1; x2=2.1; x3=3.1;

Вот здесь я показывал как рассчитываются места участников. Единственное уточнение - не время, а количество обращений к ФФ:

Andrey Dik:
Точность, макс 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);

 

 

PS. Сколько испытаний делаете в свой задаче? Почему инициализация фиксированным значением 0.5?  Сколько обращений получается, если будете инициализировать числом 10.0?

PPS..... все вопросы, пожалуйста, в личку. 

 
Andrey Dik:

Вот здесь я показывал как рассчитываются места участников. Единственное уточнение - не время, а количество обращений к ФФ:

 

PS. Сколько испытаний делаете в свой задаче? Почему инициализация фиксированным значением 0.5?  Сколько обращений получается, если будете инициализировать числом 10.0?

G При инициализации 10.0 получилось число обращений 2028 минимум 3.73722. Проигрыш Вашему результату.  При инициализации ГСЧ ещё не проверял.

 Поймите я нисколько не утверждаю, что мой алгоритм лучше Вашего я над своим ещё работаю. Я просто хотел знать как будет формироваться общая оценка. Как затачивать алгоритм.

ЗЫ. Вы правы , вроде только я говорю, что у меня что то готово. Другие участники публично молчат. Разумно отложить проведения чемпионата на осень, а пока тренироваться. 

 
Yuri Evseenkov:

G При инициализации 10.0 получилось число обращений 2028 минимум 3.73722. Проигрыш Вашему результату.  При инициализации ГСЧ ещё не проверял.

 Поймите я нисколько не утверждаю, что мой алгоритм лучше Вашего я над своим ещё работаю. Я просто хотел знать как будет формироваться общая оценка. Как затачивать алгоритм.

ЗЫ. Вы правы , вроде только я говорю, что у меня что то готово. Другие участники публично молчат. Разумно отложить проведения чемпионата на осень, а пока тренироваться. 

 Ну вот, я так и думал.

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

Переносим общение в личку.

 
Alexander Laur:
Мне еще мой дед говорил: "Мудрец тем отличается от глупца, что доводит начатое дело до конца."
Вам дед не говорил "не лезь в то, в чём не смыслишь!" и "не мешай тем, кто занят делом!"? 
Что бы не мешали - работа и подготовка участников теперь в личке.
 
Andrey Dik:
Вам дед не говорил ... "не мешай тем, кто занят делом!"? 

А вы делом заняты?

Хотя, вы своего рода -- классик жанра -- как два месяца говорить о чемпионате, собрать участников, получить от МК поддержку в виде призовых 3000$ -- всё проболтать и остаться ни с чем.

Старуха Пушкина с дырявым корытом и то удачливее оказалась по концовке -- ей хоть корыто вернулось. 

 
Andrey F. Zelinsky:

А вы делом заняты?

Хотя, вы своего рода -- классик жанра -- как два месяца говорить о чемпионате, собрать участников, получить от МК поддержку в виде призовых 3000$ -- всё проболтать и остаться ни с чем.

Старуха Пушкина с дырявым корытом и то удачливее оказалась по концовке -- ей хоть корыто вернулось. 

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