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

Автор soullless, история, 18 месяцев назад, По-русски

Мой друг Away_in_the_heavens отправил мне фото, от которого я был в полном шоке.

Никогда ранее мне не приходилось видеть подобную ситуацию на платформе:

На фото — стендингс сегодняшнего раунда ._.

Для сравнения — вот как выглядели standings на 100 контестов раньше:

Безусловно, случаи нечестной игры случались и ранее. Однако, судя по сегодняшнему раунду, их количество увеличилось в десятки, если не в сотни раз. И причина одна — появление ChatGPT o1 или ChatGPT mini-high-3 которые могут решить задачи уровня наверное до 3000 за считанные минуты. Получается, раунд для читеров перерастает в миниигру — кто быстрее напишет код или найдет ошибку у ChatGPT.

На мой взгляд, текущее положение дел требует изменений. Возможно, стоит пересмотреть систему рейтинга или внедрить другие механизмы борьбы с подобными нарушениями.

Будет интересно услышать мнение как команды Codeforces, так и опытных пользователей, которые находятся на платформе уже много лет.

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

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

где пруфы

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

Соревнование ИИшек

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

Despite the privacy concern, phone number verification (or similar things) might be one of the solid solutions for this. Once a user is flagged as cheating, their phone number will be perma ban.

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

The funniest part is they put such names like see_me_becoming_CM etc. and using const vector and don't even know what const do.

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

I think codeforces should add some features that if during contest user switches tab and goes to AI tool codefroces team get alert and ban that user from contest or publically show in user's profile AI generated code has been submitted by user during contest.

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

Ironically, not only greys are cheaters. That is, one could very promptly reach blue/purple in couple of contests using LLMs and blend in with legit contestants. So you can't really differentiate at this point without carefully inspecting submissions.

Moreover, even guys who did not cheat in the past, now resort to LLMs. Look at tickbird, for example. D took him 9 mins, while jiangly and most other reds spend about 15+min. Also, tickbird probably cheated in the contest when he got blue before, again in D.

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

make all codeforces rounds in person, so you have to go to ITMO university and get invigilated by mike personally to get rating

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

this actually severely demotivate people under orange

and it becomes a huge obstacle for newcomers to get started CF

I'm underground CS student but I can say if you saying I'm doing CP to colleague then 90% would laugh at you.

and I agree with them, I don't see any point of 'competition' under Div.1 at this point. unless run in onsite.

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

Cheating is an existential threat to this platform.

If care is not taken, it might spell the end of this platform.

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

They should implement phone number verification. Does not matter if the cheater has hundreds of numbers available. They will run out of them eventually.

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

I was like 21 rating points away from becoming CM. Felt bad after seeing this, hope these guys are eliminated and ratings get rolled back

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

LLM models used our solutions and questions to get better and are is now harming us only. I am really sick of this AI stuff going on. The current AI models are truly an insult to life and human creativity!

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

Programmers_Hive If he will cheating like this, he will be Grandmaster in the upcoming 3 Contest for sure -.-

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

вот почему я до сих пор синий xC

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

codeforces Saurabh_Lucifer_pathak has been using Chat GPT for A , B , C and D question of Div 2 Contest since many contest and has not been banned yet

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

Поймите, что кто заходит на CodeForces или хотя бы просто ищет всяческие обходы в любой сфере, точно догадается, что уже давно на рынке практикуются онлайн-сервисы для одноразовых смс-активаций или даже по звонку при необходимости. Стоит это сущие копейки, можно арендовать номер на N-ый период времени или даже в том же МегаФоне (кто из России, тот знает) есть возможность выпускать дополнительные номера на одну родную симку за сущие копейки. Такая система защиты по номеру телефону никогда не была совершенной, а лишь небольшой преградой особенно в наше время. Я как-то писал у себя в блоге о методах борьбы с ИИ, но некоторые методы, к сожалению, уже сейчас можно забраковать в силу конфиденциальности пользователей. Как минимум, стоит сделать трекер на страницах контеста и анализировать все входящие действия на бекенде проекта. Анализ времени посылки задач также никто не отменял. В совокупности собрав решение для контроля множества факторов может появиться глоток спасения у этой платформы. Но видимо я не со всеми пользователями разделяю это мнение и нашлась определенная группа людей, забраковавших мои идеи :)

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

I think there are still some kinds of problems difficult for AI.

Can someone solve these two purely by AI (and not giving them countertests)?

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

When we prepare local contests, checking that a problem cannot be solved by AI is one of the steps. We usually try different models and see how we can modify the story or the idea so that it is at least not trivially solved by an LLM. Of course, if a person can understand the algorithmic problem behind the statement and formulate it as such, there is not much we can do, but in practice it already removes 90% of cheaters.

Chess community faces similar problems with powerful chess engines, and some of the implemented solutions include anticheating software, mandatory cameras / screen recording, proctoring etc. Some lessons learned there:

  • This can eliminate a majority of cheaters, simply due to more elaborate measures required to cheat

  • Technically skilled cheaters (which is most of CP community) will have the upper hand

  • A determined cheater will find a way

  • Most of these solutions are not scalable and only applicable to high-profile events with limited number of participants (maybe Div. 1 at best)

  • Effectiveness of added measures grows logarithmically, while the number of false positives and discomfort for honest participant grows at least linearly

Don't know what to make of it, many domains are struggling with AI cheating nowadays.

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

phone number verification might still not be very efficient due to cheaters using multiple phone numbers, however not every cheater would be able to manage to do so, decreasing amount of cheaters drastically I guess

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

In my opinion, the current state of affairs calls for action

like what? there are no good solutions

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

and i should not say they are indian.. ohh wait but they are indian.....

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

Also, a huge problem is given by the fact that people dont care about bans on their secondary accounts, they can make 1000 acounts per month and cheat as they like. A verification should be introduced indeed or, unless you arent over specialist, you shouldnt affect the leaderboard in Div2 contests, but this is unfair for pupils, so there has to be a middle solution.

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

One way would be the TopCoder style arena. By disallowing copy-pasting into the arena, we at least narrow the cheat vector down to "type this, one character at a time"

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

Have codeforces stopped doing manual checks?

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

придется адаптироватся,другого выхода нету

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

Might sound stupid but maybe codeforces should take this to Sam Altman(ChatGPT), Google(Gemini) and other AI platforms and maybe ask them to stop the models from responding to CP coding problems during contest hours. I KNOW IT SOUNDS UNREASONABLE AND IMPOSSIBLE, but i see no other way :(

BTW great book soullless, i am on the 6th chapter rn and you did address some of my problems, thanks :)

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

I think AI can help , problem setter or anyone who wants to contribute can generate solutions from ai and then , when the plagiarism catch process (I don't know what does it actually called) works then all the solutions of participants must be compared with ai solutions so chances of solution getting matched can be increase and more cheaters might get caught

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

Personally, I'll say it painfully but I just don't see how the platform survives the next couple of years. There's just no actual way to prevent cheating, only workarounds that could certainly minimize it but not eliminate it.

Minimization to a certain degree could be enough, but contrary to chess, I don't see how we will be able to make cheating only marginal. This community is already entirely composed of technically skilled people which are all aware of the increasing availability and advancement of such tools. Moreover, programming contests are not a laid back activity which you could do spontaneously at whim through your phone as you pass the time but rather an intensive, relatively rare occurrence which thus holds a lot at risk for people who care about their rating (which is the vast majority I suppose, hence we participate in the first place). Let's not also forget that at least currently impressive Codeforces profiles serve as a resume asset and are valuable in the software job market. Thus, contests being more of an "exam" rather than a "game" unfortunately just "invites" cheating in my perspective.

The only way in which I see cheating being reduced to a relatively marginal phenomena which does not affect the well being of the platform too much, like how it is in chess platforms, is if cheating would feel pointless to do. I only see it happening if just like chess competitive programming will be reduced to a mere eSport without much ties to the real world. It essentially has to be turned into a "game" rather than a weekly exam (a very fun and exciting exam that is!). Is it possible? I don't know. I just know that I'm sad.

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

    Let's not also forget that at least currently impressive Codeforces profiles serve as a resume asset and are valuable in the software job market.

    This! Most of the cheaters would not spend 2+ hours on a contest, if not for the huge incentive of being shortlisted by firms. Measures can be put in place by the Codeforces, but Codeforces will be forever playing catch-up with the cheaters who try to game the system.

    We can only wait till the hirers drop this fad with online competitive programming ratings and rankings.

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

    Chess is different, it is a lot more easier to detect AI on chess than in CP.

    All in all, there are theoretically infinite different solutions to a problem, but finite states in chess.

    How can you disprove someone who actually enjoys writing variable names like aReallyLongCamelCaseVariable with // overly verbose comments?

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

In my opinion, Codeforces should have like an AI Detection team that would try and submit AI code that was accepted and uses Stanford's MOSS algorithm (which CF already have) to detect them, I think an application for this should have the req of like Expert or CM

*Note a lot of you probably would check my profile and I can clearly state that I did not use AI, some contest I have shitty rank because I'm just lazy and I'm also a TOI participant.

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

Guys we need to save this platform from cheaters . Is it possible , yes it is 100% possible . We need to take some harsh steps . Those who are true problem solvers they will support these steps .

Have you ever wondered what could be the soul motivation of cheaters of doing cheating on Codeforces . Obviously to increase ratings and ranks so that they can show this on there resume . But there roots are weak they will eventually shatter in real interview scenarios .

Now the question comes what can be done :

If you carefully observe these cheaters never solved large number of problems . Mostly cheaters create new profiles and just start cheating . This is a common trait if you carefully observe . Also , even if a cheater solves 200 — 300 problems in order to portray it as valid account and after that they starts cheating . Suppose a person who is solving 1400-1500 rated problems on daily basis practice but all of sudden in contest they start solving 1700-1800-1900 or above problems without enough practice they can be easily tracked down obviously they are not prodigies . Even prodigies need to practice for some time in order to be good in a certain difficulty level problem .

So what can be done is set limit while participation in a contest . In order to participate in a contest that person must have solved at least 300-400 problems on Codeforces . This will highly demotivate cheaters as they don't enjoy problem solving .

Secondly , if a person who has never solved or practice enough a higher difficulty level problems ( let's say 1700-1800-1900 or more ) and all of sudden in contest they start solving keep those accounts under radar ( if they keep on doing for next 3-6 rounds ) . If there submitted code in contest matches suspiciously with other submissions on large scale . Simply remove those accounts with immediate effect .

These steps not only demotivate cheaters but also decrease the occurrence of cheating on online contest up to a great extent .

Proof : Go to clist standings and check the standings of last Codeforces round 1014 of your country you will see cheaters who has solved very less number of problems but still managed to get high ranks . Even they have not solved higher difficulty level problem . Just we need to look out for suspicious users .

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

1) Soon one could say: "I could beat both the humans and AI" :-)
2) On contrary to chess, none of cheaters makes you solve less than you can

P.S. Though it is, of course, a pity to receive less rating points that would be given otherwise

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

I agree with you

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

The authentication methods should be modified so that if someone logs in and gets banned from Codeforces, they cannot create a new account.

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

Cant there be a unique identifier like mac address ?

and phone number is not so bad..tons of social media applications use phone numbers idk why people are not so reluctant there..

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

Suggestion: Disable copy/paste of problem during contest and adding hidden text to the problem.
Also can we use Abstract syntax tree to reduce cheating?

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

A controversial solution is to make AI legal to use and make contests harder:

  • As we see with today's models, the further you go from the distribution, the more the performance falls. They do not perform well in Div.1 contests, so harder (to be specific, not repetitive problems) will make the contests a real thinking competition.
  • Programming has always been and always will be domain translation. No matter whether a human, a compiler, or an AI is doing it, it's creating a bridge between specification and execution. If the best way to translate algorithmic problems to machine-executable code is to use AI, so let it be!
  • AI is making easy problems obsolete and is making designing harder problems and better test sets easier as well. So it makes sense to shift towards challenging tasks.
  • Now that the coding part is not challenging enough, we can do things like making test results invisible during the contest. It means people need to think of corner cases, write generators, and come up with ideas to validate tests as well, which at least currently, AI is not good at this things at all, that's why it cannot write a good generator itself for IOI problems and have to submit thousands of different codes.

Programming has changed, so it's time for CP to change. And CP has always been a search problem. When it becomes easier to search in the CP domain, let's make the domain bigger.

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

    I don't know why so many people dislike the idea of making weak tests on purpose. I just love the fact that there's no longer proof-by-AC solutions. People really need to think carefully about their approaches. The ideal world doesn't exist where everything is perfectly designed for you. In real life, there's no one giving you all the needed test cases and you have to generate / test it yourself.

  • »
    »
    18 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +21 Проголосовать: не нравится

    hiding tests is actually genius

  • »
    »
    18 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    1. I disagree with your second statement. You are right if we are talking about "programming" and mean "software development", but competitive programming is not purely coding, it's also a sport. And for sport the idea is to have a competition based on some skill that you are naturally talented in or can at least develop through hard work. If we allow usage of AI it'll just make a competition of who can afford larger gpu cluster/more expensive model, not cool.
    2. I agree with your conclusion. Currently it's really hard to create new and high quality problems without expanding the domain. It would be nice to see introduction of parallelism or maybe even gpu programming in the contests.
    • »
      »
      »
      18 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится -7 Проголосовать: не нравится

      Prized official CPs are held in person, so it is a sport, and cheating is not a problem there.

      For online contests, cheating by paying is the best kind of cheating because it does not scale to thousands of people, and at least with current AI, for getting slightly better performance, you have to pay a lot of money (checkout ARC-AGI).

      With current models, skilled programmers do significantly better with free AIs compared to less skilled programmers with huge models (checkout what high rating people can do with them).

      So, I think by making the domain bigger, we will make the human part of the competition the bottleneck again.

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

Just look at Jerry_07, a guy had 3 contests before, getting newbie-like results. And for the last contest, he scored top-11, solving questions unbelievably quickly, and using different languages. This is just ridiculous. Some people grind and learn to get an expert and above while he is just using genai for a single round to achieve nearly the same results.

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

I think one thing that might help reduce cheating, is that like we have problem testers for contests, we can maintain AI testers. They would try to have the AI models solve the problem. This can help make cheating harder.

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

What about Disabling cut,copy and paste in the editor ?

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

Proctoring services might work (a kind of screen time measuring), some Cyber Security contests use that already to prevent communicating between contestants.

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

I don't understand why Mike doesn't ban these accounts. Sometimes some of them have their submissions skipped and lose rating but the account isn't banned, what's the point of this?

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

.

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

As much of a nuisance as they are, I don't think we should make so many posts about them.

Yes, we should be on the lookout at all times, but still.

I am obsessed with the feeling of solving a problem after thinking about it for a whole lot of time.

And as you mentioned in your book, rating is just a byproduct

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

Мне кажется, что это не ИИ, а смурфинг, кто-то из легендарок взял себе новый акк, и решил поруинить честным новичкам контест. Я прям нашел случай, чел мастер или международный мастер, и я хотел его отметить, и одну букву лишнюю добавил, и попал совсем к другому типу