Perhaptation's blog

By Perhaptation, history, 3 months ago, In English

(Excerpted from Perhaptation's Stargazers (https://perstar.neocities.org/blog) — my personal website)

As an ICPC contestant, I am preparing for my first regional contest to be held on September. Those days, I have seen someone said that competitive programming is slowly dying because of AI. I think this should be separated into two parts: (a) The ability of AI is overwhelming high, (b) The phenomenon of AI-assisted cheating.

To be honest, as an ICPC contestant, I think the (b) is a secondary factor of the decay of competitive programming, because you can't use AI or even the Internet search in the ICPC-series contests. However, perhaps, the (a) is a key factor. The online competitive programming is declining because of (b) caused by (a), that is inevitable and undeniable as it is a certain result of the rising of AI (especially when OpenAI's ChatGPT can AK ICPC WF 2025 and CCPC Final 2025). Now, I would like to discuss this in detail.

Firstly, I must say that I have too much to say, but due to space limitations and the possibility that I may not be able to stop writing, I can only discuss a small part of it.

First, let's discuss the (b). This is a difficult problem to solve in online competitive programming. There is always a lot of people just want to raise their rating to purple or orange to show off or to find good jobs (especially in India, where you really can use CF Rating to find jobs). However, my target of competitive programming is the ICPC, a flagship contest. It can prevent us from cheating. This is why I say that it is a "secondary factor".

Then, the big problem appeared. The (a) The ability of AI is too high. When we see that AI can solve the problems in one second while we use hours, what is the meaning of solving CP problems? Is it useless from now on?

One interesting analogy is that What is the point of solving a problem if the author already knows how to solve it and has written the solution? if there is a point in this case, then why shouldn't there be a point in doing competitive programming when AI can do it?

I agree this. However, CP problems are closed, you know that it absolutely has at least one available solution, but I do think that you don't have to solve any closed problems in real work. Also, the thinking method of AI is far from human. It is just like 1000 International Masters thinking about the problem simultaneously and eventually there is a big probability that one of those international grandmasters can find the correct solution. The difference tells us it is meaningless to compare with AI. In this aspect, this analogy is true. However, the result also matters — the result is that AI can truly solve 3500-rated problem! The AlphaGo moment of CP has come. The history tells us that AlphaGo didn't ruin the Go sport, it is making it revived because we have one more method to learn and we can make the limit of human's brain power higher — the Centaur is more powerful than AI, while the AI is more powerful than human. But how to be a good Centaur (at least for now, the power of AI is not 1 million times higher than us)? The answer is clear. I think that the same applies to competitive programming because in my opinion it is more like a sport than a practical skills competition.

One of my opinion is that competitive programming is a mirror of real work. In the past, when the AI didn't exist at all, your problem-solving skill can assist you on real work. Perhaps you can locate an error in a code which increases the time complexity from O(n) to O(n²) to make the system collapse. However, now, AI can do this from the very start. You enter all code to AI, and it can help you to find all the errors, and give out the best solution to you.

But does this mean that competitive programming is dying? Probably, partially, if you just want to compete and just longing for triumph — because you can never beat supercheaters and the most advanced AI. But let us think about that — It is a good idea to learn the true principle of programming via competitive programming — nowadays a lot of programmers use 90% of AI codes, making them lose their control of their projects. Attending CP events can help them regain the feeling of controlling everything — at least by using the bottom-level code, they can do exactly what they want — since you cannot translate English to the unique code — For computers, natural language is full of ambiguity. I cannot predict what will happen after one or two year (perhaps when the time comes to that, you can really unconditionally believe in AI, but you still not fully in control), but at least for now, if you know how to code from scratch, you harness AI instead of letting it harness you — you can use what you have learned — not only algorithms and data structures, but also your thinking method — to be a good Centaur. Competitive programming is a learning method, and a practical practice. Also, however, perhaps, for you, CP is a game, a puzzle game. If this is the case, you can play the game whenever you want. Probably, the "competitive" part of competitive programming is partially (yes, I mean partially) gone (but it still continues and thrives in relative standings with a small circle of people or flagship contests like ICPC), but I think that the problem-solving spirit should never be relinquished. I partially agree that "CP skills is useless because of AI", but I totally refuse to admit "CP thinking is useless because of AI". It is general, it is eternal, as long as the humans continues existing on the Earth.

Conclusion: Perhaps, CP goes beyond competition, it represents an ideology. For those who just want to win, yes, competitive programming is slowly dying because the game is partially unfair now. However, as a learning/screening mechanism and a "game", long live the competitive programming. (However, I cannot predict the further future, like the AGI era, perhaps). I am not vindicating for CP. This article represents my genuine thoughts.

Full text and comments »

  • Vote: I like it
  • +5
  • Vote: I do not like it