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

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

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

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

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

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

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

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

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

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

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

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

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 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 :)

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

Not for Mozilla? Please make it for Mozilla too.

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

deleted.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +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 :)?

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

Please make it for Mozilla too.****

»
9 лет назад, скрыть # |
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.

  • »
    »
    9 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +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

    • »
      »
      »
      9 лет назад, скрыть # ^ |
      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:)

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

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

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

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

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +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.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 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

  • »
    »
    9 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 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((

    • »
      »
      »
      9 лет назад, скрыть # ^ |
      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;

      • »
        »
        »
        »
        9 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 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;
                    }
                }
            }
        
»
9 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Excellent Work! Forked it as Well :)

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

Your tool was perfectly worked yesterday! Thanks man!

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

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

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

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

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

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

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

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

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

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

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

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

Site is down.I am unable to open it

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

Shows 0 to me ?

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

It's still not working!!!

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

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

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

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

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

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

UPD: Great interface now.

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

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

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

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

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

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

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

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

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +71 Проголосовать: не нравится

Please update it to the new rating system.

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

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

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

It can't work now.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

What about Microsoft Edge user???

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

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

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

Why not for safari...???

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

In case the post is too long and it's hard to find links, this is a summary:

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

The predictor was working fine till yesterday. However, today I updated my Firefox web browser and it's not working anymore. I am running Firefox Quantum (64.0) in Ubuntu 18.04.

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

Got Safari and want to stick with it....

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

Extensions, get you out of "tension".

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

WasylF has the CF rating system is being changed.In last contest predictor showed -7 rating change.But it was actually -23

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

WasylF CF-Predictor hasn't been working for me lately(it doesn't display the delta column)

I'm using Google Chrome and I tried uninstalling and installing it back, but still no success.

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

The add-on used to work on Firefox Android but now I can't even download it!

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

Excuse me,can anyone tell me the exact rating calculation formula?

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

I have a suggestion to improve CF predictor. First of all thank you for the amazing extenion.

Feature: Add rating change for virtual contest. you could color the rating with red or any color to show that it is virtual

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

In the recent contest Codeforces Global Round 5, the rating prediction is wrong for a user with negative rating. (predicted -48, real -4)

Possible reason: the binary search algorithm (getRatingToRank function) in the official code initialize the left variable to 1, so the result is incorrect for values < 1.

»
6 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I'm having some problems in the extension, its not working in Opera but works in Chrome. Can someone help me more with opera?

»
6 лет назад, скрыть # |
 
Проголосовать: нравится +57 Проголосовать: не нравится

I think that something is broken :(

»
6 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

It doesnt work in virtual participant. Can you help me ?

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

How is it possible that this post isn't +1000?

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

I've edited the JS File a bit so that it works in Safari ( macOS Catalina ). See the full details here

»
6 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Sorry but can it predict at the moment we chose ?

»
6 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

What happen to me ;-; It doesnt show anymore ;-;

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

It showed -48 for me and -62 for my friend but we both got -16

»
6 лет назад, скрыть # |
 
Проголосовать: нравится +34 Проголосовать: не нравится

Hey, the rating predictor isn't predicting correct delta. Can you please fix it. Thanks.

»
6 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can anyone please explain how the seed of a coder is calculated?

  • »
    »
    6 лет назад, скрыть # ^ |
     
    Проголосовать: нравится -8 Проголосовать: не нравится

    Pretty sure the seed is the rank of the competitor before the contest compared to the other competitors. So the top rated participant gets seed 1, second most rated gets seed 2, etc.

»
6 лет назад, скрыть # |
 
Проголосовать: нравится +17 Проголосовать: не нравится

BUG: Rating predictions for today's contest were based on the ratings before yesterday's contest so they are inaccurate.

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

How to add this extension for Micorsoft Edge?

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

Similar to this issue, deltas today were calculated using ratings from 2 contests ago.

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

CF-predictor is down now and the addon is not working. Is there any alternative?

UPD it seems, there were some problems with Heroku. Works now.

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

extension is not working now

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

Is it just me or is the extension not working?

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

It predicts wrong delta for those who have changed their handle using magic . My handle was previously taken by someone who had not participated. CF predictor is calculating delta using that rating. WasylF Please look into this.

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

I used safari-web-extension-converter to let it and competitive companion run on Safari(>14.0),It is now available on the AppStore,but unfortunately,According to CORS I cannot send the request to CF-Predictor ,so you need to disable Cross-Origin Restrictions before use.

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

After I updated my username, it is not predicting my rating change

»
4 года назад, скрыть # |
Rev. 8  
Проголосовать: нравится -7 Проголосовать: не нравится

I have been using your tool for a long time. In Codeforces Round 799 (Div. 4) contest held yesterday, the tool showed an expected +17 points rating-change by the end of the system test. Nonetheless, the actual rating-change made by the CF system was -8 points!

What would be a plausible reason for this large inaccuracy in predicting the rate change?

Is it possible to update the tool so as to make it more accurate?

P.S. I have not updated my CF username since joining the site.

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

Maybe, you should add an auto-update feature, which automatically updates the delta when the real rating changes occur.

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

The CF-predictor is not working, please help if anyone knows any other tool/extension to predict rating changes

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Great Extension! And thank you WasylF!

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Is it possible to share the source please...

»
2 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Why I've download the extension but it doesn't

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

This doesn't seems to be working, neither does carrot. Is there any other tool to compute individual elo performance?