TL;DR
What if we introduce the followings:
- You'll have a register-as-unrated button. You can switch rated and unrated only before opening a problem.
- If you are registered as a rated participant, you'll get rated when you open a problem, even if you don't submit.
Hello, community.
Currently, your AtCoder rating changes only if you submit to the contest. This is also the case with Codeforces, so I think it's a standard.
However, this scheme clearly has a flaw; you can leave the contest without submission to keep your rating. This implies you may get underrated because of those who didn't submit. You would say things like this can happen only if you are a newcomer, and the effect will be negligible in the long term. I generally agree with it, but sometimes even reds are affected by this issue. I know some people intentionally submit CE code to make them rated. At the same time, I know some people do the "Head to F" strategy or similar things and sometimes don't make a submission.
I'm not that harsh to such behavior; rating is just an Internet point. Nonetheless, it's worth thinking about a new system. What I came up with is the following:
- You'll have a register-as-unrated button. You can switch rated and unrated only before opening a problem.
- If you are registered as a rated participant, you'll get rated when you open a problem, even if you don't submit.
I think these options can fulfill most of the participants' requests. For example, if you can't fully participate in a contest or just want to watch it, you can register as unrated participants and even submit during the contest (but don't get rated, of course). How do you think about this?
This definitely feels more susceptible to user error (for example, accidentally opening a problem before switching to rated/unrated), but perhaps if opening a problem for the first time has a confirmation to ensure you have the correct registration, that would help.
Otherwise, it is a cool idea.
You can open problems with an alt account.
If registration won't be available during contest, you'll have to decide participate or not only before contest starts.
More alt accounts will be made.
Less alt accounts will be made since for participating as unrated you'll no longer need an alt account
Now alt account will have different purpose rather than participating in contest without changes in original account, now purpose will be to increase rating i original with the help of alt. See the problems from alt and check if they are doable.
It's solvable
Killing ugly strategies like "let's not submit until I'm sure that I'll perform well" is a great idea, so it's a step forward, but allowing people to participate in an unrated mode is bad, it just creates more ways to cheat somehow and also kills the point of participating with the others.
So, imo a good modification would go like "if you are registered — it's rated for you". You can think about adding things like "only if you open a problem it's rated for you", but it also causes problems as you can see the standings, use alt accounts and so on... It's better than the current one, but still, the simplest way looks the best here.
Of course, in this idea one should be able to cancel the registration before the contest starts.
I totally agree with you.
We should not adopt rules that enforce cheating, it simply make honest person unhappy. Is there any cons in Radewoosh's suggested one?
Actually I can see one: if you register two days before the contest and forget about it.
I know that it's kind of contestant's fault and you can easily prevent this registering just before the competition, but it's the only situation in which somebody could be sad (or just the only one that I can see).
Contestants often do not know if they can make it to a contest. It happened to me several times in CF that I get stuck in traffic and can't make it home in time for the contest.
Or, in AtCoder's case, contests are at 5am in my timezone. It's very possible that I will not hear my alarm and not wake up for the contest. And there is no way I can predict this will happen.
Huh? The perfect way is to wait with the registration until 5 minutes before the contest and you are ready with your computer.
So if I am ready on my computer at 5:01, I should not be allowed to compete?
I wake up at 4:55, but my computer decides to update before turning on, and I can only access the site at 5:01. Now I woke up super early and I can't participate in the contest because of the registration rule. Also being late by a few minutes happened numerous times on CF too due to the traffic issue.
Maybe the deadline should be something like 2 mins after the contest starts? Hardly anyone would be able to determine whether they can solve F in that much time... though some people might decide to skip a contest whose statements look "too wordy".
I would also consider an option to penalize participants who registered, open a problem but did not do any submissions. In other words, if somebody registered but could not participate (did not open any problem), s/he is handled as not registered one. However if a participant open a problem, s/he will lose some rating (20 points for example) in the case of zero submissions.
I'm not sure if it's a good idea, it would only make people who failed additionally sad. Assuming that you even have some alt account, you have to decide before there contest whether you want to compete with your main account or not, so this alt account wouldn't give you any advantage.
Btw. my idea has nothing like "opening the problem". I think that from the beginning of the contest it should be clearly known for who the contest is rated (and that this shouldn't be changeable).
I don’t get why is this comment different than the others...
I don't get the point of things like cheating. High rated users won't do that, low rated users don't get real benefits because of that.
I see that yosupo actually noted that honest (and low/mid rated) person is the only one unhappy because of that, but imo participating only for rating is not a good thing anyway. Moreover, since most of the people don't cheat, if you do well, regardless of cheaters you will gain rating.
Sadly, I already saw many articles about cheating in codeforces...(e.g. https://webcache.googleusercontent.com/search?q=cache:dFErUfl_ZQIJ:https://mirror.codeforces.com/blog/entry/86135%3Flocale%3Den+&cd=6&hl=ja&ct=clnk&gl=jp)
There are different ways of cheating. In this case I assume it's relatively easy to track and ban those(they practically use the same code or obfuscate it).
Speaking about different way of cheating in atcoder(where you read problems to understand if you can solve it fast or not), this requires some knowledge about problem solving/dedication to that, so threshold for those cheaters is higher -> less percentage of cheaters.
I don't know, for me (and probably for you) it's a point of honor to compete in a fair way, but it's impossible to know what other people do.
"Low rated users don't get real benefits because of that." — well, maybe if a lot of low rated participants decide to skip the contest it affects the high rated participants too.
The idea with "list of rated participants is fixed at the beginning" kills most of the ways to cheat/play unfair. I think that most of the people who use this "perform good or skip" strategy does it not because they like it but because it works and you kind of should use it to not be behind of people who would do it anyway, so fixing the list at the beginning should make things easier and make everybody happier.
You are right in the way that this solution almost has no problems, except being sometimes late to register and lyric's point about forcing yourself to solve problems, which is I guess for me(at least currently) is more important than not letting cheaters do their things(this one has basically 0 priority). Obviously in this case we just have different priorities, so it's up to someone else to decide.
if you are registered — it's rated for you
and
one should be able to cancel the registration before the contest starts
—that's actually how leetcode contests work, which seems perfectly fine to me.
Leetcode even adds test cases after the contest and judges incontest AC submissions as WA/TLE/RTE.
Good idea, but registration as rated participant should be closed before contest starts, like on codeforces. So unfair participants won't able to see problems from another account and decide participate or not based on already seen problems.
I don't think this is necessary even if the second thing is introduced, but I don't care much.
I don't like this for AGC. Not thought much for ARC if I were rated.
Either way, as long as the rule is fair (yes, cheating would be another issue...) and everyone knows it, the rating shows how you do well in that rule. For example, in the current AtCoder rule, I regard the first submission as an action having advantages of receiving verdicts and possibly reducing the penalty (and some mental effect?), and at the same time, the risk to perform bad on the following problems. So I wouldn't say "sometimes even reds are affected"; they just chose their strategy. I feel very comfortable about this strategic point of AGC, and I believe this encourages some people to start with harder problems. Of course, I know that to like it or to dislike it is a matter of personal preference. I just like it.
I think the current AGC is the most friendly contest to who eagerly challenges the hardest (and most beautiful) problems, but after introducing the open-then-rated system, it would be the least friendly to them among AtCoder, Codeforces, and Topcoder. Here is an important opinion: In Topcoder, trying the hard problem first and then giving up to do the easy tasks doesn't hurt the performance because of the scoring system. That's one of the reason that open-hard strategy makes it an interesting game, being not much affected by the difficulty of the hardest problem. In AtCoder, the change would be a huge thing.
Does this mean that if I register as a rated participant but I don't open a problem, I will not get rated. Is my understanding correct? If so, I like this idea. I'd like to make sure this point because it's likely that I sometimes register as a rated participant and forget to participate.
I always open DEF first (C sometimes) in AGC, and check if the problems are in my taste and solvable. And I think that's a great thing about the AtCoder platform. I don't want to solve problems not in my taste XD and here they allow it.
That's why I wanted to set the score distribution as extreme as possible in Hello 2020. I don't want to waste other's time, but submission kinda forces them, so I hoped high-rated people can open FG first and skip if they dislike it. Though, I don't think that worked in my round.
But I also see the good points for this change, so I'll stay neutral :)
Will it be possible to earn GP30 points if a participant registers as unrated participation?
How about, if you want to be rated, you must register as rated and open the problems in the first 5/10 minutes? This seems like it would prevent cheating from alts.
What about people who are more than 10 minutes late to the contest, but still wanna participate?
I think it's perfectly reasonable to say if you are more than 10 minutes late, you can only participate unrated (so you still get to enjoy the problems). I think it's pretty rare to be more than 10 minutes late and still want to be rated anyway.
Listen to tourist man. Click
To the admins of AtCoder and CS Academy: I think there's no need to change the rules. In my opinion, the "loophole" of leaving the contest without submitting doesn't create any big troubles. Clicking on the "Read Problems" button making the round rated for oneself requires a higher level of commitment from contestants which sometimes they aren't ready to provide. There are people for whom the rating is more important than participating in the contest; let them be. We are not reaching any goals by requiring much commitment, we're just decreasing participation.
You might also consider that accidental/intentional participants who are subject to rating changes who decided not to solve anything/quitted the contest will result in rating inflation for those who did solve something.
How do you detect opening a problem? In other words, how do you detect if I make a fake account over VPN, read problems there for the first few minutes and only open a problem from my real account if I think I have a chance? You can't distinguish between "registered, but something came up / overslept" and cheating.
I like the idea "If you are registered then you get rating change, else you do not."
Everything else makes it unneccessary complecated, and hence opens the door to strange tactical behaviour. The situation today "submit to get rating" is not optimal.
Thanks for sharing your opinion.
About cheaters: My goal isn't to eliminate cheaters. I don't think changing the rating system increase or decrease the number of cheatings so much. (But thanks for your suggestions. We'll consider them if we decide to change the rating system).
About unrated-registration: This system didn't gain much support, so it's unlikely to be adopted. (I don't eliminate the option of unrated-registration if you are late for the contest, though.)
About open-then-rated (or register-then-rated?) system: I'm kinda neutral (or a little inclined to open-then-rated, but don't have a strong feeling), and I wanted to know how people are for or against this. Well, the result was not deciding. As an admin, I like to see your name on the standings, but, at the same time, I want you to challenge the hardest problem. It seems these are not compatible. So sad.
Anyway, I have to make my mind. I'll post my decision later.
Decide in the first 5-10 minutes if rated seems like a good idea — people can read F and see if they want to attempt it seriously, and it combats people trying it for a long time and then not submitting anything. It also seems to solve the issue of people who registered but didn't wake up in time, as they would be unrated.