Greetings everyone!
We are happy to introduce a rating system for Codechef based on the contests we have every month. In brief, the rating system will have the following features.
1. Every user will have a rating. The user with the highest rating will be ranked 1, the user with the next highest rating will be ranked 2 and so on.
2. The ratings for the users will depend only on how they perform in the contests and not how they perform in the practice section.
3. Every contest problem will get a particular value based on the number of users solving that problem. The maximum value for a problem tends to the value 5 and the minimum value for a problem tends to 1. So, every user is guaranteed at-least 1 point for solving a problem. The selection of the value 5 was to give sufficient room for the top performers to increase their rating. Selection of a smaller range of values would let those participants solving only easy problems and participating frequently overtake those not participating frequently but performing exceptionally well when they do. Suppose the total number of users who have solved a particular problem is PS and the total number of users who have participated in the contest is TS, then the point value for a particular problem is 5 – 4*PS/TS. So, if there are more users successfully solving a problem, it’s value will be less and vice versa. The Challenge problem point value is calculated by taking the product of the score for the challenge problem with the maximum rating a contest problem can have i.e 5.
4. Suppose a user has solved P binary problems and 1 challenge problem and at the end of the contest, these problems have the values V1, V2, .. ,Vp then the total rating score S of the user for that contest will be V1+V2+…+Vp + 5 * (score of the user for the challenge problem).
5. The new rating of the user will be old_rating+S.
Also, every user’s profile page will now have a rating graph along with the current rating and rank. Your feedback in this regard is much appreciated 🙂
Regards,
Aniruddha.
Makes the competition even more cooler!
Makes the competition even more cooler!
🙂 Sure it does.
Hey, couldn’t you normalize it to be something per contest with some weightage on the number of contests participated in. There is a lot to lose for people who miss out on even a single contest.
Hey, couldn’t you normalize it to be something per contest with some weightage on the number of contests participated in. There is a lot to lose for people who miss out on even a single contest.
Exactly. Please make sure that the ratings are not biased towards a person who participates in more contests.
Exactly. Please make sure that the ratings are not biased towards a person who participates in more contests.
Secondly, I think that the events which took place before the rating system was formulated, should not influence the rating.
Thirdly, Is there a link where we can see the list of usernames, sorted by rank/rating.
Secondly, I think that the events which took place before the rating system was formulated, should not influence the rating.
Thirdly, Is there a link where we can see the list of usernames, sorted by rank/rating.
Can the tie-breaker problem give a variable number of rating points related to the rank achieved on the problem? I ask this because often submitting a solution that does basically nothing can “solve” the tie-breaker, but to achieve a top score can take a lot of work. It could be something as simple as multiplying the tie-breaker’s point value by the score achieved on it.
Can the tie-breaker problem give a variable number of rating points related to the rank achieved on the problem? I ask this because often submitting a solution that does basically nothing can “solve” the tie-breaker, but to achieve a top score can take a lot of work. It could be something as simple as multiplying the tie-breaker’s point value by the score achieved on it.
@Josh Forgot to mention that. The tie breaker is judged exactly how you described.
@Josh Forgot to mention that. The tie breaker is judged exactly how you described.
I agree with Anshuman and Keshav that we need a normalized scoring but I’d like to point out that even that system isn’t going to be perfect. In TopCoder for instance, a new account holder could do really well in just one SRM and not participate in anything further, and have a rating as high as a late blue or early yellow. Meaning that just as people missing out on one contest is a concern in the existing system, people not attending many contests will be a concern for the normalised system. Perhaps a balance amongst the two could be struck (minimum number of contests to participate in before one is rated etc)?
I agree with Anshuman and Keshav that we need a normalized scoring but I’d like to point out that even that system isn’t going to be perfect. In TopCoder for instance, a new account holder could do really well in just one SRM and not participate in anything further, and have a rating as high as a late blue or early yellow. Meaning that just as people missing out on one contest is a concern in the existing system, people not attending many contests will be a concern for the normalised system. Perhaps a balance amongst the two could be struck (minimum number of contests to participate in before one is rated etc)?
There are drawbacks to any system as Vaibhav correctly pointed out. In the normalized version, if someone were to perform really well in one of the contests and did not find time to participate actively in some other, his rating would go down. Also, in the current system, if someone misses one contest, his / her rank won’t go down by a lot if he / she has performed really well previously. We want to encourage people to participate in more number of contests at the same time.
There are drawbacks to any system as Vaibhav correctly pointed out. In the normalized version, if someone were to perform really well in one of the contests and did not find time to participate actively in some other, his rating would go down. Also, in the current system, if someone misses one contest, his / her rank won’t go down by a lot if he / she has performed really well previously. We want to encourage people to participate in more number of contests at the same time.
Is there any ranks page?
I see the ratings and ranks put up on the profile.
Is there any ranks page?
I see the ratings and ranks put up on the profile.
I think the contest before the rating system should not be included.
A normalization would be there , the number of event doesn’t matter the performance matter, also why practice problems are taken into account , anybody can submit the duplicated code for them.
I think the contest before the rating system should not be included.
A normalization would be there , the number of event doesn’t matter the performance matter, also why practice problems are taken into account , anybody can submit the duplicated code for them.
Practice problems are not considered while calculating the rating.
Practice problems are not considered while calculating the rating.
How you account for new user , is they have to practice really hard compare to their earlier counter part. Also they can’t match other people according to new system.
One more bug : their is no indication of what is the highest rating (overall) , so that graph should be made according to that.
How you account for new user , is they have to practice really hard compare to their earlier counter part. Also they can’t match other people according to new system.
One more bug : their is no indication of what is the highest rating (overall) , so that graph should be made according to that.
I think (1-PS/TS) would have been a good value for a correct solution to a problem. I am not sure how 5-4*PS/TS was come up!
I just ran a sample for typical easy but many problem solving coder to a few but difficult problem solving coder and i found your formula would not help the later much as you claim. Whats the median you are looking at between regular easy problem solver and rare but tough problem solver?
I think (1-PS/TS) would have been a good value for a correct solution to a problem. I am not sure how 5-4*PS/TS was come up!
I just ran a sample for typical easy but many problem solving coder to a few but difficult problem solving coder and i found your formula would not help the later much as you claim. Whats the median you are looking at between regular easy problem solver and rare but tough problem solver?
The current formula would help the latter case more than 1-PS/TS. The choice of the number 5 was arbitrary.
The current formula would help the latter case more than 1-PS/TS. The choice of the number 5 was arbitrary.
Some of the practice problems are also very tough. Why cant the admins include performance in practice problems to determine grade. Because it is also possible that a person may succeed in solving contest problem but fails to solve some practice problems. Thus performance in practice problems might also play its role in determining rank of the person.
Some of the practice problems are also very tough. Why cant the admins include performance in practice problems to determine grade. Because it is also possible that a person may succeed in solving contest problem but fails to solve some practice problems. Thus performance in practice problems might also play its role in determining rank of the person.
One of the major problems with this is that a lot of the practice problems have their solutions publicly visible. Also, there is a lot of discussion related to the practice problems in the forums and on the problem page.
well I have seen solutions to some contest problems are also visible.secondly people also discuss about contest problems in codechef. If we visit the site http://acm.timus.ru we will find all practice problems determine worldwide rank along with various contest problems.People are allowed to discuss algorithms for solving a problem but are not allowed to see the code. admins of the site remove codes but do not remove algorithms (if codes are posted in the forum by mischief) Infact discussion of algo increases your knowledge but its very difficult to understand cryptic code. Thus I feel viewing solutions made by other person does not help much. So it does’nt really matter if codes are visible or not.I feel each problem should have a rating given say within scale of 1 – 10. The problems whose solutions are avaible should have lowest rating attached to it. Thus people only copying code cannot make it to the top ranks. Well this is only a suggestion it remains to the admins to decide what to do.
well I have seen solutions to some contest problems are also visible.secondly people also discuss about contest problems in codechef. If we visit the site http://acm.timus.ru we will find all practice problems determine worldwide rank along with various contest problems.People are allowed to discuss algorithms for solving a problem but are not allowed to see the code. admins of the site remove codes but do not remove algorithms (if codes are posted in the forum by mischief) Infact discussion of algo increases your knowledge but its very difficult to understand cryptic code. Thus I feel viewing solutions made by other person does not help much. So it does’nt really matter if codes are visible or not.I feel each problem should have a rating given say within scale of 1 – 10. The problems whose solutions are avaible should have lowest rating attached to it. Thus people only copying code cannot make it to the top ranks. Well this is only a suggestion it remains to the admins to decide what to do.
May be decrease of the rating on not participating..?
So instead of same rating it decreases according to some curve.
May be decrease of the rating on not participating..?
So instead of same rating it decreases according to some curve.
Testing if this is working
Testing if this is working
5-4*PS/TS is equivalent to 1-0.8*PS/TS. It basically assures a person of getting a positive score (>1) for a problem, unlike in 1-PS/TS, where if everyone solves it, everyone gets a zero.
5-4*PS/TS is equivalent to 1-0.8*PS/TS. It basically assures a person of getting a positive score (>1) for a problem, unlike in 1-PS/TS, where if everyone solves it, everyone gets a zero.
when my rating will come?
when my rating will come?
I think there should be a separate category of rating for practice problems to encourage beginners who wants to practise for the time being and are not quite ready for contests yet.
I think there should be a separate category of rating for practice problems to encourage beginners who wants to practise for the time being and are not quite ready for contests yet.
Hi why am i getting 0 rating. July 2010 ranking is showing my score as 1.
Hi why am i getting 0 rating. July 2010 ranking is showing my score as 1.
Hi why am i getting 0 rating. July 2010 ranking is showing my score as 1.
Does not cook-off contributes in rating ?? I did not get any change in rating after solving two problems in yesterday’s cook-off ( August ) … !!
Does not cook-off contributes in rating ?? I did not get any change in rating after solving two problems in yesterday’s cook-off ( August ) … !!
@goverdhan: the cook off is a shorter format and hence the same rating does not apply here. It will unfair to club the 2 formats together. Once we start having cook-off’s on a more regular basis, we shall incorporate an independent rating system for the same.
when will come my rating
plz introduce rating for practice problems also….
This will definitely encourage the beginners, who are not ready for contests yet…
@admin in ranking what is long nd short
@admin:disqus    and the practice problems are counted for ranking
We have two contests at CodeChef per month. The 10 day long contest that runs from the 1st to the 11th of every month and the 2.5 hours running short contest that runs on the second last Sunday of every month. Each one of them has an individual rating system that gives a user two different rankings. Also the practice problems are not counted for ranking an individual as of now.
thank you 🙂
I want to know why my rating decreases after august cook-off as i have solved one question..Â
@admin:disqus , How is value of TS( total number of users who have participated in the contest) calculated?
The country flag on the profile page, will look better if it is smaller in size.
My code is accepted but But my rank and rating are not getting updated plzz help me
Hi Pavan, could you send us an email with details of the contest for which you find your rank and ratings unchanged.
http://www.codechef.com/users/pavan512
the Augest Challange 2013
thanx for replying 😀
My rating got decrease after september to october even though I didn’t attended the october contest.Why is the reason for that?
Does ratings got decrease when not taking part in any competitions.