Блог пользователя WasylF

Автор WasylF, история, 7 лет назад, По-русски

Хочу обратится за советом к сообщесту codeforces.

Я учусь на втором курсе магистратуры и мне нужно в этом году писать дипломную работу. В прошлом году, в качестве курсовой сделал CF-Predictor, я бы очень хотел как-нибудь развить тему (добавить научности) и продолжить этот проект, но к сожелению никаких подходящих идей мне не приходит. Возможно кто-нибудь может подсказать мне, в каком направлении можно продолжить разработку или какой новый сервис можно разрабработать для codeforces, чтобы эта затея вылилась в не плохой диплом!

Заранее спасибо

  • Проголосовать: нравится
  • +96
  • Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Мне очень не хватает расширения, которое позволяло бы мне рисовать графы прямо на странице с задачей...

»
7 лет назад, # |
  Проголосовать: нравится -9 Проголосовать: не нравится

Самым крутым было бы расширение, позволяющее видеть у кого ты в друзьях)))

»
7 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится
  1. Предсказывать изменения рейтинга ещё до начала контеста!
  2. Оценивать "истинную" сложность задачи только по тексту условия (ну может ещё и исходный код авторского решения можно прочитать).
  3. Пусть, наконец, нейросеть сама пишет решение к задачам (тут ты, правда, немного опоздал).
  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Спасибо, над первыми 2 пунктами подумаю, а для третьего я не достаточно крут:)

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    2) Что-то мне кажется, что если в задаче авторское решение — формула, то предсказать сложность будет очень трудно. Особенно если формула выглядит не очень страшной, но с трудными неочевидным выводом или доказательством

»
7 лет назад, # |
Rev. 2   Проголосовать: нравится +15 Проголосовать: не нравится

У меня есть такая идея: можно каждому участнику и каждой задаче/проблемсету сопоставлять какие-либо количественные характеристики, а потом предсказывать на основании того и другого, как же выступит такой то участник на таком-то проблемсете. Характеристики проблемсета с текущего контеста можно вычислять на основании статистики посылок участников (и времени, пройденного с начала контеста).

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

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Спасибо за интересное предложение!

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Еще такая идея: взять все контесты в межсезонье и по ним предсказать результат NEERC / финала. Включает в себя обучение на прошлых сезонах, распределение коэффициентов по контестам (результаты какого контеста более показательны), распределение счета в личной встрече команд (например победа только по штрафу дает не 1-0, а 0.7-0.3) и многое другое, чего я не придумал за время написания комментария.

    Было бы хорошо заиметь какое то API от snarknews для удобного получения результатов.

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

»
7 лет назад, # |
  Проголосовать: нравится +146 Проголосовать: не нравится

Tell if the contest is rated or not to everyone

»
7 лет назад, # |
Rev. 2   Проголосовать: нравится +21 Проголосовать: не нравится

реализовать автотренера на задачах cf

пропарсив условия и решения участников, (при помощи нейросети) составить граф связей задач, мол эти задачи похожи с таким-то коэффициентом

выяснить у конкретного участника какие темы западают и предлагать задачи

при прорешивании темы предлагать схожие задачи

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится +28 Проголосовать: не нравится

      Да, суть в этом. Плюс тэги могут интересным образом комбинироваться. Или можно делать какие-то выводы про то, что "все красные решают ЭТО".

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +21 Проголосовать: не нравится

    В какой-то мере этот функционал реализован на code-drills. Там есть пункт Strong/Weak areas, а также можно выбрать задачи на эти темы.

»
7 лет назад, # |
  Проголосовать: нравится -46 Проголосовать: не нравится

A service which notifies when a friend submits a solution to a problem.

»
7 лет назад, # |
  Проголосовать: нравится +36 Проголосовать: не нравится
  1. A service that gives you the ability to customize the standings(by country specifically).

  2. Current and expected rank on the problem pages during the live contest.

»
7 лет назад, # |
  Проголосовать: нравится +26 Проголосовать: не нравится

I'd suggest looking at misof's Ph.D. thesis for inspiration.

»
7 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

there should be other filters also apart from friend's standings like by school, college and country as we have on hackerrank and codechef.

»
7 лет назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

Virtual participation with ratings, could be a local extension to keep track of your performance and express it as some rating taking into account other participants(excluding those who virtual participated)

»
7 лет назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится

i don't know if this would be a good project.

build a testcase tester: lets say an author writes a solution to his problems and generates testcases. a solution would handle some tricky cases with if else statements, so running solution on generated testcase should hit those tricky cases lines in solution and generate a report.

this would help to check if testcases are good.