You are right. The preferred way would be that everyone plays against a player who is furthest away from strength. This was exactly what I tried to do.

My algorithm was first getting all possible matches and also stored the difference between the two players. Then I sorted all matches after this difference and then tried to build the rounds by biggest possible strength difference.

But I had a lot of problems and the algorithm failed for a lot of cases (e.g. 6 players).

I looked at the results of the round robin algorithm and I have to say that the results are really good. Perhaps the sequence for player 8 or 12 is not as perfect as for player 1. But it is good enough for my purposes. And I'm not sure if it is possible to make it better. Because it is important that a player has never to wait (except when he is playing against a bye).

For me it was the most important that the best players play at the end against each other so that it is like a final altough everyone played against everyone.

I even found the round robin algorithm in wikipedia: http://en.wikipedia.org/wiki/Round-robin_tournament. So I think it is a common way to make a tournament according to this algorithm.


In reply to Re^2: Algorithm problem: Order matches by difference between players by Dirk80
in thread Algorithm problem: Order matches by difference between players by Dirk80

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.