Analysis Algorithm

Hi!

This is a long one, but please bare with me. :)

I'm currently written an application that does the round

pairing of a chess tournament. I have a class Manager

that handles the pairing. I also have a class, Analysis, that is

suppose to analyse the possible place a player can get.

This option gets availible when there are three rounds left to play.

The problem is that to carry out an exact analysis I must

"play" (brute force) all the possible endings(the number of

points a player can get at most and least is no hard task to get,

put the problem is to find the monrad and berger points.

Definition of monrad and berger points at the end). E.g. there

are 100 players and 3 rounds to go. This makes 3 * 3^50

(3 rounds * 3 different results^50 players) =

215.369.396.075.557.766.310.747

possible endings.

It's not possible to do brute force on this so is there any algrithms/algorithm patters that do this?

Monrad: The points are given by adding the points of a

players opponents. In tourneys with 6 or less rounds the

lowest is removed, in tourneys with 7 or more rounds the

two lowest are removed. If two players have the same

number of monrad points the removed values are added one at a time.

Berger: The points are given by adding the points of the

opponents a players has won against and adding half of

the points the player has played draws with.

Sincerely Dan

[1530 byte] By [Tykena] at [2007-9-28 2:16:42]
# 1
Isn't there a book on computer chess theory?
uja at 2007-7-7 21:49:16 > top of Java-index,Other Topics,Algorithms...
# 2

> Isn't there a book on computer chess theory?

This isn't a chess problem, it's an algorithm problem.

Finding possible end positions of all players 2-3 rounds before

the tourney is done. And it shouldn't take the pc e.g. 6 hours

to compute the results.

Dan

Tykena at 2007-7-7 21:49:16 > top of Java-index,Other Topics,Algorithms...
# 3
I saw the teacher talking about this in class years ago when I was a student. You use a tree and build the branch of the tree as necessary instead of all at once.
dustpana at 2007-7-7 21:49:16 > top of Java-index,Other Topics,Algorithms...
# 4
> I saw the teacher talking about this in class years> ago when I was a student. You use a tree and build> the branch of the tree as necessary instead of all at> once.You wouldn't know where I could find a tutorial on how to use that techniqe?
Tykena at 2007-7-7 21:49:16 > top of Java-index,Other Topics,Algorithms...
# 5

> > Isn't there a book on computer chess theory?

>

> This isn't a chess problem, it's an algorithm

> problem.

> Finding possible end positions of all players 2-3

> rounds before

> the tourney is done. And it shouldn't take the pc e.g.

> 6 hours

> to compute the results.

Sorry about that. When my brain is in my head again I'll think about this -:)

uja at 2007-7-7 21:49:16 > top of Java-index,Other Topics,Algorithms...
# 6
3*3^50?!Where do you get 3^50?There are 100 people... three different outcomes per person. 3 * 100 outcomes. Three rounds and 300 outcomes. Nine hundred outcomes. You can brute force that :-).Is this an old post? I can't tell...
titansarewursta at 2007-7-7 21:49:16 > top of Java-index,Other Topics,Algorithms...
# 7

If you have two matches, these result can accour:

1.

Game 1: 1-0

Game 2: 1-0

2.

Game 1: 1/2-1/2

Game 2: 1-0

3.

Game 1: 0-1

Game 2: 1-0

4.

Game 1: 1-0

Game 2: 1/2-1/2

5.

Game 1: 1/2-1/2

Game 2: 1/2-1/2

6.

Game 1: 0-1

Game 2: 1/2-1/2

7.

Game 1: 1-0

Game 2: 0-1

8.

Game 1: 1/2-1/2

Game 2: 0-1

9.

Game 1: 0-1

Game 2: 0-1

That's 3^2, with 100 players it's 3^100. That you can't brute force.

Tykena at 2007-7-7 21:49:16 > top of Java-index,Other Topics,Algorithms...
# 8

Considering the fact that you can't predict the future. Arn't the

probabilities of any individudal winning/losing/drawing the final

x matches constant. If so why do you need to iterate through all

possible outcomes (it would not appear to give you any information you

don't already know)

matfud

matfuda at 2007-7-7 21:49:16 > top of Java-index,Other Topics,Algorithms...
# 9

I don't think you have to brute force ALL of it.

I'm not entirely clear as to how the pairing works, but I'll take a guess.

To maximize ones points one has to be winning against players with the most points. They also have to be winning against players with the most points. The optimal arrangement isn't clear, so we can brute force that part:

So to play 3 rounds we need only consider 8 players at a time.

The player in question (that we want to figure out the best scenario for), and the top 7 other players.

* 8 players makes 243 endings right? times running this simulation by 100 players is 24300.

mgbolusma at 2007-7-7 21:49:17 > top of Java-index,Other Topics,Algorithms...
# 10
> This is a long one, but please bare with me. :)"Bear[i/] with me". As in, to bear a burden. Baring together with someone who has a "long one" is an entirely different thing.
pmuurray@bigpond.coma at 2007-7-7 21:49:17 > top of Java-index,Other Topics,Algorithms...
# 11
> > This is a long one, but please bare with me. :)> > "Bear with me". As in, to bear a burden. Baring> together with someone who has a "long one" is an> entirely different thing.Ahhahaha :)
-Kayaman-a at 2007-7-7 21:49:17 > top of Java-index,Other Topics,Algorithms...
# 12
Hi, this is a tipical problem of Dinamic Programming. Find in Internet that and sure you will find the answer.bye.
Gonzalo23a at 2007-7-7 21:49:17 > top of Java-index,Other Topics,Algorithms...
# 13

> I have a class Manager

> that handles the pairing. I also have a class,

> Analysis, that is

> suppose to analyse the possible place a player can

> get.

It's not possible that every player plays 49 other players, right? Your "Manager" class handles pairing for the "current" round? So how do you determine the pairings in a round? Once that round is assigned, don't the "winners" of the round move on to the next round, thereby cutting the field in half at the same time? Rinse and repeat, should be easily brute forceable.

rkconnera at 2007-7-7 21:49:17 > top of Java-index,Other Topics,Algorithms...