You all went crazy.
Instead of arguing with every opinion separately, I just want to ask one question: Why are you doing competitive programming? Is it to get to 1600 rating and put it on the resume? If so, please use AI, cheat, and do everything possible to get to 1600 as soon as possible and get the f**k out of this platform. And if you are (not) a normal person and do competitive programming because it is fun to solve problems, do you think it is fun to copy the problem statement into an AI model prompt and then copy the code it spews to submit? And why do you assume that everyone else will do that if there will be such an opportunity? The same goes for cheaters. Yes, some people do not do this as a sport, for fun. Why do you care?
I do think that AI is ruining competitive programming. By proxy. And that proxy is all of you who are running around yelling "We will all die, somebody do something about AI". I have seen a couple of comments saying "authors/coordinators must make sure that problems are not solvable by AI". NO. STOP THIS. You are forgetting that all of this was for fun in the first place. Competitive programming should be fun for HUMANS, not inaccessible to AI. Remember this blog? Do you think AI couldn't guess the solution print(input())
? So, do you want to ban what we collectively agree to be one of the best div2A ever just because "a machine can guess it"?
I hope this can be a wake-up call. A chance to remember that this was supposed to be a fun activity for us to enjoy. Lately, I feel like we (as a community) were focusing too much on the negatives (cheating and now AI).
Actually, there was one more "negative" thing we were trying to combat... I'll throw it here, even though this is a fringe opinion and will probably reduce the impact of the blog. Welp, who cares, I'm doing this FOR FUN.
Thanks for pointing it out, It's like chess, even though engines are much stronger and some people cheat to gain rating points online but it didn't stop genuine players to stop playing. They still play for love of the game.
I think it's similar to going to the gym. No matter how powerful the machines become, capable of lifting tons of weight, people will still go to the gym and lift the weight themselves.
I don't believe. I think most people go to gym to look better. Likely same wihth CP: people don't enjoy it, they do it to prove intelligence and flex rating.
And they do CP for three reasons:
to prove intelligence (a.k.a if you are below 1600 your rating is a joke, you are here)
to do problem solving/cp better
just to do it (and you rationally want to do it better, maybe on slower pace than CP athlete)
More "rating enjoyers" (im trying to be polite as much as i can) we have (point 1 is quote from below, and we can see more similar things like this in this topic) — more cheating we will face.
If people only went to the gym to look better then olympic lifting and powerlifting wouldn't be sports. How did you even get to the conclusion that people only do CP to "flex rating"?
Olympics is nationally ranked sport. Truly, nobody wants to do the weight lifting to get the medal, but if they must they will. The medal is what they wish to gain.
A lot of people compete in regional competitions for fun, without the purpose of winning. If what you said was true we wouldn't see retired lifters at comps.
The retired lifters simply need ego validating. The young ones think they are unfit, so they must prove their worth.
The author expresses frustration with the growing concern over AI's impact on competitive programming, arguing that the focus should be on the enjoyment of problem-solving rather than obsessing over ratings or cheating. They criticize the notion that competition problems should be made unsolvable by AI, emphasizing that the purpose of competitive programming is fun for humans. The author believes that cheating and the fear of AI are overshadowing the community's original intent of enjoying the activity. They urge the community to focus less on negatives like cheating and AI and more on the fun of the sport.
what in the GPT is this bruh
brooo lol
Obviously it's easy for you to say, that you are doing this for fun because at your level cheaters dont affect you at all (or at least not significantly enough to notice). It's honestly disheartening to solve 3 problems in Div2 and get top 4k rank and negative delta, whereas a around a year ago when I started CP and solved 3 problems in Div2 got 2k rank and +100. You know what? I also am doing it for fun. But some people want to see progress in their problem solving (as I want) which is noticable by improving one's codeforces rating, but unfortunately even though I have noticed that my problem solving skills are better (can solve 1600-1900 problems more often) than a year ago I have a lower rating than at the start of this year, because of the whole cheating affair.
Couldn't agree more. I don't understand who Um_nik thinks he is. Such arrogance is insane.
it's true, he has never been an official participant of div3 or 4.
yet div3/4 is completely over, like it's no longer considered as fair competition.
You should learn some basic logical reasoning before trying to solve cp problems. Your stupid comment says:
Your point 2 is wrong, he mentions More skills implies more rating but his point is because of cheaters its not true anymore.
More skills but still same or less rating. He is unhappy because of this.
It's you who needs to learn some reasoning first lol
Let me try to explain it in simple words.
There can be two reasons for this:
The runner analogy is stupid too. Runners train solely to compete.
Everything you say here is wrong.
Sometimes it is hard to gauge how much you have improved, that is why a lot of people rely on rating to provide them with that information. We can both agree that for 99% of people their rating accurately describes their problem solving skills. It can be extremely demotivating if you practice a lot but don't see your rating increase.
So what makes you happy? the increasing of ratings or the increasing of skills? Does seeing your ratings go down makes you having less skills? I think you are contradicting yourself here.
You are solely relying on ratings as the only benchmark, the only solid, accurate proof or your CP skills (which should never be). And now when the rating systems doesn't give you as much ratings as before for some reason (AI isn't the one and only factors), you are angry at those reasons? For what? Your skills hasn't go down (as you said), but you are still angry because your ratings is lower than before.
Maybe you are not doing CP for fun, but for the ratings, and ratings make you happy. It's not like if you have less ratings you are going to die earlier, so why making your rating so important?
Why don't you just virtual compete in older contests until you don't think cheaters affect you as much? You can then use https://cfviz.netlify.app/virtual-rating-change to estimate what rating you would have there. That's lowkey what I'm planning to do once I'm done upsolving problems between 2200 and 2400 in all contests I've participated in.
in your blogs / comments you look at people as if everybody is like you , its false i dont enjoy solving problems , i dont like being stuck on a constructive problem for more than 30 seconds the only reason i do cp is because i like the competitive side of it the same reason i would play a game after 8k+ hours do you think i really enjoy it ? no i just like being competitive so if for you u do cp because its fun i agree ai doesnt have a big impact on you but for me i like to measure my performance compete with others and possibly beat some people and achieve afew goals all of which AI and cheaters effect by not more than 3-5% but its still a chance the same reason video game companies pay millions of dollars on anti cheats even tho in most of them cheaters dont affect the player base specially PVE , codeforces has to do its best , again not everybody is similar to you and iam actually surprised you still enjoy cp , in most of the stuff i love doing after nearly 4-5k hours (which is probably less than 20% of what u spent on cp) i get bored and do them less than 2 hours a week and u are here not missing a single contest honestly credits to you
edit : iam no superhuman that can get good at something i dont like and iam not saying i dont like cp i just dont enjoy it the way i enjoy other things which i think one of the reasons i suck at cp , sitll excuses tho
You can't be serious. You are saying that you did 60 rounds and got from 1200 to 2000 in half a year on sheer competitiveness, without enjoying the process? That is so impressive.
I'm interested to learn about you. Would you kill someone who is more skilled than you to improve your place by one in a competition if you knew you would get away with it?
umnik is crazy true that
1 rank higher are u kidding me
(its a joke please dont nuke me)
now ur question is answered , answer mine do you actually still enjoy cp after i would assume 20-30k hours ?
Yes, I think I do actually enjoy cp. I like thinking about problems, I like discussing problems.
Obviously, there are other factors for why I'm doing it:
- I'm pretty good at it, unlike everything else in life. It feels good to get positive reinforcement.
- Competition is also important.
- Maybe something else?
Not that you will consider it to be proof, but I think I can argue that the problems themselves are more important to me than other things. I am (or at least was) one of the most prolific testers of CF rounds. Testing removes the competitive aspect, and more-or-less nobody will know if I did well, but I still do the problems. Solving problems is just fun!
What makes you think you are good at competitive programming? If the thing you are comparing yourself against is unfairly boosted by AI, it is very possible that you used to better than it, but now you are worse. This is very demotivating, especially for lower-rated participants who may not have spent as much time on CF as you have.
Enjoyable or not, competition is still a key part of cp, and if the floor for skill achieved through ai rises above you, does it not kill the spirit of competition?
I also predominantly test rounds instead of take them, but I still believe that it is important to set problems that aren't immediately killed by ai. Otherwise, what's the point of including them in a live competitive round for the purpose of determining relative rankings? They just become cannon fodder for the strong coders and disheartening for the target audience of those problems.
It may be easy to downplay the impact ai has on cp for now, but what happens once it reaches my level? and eventually yours?
do olympiad combinatorics puzzles instead
admits oly combi proficiency
Oh no Iam scared of AI, What do i do sir
Completely agree with what you said. I like solving problems but I also like competition with people around my level and that is/will be ruined by AI which makes me sad. Btw, Umnik also cares about rankings/rating etc. If he did cp only to solve problems for fun, then I don't see why he would spend time hacking 17 people with probably the same testcase. https://codeforces.net/contest/1774/standings
That round had cash prizes and everyone needs money.
Yes, everyone needs money and that is why a lot of people do cp to get a job. However, Umnik seems to not care about their concerns about cheating as he believes cp should be done purely for fun.
he obviously loves the competition we cant forget he is consistently top 10
To be fair, it is interesting to love the competition but not love the actual thing. Would you also enjoy yourself this much if you were competitively pressing the s key as fast as you can?
i spent over 10k hours jitter clicking in minecraft i wont be surprised if i do this , iam starting to think iam mentally ill
damn you might just be based as hell. carry on
"mental illness" -> based
Agreed. However, It is also not normal for people at the top to not care about competition and fairness of competition and only do it for the love of the game. Think of Michael Jordan, Novak Djokovic, Virat Kohli and so many more. Magnus Carlsen, Hikaru Nakamura, Ian Nepo etc if you want intellectual sports. Infact, all the three chess players have accused other players of cheating recently lol
.
Please understand that the definition of fun is different for different people. If, for some people, fun means getting a good rank and having a good rating -- then regardless of what you say AI IS ruining competitive programming for them.
And if you think their definition of fun should match yours, then I don't know what to say
I'm sorry, 3000 in div2 is not a good rank and 1800 is not a good rating. Maybe for some people fun means getting a mediocre rank and having a mediocre rating.
Sometimes reasonable person should hide some of it`s views, even if truly believe in them.
Why? I haven't said anything about people having rating below 1800. Except, you know, that their codeforces rating is not good. It doesn't imply anything about any other characteristic of them.
Rank 100 in a contest would be "bad" for you, but it would be "good" for me. Sentiment towards a rank/rating is purely subjective, only the percentile is truly objective.
Do problems for fun, don`t care about AI
Doing problems for fun, never cheat or being disappointed about newbie/pupil/etc stuck
You are mediocre! Your rating is a joke!
Thanks, man. Now I definitely feel better and motivated to believe in pure enjoyment of problem solving, after one of the top CP openly tells that.
If you read "your rating is mediocre" as "You are mediocre", it is your problem.
What even is the point of trying to get better if you think that any rating is good? Do you think that your rating is good?
Sweet spot — you should do better not for rating. Anything else is pure toxic.
Thanks God I'm above 1800 rating
lol this guy just doesn't care and it's kinda funny
I can see that. All post and comments looks like weird self-confidence scratching by someone who clearly doesnt need it. Well, good that it is not my problem :)
I think he is just a high-rated user who doesn't use alts to voice his true opinions. Many high-rated users use alts to do their dirty work. Very few do it on their main, cuz they are worried about how others perceive them.
Bhaiya life is filled with The Thorny Path
my english is not that good but "A lock on the door is meant to stop honest people from being tempted, else it's not hard for a thief to break it." may codeforces do this so honest people don't be gready, and i also fully support you view that we shoulde do cp for fun as a sport
What is the point of "competitive" programming then?
You don't get it. It's competitive when you have at least X+ rating (X >= whatever Um_nik have said, now it's 1600), but whatever below is a joke. Git gud, but getting good should be your only motivation for now, and several days/months/years (whatever) in advance.
Wanna compete to get more motivation? Get out of the platform. It's not for you. Um_nik said so.
Iam down mr Um_nik
Instead of talking about AI, let's have the conversation we are not ready for.
Human psychology prevents having contests like this. I've seen this multiple times. You can have the most motivated people who earnestly enjoy problem solving and do competitive programming for fun. If you give them an online judge, a problem and tell them "solving in $$$O(n^2)$$$ with bitsets doesn't count", there will always be some fraction of people who will inexplicably submit $$$O(n^2)$$$ with bitsets.
It's just taking the path of the least resistance. Some people will submit to the temptation to see the green Accepted. And again, I'm talking about a very different demographic from greens who want to put "1600 on Codeforces" in their resume.
I know, human psychology ruins everything :(
It is nice to dream though...
human psychology is a funny thing lol
I'm not really an expert on this but I think you may also run into trouble with solutions that have amortized complexity. I have definitely seen some problems where I have a solution that looks like $$$O(n^2)$$$ but turns out to work in $$$O(n \log n)$$$ due to amortization—in these cases, I have a hunch that the solution is fast but can't prove for sure. So in submitting that solution I could accidentally cheat if it turns out my hunch is wrong.
I understand maybe you think that everyone should have a full proof of their solution before submitting, which is somewhat reasonable, but I don't really like the idea of having a system where making a mistake when solving a problem could mess up the contest for other people.
You probably still wants to apply a time limit, since judging everything by complexity will also have their fair share of “bad cheesy solutions” that are against spirits of the problems. For example if you allow n log n solution, then every segment trees, ordered set are now persistent, you can replace every array with unordered maps (where in the current “ruleset”, unordered map is basically a log). These are the two things that could massively aid implementations, and I am very certain there are many more silly near linear algorithms that are never practically linear.
I think cheating might become fun in some (rare) scenarios like stress testing.
By having decided to stress test, you have already committed to just give up on trying to find a counterexample on your own. The result you expect is that after you do a bit of menial work, the computer pops up with a case where your solution fails (or confirms it didn't find one).
Consider the two cases:
I think when maximizing fun, the optimal approach would be either to never resort to stress testing OR to use AI for that. Would it ever be more fun to actually do the stress testing yourself if you knew that AI could've done it for you?
(I'm only trying to argue that it's possible for cheating to be more fun than not cheating in some scenarios. I don't think this in particular is a big deal or anything that would significantly change contest results.)
Yes!
One of my other fringe opinions is that prewritten code is against the pure spirit of CP. For years I tried to argue that, but then I gave up and made some (very non-exhaustive) lib for myself. And let me tell you, it feels nice to not implement a segment tree for the 100th time and instead just press a button. Actually, it kinda increases the purity of problemsolving, because I don't need to spend time on implementing standard algorithms.
use asm instead of C++ then
why downvoted ? this is ratism. i think he said the correct. tthankss..
Wait, you understood what he said? (Or more precisely, you understood how it's relevant?)
it is funny to see that on every reload of the page the upvote count of the blog goes either down or up
I saw it jump from 82 to 87, then to 81, then to 85, then to 83 again.
Agree. Just give them 1600 and kick them out, they are not wanted here.
I think you simply don't "feel" it because you're on the top level where AI can't get right now. Sooner or later it will get even there and you will see the problem. When people even with the rating 2700 who want to be 3000 will be generating ideas to solve the most difficult problems ;-)
But who cares about low-level participants, right?
Not sure what you are complaining about. This is competitive programming and you've been outcompeted by a latest OpenAI model. If you would like that not to happen you should consider participative programming, where everyone gets a medal for participation.
Is it really so hard to believe that he has a fundamentally different mindset? Or at least assume good faith and reply based on that even if you have your doubts?
I didn't mean to insult or anything. My point was that what he thinks low-rated people feel and think now, he could only understand when AI would be capable to compete on, say, 2700 level.
To me, the nature of "competitiveness" of such platforms is shifting now. What is the point of competing and especially gaining rating if majority (imho), sooner or later, will be using AI to some extend to tweak their performance. And if people try to stay "honest" they will fail miserably trying to keep up with the AI-users. As for me, I still participate, because I like to think that I can solve at least something and trying to solve something harder.
Maybe they are trying to say that "people at the top" don't have to compete against people relying heavily on prompts.
But they, unfortunately have to.
There is an argument commonly made here. That the presence of such people (who just want "1600 on CF" on their resume) doesn't change the relative standings of people genuinely interested in competitive programming.
I find that lacking, since competing involves comparing with people at your level. And it is not convenient to check what proportion of those who performed better than you on a contest are genuinely interested in problem solving.
Comparison is built into contests in one way or the other. If someone just wants to enjoy solving new problems. They can do it from the archive.
The concerns regarding "cheating" during contests and "future use of AI" in competitive programming cannot be dismissed.
I believe thinking with AI is also a skill too which is going to be needed more and more these days.
Either CP will become a contest for this type of thinking or a whole competition will be created around it (like ACP or whatever).
BTW, Um_nik, I want to know your opinion on this:
The best AI by openAI could get to 1800 but also IOI gold, why is this happening?
The model submits for 10,000 times to have an "IOI gold-equivalent peformance."
I think it is ambiguous what was these 10k submissions for.
I believe this was not for debugging, because as people said you can generate small tests and test your code 10K times, and even they mentioned that the model itself generated test cases:
Submissions were selected based on performance on the IOI public test cases, model-generated test cases, and a learned scoring function.
If the submission was used for guessing the test cases, corner cases, and randomized algorithms that worked well for the specific test cases, then this achievement means nothing for ICPC-like contests.
Holy shit this guy speaks nothing but the truth
After watching it, I felt very moved. Although my competition results weren't very good, thank you for helping me regain the passion and enjoyment I initially had when I started competitive programming.
just play cp like chess, and enjoy it as a sport
and losing over 200 rating in just 4 contests and go back to pupil like me emoji:skull:
lol, dw, even I lost a lot of rating, but anyways, if we are actually improving, we would know it from inside, that yes, I am improving, I can feel it, and lately, I feel that I am improving, maybe the time it takes for us to become good will be more than usual since cheaters there rn, but it will surely come :prayge:
I totally agree with you that solving problems is fun and AI won't ruin that fun, however contests aren't just solving problems. Before continuing, let's totally ignore the people who do competitive programming for their resume or similar reasons since I also think that's ridiculous, so we assume that everyone here likes solving problems.
I think a lot of people get a kick from participating in contests, performing well and "beating" people they couldn't previously etc.—i.e. they enjoy the competitive nature of the sport. If an AI can outperform $$$X\%$$$ of the participants then you basically ruin the competitiveness between them. Why would anyone belonging to that $$$X\%$$$ participate in contests then? Even if they liked solving problems they would just upsolve afterwards. Now the real problem is that I'm not sure if we could have weekly contests etc. if $$$X\%$$$ of the people stop participating in contests.
Disclaimer: I don't think we are at the point where we have to worry about the sustainability of competitive programming but I genuinely believe it's something worth wondering about if we consider the possibility of AI actually performing better than a huge chunk of the people participating in contests.
People who solve problems for fun >> People who solve problems for getting into faang
People say you become expert in programming when you become expert on codeforces.
time to question that with interference of ai.
maybe we need to raise the bar higher.
nobody says you become an expert in programming when you become expert on codeforces
I can confirm the fact that being blue does not imply that one is an expert in programming.
I can confirm being orange does not imply that one is an expert in programming. I don't even know how to use a virtual environment.
I agree that CP is fun and we should not be bothered about cheating, but then what is the point of having a rating system?
We, as Competitive Programmers, can just enjoy the contests without being bothered by ratings. But Codeforces, as a platform, has a rating system and they should be concerned about making sure the ratings the participants get are legit. They should be concerned that the rated contests conducted on their platform have no unethical activity. And we, as a community, can share/discuss some ideas on how to reduce these activities.
I have posted this in the discussion about the AI rules but I think it is important for people to know, I would create blog but I don't think people would care, anyways there's a lot of misinformation about LLMs and their capabilities (a lot of the big AI players are just selling snake oil). Take this into consideration when thinking LLMs can reach some ranks.
There is no evidence that current large language models (LLMs) can solve problems that they have not been directly trained on. Systems like AlphaCode are not accessible to regular users, and their true capabilities remain unclear. Techniques like Chain of Thought (COT) do not enable models to "think" in a human sense; they merely rewrite the input text to try to fit it within the training data distribution.
For example, LLMs struggle with basic arithmetic. If they provide a correct answer, it is because they have been specifically trained on that sum. To break the model, and get a wrong answer, you just need to add more numbers to the equation.
If you use a COT technique to break down a sum, such as:
123456 + 123456 + 123456
to something like
the model only needs to identify pairs of digits, like (6, 6 -> 2) and (5, 5 -> 0) (technically pairs of these as you need to take into account the carry). However, this does not mean that LLMs can reliably add numbers, as their probabilistic nature often leads to incorrect answers. For more details, you can watch this presentation at https://youtu.be/d_bdU3LsLzE?t=1726 (the timestamp corresponds to the slide where this is discussed).
I also mentioned that in order to clear the myths of what LLMs can and can't do it would be interesting to create an official account that uses an LLM to compete in the contests to let people know what the real capabilities of the models are and have data to study possible cheating patterns.
Indeed, though some of it may be attributed to the fact that LLMs are not reliable. Even 75% success rate would imply that one in four users would get an incorrect answer; during long conversations, that becomes inevitable, so one cannot rely on existing neural networks.
I think there were some examples of solved problems. (I can search, though that which is dismissed without evidence can be insisted upon without evidence.)
On reliability: scaffolding can enable LLMs to write correct code/formalized logic only; that might lead to a mismatch between program logic and comments, but that's unprobable.
Points of training data form a high-dimensional space, that implies any polytope only takes up negligible volume, making most of text-continuation tasks extrapolation rather than interpolation — so, creativity is there. Also, people do some parts of thinking differently, but some parts remain same.
We already have LLMs capable able of taking a problem statement, trying out a series of ideas step by step and writing code that successfully solves it.
In a way the specifics of how they work don't really matter. The fact that it is only predicting the next token based on some statically-learned weights doesn't matter.
It is only pattern matching on a language level, but in a way that's how humans solve problems as well. There is nothing in the architecture of LLM's that prevents them from achieving GM or even higher ranks. At this point it even seems inevitable.
Unfathomably based opinion lol
In fact I think competitive programming platforms should have an option for all participants before each contest that says "I am a pussy and does not actually want to do competitive programming; I am only here for the rating. Therefore, I would like to take the performance of [insert best AI model here] as my own for this contest and relinquish my opportunity to solve the problems and have fun, so that I won't ruin it for other people".
On a more serious note, I think we have enough time to deal with AI before some Stockfish level model happens. In chess, no one really cared about chess engines until they touched the highest level of human play with Deep Blue, even though they cracked Master level more than 2 decades prior. Even now that computer chess far exceeds human abilities, they still fail to produce engines that play "human-like", meaning that cheating in chess is oftentimes painfully obvious. If tomorrow a model that can solve every 3000-rated problem in the world with some 2000 lines monstrosity suddenly appeared, I would marvel at that feat of technology, but I doubt the competitive programming world would be "rocked" or "destroyed" because of it.
My problems are mainly for those who want to solve genuinely, but anyone can feel free to slap their AI model on it. Just like chess puzzles.
Radical thought experiment, don't take this too seriously.
Remove all ranks below Candidate Master. Do not publicly show any rating below 1900. Treat only Div. 1 rounds as true competitions, and treat all lower divisions as mere qualifications to Div. 1.
This but unironically.
(I don't know the exact cutoffs, so treat exact rating values here carefully, they might be incorrect) The existence of div3 and div4 kinda makes ratings below 1900 a joke. div3 and div4 rounds aren't even coordinated by the same people as div2 and div1. They don't follow the same standards of quality. But they have a common rating system. Have you noticed that div3 and div4 rounds have 6-8 thousand more participants on average than div2+div1? Even though div2+div1 technically cover all ratings. IMHO, it means that there is a significant number of people who want to get to some rating cutoff (1600? maybe even higher) without interacting with actual Codeforces rounds.
I'm not sure it implies that. Well, it's partly true. There definitely are people who have noticed that it's easier (?) to get a rating boost in Div. 3 and who now strategically participate only in Div. 3 rounds. But based on some conversations there are also people who are under the impression that Div. 2 isn't for them ("i'm only 1100 rating, no way") even though Div. 2 is open to everyone and in the good old days was the only division for those under 1900.
I think it's not that.
In the newbies I teach, I often see a mindset like "Div2 would be hard for me right now, but Div3 and Div4 are fine". And often I tend to agree: solving 0-1-2 problems in Div2 would be demotivating for most, more than anything else, at their current level. When they continue learning, a year or two later, they take part in Div2 just fine.
yeah I know a lot of people who only participate in div3s and 4s
And once they reach Expert they simply stop participating in rounds cause they are afraid not to be "EXPERTS" any more
IMO div3s and div4s do nothing more than making codeforces fail for days , and they should be cancelled
The issue with this approach is that the cutoff is floating. So now it's say 1900, a year later it's 2200, two more and it's 2500.
For people who want to see rating at all, this would make it meaningless soon enough. Personally, I admit I like seeing the numbers go up and down, though don't really care too much. I did take them quite seriously in TopCoder times though.
Do you think it's possible for AI to keep climbing this rating ladder much further without also reaching some form of humans-are-obsolete scenario in the process?
Like actually having a 2500 rated AI without it also being able to do almost all non-physical jobs better than humans and causing all kinds of chaos and bigger problems to worry about?
I don't influence decisions about AI advancements at all. So, worrying about a humans-vs-AI meltdown doesn't seem productive. Thus I'm just planning with the premise that the future does exist.
I just meant that maybe we can do some branch cutting here?
case world still exists:
case world doesn't exist any more:
Like maybe we don't have to worry about 2500 rating AI, because by then the world has already ended?
I was just curious, if you sorta agree with this or actually think it's possible the world is just fine in general, but we have 2500 rated AI?
Ah, I see.
People are generally scared of change, and quite ingenious when pressed.
So, a case where people still exist and hold on to a similar world, in any circumstances, looks quite possible to me.
I always felt the same way. If AI can reach 2500. It probably would have developed capabilities enough to render humans obsolete.
I think people could've made the same argument about chess. Even though it seems like on the surface a 2500 rating must actually be capable of reasoning at a very high level, what if it's process of solving is:
I think that would clearly be something that is possible without it also being world-ending AI.
Well, there has so far always been a way to belittle the AI for what it can't do.
Well, it can't do anything else really. Also chess has such a small branching factor, you can easily look many moves ahead. Hell, even a simple brute force can beat most humans, you barely need an AI.
Cool but... it can only do these simple games!
Ok but it can't do anything actually useful you know.
Okay, that's useful. But it can't do anything meaningful in STEM.
Holy shit. Ok, but it has dogshit reasoning. I need to tell it exactly what to do and it still makes mistakes too so I need to check everything.
Ok, it can mimic other people's reasoning for standard-ish problems and apply it. But it can't solve any actually hard problems or multistep problems... right? It doesn't actually think.
... It can't take care of farm animals with love and care?
human has left the chat
I mean I mostly agree with that. It doesn't change (or even respond to) my point that we could live in a world where a 2500 rating AI exists without it also being able of taking all jobs.
Sorry, my bad. I only argued against this part:
(As in, there were many other things the AI was missing back when chess AI was interesting, but reasoning ability sorta sounds like the last missing piece.)
Not sure if this is possible when the problems involve multiple steps (either in terms of implementation or mathematical observations). Like, maybe the problem requires 3 different observations which it can generate correctly with probabilities
p1, p2, p3
on their own.Then, if it doesn't do any form of reasoning, then it would have probability p1 * p2 * p3 to generate the full solution in one go as all 3 pieces are required for it to pass stress testing.
However, someone/something that can reason would think until they generate the first observation. Then be convinced that it's good. Then move on to the second one, and convince itself that it's good too. And then the third one, all separately.
So maybe expected time to solve would be
1 / (p1 * p2 * p3)
for something that doesn't reason at all, but only
1 / p1 + 1 / p2 + 1 / p3
for something that does reason, as all events are separated.
if p1 = p2 = p3 = 10% for example, this could be the difference between 1000 attempts and only 30 attempts.
I think that after some problem difficulty threshold it will become necessary to do this step-by-step thing, because generating the entire solution in one go would be too low probability for even 1000 attempts.
Ah, I should clarify. This suggestion is not meant as an anti-AI measure.
I think competitive programming ability is some proxy for competence. Thats why hiring process involves something similar. And even with internet access freely, I cannot beat the performance of a LGM. This is cool and serves as motivation to improve and even as a source of respect: from all the tools and things on the earth, the human brain is the best at this particular activity, and there is no way around it.
I dont think we should limit ourselves. We should use the best tools and strive to be the as good as possible. And even with AI, for now at least, I cannot beat or have a performance similar to a LGM.
The whole “we do it for fun” is cute and all, but you Um_nik are of course a very competitive person. If AI is good enough to the point where the performance of someone assisted by it is indistinguishable from a top contestant, we should stop having rating or prizes. And only do it for “fun”. For now the competition still lives, humans are better than AIs. Lets enjoy while our dominance lasts :)
Every single time Um_nik pops up he gives us a banger.
Um_nik is right.
I think that the author is quite right because the AI has make the competition unfair and boring
It is quite elitist to say just because you're doing it for fun of problem solving everyone else should as well or else leave. Competitive programming is neither software engineering nor academia but it is educational and can moderately help with both. From the AI vs contest perspective a big part of the fun is the competition and ranking for many people (at least me), no different than why many like any other sport.
The difference between sports and chess vs competitive programming is that almost all contests are online making it impossible to prevent cheating in its current format if AI reaches that level. This has potential (not necessarily, chess.com is still fine I think) to get rid of any fun from the competitive perspective, which is at least a valid concern.
We should absolutely get rid of problems like the one you mentioned and had a typo "we collectively agree to be one of the
bestworst div2A" (I hate that blog, only sampled from a bunch of minimize algorithm circle jerkers). Those problems for sure make it no fun for me and many others.I remember you. Of course, your taste in problems has the right to exist. But I'm glad it is so far from mainstream together with 200x ICPC WF.
It is funny that people are dissatisfied that I'm talking about my point of view, that I'm elitist, that I don't care about people who does cp for jobs, that I don't care about low rated people... Yes! All of that is true! I AM talking about my point of view! Pretty much always! Isn't everyone? Isn't that how "being a human" works? You are talking about your point of view, I'm talking about mine. I want my point of view to be visible, I want there to be a blog that says what I think among the sea of "CHEATER EXPOSED" and "Death of CP" blogs.
We are truly living in the holocaust of the cyans
Nice.
Thinking about the fact that this guy probably saw this comment in his main account, then decided to log in to this account to leave the perfect comment after ten years since his last comment is so funny to me!
legend
Remind me when have ever div2 users cared about the feelings of reds?
You're writing this comment on a blog post of your feelings that's surely been upvoted by hundreds of div2 users
First, you have no way of knowing who upvotes a blog post. Second, I would say it is just the power of telling about your feelings honestly, without trying to consider the needs of everyone else. Message "stop being so uptight and just have some fun solving problems" naturally resonates with people I guess. Third, I upvote a lot of messages, doesn't mean I care about their authors.
People in this comment branch seriously say that I should not write about what bothers me and suggest that if I would care about things that bother them, they would in turn write about things I don't like. Unfortunately, that's simply not true. I wrote this blog because there were tens of blogs/comments about how AI ruins everything and 0 blogs/comments about how all that panic makes reasonable people mad.
I was going to reply
If you were true to your blog, I'm sure there are many problems banks even you have not completed. Yet you are here talking about the desired nature of contests, which unfortunately requires competition and compromise.
But I think this says it better.
Let me just check I understand you correctly. When I write a comment, I should consider how the issue affects all the users. When you write a comment, you only consider how the issue affects you. Is that correct?
You can write whatever you want, but if you want it to be worth reading for actionable advice to others it helps to consider viewpoints besides your own.
If you mean my problem views, of course I know there are many preferences, I only mean to advocate that the style in new contests should not narrow down to a small subset of what cp could contain.
Hm, I think it is not as easy as you argue. I absolutely agree with you that one should not cheat, and that solving problems is meant to be fun. But what is fun?
In Codeforces rounds, one is allowed to use the Internet, and this can be fun. (Isn't it? One might have heard of a concept but doesn't really remember it, so they want to refresh their knowledge; one copies an algorithm they don't have in their prewritten library; one searches cppreference to see how some new STL feature works... Well, it seems that can be fun.) Then AI appears on the scene, and some time later, the default browser response will come from AI. It will be fun; you will just receive information in a more compact and readable format. But it also enhances your performance, and what does your conscience allow or disallow you to ask? The AI can also tell you, for example, which types of queries are answered by a min kinetic segment tree. I don't know, but I can follow a link and find out. Or I can ask the AI and learn it faster. And probably it will respond, "No, it doesn't included in the default interface, but it can be easily done with..."
There are also some AI helpers, like extensions for IDEs. I don't use any, but I do use auto-completion. Sooner or later, it might become very widespread and be included by default in some fancy editors like CLion. The AI saying, "This place is likely wrong," is similar to a compiler warning but much stronger. Why and do should I switch it off if it becomes a default feature of an editor?
TL;DR: I don't think the impact of AI is significant now, provided you don't cheat, but in the future, it might become a real problem even for those who just want to solve problems.
Putting aside that this ignores constant factors, and nowadays people are encouraged to write better code (don't use maps and implicit segtrees, if the TL is tight), so this is a bit of another competition... Should I submit kuhn algorithm if the required complexity is O(m + n)?
Is this the end?
Thanks for the question; I indeed made it too dramatic.
No, problem-solving is just changing, and AI is infiltrating our lives. I guess something will be invented — probably it will be easier to control what the AI is allowed to hint; perhaps the use of the entire Internet will be forbidden, (as already made in some other competitions, but codeforces is unlikely to adapt this strategy)... If AI becomes powerful enough to solve all the problems that humans can solve, it might also organize contests for humans with interesting rules.
You just cannot deny that saying "You shouldn't ask the AI for problem solutions, and this would be fine" is a false claim. For example, Codeforces has allowed the use of AI "for syntax and minor coding suggestions". This means the rules are changing right now, and the old problem-setting methods are becoming outdated. But this is progress. Do you regret the days when everyone was coding in Pascal without even a built-in sort, and IDEs were much less convenient?
See.. ratings are a very accurate measure of whether you've actually gotten better at competitve programming or not. Its feedback. With everyone using AI even if i'm doing all the right things and i'm improving, i wouldn't know that. Sure CP is fun. But so is improvement. And i don't trust myself to make judgements like: Hey even tho my rating hasn't changed in a lot of time i'm still actually getting better at solving problems. That's the only reason i'm worried about AI in the CP scene.
Ratings are not a very accurate measure of anything, especially CF rating.
It's an accurate measure of success at CF contests.
Well then, I am better than you at programming. Agree?
Never used cheats, AI, and everything possible, but numbers just motivated me asf. Now I've read your statement — thanks, Umnik. I'm going to get the f**k out of this platform.
I don't know how you get to this conclusion after reading my blog, but ok. Good luck, bon voyage, I certainly wouldn't miss you here.
I think that problems with fixed time complexity are only good as theoretical math problems, since there is no need to write some asymptotically better solution that would start working better than bitsets only when $$$n \ge 2^{1000}$$$
"solving math problems with a computer" is a good one tho
It's all fun and games until Arnold Schwarzenegger walks into the IOI finals
I'm sorry, but I have to disagree and I think my objection has merit even though I stopped competing years ago and weren't especially good in my "prime" either. If only thing that mattered were solving problems there wouldn't be competitions at all. Also, you can't really convince me that it doesn't feel good when you beat tourist or when you were ranked number 1 on the leaderboard. Similarly it's natural that even lower rated coders wants to be in let's say top 10000 or top 1000 users, however if we get to the situation when a random person from the street can get a better result, competition becomes pointless for thousands of users. Sure, they can still enjoy problems, but then there's no point in competing at least not for a year or two for them.
regarding the "You are not ready for this conversation" part: there's been once or twice where I thought I had a nlogn but I had a bug making it n^2 while still correct. and you're n<=100 idea wouldn't have caught it
I wonder why you censor the word fuck
He is from United Kingdom, probably doesn't have a "writing FUCK on the internet" loicense yet or it has expired.
I agree with you on the point that AI should not influence problem setting. I think that a 'good' problem is defined by how much fun participants have in solving a problem instead of how effective that problem is in filtering out lower rated participants. If we start avoiding setting problems that AI can solve then eventually we'll reach a point where no problem is a suitable problem as AI would be solving pretty much everything.
Although I believe there is some truth true what people say about the 'death of online CP', I believe that the rating system adds a unique dimension to solving problems. Aside from people who do CP for jobs, even among people who genuinely enjoy solving problems, a lot of people also do CP in the hopes of something like 'I want to be a grandmaster someday'. I also enjoy solving problems a lot but somewhere inside I also have a dream of being red someday. That thing might completely go away, and CF might become another online judge like Timus or Uva. I would still enjoy solving problems the same way even if AI can perform better than me, but it is a little sad to imagine that I will have to give up on whatever rating dreams that I had.
Don't panic, people still play chess, and will do CP as well.
Can we create problems that AIs are unable to solve? Maybe it's true if the problem is easy for human perception (taken from real life, having a natural statement) but difficult for rephrasing in mathematical terms.
No, please, I don't want any more origami problems on codeforces...
i hate seeing mentioning chess in this thread. cp and chess are sooooo different in terms of the participation process.
It's called "competitive" programming. We don't do Codeforces just because it is "fun" to solve problems. We like beating other people and achieving good rank. No one wants to lose rating just because they were moral enough not to cheat. The moment AI becomes LGM rated we won't be able to trust rank anymore. Especially because cheating with AI will be just few clicks away and there is absolutely no way to detect that. You're arrogant to call people crazy for noticing this. You just don't understand the problem. Codeforces doesn't exist just as a platform to allow people to solve problems. It is a platform where people can compare their skill with others. If you want to solve problems why do it in contests and not offline where you can choose difficulty and solve them anytime you choose. You just don't understand why it is fun for you and are crying about it.
This is what we call: toxic positivity. That we ignore problems because we wish to have fun. Toxic positivity is bad.
Why do you not care? Cheaters rage rampant. You are saying this: New York is a great city! Rent is highest in all of U.S.A, homelessness rates high, has very cut-throat competition, but it is overall a great city with many opportunities, has many tourists, and is the one of the most urban city (if not most) in all America! Therefore ignore the problems of the city!
Which a) you are saying because you are high rated to not be affected by cheaters and b) you do not care about the bottom. Shame on such people! I do urge you to change your viewpoints.
Can you please assume good faith a little more?
Analogy is by far one of the worst arguments you can make in a dispute.
"The war on cheaters" you wage by creating dozens of "ChEaTeR ExPoSeD" blogs has roughly zero impact on cheaters and a huge impact on my well-being. I also think that by trying to fight cheaters you help the underlying reasons stay strong. You can choose to fight windmills. I will choose to fight people who make my life worse.
Forgive, but how do the blogs make you have a worsened well-being? I think there is nothing wrong with catching cheaters.
As for 34z12000, I do agree: I think the analogy is poor. Homelessness and extreme prices are not as critical as rating. I think the point I was trying to get across is that: we cannot ignore the bad stuff, just because the place has good intentions.
?
People come to codeforces because of :
A) They have some kind of goal as a job, a university in which a rating can help
B) For fun .
(Of course, the number of people in group A will be greater than B) The most interesting codeforces is a platform where people compete who will pass the most tasks, people come to get the practice of "competition", if you want to solve problems for fun, then there are other platforms that are only aimed at this.(just my opinion)
Most ordinary people (like me) may just like to compete, as the name CP suggests, and for most people, a competition is only fun in a relatively fair environment. Of course, the competition is still fair for the talented/hard-working people on the top (like Um_nik), but it's reasonable for ordinary people to be concerned. There is a reason why this became an issue of focus after the recent post of OpenAI: the new model is suddenly capable of ruining the competitive integrity for a much larger proportion of people.
This is similar to playing many online PvP games(DotA/CS/League/you name it). Sure, there are pro players who are able to take pure enjoyments from practicing and improving (resembling the 3K+ Gods on CF), and then there are hackers who want to get some fulfilment that they are desperately lacking in their real lives. But in the end, most people are in between, and are just playing for fun; but there is no fun in playing against hackers or smurfs (people who create new accounts for deliberate uneven matches). There's a interesting resemblance that most pro players care very little about hackers and smurfs as well (because they would dominate them regardless).
CP has never been a sanctuary where everyone takes enjoyment purely from solving problems. If that is the case, they could have just go and solve the existing archive of problems (in which there are many great ones) instead of taking part in live contests. The competitive nature of CP is built in to its name itself and cannot be denied.
As someone who's spent time on both CP and Counter Strike, I'm gonna have to disagree with some of this.
I agree with Umnik here, and I'm also someone who stopped enjoying CS because too many cheaters. The fundamental difference is in PvP, you're playing to win against potential cheaters directly. For the same reason, comparison with chess, also a PvP game, doesn't make a lot of sense.
In CP, what a cheater is doing doesn't affect your performance. In some sense, CP is also PvE. You're also competing against the problemset. How many of given problems you can solve in a 2 hour timeframe is completely your skill, no one cheating can affect that. If you're consistently getting faster, more accurate, solving harder problems, then your rating will improve, for the people who care too much about ratings.
About the competitive nature of it, do people really care about a global rank that much? From my experience, the competitiveness is with a few people you know. Friends, classmates, coworkers, etc. Assuming none of those are cheating, don't people just compete against people they know? Then strangers cheating should not be affecting morale by too much.
The ploblemset alone can't define your rating(it needs feed-back) in a contest because if it were the case then the rating of a problem would be set before-contest and not after-contest, the reason of rating getting set after-contest is because it will depend on how many and who solves the problem during a contest, thus, yes, cheaters will affect your rating performance.
If you're consistently getting faster, more accurate, solving harder problems, then it means that you are in fact getting better but it wouldn't necessarily increase your rating
Cheaters affect your rating, yes. But all they do is shift your 'normal'. Say you'd be 1800 if there were no cheaters. But since some contestants are cheating, you'd slowly fall down to say 1200 with the same skill. But there will be a point where your skill would match the 'cheater adjusted' rating. From that point onward, any improvement in your skill will reflect in a rating increase, it'd just be from a different normal.
The rating system is relative. Absolute ratings don't mean much, it's the delta that matters. After reaching your cheater adjusted normal, if you're improving in skill, your rating will have positive delta.
If the emphasis was on competing against the problemset then what is the point of contests? You could just solve problems from the archive.
Almost every video game I have ever played had a ranked competitive side. I enjoyed grinding and ranking up. For example, in VALORANT, I enjoyed ranked matches much more than unrated ones because people are trying and I have to play to the best of my ability, even though the things I am doing are basically the same as unrated. If there were a lot of cheaters I would have definitely quit.
I'm sure that there are lots of other people who mainly enjoy the aspect of competing.
I didn't say contests don't have a point. You solving the same set of problems with other people under timed conditions is very different from solving from the archive independently.
I'm saying that the competitiveness is with known people most of the time from my experience. If there's a set of people you know are competing you'd normally compare your performance with them, and enjoy the post-contest discussions with them. How many randoms filled in your relative leaderboard would be of little interest.
I wish to be better at programming simpliciter. That is why I log on here. If AI can solve problems here then we can find better ways to detect it or we can change the problems so the AI cannot solve them.
I largely agree with the main point of the blog — but I'm curious, would you be fine with dropping from rank 10 on CF to let's say rank 200, knowing most of the people above you are cheating, but not necessarily knowing who exactly, and wouldn't it ruin your overall experience (e.g. when reading blogs and not being able to understand the person's real rating)? Would you be fine with never qualifying for an on-site competition because of cheaters?
I am not saying either will necessarily happen, but I do think that this invention may cause some harm and demoralize people, especially for someone younger who has never been to an on-site but is good enough to qualify right now. And it looks like contests with any material prizes will indeed need to find ways to address the AI cheating concerns — no company is interested in giving money to random unqualified cheaters on the internet
For me personally, it may just be the fear that my efforts will be belittled and deemed worthless. The emergence of AI has significantly lowered the difficulty and threshold for achieving a 1600 rating. While reaching this score might require a lot of time and practice, I am not a particularly clever player, I am willing to invest a lot of effort and time into this competition. I not only enjoy the fun of solving problems, but I also appreciate the process of seeing my rating improve in quantifiable terms. Perhaps when a 1600 rating becomes a topic of conversation, people might say things like, 'Don’t just look at his rating of 1600; it could just be because of AI.' This person has no real skill, or something similar, as if to say, 'It’s just a 1600 rating; AI can easily boost it.' When such discussions and sentiments spread, it will be really difficult for me, as it feels like the effort I put in is being trampled on. I do admit that even before AI, there were many ways for people to cheat, which could help you reach a higher rank. However, when I think about how AI has greatly lowered the threshold for cheating and shifted the attitude towards discussions about ratings, it can be quite disheartening. Indeed, we cannot stop how a technology is used, but I still hope that AI technology can greatly assist in self-learning effects. I enjoy the joy of solving problems and am committed to it!
From his[um_nik] POV, gray coder and blue coder are not much different.
I love problem solving. I do it for fun. Even though I'm not very good at this. But it's true that positive delta makes me happy and negative delta makes me a little sad. I think this is the fun of sport. If people start cheating, it will be a little disappointing for beginners like us. I'm not against AI. We do CP to improve our skills, not AI skills. I think these AI companies should have some kind of watermark in their codes for the sake of programming. So that people can't blindly cheat on contests. I think it will be helpful. This is just my feelings about AI and cheating.
my brain is broken
thats why you arent an LGM yet lol
Is it a good idea to create separate contests where AI is fully allowed, similar to "advanced chess"? These contests could share the same rating system but have a separate group of participants marked as "Centaurus." Essentially, they would be competitions focused on AI prompting. For a while, a combination of AI and human input might still outperform either AI or human alone.
ChatGPT agrees:
Chatgpt is the dumbest thing ever
Welp, passion boosts actions harder than vanity.
Competitive Programming: Literally has 'competitive' in its name.
Umnik: You should enjoy solving problems without caring about competing at all!
Cheating may offer short-term gains, but in the long run, it ultimately deceives us