# Origin [#2255]

isd: Origin (2010-04-07 12:47) [#7613]

Is Direct Confrontation supposed to be different to direct Comparison? I remember that Luc Vannier was very confused as to how to implement Direct Comparison and came up with two different implementations. Now DC1 and DC2 have disappeared to be replaced by Direct Confrontation! Interesting.

X
HermanHiddema: Re: Origin (2010-04-07 13:29) [#7614]

I have no idea. The code claims to be © Matthieu Walraet 2007, which would make it three years old.

As far as i can see, the algorithm takes two parameters. One to decide whether it should consider wins more important than losses, or vice versa. Another to deal with cycles and transitivity.

It also requires a secondary criterion (such as SOS) to work, which is used to sort players still tied after the algorithm.

The example given is:

A, B and C are tied. The SC (Secondary Criterion) for them is: A = 1, B = 3, C = 2. Only one of the games amongst the player has been played: A defeated B.

If you want to sort on DC in this situation, A has the be before B. But C can be on two places, either before A (because C's SC of 2 beats A's SC of 1) or after B (because B's SC of 3 beats C's SC of 2). So it's either CAB or ABC.

If wins are favored (upWinners = true), it is ABC (because A's win puts him ahead of the rest, then we compare B and C). If losses are penalized (upWinners=false), it is CAB (because B's loss puts him behind the rest, then we put C before A)

The additional "Transitivity" parameter tells the algorithm how to deal with cycles in subgroups of the tied group.

I haven't really looked at the code beyond that yet. I ran across the DC column in the Shusaku Cup result, and since it was obviously no Direct Comparison, I went looking for what it might be.

MatthieuWalraet: Re: Origin (2010-07-21 22:49) [#7825]

Well, here is the story.

Luc Vannier started in august 2007 a discussion on frgo (the french go players mailing list) about the need of a "Confrontation Directe" criteria, as he was writing OpenGotha.

This came from live discussions at the end of EGC2007. Ilya Shikshin won the european title over Alexander Dinershteyn with an equal MMS, equal SOS and 2 SOSOS points difference. Dinershteyn was the winner of the game between the two. So many players found the final ranking a bit weird.

The same kind of case occured during French Go Championship 2006 (and again in 2007 a few days after this frgo discussion).

Luc was not sure about how to solve special cases of direct confrontation. At this time we were not aware of EGF definition of Direct Comparison.

Francois Mizessyn proposed to use number of internal victories, and to apply this criteria only if all games have been played between ex-aequo players. This was implemented in OpenGotha as "SDC".

Damien Doligez proposed to use a "topological sort". I refined this idea, by defining exactly how to handle cycles and how to perform the topological sort using secondary criterias. I implemented the algorithm in java and Luc has integrated it in OpenGotha as "DC". In the implementation, I had left open two choices: upWinners and Transitivity parameters. Actually Luc had the same preference as me about these choices.

isd: ((no subject)) (2010-04-07 14:32) [#7615]

I was trying to work out how this works in practice, so naturally I found the results from the Shusaku Cup useful to do this. Here the parameter order seems to be MMS, DC, SOS-1.

``` 7  Burzo Cornel          6D RO BaMa 3 18+/b0  4-/w0 12+/b0  3-/w0  9+/b0  1-/b0 37 7 190 562
8  Simara Jan            6D CZ KaVa 3  3-/w0 23+/b0 15-/w0 10+/b0 16+/w0  4-/b0 37 6 185 523
9  Zhurakovskyj Bohdan   5D UA Rivn 3 15-/b0 22+/w0 10+/w0  4-/b0  7-/w0 18+/b0 37 5 184 432
10  Florescu Ion          6D RO Pits 3  1-/b0 13+/w0  9-/b0  8-/w0 19+/b0 17+/w0 37 4 187 561
11  Jabarin Ali           5D IL TAv  3  4-/w0 16+/b0  6-/b0 18+/w0 13+/b0  5-/w0 37 3 187 457
12  Lin Viktor            5D AT Gote 3  5-/w0 14+/b0  7-/w0 19+/w0 15+/b0  6-/b0 37 2 186 446
13  Corlan Lucian         5D RO Bucu 3  6-/w0 10-/b0 24+/w0 25+/b0 11-/w0 15+/b0 37 1 183 428
14  Serban Mihai_Valentin 4D RO Bist 4 19+/w0 12-/w0 30+/b0  5-/b0 22+/b0 16+/w0 37 0 182 349
```
• Burzo beat Lin, Zhur
• Simara beat Florescu,
• Zhur. beat Florescu , lost Burzo
• Florescu beat Corlan, lost Zhur. ,Simara
• Jabarin beat Corlan
• Lin beat Serban, lost Burzo
• Corlan lost Florescu, Jabarin
• Serban lost Lin

It hurts my head trying to form nodes from this!

X
HermanHiddema: Re: ((no subject)) (2010-04-07 15:25) [#7616]

Ok, If I understand correctly:

Given the list of results, Burzo, Simara, Zhur, Flor, Jabarin and Lin all defeated at least one player in the group so should not be last. Corlan and Serban have not. So either Corlan or Serban is last. Serban has lowest SOS, so Serban gets last place (DC 0).

In the second iteration, with Serban removed, Burzo, Simara, Zhur, Flor, Jabarin have all beaten one of the others. Lin and Corlan have not (Lin's victory against Serban no longer counts). Corlan has lowest SOS, so Corlan is out next (DC 1)

Third iteration: Burzo, Simara and Zhur have all beaten one of the other players. Flor, Jabarin and Lin have not (now that Corlan was dropped). Lin has worst SOS, so Lin is out next (DC 2).

Fourth iteration: Burzo, Simara and Zhur have all beaten one of the other players. Flor and Jabarin have not. Flor and Jabarin have same SOS. Jabarin is dropped on Rating (last column) (DC 3)

Fifth iteration: Burzo, Simara and Zhur have all beaten one of the other players. Flor is droppen next (DC 4)

Sixth iteration: Burzo has beaten one of the others, Simara and Zhur have not. Zhur is dropped on SOS (DC 5)

Seventh iteration: Neither player has beaten the other. Simara is dropped on SOS (DC 6), Burzo remains and gets first place (DC 7)