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

Автор nicola, 10 лет назад, По-английски

Hi Codeforces!

I am really pleased to introduce My research project called PROPER

  • This is an web application that recommend you some problems that have adequate difficulty to practice. After you solve the recommended problems you may give PROPER your feedback that the problem is Hard/Adequate/Easy. This feedback will be used to make better recommender system.

  • System automatically collect status data from CodeforcesAPI, and calculate adequate problems to user personally, Problem is recommended based on your status and other coder's status interactively.

  • We use Matrix Factorization algorithm which is one of the famous recommender system model.

the PROPER address is: http://recommender.cf

I've evaluated this system in statistical way and it was quite good.

So I'd like to survey about this system for actual users.

I hope it works well for users and this system helps you practice better.

Thank you for reading!!

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

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Interesting idea, but I'm not sure it's a good way to practice. Intuitively, if I solved a lot of problems on a specific subject (or of specific difficulty), then I'm already good at it and it doesn't make sense to offer me even more similar problems.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    You may think it is recommending simmilar problems that the coder has already solved.

    If you thought so, it is not.

    We thought adequate problems for a coder means the hardest problems that the coder can solve.

    So our algorithm is following below steps.

    1. See what was the hardest problems in contests that you have attended. If you solved a,b,c,d problems in a contest, the hardest problem is d ( we assumed problems in a contest are provided in order by difficulty. )

    2. Based on these, we applied recommendation model.

    Sorry for brief explanation. Thanks to say it is interesting.

»
10 лет назад, # |
  Проголосовать: нравится +60 Проголосовать: не нравится

It recommends me my own problem, lol

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +4 Проголосовать: не нравится

    Does it recommend problems that you are author?

    I didn't exclude them when I write code. sorry.

    I think it is not so common case. So I will fix later.

    Thanks to let me know

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

nice idea, i hope it will be available for people who compete in div.2 too.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Thanks for your interest. I hope so, but this is a kind of testing with small sample(nearly only 5000 users). If many users are feeling it is not so good to practice, I should find the reason and improve something.

    I will apply this for every users when this system achieve good result.

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

      I don't see how Div1 only users would account for ~5000 users when people registering for a Div1 round is usually around 1500. Also ain't you committing a crucial statistical error here, because Div1 users would surely rate a question easy as compared to someone who is from Div2 and would rate it moderate/hard. Correct me if I am missing my mark!

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

        Well.. It was nearly 5000 users when I crawled contest standing data that contest name contains "Div. 1"

        See following link. http://mirror.codeforces.com/ratings/page/45

        There are nearly 9000 users have rating of purple color. And we can see almost of them didn't participated in contest of "Div. 1"

        I think it is the reason of 5000 users.

        And "Easy, Adequate, Hard" information are not reflecting this system now in any way.

        Just collecting now.

»
10 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

It recommends me super easy problems.

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

    Yes it does.. I was reasoning but couldn't get any idea. I think you deserve to get B~C problems though this system is offering A~B problems. Thanks to notify.

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

It asked me for my handle and when I entered "RodionGork" it show me no problems but instead asked to sign in. Funny :)

UPD Nevertheless idea is cool and interesting, though its implementation could be tricky and far from bringing really useful results :)

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

Could you add links to russian versions of problems?

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

feels like about right difficulty ;)

good job creating such a convenient system!!

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Firstly, I want to thank you, nicola, for taking out time to build this. It sure does look interesting. Would love to use it.

Though, I do have a query: what happens when I solve a problem which is recommended by PROPER? For example, I solved 185A - Plant as a recommended problem. I signed out, and signed in again. And it is still displayed in the list of problems to be solved when I sign in.

Shouldn't it be removed? Or, an alternate problem be added in place of it? Or, am I missing something here?

Also, "If you solve the problem and sign in, you will meet a feedback message downside of address line(Easy/Adequate/Hard)." — where does this feedback message come?

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

 Screenshot

Why recommender doesn't recommend problems for me?

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Hi

the system doesn't recommend any problem when I first use the application.

why ?

»
10 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

It doesn't work if your name has a "." in it.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

It recommends some problems that I already solved. And some other problems are too easy :(

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

    It recommends some problems that I already solved. Yes, for me too. It is not good.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

It didn't show me any problems when I wrote my handle, so I tried with my previous handle (b4 New Year) and it worked. I guess that is something to be fixed. Overall, nice work.

»
10 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Wow, I am insulted; It recommends me 15 "A" problems :(

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

    It looks like you've never solved a B problem on a div1 round; so, it's normal.

  • »
    »
    10 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    Me too, then I recognized that I've only solved A and C in div1 contest, never got B solved, I guess he hasn't thought of that :D

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

It refers me problems of Div1 A / Div2 C that I have already solved. There is no consideration that I solved that Div1A while competing in it's respective Div2 contest or in practice.

For example 477A - Dreamoon and Sums of Div1 is same as 476C - Dreamoon and Sums of Div2 and I solved it in Div2 practice and not in Div1.

btw Nice initiative :)

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

It does not recommend me any problems whereas I'm quite sure I have not solved all the problems here on Codeforces.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I loved it but I need to send the auth code every time i need to sign in.It neither remains signed in.

»
10 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Why it is down? :(