mohabamr's blog

By mohabamr, history, 12 days ago, In English,

Hello guys, for those of you who are tired of searching for "what to solve next", my bachelor thesis was to implement a recommender system for competitive programming problems; supervised by Dr. Amr ElMougy and Maged Shalaby

Give it a look and check your recommendations now: https://acm-recommender.herokuapp.com/#/signup

Sign-up (using your codeforces username) then sign-in and check your recommendations in almost no time (just give it a minute or 2).

There would be 10 problems recommended per user, we encourage you to solve them and give us feedback about each recommendation (through the "evaluate" button).

It is very important to evaluate the problems, as this feedback is needed to enhance the recommender and conclude which algorithm is better. So, please don't forget to submit your evaluations!

Thank you and happy coding.

For any problems or suggestions; you can contact me: mohabamr1@gmail.com

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

»
12 days ago, # |
  Vote: I like it +3 Vote: I do not like it

Application error

  • »
    »
    12 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    please, check now.

    Heroku crashes sometimes and restarts automatically.

»
12 days ago, # |
  Vote: I like it +12 Vote: I do not like it

How exactly do you calculate what problems to recommend?

  • »
    »
    12 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    it's a hybrid approach of Collborative filtering and another layer to filter out the most relatable problems (tags) to your history.

»
12 days ago, # |
  Vote: I like it +3 Vote: I do not like it

It would be really great if it was possible to hide a problem from the list after you solved and evaluated it.

  • »
    »
    12 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    you're totally right, would do that in the next release. soon.

»
12 days ago, # |
  Vote: I like it 0 Vote: I do not like it

Can we have access to your thesis document? What was your approach?

  • »
    »
    12 days ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    I still did not submit it, it's a hybrid approach between CF (user-based) and some filtering regarding the tags and difficulty level of the problem.

    I will try to publish it if possible.

»
12 days ago, # |
  Vote: I like it +3 Vote: I do not like it

My recommendations are not generated yet, so, i'll be back

  • »
    »
    12 days ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    Same here, I have waited like 20 minutes already.

  • »
    »
    12 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    don't forget to check again

    • »
      »
      »
      12 days ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Hmm, if the system recommends me problems for the first division, does this mean that I'm ready for the first division?

      • »
        »
        »
        »
        6 days ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        not exactly, but most probably yes.

        the system recommends for you problems that should be a little bit harder than the usual to challenge your skills, but at the same time in a certain range so you would not be frustrated.

»
12 days ago, # |
  Vote: I like it 0 Vote: I do not like it

Interesting Idea!

»
12 days ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by mohabamr (previous revision, new revision, compare).

»
12 days ago, # |
  Vote: I like it 0 Vote: I do not like it

So we can use this to find duplicate problems?

  • »
    »
    12 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    nope, problems you did not solve, assuming.

    • »
      »
      »
      12 days ago, # ^ |
        Vote: I like it +17 Vote: I do not like it

      It gave me a problem I solved already: 752B. Maybe because the problem occurs in different contests: (Technocup Div.2, Technocup Div. 1, and official Technocup). Can you look into this? thanks

»
12 days ago, # |
Rev. 2   Vote: I like it +3 Vote: I do not like it

It would be better if it was possible to change recommendations (it's showing easier problems :) ). What can I do if I need harder problems?

»
8 days ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by mohabamr (previous revision, new revision, compare).

»
8 days ago, # |
  Vote: I like it +5 Vote: I do not like it

have done all the problems but no new recommends

is that a bug ?

  • »
    »
    6 days ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    nope, the beta version allows you only 10 static problems, but very soon I am gonna change this.

»
7 days ago, # |
  Vote: I like it 0 Vote: I do not like it

Hey,can you please provide a way to generate team recommendations for ICPC practice?

That would be great.

  • »
    »
    6 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    that's a great idea, promise you I will work on that.

»
7 days ago, # |
  Vote: I like it 0 Vote: I do not like it

It recommended me problems that I already solved on the other division.

»
7 days ago, # |
  Vote: I like it 0 Vote: I do not like it

why am i facing this ?

  • »
    »
    6 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Codeforces itself crashed for a while, I don't know if this is related.

    When did you face such an error?

    • »
      »
      »
      6 days ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I having a problem with recommendation issue . After a while its ok , it successfully retreived the recommended problems .

      • »
        »
        »
        »
        5 days ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        I recommend anyone who had a problem to try again, it's just the server's load is too much.

»
7 days ago, # |
  Vote: I like it +3 Vote: I do not like it

Currently, anyone with a person username and email(easy to get) can access it with his choice of password. This way the original person can't access his own account.

  • »
    »
    6 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I know there is no way of validating, but the original purpose for this website was for a small team to use, I did not expect people would interacte with it like that.

    Anyway:

    1. If anyone faces a problem; they can contact me so I can validate the users myself for now
    2. I will see if I can validate the email with the username from Codeforces API
    • »
      »
      »
      6 days ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      just a question, why do you even need a login for your website? why can't user just provide their username to see the recommendations?

      • »
        »
        »
        »
        6 days ago, # ^ |
          Vote: I like it 0 Vote: I do not like it
        1. a basic auth tool to be used later
        2. needed in the evaluation section, to make sure it's the same user
        3. email to send notifications
»
6 days ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

what if i solved 10 problems,will it show next 10 problems??

»
5 days ago, # |
  Vote: I like it 0 Vote: I do not like it

Its only showing me div2 A,B,Cs. Anyway I can get harder problems?

  • »
    »
    5 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    The output is based on your solving history.

    Anyway, the re-generation of the recommendation set is a feature I am working on, the next release will be out in 10 days or so.

»
5 days ago, # |
  Vote: I like it 0 Vote: I do not like it

The character '| in my username is not supported :p Can't sign up.

  • »
    »
    5 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I just tested that and it's working fine, please try again or DM me your info so I can create an account for you.