Collaborative Filtering and Partitioning

To decide the scheduling of the coming FOCS, and of any conference with parallel sessions, it would be great to have the following tool: a site where prospective participants can browse the list of accepted papers and their abstracts, decide which talks sound interesting, and select them in a checklist. After a while, based on the lists and some simple algorithm (probably, spectral techniques would work), a program automatically selects a schedule with few conflicts and with similar papers in the same session.

Optionally, after the schedule is finalized and the submission of lists is closed, the site could send a “you might also be interested in…” list to the registered users who sent in their lists, as a “reward.”

Does something like this exist? If not, would any reader(s) want to take it on as a volunteer project? It would have to be done within the next two weeks or so, but I believe that for someone who knows how to use the right tools it is a matter of a couple of days of coding. I can host the site at Stanford.

5 thoughts on “Collaborative Filtering and Partitioning

  1. Absolutely great idea! Should have been done much earlier.

    Will the list of accepted papers be out tomorrow (Wednesday)?

  2. this was done several years ago, i think for STOC. Michel Goemans was the chair. i wrote a simple html form to collect the data, and Michel wrote the algorithm for scheduling. I think it was something like a min-weight matching algorithm.

  3. btw, I’d be happy to help, in return for getting the data that this system generates!

  4. I thought about doing something like this for FOCS 09. Rather than collecting data, I considered using data I already had: the list of papers each committee member wanted to review.

    The problem I found was that my approach generated incoherent sessions.

    Once I decided that I wanted sessions with some intellectual coherence, that most sessions should have 3 or 4 papers, that sessions with the same numbers of papers should be scheduled against each other, and satisfied constraints of individual speakers, partitioning wasn’t very useful.

    The one thing I used my code for was to produce scores of how much one proposed session conflicted with another. But, it was a low-order effect on the final schedule.

    In the end, I spent around two days pushing talks around.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s