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

Автор Wsl_F, история, 21 месяц назад, перевод, По-русски,
UPD 02.09.2018

Всем привет! Я на прошлом контесте предлагал всем желающий потестировать мой сервис предсказания изменений рейтинга. Сейчас я рад представить его!

Огромное количество Ваших нервных клеток погибает, так и не дождавшись обновления рейтинга. Хватит это терпеть! Теперь Вы можете использовать данный сервис для приблизительно вычисления изменения рейтинга.

Наиболее интересная составляющая — расширение для хрома. Оно изменять страницу положения, добавляя предсказываемые дельты. Расширения доступны для 3х браузеров:

Расширение в работе:

Более детальную информацию (seed, rank, expected delta, etc.) можно посмотреть на сайте.

Проект до сих пор в бете, так что предсказания не очень точны. В среднем ошибка не превышает 5 очков, но для участников из конца положения ошибка может достигать нескольки сотен.

Технические детали

Я хочу выразить благодарность Rubanenko и всей команде разработчиков NBHEXT за их открытые исходники и MikeMirzayanov за отличную платформу Codeforces с публичным API и формулами подсчета рейтинга!

AWESOME UPD Предсказание для сегоднешнего контеста (cf #399) полностью соответствует реальным изменениям! Спасибо AlexDmitriev! Он направил меня в правильное русло, и баг рассчета рейтинга пофикшен!

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

»
21 месяц назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Maybe I miss something but why use this, when there is NBHEXT? Did you overcome some of its bugs? Please, give more information on how this differs from NBHEXT :)

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

    NBHEXT not working

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

    NBHEXT predicts rating changes using your browser (did you notice that your browser works slowly and is lagging while doing predictions?) CF-Predictor extension get prediction from own server, so all calculation are made on serverside. And yes, NBHEXT is not working now :(

»
21 месяц назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Not for Mozilla? Please make it for Mozilla too.

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

deleted.

»
21 месяц назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

Funny, on attached screen all but one prediciton were good with tolerance of two points, but tourist's prediciton was way off (by 46 points). Probably there is a bug that comes to light only when we are dealing with very high rated users. Maybe you did same bug as original bug thanks to which tourist once exceeded 4000 points :)?

»
21 месяц назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Please make it for Mozilla too.****

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

It seems the variance of the tool is quite high. Last contest I got an expected change of +22 (which seemed way off) and the real change was -63. I also saw people with similar results and similar starting rating getting a negative expected rating change.

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

    This was prediction before system tests. It caused because server gets to many request and have no time to calculate new rating prediction. I will fix this prior next round.

    If you a curious about prediction after system tests you could see it at static page here.

    It predicts to you -65, 2 point lower than actual results.

    sorry for my bugs

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

      What about showing the last update time of the prediction so that people can know more about it, and also how the prediction should be considered as accurate.

      For instance, from the last update time shown, people can know if the prediction is about middle of the contest, end of contest but before systest, or after systest. So it is much more clear.

      I hope you can consider adding something like this. Thanks for such a great tool anyway:)

»
21 месяц назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by Wsl_F (previous revision, new revision, compare).

»
21 месяц назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Apparently, the rating site is down (at least for me). Any ideas why?

»
21 месяц назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

The site is up now. But when I try to select a contest and click "Get rating prediction", the results won't display at all. The browser seems to load infinitely instead.

»
21 месяц назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I think I found a bug. See this —

He is in my starred user list, He submitted A and got WA on pretest 1 [skipped]. But will this even happen? He will get near +77? o.O

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

    Yeah, you are right this is bug. mdshs.shanto has a quite low rating (887) and my program calculated his seed as 2922. He took place much higher, so his rating should increase. But official cf rating works somehow different, and I don't know where my mistake((

    • »
      »
      »
      21 месяц назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Maybe in case of several people on the same place from A to B, you consider their rank to be A, while it's probably considered as (A + B)/ 2;

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

        I will check this, but in the official shared code rank calculates as in standings:

            private void reassignRanks(List<Contestant> contestants) {
                sortByPointsDesc(contestants);
        
                for (Contestant contestant : contestants) {
                    contestant.rank = 0;
                    contestant.delta = 0;
                }
        
                int first = 0;
                double points = contestants.get(0).points;
                for (int i = 1; i < contestants.size(); i++) {
                    if (contestants.get(i).points < points) {
                        for (int j = first; j < i; j++) {
                            contestants.get(j).rank = i;
                        }
                        first = i;
                        points = contestants.get(i).points;
                    }
                }
        
                {
                    double rank = contestants.size();
                    for (int j = first; j < contestants.size(); j++) {
                        contestants.get(j).rank = rank;
                    }
                }
            }
        
        • »
          »
          »
          »
          »
          21 месяц назад, # ^ |
          Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

          If all people get same number of points, this code will return contestants.size() as far as I understand the code. In standings everybody would be first

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

Excellent Work! Forked it as Well :)

»
21 месяц назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

Your tool was perfectly worked yesterday! Thanks man!

»
21 месяц назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

I suggest to add a Disable/Enable button for the extension as sometimes i wanna to hide it during the contest

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

Похоже, что сервис упал:(

UPD: заработало

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

Че-то в последнем контесте (428) вообще все полностью неправильно предсказалось, хотя на предыдущем было идеально.

Такое впечатление, что загружается неправильно рейтинг участников — у соседних в турнирной сетке отображается ровно одинаковое изменение рейтинга при огромной их разнице в исходном рейтинге. Например, вот два чувака вокруг меня в турнирной сетке с практически равными результатами, у одного рейтинг 1376, ему написало +41, хотя по факту +64, у другого 1716, ему написало тоже +41, хотя по факту -31.

Браузер Chrome последний

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

    К сожалению я был далеко от нормального интернета и не смог вовремя проверить. Возможно действительно загрузился рейтинг с предыдущего контеста. Со следующим раундом (429) все должно быть впорядке.

»
15 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Site is down.I am unable to open it

»
15 месяцев назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

Shows 0 to me ?

»
15 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Now a days, it's not working sometimes. Please pay attention to this. Thanks :-)

»
15 месяцев назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

It's still not working!!!

»
15 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

CF-Predictor seems to be working now but rating change for #431 Div.2 is wrong. Why?

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

    The predictor has you placing 289 when your official placing is 338.

    The placing of several top participants appear to be out of order on the predictor.

»
14 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Can sombody help me set this extension up...I added it to chrome extentions...but dont know how it works

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

    You should just open standings page of active or recently ended contest. You will see a rating change in the last column.

    For example: last contest here

    PS Probably you have a slow internet connection, in this case downloading data could take a while.

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

      Thats an amazing extension...Almost accurate it showed +20 and I got +21...You did an amazing job

»
13 месяцев назад, # |
Rev. 3   Проголосовать: нравится +18 Проголосовать: не нравится

I think the web interface is really ugly now...

UPD: Great interface now.

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

    I'm sorry, I'm 100% noob in the frontend. Do you have any better proposal for start page design?

»
13 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Auto comment: topic has been updated by Wsl_F (previous revision, new revision, compare).

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

Please predict the Good Bye 2017 round's ratings, taking into account the changed ratings due to the last Educational round.

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

Cf-Predictor неправильно работает с пользователями, изменившими в новом году свой хэндл. Например, пользователь Dimon на сайте указан под своим предыдущим хэндлом "subird". Рейтинг subird на сайте cf-predictor равен последнему рейтингу Dimon под ником subird на Codeforces; в плагине для браузера предсказание рейтинга для Dimon не работает вовсе.

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

Wsl_F предиктор не работает для тех кто менял хэндл

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

    опа теперь работает

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

      скорее всего работает для тех, кто уже написал хотя бы один раунд под новым логином. Спасибо за информацию, попробую исправить.

»
6 месяцев назад, # |
  Проголосовать: нравится +71 Проголосовать: не нравится

Please update it to the new rating system.

»
6 месяцев назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

Wsl_F, it seems that the extension doesn't work for HTTPS version of Codeforces. Please fix.

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

It can't work now.

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

    Do not worry, everything is fine :) I'll turn it on before the next contest. Free heroku account gives you a limited amount of free hours per month, so I need to spend them wisely :)

»
4 месяца назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

What about Microsoft Edge user???

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

Auto comment: topic has been updated by Wsl_F (previous revision, new revision, compare).

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

Why not for safari...???