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

 

Последнее уточнение задачи.

Было сказано, что необходимо будет найти 100  и  500 максимумов ФФ, а также - глобальный максимум.

Понял это следующим образом: нужно найти 500 "маленьких" пиков, 100 "больших" пиков, и один "абсолютный" пик. 

Итого: нужно найти 601 - но пиковое значение ФФ.

Верно? 

 
Реter Konow:

Последнее уточнение задачи.

Было сказано, что необходимо будет найти 100  и  500 максимумов ФФ, а также - глобальный максимум.

Понял это следующим образом: нужно найти 500 "маленьких" пиков, 100 "больших" пиков, и один "абсолютный" пик. 

Итого: нужно найти 601 - но пиковое значение ФФ.

Верно? 

Нет, нужно найти только один глобальный максимум.
 
Реter Konow:

Последнее уточнение задачи.

Было сказано, что необходимо будет найти 100  и  500 максимумов ФФ, а также - глобальный максимум.

Понял это следующим образом: нужно найти 500 "маленьких" пиков, 100 "больших" пиков, и один "абсолютный" пик. 

Итого: нужно найти 601 - но пиковое значение ФФ.

Верно? 

:)

Где ж Вы такое прочитали? Мне очень интересно, правда. 

ЗЫ. 100...500 оптимизируемых параметров, вот о чем шла речь. 

 
Не понимаю выражение: 100...500. Что это значит? Пожалуйста, четко сформулируйте поставленную перед участниками задачу. По моему, этого еще сделано не было. Спасибо.
 
Реter Konow:
Не понимаю выражение: 100...500. Что это значит? Пожалуйста, четко сформулируйте поставленную перед участниками задачу. По моему, этого еще сделано не было. Спасибо.

Не пытайтесь, пожалуйста, подстроится под условия чемпионата, какими бы они не были - это ничего не даст, потому что задача не будет известна алгоритму. Алгоритмы должны быть универсальными и быть в состоянии решать широкий спектр оптимизационных задач. Делайте свой алгоритм живучим в разных условиях, ориентируйтесь на количество оптимизируемых параметров от 100 до 500.

Посмотрите на штатный оптимизатор МТ. Он вообще не имеет никаких параметров которые позволяли бы его настраивать, потому что он универсален и задуман быть таковым. Если бы он имел настройки, то посыпались бы масса жалоб от пользователей, что он то не так настроен, то нет справки по настройке оптимизатора. Но ведь на каждую конкретную задачу справку не напишешь! Поэтому он и не имеет настроек, каждая задача оптимизации уникальна и пользователь должен иметь возможность решать задачи не прибегая к глубоким знаниям работы внутренностей оптимизатора.

Поэтому до сих пор нет четких ограничений и "коридора" для алгоритмов участников чемпионата, потому что алгоритмы на чемпионате не будут знать о задаче ничего!. Делайте алгоритм универсальным, живучим.

Если будете разрабатывать алгоритм с 0-я, то понадобится много времени, Вы не успеете на чемпионат. Лучше возьмите какой нибудь готовый, как например в ALGLIB, подрихтуйте его для себя. Заодно получите более глубокие знания о работе подобных алгоритмов, возможно вдохновитесь написать в будущем своё собственное, уникальное творение. 

 

Хорошо. Смотрите, что бы объяснить сложность предстоящей перед участниками на чемпионате задачи, я расскажу порядок проведения чемпионата. И что бы подчеркнуть равные условия для всех, в том числе и для организатора. Я сейчас ничего абсолютно не делаю со своим алгоритмом, не готовлюсь к чемпионату, потому что всё равно это мне ничего не даст, потому что я не знаю предстоящую задачу.

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

2. Начинаются обсуждение и формирование ФФ участниками. Участники предлагают свои ФФ (возможно пытаясь представить такую ФФ, которую его алгоритм решает очень хорошо что бы повысить свои шансы). К примеру, получили 10 штук ФФ. Далее, эти 10 ФФ передаются одному из официальных представителей MQ, который случайным образом генерирует последовательность этих ФФ, например 1-2-3-5-8-2-3-9-10-1-2-5-5-7-6-....... (после этого он передаст в свободный доступ уже скомпилированную *.ex5 библиотеку с ФФ). Где число это номер ФФ. Каждая ФФ имеет два параметра для того, что бы можно было её визуально посмотреть в виде 3-х мерного графика. Естественно каждая ФФ иеет свой глобальный максимум. получится формула ФФ чемпионата:

FF(f1(x1,x2); f2(x3,x4); f3(x5,x6); f5(x7,x8); f8(x9,x10); f2(x11,x12); f3(x13,x14); f9(x15,x16); (x17,x18); f10(x19,x20); f1(x21,x22); f2(x23,x24); f5(x25,x26); f5(x27,x28); f7(x29,x30); f6(x31,x32);...)

x1, x2, x4, x4.... это оптимизируемые параметры, которых может оказаться от 100 до 500 штук. Почему 500 параметров потолок? Потому что это достаточно сложно для ФФ, и достаточно быстро можно посчитать - не у всех зрителей очень быстрые компьютеры, которые смогут убедится в прозрачности результатов чемпионата.

Макс FF получится как сумма максимумов этих отдельных ФФ и он может быть вычислен что бы иметь возможность проверки и оценки алгоритмов.

Итак, надеюсь теперь понятно, что в таких условиях невозможно заранее предугадать и подстроить свой алгоритм под конкретную задачу в надежде на победу? Победит действительно робастный алгоритм. Я сейчас просто с нетерпением жду начала чемпионата, я в полном неведении кто победит, в этом и есть интрига!. :)

 
Никогда не пользовался оптимизацией тестера, потому незнаком с ее работой. Выставлять чужой алгоритм на чемпионат не для меня. Создать универсальный алгоритм, который решает любые задачи я не смогу и за год (а может и за жизнь). При отсутствии понимания сути воставленной задачи, я бессилен. Вывод, - я решу ту задачу, которую понял из Ваших объяснений: ФФ - это аналитическая (в математическом понимании та, что рисует кривую на графе) функция. Передавая в нее значения, в ответ я получаю значения, которые являются координатами точек на графике. Проводя через них линию, получается кривая, с пресловутыми пиками и спусками. Ореинтируясь на логику получаемых значений, я ищу максимумы эти пики. На показанных Вами ранее картинках, также ясно показана поверхность с пиками. Дискуссия участников тоже содержала аналогии с поверхностью и пиками. Почему же сейчас Вы оставили эту аналогию?
 
Реter Konow:
Никогда не пользовался оптимизацией тестера, потому незнаком с ее работой. Выставлять чужой алгоритм на чемпионат не для меня. Создать универсальный алгоритм, который решает любые задачи я не смогу и за год (а может и за жизнь). При отсутствии понимания сути воставленной задачи, я бессилен. Вывод, - я решу ту задачу, которую понял из Ваших объяснений: ФФ - это аналитическая (в математическом понимании та, что рисует кривую на графе) функция. Передавая в нее значения, в ответ я получаю значения, которые являются координатами точек на графике. Проводя через них линию, получается кривая, с пресловутыми пиками и спусками. Ореинтируясь на логику получаемых значений, я ищу максимумы эти пики. На показанных Вами ранее картинках, также ясно показана поверхность с пиками. Дискуссия участников тоже содержала аналогии с поверхностью и пиками. Почему же сейчас Вы оставили эту аналогию?

Нет, я не оставлял. Так и есть. FF на чемпионате будет миксом из ФФ участников. Если брать по отдельности ФФ, то её можно представить в виде 3-мерного графика. А FF чемпионата в виде графика построить нельзя - многомерная она потому что. Всё так и есть как я говорил ранее, ничего не изменилось.

На картинках выше простые примеры для наглядности, они гладкие. Но мы же не знаем что будет собой представлять FF чемпионата, некоторым функциям могут быть намеренно преданы дискретные свойства, не гладкие, прерывистые, в виде ступенек или дыр, или ровных горизонтальных поверхностей. Поэтому если представлять себе FF виде простых трёхмерных графиков как в примерах выше, то такое представление будет, мягко говоря, не полным.  

 
Реter Konow:
Никогда не пользовался оптимизацией тестера, потому незнаком с ее работой. Выставлять чужой алгоритм на чемпионат не для меня. Создать универсальный алгоритм, который решает любые задачи я не смогу и за год (а может и за жизнь). 
В Вашем алгоритме есть сортировка? А генерация вариантов есть? - сойдёт и ГСЧ. Если да, то уже можете участвовать со своим алгоритмом. Универсальный алгоритм может оказаться проще, чем можно себе представить на первый взгляд. А будет ли он лучшим из возможных - это уже другой вопрос.
 
Пространство может быть только трехмерным. Мое воображение отказывается представлять другое. Как я понимаю, единичная ФФ не подходит для чемпионата, так как ее поверхность слишком простая. Для усложнения поверхности Вы хотите использовать множество ФФ? Накладывая друг на друга создаваемые ими кривые, Вы создадите поверхность, достаточно сложную для проверки алгоритмов на универсальность?
Причина обращения: