Конкурс по оптимизации 0. Цели конкурса Основной целью

advertisement
Конкурс по оптимизации
0. Цели конкурса
Основной целью является изучение методов оптимизации и применение их для
решения конкретных задач
Итоговые показатели по всем конкурсным задачам будут использоваться для
ведения рейтинга по оптимизации
Если конкурс приобретет широкую популярность, возможна сертификация по
оптимизации запросов с выдачей сертификатов (условно бесплатных).
1. Объявление конкурса
Конкурс объявляется автором или модератором конкурса. Информация об
открытии конкурса будет публиковаться на форуме, в рассылке и новостях недели.
В заголовке форума и на странице задачи будет соответствующее примечание.
После объявления конкурса автор не имеет права «дооптимизировать» свое
решение, используемое в качестве тестового.
Допускается устранение ошибок в решении и добавление проверочных данных. В случае
если данные действия приводит к изменению времени выполнения тестового запроса, все
конкурсные решения по данной задаче пересматриваются относительно нового тестового
решения и/или данных.
2. Участие в конкурсе
Автор задачи (или модератор конкурса) не участвует в конкурсе. Но он получает
бонусные 10 баллов за каждую задачу, конкурс по которой он поддерживает.
По умолчанию все решающие (и решившие) задачу участвуют в конкурсе.
К конкурсу принимаются любые решения, превосходящие по производительности
авторское решение минимум на 5%, что соответствует бонусу в 5 баллов в зачет по
оптимизации.
Участник может неоднократно представлять на конкурс свои решения, добиваясь
лучшей производительности по сравнению со своим предыдущим решением.
Для участия в конкурсе следует предоставить организатору конкурса свое решение
с объяснением приемов, позволивших получить прирост производительности.
3. Публикация конкурсного решения
Решение о публикации принимает автор/модератор на основании оценки
конкурсного решения на локальной машине на проверочной базе, идентичной
проверочной базе (второй), используемой на сайте.
Проверка выполняется с помощью sql-скрипта, единого для всех задач.
Все получившие баллы конкурсные решения публикуются в обязательном порядке
автором/модератором задачи.
Автор публикует конкурсное решение и пояснение к нему, предоставленные
участником, и начисляет баллы за оптимизацию (результат выполнения скрипта).
4. Доступ к конкурсным решениям
Участвующий в конкурсе получает доступ только к тем конкурсным решениям,
которые оптимизированы не лучше, чем его собственное решение.
Участник может принять решение ознакомиться с конкурсными запросами,
которые оптимизированы лучше, чем его собственный, выбрав соответствующий
оптимизационный балл. Для продолжения участия в конкурсе в этом случае он должен
представить решение, превосходящее по производительности лучшее из тех, с которыми
он ознакомился.
5. Начисление баллов за оптимизацию
Для новой задачи, или задачи, по которой на форуме не опубликовано решений,
превосходящих авторское по производительности, за принятое конкурсное решение
участник получает баллы, равные процентам, на которые конкурсное решение превзошло
авторское по скорости выполнения. Баллы начисляются по формуле:
(1 - t_pretendent/t_author)*100.
Здесь, t_author - время исполнения авторского запроса, t_pretendent - время исполнения
конкурсного запроса. После дальнейшего улучшения скорости своих решений
конкурсантом начисленные баллы перезаписываются. Согласно формуле, за повышение
эффективности решений по задаче максимально можно получить не более 100 баллов (не
включая рекорды).
Для задачи, на форуме которой уже опубликованы решения, превосходящие
авторское решение, баллы начисляются относительно лучшего из опубликованных
решений.
Если участник превзошел свой предыдущий показатель по той же задаче, его
результат перезаписывается.
Если конкурсант открыл конкурсное решение, превосходящие его лучшее
достижение (смотри пункт 4), и после этого его улучшил, то к ранее заработанным баллам
будут добавляться баллы, рассчитанные по формуле:
(t_open - t_pretendent)/t_author*100.
Здесь, t_open - время исполнения наилучшего открытого решения.
Если участник показал абсолютно лучший результат по задаче на текущий момент
времени, он получает дополнительные (бонусные) баллы (10). Бонусные баллы на задаче
можно получить только один раз.
6. Форс-мажор
Если автор по каким-либо причинам не cможет поддерживать конкурс по своей
задаче, он может временно приостановить его или закрыть.
Модератор может возобновить конкурс, закрытый автором.
Автор теряет бонусные баллы, если он закрывает конкурс.
В случае закрытия автором конкурса по задаче, набранные участниками на этой
задаче баллы не участвуют в рейтинге по оптимизации, но идут в зачет для сертификации.
Download