Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re^2: Algorithm problem: Order matches by difference between players

by dwm042 (Priest)
on Apr 18, 2011 at 17:10 UTC ( #899982=note: print w/replies, xml ) Need Help??

in reply to Re: Algorithm problem: Order matches by difference between players
in thread Algorithm problem: Order matches by difference between players

Not a Swiss. I thought that too, initially, but Swiss pairs /same scores/ by splitting them in half. It's not a best to worst matching.

  • Comment on Re^2: Algorithm problem: Order matches by difference between players

Replies are listed 'Best First'.
Re^3: Algorithm problem: Order matches by difference between players
by davies (Parson) on Apr 18, 2011 at 17:58 UTC

    Yes, you're right. I didn't read the OP carefully enough. But, if one exists and depending on how it's written, it might still be possible to use a Swiss module to solve this problem. At least some Swiss chess tournaments match scores but then match players by ranking, best v worst. It might be possible to use such an algorithm and insert dummy "scores" and use the ranking to do the rest. But that's putting even more constraints on my originally constrained idea. :-(


    John Davies

      No, the OP wants a round robin. In the Swiss pairing a new drawing is made after each round. The OP should forget about the additional constraint of having the best player play against the worst in the first round.

      There are many ways of doing round robin pairing, and I'd think a quick google job should find some ready implementation. Pick one, and after the schedule is made, just assign the players in such a way that the best player plays the worst, etc. So if whatever algorithm you implement says the first round is "1-2, 3-4, 5-6", then give the best player label 1, the second best label 3, the third label 5, the label 6, 4, and the worst player gets label 2.

        Obviously I haven't been clear enough. I appreciate that the OP wants a round robin, but a Swiss with N players and N-1 rounds gives you that (unless you allow replays, which can be allowed in some Swiss events). By telling the Swiss algorithm that every match is a draw before they are played, you will get a schedule that will achieve what I understand the OP to want. While I accept that your proposal will work fine for the first round, I'm not clear how you would get a generic process for the later rounds that would prevent 1 playing 2 until the last round. I believe that the Swiss algorithm would achieve that.

        It's possible that I'm still not clear. It's late enough for me to want my bed, so please let me know if I'm not & I'll try to do better tomorrow.


        John Davies

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://899982]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (10)
As of 2018-05-28 10:08 GMT
Find Nodes?
    Voting Booth?