PDA

View Full Version : 7-player, no-win-no-loss tourney round 4 conspiracy

drbean
06-11-2007, 07:14 PM
This is a conceptual tournament. All games are drawn. The only way to get ahead, is to get a bye.

I am happy with all the pairings for round 1-3.

The problem in the 4th round is C10,11,12 conspire to never let a remainder group increase x.

The pairing table for the 4th round is:

Round 4 Pairing Groups
-------------------------------------------------------------------------
Place No Opponents Roles Float Score
1-3
5 2,4,- WW- D 2
6 3,-,7 B-B d 2
7 -,1,6 -BW d 2
4-7
1 4,7,2 WWB u 1.5
2 5,3,1 BBW 1.5
3 6,2,4 WWB 1.5
4 1,5,3 BBW 1.5

In the 1st bracket, 6 and 7 have played each other, so one of them must play 5. Because 6 is color compatible, 6 plays 5 and 7 is downfloated, despite having downfloated 2 rounds ago.

In the 1.5-Bracket, 7 has already played 1 and is color compatible with 3, so 7 and 3 are paired, leaving a remainder group of 1,2 and 4.

C6PAIRS, 1.5-Bracket (2) tables 1 paired. OK
C6PAIRS, E1 7&3
C5, ordered: 1
& 2 4

In this 1.5-Bracket Remainder Group, 1 has played both 2 and 4. So 2 and 4 should play each other. Even though they both have a strong preference for Black.

At least, that is the way I thought this round should be paired.

But Games::Tournament::Swiss is producing a different pairing.

To get to C11 and x=1, first C10 has to be tried and 7 and 3 have to be unpaired!

C10, Unpairing 7 and 3 in Bracket 2(1.5)
C10, Bracket 2's C10Repair Group: 7 3 2 4 1
C7, 4 1 2 3
C6PAIRS, B4: x=0, table 1 NOK
C7, last transposition

We already tested 7 and 2, but they were color incompatible, and 4 is a B4 violation too.

C10, No more opponents for Player 7
C10, Giving up on lowest 7 in 1.5-Bracket [2]
C11, Deleting all matches in 1.5-Bracket [2]
C11, Bracket 2's C11 Repairing: 7 4 1 2 3, with x=1
C4, S1: 7 & S2: 4 1 2 3
C5, ordered: 7
& 1 2 3 4

Because there is only one downfloater in the 1.5-Bracket, the pairings being considered are the same. x is different however.

After dropping B6 for downfloats:

C9, Dropping B6 for Downfloats
C4, S1: 7 & S2: 4 1 2 3
C5, ordered: 7
& 1 2 3 4
C6PAIRS, B1a: table 1 NOK
C7, 2 1 3 4
C6PAIRS, B56: OK.
C6PAIRS, 1.5-Bracket (2) tables 1 paired. OK
C6PAIRS, E2 2&7
C6OTHERS, Remaindering 1 3 4.
[2] 7 2 & [2's Remainder Group] 1 3 4

Now 2 can be paired with 7. Which leaves 1, 3 and 4 to be paired. But, in a similar situation to that before, 4 has played both 1 and 3. So 1 and 3 should be paired. But, they both have the same Strong preference for White.

And to get to C11 and x=1, first C10 has to be tried again.

Or does it? Is the increased x property inherited by all remainder groups of the repaired 1.5-Bracket?

C11 says:
As long as x is less than p: increase x by 1. When pairing a remainder group undo all pairings of players moved down also. Restart at C3.

This gives the impression that remainder groups may inherit x increases. It says 'also.' (Or does that 'also' just mean repair all the members of the heterogeneous group?)

But, C10 stands in the way of C11. At least for a bracket which has not received an x increase.

I thought that no remainder group ever got to C11. They were all fielded by C10. And so no remainder group ever got x increases.

Perhaps at least for brackets which are receiving x increases, C10 and C11 (and C12?) don't stand in sequence, but are alternative parallel states in the pairing procedure.

What happens if we DON'T increase x in the remainder group. It looks like we
may end up joining both brackets into one big group, because if we pair 7 with
4, the last player 7 can be paired with in the final bracket, we have to pair
1,2 and 3. But 2 and 3 have already played each other. And 1 has played 2. So
we have to pair 1 and 3, which are color incompatible. But we have not reached
C11 yet, so x=0 still.

Games::Tournament::Swiss is producing such a pairing after trying to repair 2- Bracket [1].

C10, Passing 2's Remainder Group (1.5Remainder) to C11.
C11, Repairing of 7 3 in 1.5-Bracket [2] failed pairing 2 4 1.
C11, Deleting all matches in 1.5-Bracket [2]. Repairing with x=1
C7, 4 1 2 3
C6PAIRS, B56: OK.
C6PAIRS, 1.5-Bracket (2) tables 1 paired. OK
C6PAIRS, E2 4&7

And (cutting out lots of repeated cycles through C10 and C11 here),

C10, Passing 2's Remainder Group (1.5Remainder) to C11.
C11, Repairing of 7 4 in 1.5-Bracket [2] failed pairing 2 3 1.
C11, Deleting all matches in 1.5-Bracket [2]. Repairing with x=1
C7, last transposition
C10, No more opponents for Player 7
C10, Float checks all dropped in Bracket 2(1.5)
C10, Giving up on lowest 7 in 1.5-Bracket [2]
C11, x=p=1, no more x increases in 1.5-Bracket [2].
Giving up on C11 Repair. Trying C12
C12, Deleting matches in 2-Bracket [1], home of 7
C12, 2-Bracket [1] C12 Repairing: 7 6 5

To cut it short here, the C12 repairing fails, perhaps incorrectly, and Games:: Tournament::Swiss is joining the 2 brackets

C12, Repairing of 2-Bracket [1] failed to pair 1.5 [2]. Go to C13
C13, Undoing 2-Bracket [1] matches
C13, Unfloating 7 back from 2.
C13, penultimate p=0.
C13, Joining Bracket 1, 2.
C13, [1] 6 5 7 => [2] 7 4 2 3 1
C5, ordered: 5 6 7
& 1 2 3 4
C6PAIRS, B56: OK.
C6PAIRS, 1.5-Bracket (2) tables 1 2 3 paired. OK
C6PAIRS, E1 5&1 E1 2&6 E1 7&3
Pairing complete

So what do you think? The present solution isn't ideal. But automatic increases of x in remainder groups seems problematic too. Should pairing without them be tried first?

Bill Gletsos
06-11-2007, 08:01 PM
This is a conceptual tournament. All games are drawn. The only way to get ahead, is to get a bye.

I am happy with all the pairings for round 1-3.

The problem in the 4th round is C10,11,12 conspire to never let a remainder group increase x.

The pairing table for the 4th round is:

Round 4 Pairing Groups
-------------------------------------------------------------------------
Place No Opponents Roles Float Score
1-3
5 2,4,- WW- D 2
6 3,-,7 B-B d 2
7 -,1,6 -BW d 2
4-7
1 4,7,2 WWB u 1.5
2 5,3,1 BBW 1.5
3 6,2,4 WWB 1.5
4 1,5,3 BBW 1.5

In the 1st bracket, 6 and 7 have played each other, so one of them must play 5. Because 6 is color compatible, 6 plays 5 and 7 is downfloated, despite having downfloated 2 rounds ago.

In the 1.5-Bracket, 7 has already played 1 and is color compatible with 3, so 7 and 3 are paired, leaving a remainder group of 1,2 and 4.I didnt bother with the rest as the comment regarding 7 & 3 is clearly false.

7 has a black colour preference, 2 has a white and 3 has a black preference.
S1 = 7, S2 =1, 2, 3, 4 and b = 2, w = 3, q = 3, p = 1, x = 0

Hence 2 v 7 is the pairing.

drbean
06-11-2007, 11:03 PM
I wrote:

Round 4 Pairing Groups
-------------------------------------------------------------------------
Place No Opponents Roles Float Score
1-3
5 2,4,- WW- D 2
6 3,-,7 B-B d 2
7 -,1,6 -BW d 2
4-7
1 4,7,2 WWB u 1.5
2 5,3,1 BBW 1.5
3 6,2,4 WWB 1.5
4 1,5,3 BBW 1.5

... 7 has already played 1 and is color compatible with 3, so 7 and 3 are paired, leaving a remainder group of 1,2 and 4.

I didnt bother with the rest as the comment regarding 7 & 3 is clearly false.

7 has a black colour preference, 2 has a white and 3 has a black preference.

Good catch, as programmers say when you find a bug in their programs.

DB<85> x \$seven->preference->role
0 'White'
DB<86> x \$one->preference->role
0 'Black'
DB<87> x \$two->preference->role
0 'White'
DB<88> x \$three->preference->role
0 'Black'
DB<89> x \$four->preference->role
0 'White'

I need some tests to check preferences. I wonder why it is getting the wrong color. It is showing the right strength.

DB<90> x \$seven->preference->strength
0 'Mild

It is probably being confused by the bye. Because 5 and 6 are also getting the preference wrong.

I'll get back to you when I have this sorted out.

drbean
12-11-2007, 11:59 AM
I wrote:

Round 4 Pairing Groups
-------------------------------------------------------------------------
Place No Opponents Roles Float Score
1-3
5 2,4,- WW- D 2
6 3,-,7 B-B d 2
7 -,1,6 -BW d 2
4-7
1 4,7,2 WWB u 1.5
2 5,3,1 BBW 1.5
3 6,2,4 WWB 1.5
4 1,5,3 BBW 1.5

Somehow this was the wrong pairing table. But the bugs were real.

The right pairing table is:

Round 4 Pairing Groups
-------------------------------------------------------------------------
Place No Opponents Roles Float Score
1-3
5 2,4,- WB- D 2
6 3,-,7 B-W d 2
7 -,1,6 -WB d 2
4-7
1 4,7,2 WBW u 1.5
2 5,3,1 BWB 1.5
3 6,2,4 WBW 1.5
4 1,5,3 BWB 1.5

The pairings in Rounds 1-3 are the same, but the colors are different. Probably the preference bug was at work in earlier rounds. In the second round, it should have been very surprising for most of the players not to have had their strong preferences fulfilled, when all but one of them were in the same bracket.

[On second thoughts, it's probably the result of combining two different runs of the tournament through the computer, with the first run giving 1 one color in the first round and the second run giving it the other.]

DB<85> x \$seven->preference->role
0 'White'
DB<86> x \$one->preference->role
0 'Black'
DB<87> x \$two->preference->role
0 'White'
DB<88> x \$three->preference->role
0 'Black'
DB<89> x \$four->preference->role
0 'White'

But these new preferences for the 4th rounds are the same preferences as before, so now I'm not too certain if there was a bug or not.

In any case, the new pairings are different.

First 7 is paired with 3 (after B6 downfloat check waiving) because they have the right preferences.

C6PAIRS, 2-Bracket (1) tables 1 paired. OK
C6PAIRS, E1 5&6
C6OTHERS, Floating remaining 7 Down. [1] 6 5 & [2] 1 2 3 4 7
NEXT, 1.5-Bracket [2]: 1 2 3 4 7
C1, B1,2 test: OK, no unpairables
C2, x=0
C3, p=1. Heterogeneous.
C4, S1: 7 & S2: 1 2 3 4

...

C9, Dropping B6 for Downfloats
C4, S1: 7 & S2: 4 1 2 3
C5, ordered: 7
& 1 2 3 4
C6PAIRS, B1a: table 1 NOK
C7, 2 1 3 4
C6PAIRS, B4: x=0, table 1 NOK
C7, 3 1 2 4
C6PAIRS, B56: OK.
C6PAIRS, 1.5-Bracket (2) tables 1 paired. OK
C6PAIRS, E1 7&3
C6OTHERS, Remaindering 1 2 4.
[2] 7 3 & [2's Remainder Group] 1 2 4

But as we saw before, the remainder group is unpairable, with x=0. 1 has already played 2 and 4. It could be given the bye, if 2 and 4 were pairable, but because they both have a preference for White, they aren't at this stage.

So we go to C10, and try to repair 7, the last (the only) downfloater. However this C10 procedure fails because there is only one other choice, 4, and 7 and 4 both have a preference for White, but x=0 still.

C10, Unpairing 7 and 3 in 1.5-Bracket [2]
C10, Bracket 2's C10Repair Group: 7 3 2 4 1
C7, 4 1 2 3
C6PAIRS, B4: x=0, table 1 NOK
C7, last transposition
C10, No more opponents for Player 7
C10, Giving up on lowest 7 in 1.5-Bracket [2]
C11, Deleting all matches in 1.5-Bracket [2]
C11, Bracket 2's C11 Repairing: 7 4 1 2 3, with x=1
C4, S1: 7 & S2: 4 1 2 3

So we are at C11. We undo all of the pairing in the bracket and start again, but this time with x=1. Luckily(?), 7 gets a different partner this time (after waiving B6 downfloat checks).

C4, S1: 7 & S2: 4 1 2 3
C5, ordered: 7
& 1 2 3 4
C6PAIRS, B1a: table 1 NOK
C7, 2 1 3 4
C6PAIRS, B56: OK.
C6PAIRS, 1.5-Bracket (2) tables 1 paired. OK
C6PAIRS, E2 2&7
C6OTHERS, Remaindering 1 3 4.
[2] 7 2 & [2's Remainder Group] 1 3 4

And there is a different remainder group. I argued before that whether the remainder group inherits the x value of the heterogeneous bracket from which it comes is an important question.

Here, I am assuming it is inherited.

C2, x=0, xprime=1
C3, p=1. Homogeneous.
C4, S1: 1 & S2: 3 4
C5, ordered: 1
& 3 4
C6PAIRS, B56: OK.
C6PAIRS, 1.5Remainder-Bracket (2's Remainder Group) tables 1 paired. OK
C6PAIRS, E4 3&1
C6OTHERS, One unpaired player in last 2's Remainder Group bracket.
Pairing complete

In fact, C7 says pairing of remainder groups starts at C2, where x is set. So x should be zero, not 1. C11 says repaired heterogeneous groups restart at C3, allowing repaired heterogeneous groups to avoid x resetting.

If x isn't inherited however, the same problem as I mentioned in the first message of the thread occurs. That problem is all the possible remainder groups are unpairable if x=0.

In each of the possible groups there are 2 players with the same preference and one with the other, which is not unexpected. The thing is that in each of those groups, one player has played both the other players, and the 2 players who could play each other have the same preference.

So, if x remains at 0, we cycle through the 3 possible choices for 7 (again, in the case of 3)

And now the pairing of 7 and 2 fails to pair the remainder group.

C5, ordered: 3
& 1 4
C6PAIRS, B4: x=0, table 1 NOK
C7, 4 1
C6PAIRS, B1a: table 1 NOK
C7, last transposition
C8, last S1,S2 exchange in 2's Remainder Group
C9, B5,6 already dropped for Downfloats in Bracket 2's Remainder Group.
C10, Passing 1.5Remainder-Bracket [2's Remainder Group] to C11.
C11, Repairing of 7 2 in 1.5-Bracket [2] failed pairing 3 4 1.
C11, Deleting all matches in 1.5-Bracket [2]. Repairing with x=1
C7, 3 1 2 4
C6PAIRS, B56: OK.
C6PAIRS, 1.5-Bracket (2) tables 1 paired. OK
C6PAIRS, E1 7&3
C6OTHERS, Remaindering 1 2 4.
[2] 7 3 & [2's Remainder Group] 1 2 4
C2, x=0, xprime=0

And as before, the pairing of 7 and 3 fails to pair 1 2 and 4.

C5, ordered: 2
& 1 4
C6PAIRS, B1a: table 1 NOK
C7, 4 1
C6PAIRS, B4: x=0, table 1 NOK
C7, last transposition
C8, last S1,S2 exchange in 2's Remainder Group
C9, B5,6 already dropped for Downfloats in Bracket 2's Remainder Group.
C10, Passing 1.5Remainder-Bracket [2's Remainder Group] to C11.
C11, Repairing of 7 3 in 1.5-Bracket [2] failed pairing 2 4 1.
C11, Deleting all matches in 1.5-Bracket [2]. Repairing with x=1
C7, 4 1 2 3
C6PAIRS, B56: OK.
C6PAIRS, 1.5-Bracket (2) tables 1 paired. OK
C6PAIRS, E2 4&7
C6OTHERS, Remaindering 1 2 3.
[2] 7 4 & [2's Remainder Group] 1 2 3
C2, x=0, xprime=0

But likewise, 1 2 and 3 are unpairable if x=0.

C5, ordered: 2
& 1 3
C6PAIRS, B1a: table 1 NOK
C7, 3 1
C6PAIRS, B1a: table 1 NOK
C7, last transposition
C8, last S1,S2 exchange in 2's Remainder Group
C9, B5,6 already dropped for Downfloats in Bracket 2's Remainder Group.
C10, Passing 1.5Remainder-Bracket [2's Remainder Group] to C11.
C11, Repairing of 7 4 in 1.5-Bracket [2] failed pairing 2 3 1.
C11, Deleting all matches in 1.5-Bracket [2]. Repairing with x=1

So we are back where we started at with C11, if and only if remainder groups don't inherit the x values of the brackets from which they come.

I believe the FIDE rules probably should be interpreted as not allowing x increases for remainder groups, even though in this case the more elegant pairing would be to just do it.

My question is what should happen next in this pairing? Should we proceed to C12 and seek a different player than 7 to downfloat? Or should we increase x for remainder groups?

drbean
26-11-2007, 06:56 PM
Following the message about big X as a way to handle the sharing of x in heteroBracket and remainder group at http://chesschat.org/showthread.php?p=174878#post174878, here is the pairing of the 7-player, all-draw tournament's 4th round.

In the second bracket, pairings of the 3 players in all the possible remainder group can take place if and only if x=1.

After reaching C11, the first pairing of the heteroBracket consumes all the X, leaving none for the remainder group (ie x=0 in the remainder group), and so the pairing fails.

The second pairing in the heteroBracket is a color-compatible match, so x=1 in the remainder group, and the pairing succeeds.

The pairing of this round now being produced is the same as that being produced before, raising doubts whether all this finessing is not just cosmetic.

In detail:

Bracket 2's C11 Repairing: 7 4 1 2 3, with X=1
C4, S1: 7 & S2: 4 1 2 3
C5, ordered: 7
& 1 2 3 4
C6PAIRS, B1a: table 1 NOK
C7, 2 1 3 4
C6PAIRS, B6Down, table 1: 7 NOK. Floated Down 2 rounds ago
C7, 3 1 2 4
C6PAIRS, B6Down, table 1: 7 NOK. Floated Down 2 rounds ago
C7, 4 1 2 3
C6PAIRS, B6Down, table 1: 7 NOK. Floated Down 2 rounds ago
C7, last transposition in 1.5-Bracket [2]
C9, No pairing with float checks on. Dropping B6 for Downfloats in 1.5-Bracket [2]
C4, S1: 7 & S2: 4 1 2 3
C5, ordered: 7
& 1 2 3 4
C6PAIRS, B1a: table 1 NOK
C7, 2 1 3 4
C6PAIRS, B56: OK.
1.5-Bracket (2) tables 1 paired. OK
E2 2&7
1 of 1 X points used. 0 left for remainder group
C6OTHERS, Remaindering 1 3 4.
[2] 7 2 & [2's Remainder Group] 1 3 4
C2, x=0
C3, p=1. Homogeneous.
C4, S1: 1 & S2: 3 4
C5, ordered: 1
& 3 4
C6PAIRS, B4: x=0, table 1 NOK
C7, 4 3
C6PAIRS, B1a: table 1 NOK
C7, last transposition in 1.5Remainder-Bracket [2's Remainder Group]
C8, exchange a in 1.5Remainder-Bracket [2's Remainder Group]
3, 1 4
C5, ordered: 3
& 1 4
C6PAIRS, B4: x=0, table 1 NOK
C7, 4 1
C6PAIRS, B1a: table 1 NOK
C7, last transposition in 1.5Remainder-Bracket [2's Remainder Group]
C8, last S1,S2 exchange in 1.5Remainder-Bracket [2's Remainder Group]
C9, No pairing with float checks on. Dropping B6 for Downfloats in 1.5Remainder-Bracket [2's Remainder Group]
C4, S1: 1 & S2: 3 4

And we go through that again trying to pair the remainder group 2 more times dropping B6 and B5 in succession for Downfloats before deciding the heteroBracket pairing has failed.

C7, last transposition in 1.5Remainder-Bracket [2's Remainder Group]
C8, last S1,S2 exchange in 1.5Remainder-Bracket [2's Remainder Group]
C9, No pairing with all Downfloat checks dropped in 1.5Remainder-Bracket [2's Remainder Group]
C10, Passing 1.5Remainder-Bracket [2's Remainder Group] to C11.
C11, Repairing of 7 2 in 1.5-Bracket [2] failed pairing 3 4 1. Trying next pairing with X=1
C7, 3 1 2 4
C6PAIRS, B56: OK.
1.5-Bracket (2) tables 1 paired. OK
E1 7&3
0 of 1 X points used. 1 left for remainder group
C6OTHERS, Remaindering 1 2 4.
[2] 7 3 & [2's Remainder Group] 1 2 4
C2, x=1
C3, p=1. Homogeneous.
C4, S1: 1 & S2: 2 4
C5, ordered: 1
& 2 4
C6PAIRS, B1a: table 1 NOK
C7, 4 2
C6PAIRS, B1a: table 1 NOK
C7, last transposition in 1.5Remainder-Bracket [2's Remainder Group]
C8, exchange a in 1.5Remainder-Bracket [2's Remainder Group]
2, 1 4
C5, ordered: 2
& 1 4
C6PAIRS, B1a: table 1 NOK
C7, 4 1
C6PAIRS, B56: OK.
1.5Remainder-Bracket (2's Remainder Group) tables 1 paired. OK
E4 2&4
C6OTHERS, One unpaired player in last 2's Remainder Group bracket.

We don't need to consider the heteroBracket pairing with player 4, and we don't need to go to C12.

So it looks like C12 is not involved in any conspiracy.

Bartolin
26-11-2007, 08:16 PM
I think your example is pretty clever. I'm not sure I understood "all this finessing" about big X, but it looks very reasonable to me.

If I got it right, you highlighted the following problem with procedure C:

Whenever there is a remainder group, which is unpairable with x=0, we end at C11. We increase x to 1 and go to C3 (preventing re-calculating x at C2). But we have to repair the moved down players as well -- thereby reinstating the heterogenous group.

Now, after pairing the heterogenous group at C6 we always have to start at C2 with the remainder group. C2 tells us to recalculate x -- setting it to 0 again in your example. If all possible remainder groups are unpairable with x=0 (as in your example) there seems to be no way to increase x for the remainder group. So, we can't get a valid pairing within the C6-C11 cycles.

Possible solutions are:

The remainder group inherits x from the heterogenous group. This seems to work, but there is nothing about that in the rules.
The heterogenous group and the remainder group share a big X. This sounds very sensible to me, but again there is nothing like that in the rules.
It's not possible to get a pairing accoring to C6-C11, therefore we have to proceed to C12. This looks like the correct way if we interprete the rules literal, but it looks very strange (we fiddle with the previous group if there is a "good" pairing at hand (with x=1 for the remainder group)?

drbean
27-11-2007, 01:34 PM
I think your example is pretty clever. I'm not sure I understood "all this finessing" about big X, but it looks very reasonable to me.

The code is more clever, but the results it's producing are the same. This suggests the code is not as clever as it appears.

Whenever there is a remainder group, which is unpairable with x=0, we end at C11. We increase x to 1 and go to C3 (preventing re-calculating x at C2). But we have to repair the moved down players as well -- thereby reinstating the heterogenous group.

We increase x and go to C3 only if we have exhausted all the C7 possibilities (and C9 possibilities?), I think. Until that point, we should try these other possibilities at the same x.

This dual functionality of C11 (increasing x and failing a heteroBracket pairing because there is no pairing of the remainder group) makes it difficult to understand what's going on, I think.

Now, after pairing the heterogenous group at C6 we always have to start at C2 with the remainder group. C2 tells us to recalculate x -- setting it to 0 again in your example. If all possible remainder groups are unpairable with x=0 (as in your example) there seems to be no way to increase x for the remainder group. So, we can't get a valid pairing within the C6-C11 cycles.

Possible solutions are:

The remainder group inherits x from the heterogenous group. This seems to work, but there is nothing about that in the rules.
The heterogenous group and the remainder group share a big X. This sounds very sensible to me, but again there is nothing like that in the rules.
It's not possible to get a pairing accoring to C6-C11, therefore we have to proceed to C12. This looks like the correct way if we interprete the rules literal, but it looks very strange (we fiddle with the previous group if there is a "good" pairing at hand (with x=1 for the remainder group)?

The big X of the second solution is only a terminological convenience to express the inherited x of the first solution with a single letter.

I think that's the way I see it. The 3rd solution, floating down 5 or 6 instead of 7, however, still looks like it might have potential.

Bartolin
27-11-2007, 05:23 PM
The code is more clever, but the results it's producing are the same. This suggests the code is not as clever as it appears.

But maybe, that happens by chance?

Am I right that you are comparing the results (and saying they are the same) of (1) passing x from the heterogenous group to its remainder group with (2) using big X for those two groups?

Maybe it's possible to construe an example where we get different results. It must be something like (sorry, at the moment I've not enough time to construe a complete pairing table):

Player A || 4.5 points || wants white || played D already
Player B || 4.0 points || wants white || played D already
Player C || 4.0 points || wants black
Player D || 4.0 points || wants black || played A,B,E already
Player E || 4.0 points || wants white || played D already

(Assuming, there are no floats.)

Now with x=0 we would try A-C for the heterogenous group. After that, the remainder group (B,D,E) is unpairable with x=0, since B and E both want white and D has already played B and E.

After pairing the heterogenous group with x=1, we get A-B first. Now we have two cases:

The remainder group has x=1 (x is inherited). In that case we get C-D first, moving down E.
The remainder group has x=0 (X=1 is used up by pairing A and B). In that case we get C-E first, moving D down.

Do I overlook something?

I think that's the way I see it. The 3rd solution, floating down 5 or 6 instead of 7, however, still looks like it might have potential.

Yes, indeed it has. But I think it would be strange to do that. The role of C11 seems to be to allow for B4 relaxations before fiddling with the previous score bracket (that's C12). But why should we move to C12, when there is a valid pairing (violation only B4) with the current group -- only procedure C doesn't see it because it never allows a remainder group with x>0. I don't see any reason to allow B4 violations for a heterogenous group as a whole but never for it's remainder group.

Bill Gletsos
27-11-2007, 08:24 PM
The coirrect round 4 pairing is:

5 v 6
7 v 3
2 v 4
1 gets the bye

Based on your assumption that all the games are drawn then the round 5 pairings are:

6 v 1
3 v 5
4 v 7
2 gets the bye

Likewise Round 6 would be:

1 v 5
7 v 2
4 v 6
3 gets the bye

Lastly Round 7 is:

3 v 1
2 v 6
5 v 7
4 gets the bye.

Bartolin
27-11-2007, 09:57 PM
The code is more clever, but the results it's producing are the same. This suggests the code is not as clever as it appears.

After re-reading the output of Games::Chess::Tournament you quoted, I must ask what results you speak about in this sentence.

If I'm not mistaken, in post #4 -- under the assumption that x of the remainder group is inherited from the heterogenous group the remainder group stems from -- you get

5 v 6
7 v 2
3 v 1
4 gets the bye

But if you use your "bix X" method (post #5) you get

5 v 6
7 v 3
2 v 4
1 gets the bye

This is the pairing Bill Gletsos gave as the correct one.

So, it seems to me that "inheriting x" and "sharing X" don't give the same results in this example.

What do I miss?

Bartolin
27-11-2007, 10:13 PM
The correct round 4 pairing is:

5 v 6
7 v 3
2 v 4
1 gets the bye

Thanks for this evaluation! (Interestingly, this is the same pairing as given in post #5.)

5 v 6 is very straightforward.

7 v 3 looks sensible as well, for the heterogenous group S1 = 7, S2 = 1,2,3,4.

But 2 v 4 seems to be only possible when x=1 for the remainder group (1,2,4). I still don't understand at which point of procedure C we are instructed to increase x=1 for this remainder group. (Though I think we should do that somehow.)

Increasing x is reglemented by C11. But C11 tells us to undo all pairings of moved down players as well. Therefore we restart with a heterogenous group at C3. The next time we visit C6 with a successful pairing for the moved down player (7) it sends us back to C2 with the remainder group. And there we have to set x=0 again.

At least this is the way I read the instructions from C.

drbean
29-11-2007, 12:04 PM
The coirrect round 4 pairing is:

5 v 6
7 v 3
2 v 4
1 gets the bye

That's what Games::Tournament::Swiss is getting too.

Based on your assumption that all the games are drawn then the round 5 pairings are:

6 v 1
3 v 5
4 v 7
2 gets the bye

Games::Tournament::Swiss is getting the same result. I haven't done
the pairing by hand. I did some of the easier parts. I let the
program give me some hints.

Likewise Round 6 would be:

1 v 5
7 v 2
4 v 6
3 gets the bye

Games::Tournament::Swiss is swapping 3 and 5, pairing 3 with 1,
and giving 5 a second Bye!

Back to the drawing board.

Lastly Round 7 is:

3 v 1
2 v 6
5 v 7
4 gets the bye.

Games::Tournament::Swiss dies with an error on that one.

Thanks for the help with this tournament.