Pairs tournament algorithm

  • Thread starter Eduardo Yáñez Parareda
  • Start date
E

Eduardo Yáñez Parareda

Hi all, anybody knows or could point me in the right direction to an
algorithm to get tournament pairs like
a football tournament or so?

Is there any Ruby Quiz that solves this problem?
 
W

William Crawford

Eduardo said:
Hi all, anybody knows or could point me in the right direction to an
algorithm to get tournament pairs like
a football tournament or so?

Is there any Ruby Quiz that solves this problem?

You say 'an algorithm' like it's calculating something... I think you
just mean a system to chart the progress, no? The difference being
that one predicts the pairs according to data, and then other merely
plots the current situation.
 
E

Eduardo Yáñez Parareda

You say 'an algorithm' like it's calculating something... I think you
just mean a system to chart the progress, no?

No, I mean 'something' that make pairs of teams to make a tournament
calendar.
Well, I know it isn't easy, I wanted to do it dynamic but finally I
think it's better to do some lookup tables with the fixtures will be
played for 4 teams, 6 teams, 8 teams and so on.
 
M

M. Edward (Ed) Borasky

Eduardo said:
=20
No, I mean 'something' that make pairs of teams to make a tournament
calendar.
Well, I know it isn't easy, I wanted to do it dynamic but finally I
think it's better to do some lookup tables with the fixtures will be
played for 4 teams, 6 teams, 8 teams and so on.
=20
=20
=20

Hmmm ... sounds like a Ruby Quiz to me. :)
 
E

Eduardo Yáñez Parareda

Hmmm ... sounds like a Ruby Quiz to me. :)

Yes, it's a good candidate to Ruby Quiz. You have to make pairs of
teams, but a team might not
play two weeks at home one after the other.

You could make it more harder if you assign weights to teams, and
doesn't mix teams with
similar weights at first weeks.

I think there are implementations in Perl (Best Pairs or something like
that...) but I don't like Perl :).
 
M

M. Edward (Ed) Borasky

Eduardo said:
=20
Yes, it's a good candidate to Ruby Quiz. You have to make pairs of
teams, but a team might not
play two weeks at home one after the other.
=20
You could make it more harder if you assign weights to teams, and
doesn't mix teams with
similar weights at first weeks.
=20
I think there are implementations in Perl (Best Pairs or something like=
that...) but I don't like Perl :).
=20
=20
=20
You can make the requirements general enough for this sort of thing that
you end up with a combinatorial optimization problem that could be
NP-complete. :) I recall about 20 years ago, a lot of research went into
airline crew scheduling, for example. Then again, if you make it too
simple, it isn't much fun. :) I haven't yet submitted either a problem
or a solution to a Ruby Quiz, but I'd sure take a shot at this one. :)
 
C

Christer Nilsson

This is a system, mainly used by chess players, called Monrad.

Example: 100 players, 10 rounds.

The players are sorted according to their score, after every round.
Players are paired from the top.
Two players can only meet once.

The clever reader should here realize the fact that backtracking
sometimes is necessary at the end of the list.

-----------------

There is another system called Blocksort, used at least once in a big
table-tennis tournament. If A beats B and B beats C, then A is
considered to beat C as well. The problem with this approach is: you
don't know how many rounds are needed.
 
J

James Edward Gray II

Hi all, anybody knows or could point me in the right direction to an
algorithm to get tournament pairs like
a football tournament or so?

Is there any Ruby Quiz that solves this problem?

Sort of:

http://www.rubyquiz.com/quiz56.html

It wasn't a popular quiz, but there does seem to be some interest in =20
do one along the lines you laid out here. Write it up and I will run =20=

it.

James Edward Gray II=
 
D

Dave Howell

No, I mean 'something' that make pairs of teams to make a tournament
calendar.
Well, I know it isn't easy, I wanted to do it dynamic but finally I
think it's better to do some lookup tables with the fixtures will be
played for 4 teams, 6 teams, 8 teams and so on.

Somebody else was looking for something like this a month or three ago,=20=

and we had a number of people propose algorithms. I'd say search the=20
maillist archives for "tournament".
 
B

Ben Nagy

-----Original Message-----
From: (e-mail address removed)
[mailto:[email protected]] On Behalf Of Christer Nilsson
Sent: Wednesday, August 30, 2006 11:19 PM
To: ruby-talk ML
Subject: Re: Pairs tournament algorithm

This is a system, mainly used by chess players, called Monrad.

Example: 100 players, 10 rounds.

The players are sorted according to their score, after every round.
Players are paired from the top.
Two players can only meet once.

They use this kind of this in Bridge tournaments as well, but call it a
"Swiss". Swiss systems work well for a very rough sort, but there are two
main issues.

1. If there are too many rounds, the movement will 'over swiss' since most
people are already in more or less the correct order, so the rounds would
need to be carefully balanced. Over swissing means that weaker players get
"sucked up" into the top of the draw, since the top players have already
played each other - at that point it shifts to a game of which top players
are best at beating up weaker teams / players.

2. The other issue is that Swiss tournaments are pretty bad at picking the
exact best player / team because some good teams might play a harder set of
players during the rounds etc.

Most of the time in Bridge the tournaments are run through a Swiss with a
knockout series following for the top (eg) 8 or 16 teams / players, and
using longer / more matches. Swiss works well when the field is too large
for a round robin, but it works best if you can seed the top 10% or so of
players and match them against non-seeds for the first round - but it should
only be considered as a compromise.

Single or double round robin is the best if you can afford n(n-1) rounds,
another option is pure knockout (Wimbledon), or knockout with a repecharge
(also used a lot in sports).

Ruby content of this mail: 0

Cheers,

ben
 
M

Martin DeMello

-----Original Message-----
From: (e-mail address removed)
[mailto:[email protected]] On Behalf Of Christer Nilsson
Sent: Wednesday, August 30, 2006 11:19 PM
To: ruby-talk ML
Subject: Re: Pairs tournament algorithm

This is a system, mainly used by chess players, called Monrad.

Example: 100 players, 10 rounds.

The players are sorted according to their score, after every round.
Players are paired from the top.
Two players can only meet once.

They use this kind of this in Bridge tournaments as well, but call it a
"Swiss". Swiss systems work well for a very rough sort, but there are two
main issues.

Scrabble too, where it's known variously as "Australian Draw" and
"King of the Hill with no repeats"

martin
 
E

Eduardo Yáñez Parareda

Somebody else was looking for something like this a month or three ago,
and we had a number of people propose algorithms. I'd say search the
maillist archives for "tournament".

Thanks Dave, I'm going to search it....
 
E

Eduardo Yáñez Parareda

This is enough for me, a very easy algorithm which is what my simple
game needs.

Umh... well, not enough really, I'll have to make some changes to the results, but it's a
good approximation of what I need.
 
E

Eduardo Yáñez Parareda

It wasn't a popular quiz, but there does seem to be some interest in do
one along the lines you laid out here. Write it up and I will run it.

How should I do that? Writting general ideas is enough?, Should I write a complete story like
quiz you told me iwth examples and so on?
 
J

James Edward Gray II

How should I do that? Writting general ideas is enough?, Should I =20
write a complete story like
quiz you told me iwth examples and so on?

Quizzes are 99% more likely to run if they are all thought out when =20
they get to me, so preferably the latter. I always give feedback on =20
what I see though, so it's fine if you send me a first draft and we =20
back-and-forth it a little.

James Edward Gray II
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top