I did the same search!! I have no idea! initially because of the flag and the way the name may be spelled I think is Hong Kong, but the Dan level doesn't match
Re: World Amateur Go Championship 2012
Posted: Sat May 12, 2012 8:30 pm
by dankenzon
In a game where Thailand offered strong resistence, Japan wins showing how to take and keep control of a game!
Re: World Amateur Go Championship 2012
Posted: Sat May 12, 2012 9:33 pm
by dankenzon
Ok, North Korea won against an ADDED Chinese player, probably somebody didn't arrive or cancelled at the last moment
Re: World Amateur Go Championship 2012
Posted: Sun May 13, 2012 2:03 am
by Javaness2
Sounds like this guy is going to be removed again, as Morocco didn't manage to make the event.
Re: World Amateur Go Championship 2012
Posted: Sun May 13, 2012 9:30 am
by Laman
South Korean 4d: i've heard that Koreans often declare their rank as 4d. and i can't think of a sane criterion that would choose a 'real' 4d from their rich supply of extremely strong amateurs.
North Korean: he must be pretty strong, in the second round he defeated Pal Balogh 6d from Hungaria. North Korea has no pros, so they can send their strongest player instead of just their strongest amateur (compared to CJK)
New Zealand - Czechia (*.sgf) Czechia - Germany (*.sgf)
And if somebody can tell me how Argentina is going to play against... Argentina!! I would thanks!
Re: World Amateur Go Championship 2012
Posted: Sun May 13, 2012 10:49 am
by dankenzon
Here is how North Korea won against Hungary
Re: World Amateur Go Championship 2012
Posted: Sun May 13, 2012 10:49 am
by dankenzon
Finlandia beats UK
Re: World Amateur Go Championship 2012
Posted: Sun May 13, 2012 10:50 am
by dankenzon
Singapur can't stand the Chinese power!
Re: World Amateur Go Championship 2012
Posted: Sun May 13, 2012 5:42 pm
by snorri
dankenzon wrote:Here is how North Korea won against Hungary
Wow. Large avalanche played out a lot. Thanks for sharing!
Re: World Amateur Go Championship 2012
Posted: Sun May 13, 2012 10:07 pm
by dankenzon
Here comes games from the third round:
China Macau 0 - China 1
Japan can't stand South Korea. The korean fuseki defined the curse of the game!
North Korea player wins very quickly!!
And Rumany wins! very curios the situation in the upper left
Re: World Amateur Go Championship 2012
Posted: Mon May 14, 2012 4:12 am
by HermanHiddema
So, because the official published results are, IMO, hard to read, I've converted them to a more traditional format, with players sorted by score and SOS, and results based on the opponents current place.
Here's the standings after round 4 (with the pairing for round 5 already in there)
from __future__ import print_function
import sys
import codecs
def convert_result(filename):
"""File should be tab separated as:
Place Country Name Results...
"""
players = {}
with codecs.open(filename, 'r', 'utf-8') as file:
for line in file:
values = [field.strip() for field in line.strip().split("\t")]
player = {
'id' : int(values[0]),
'name' : values[2],
'country' : values[1],
'results' : map(None, (int(opponent) if opponent else 0 for opponent in values[3::2]),
(int(totalpts) if totalpts else -1 for totalpts in values[4::2])
), # opponent/cumulative score pairs
# map(None) works like zip, but pads with None instead of truncating to shortest sequence
'score': 0
}
players[player['id']] = player
# sanity check to see if the pairings are valid
rounds = zip(*[p['results'] for p in players.values()])
for round, results in enumerate(rounds):
opponents = [x[0] for x in results]
if len(opponents) != len(set(opponents)):
print("Duplicate opponents in round {}".format(round))
for player in set(opponents):
if opponents.count(player) > 1:
print("Player {} was paired {} times".format(player, opponents.count(player)))
for player in set(range(1, len(players)+1)) - set(opponents):
print("Player {} is unpaired".format(player))
exit()
# convert cumulative scores into results per round
for player in players.values():
prevtotal = 0
for round, (opponent, totalpts) in enumerate(player['results']):
if totalpts > -1: # this round has been played
if totalpts > prevtotal: # the player won
prevtotal = totalpts
player['results'][round] = (opponent, '+')
player['score'] += 1
elif totalpts == prevtotal: # the player lost
player['results'][round] = (opponent, '-')
else:
exit() # error, the cumulative score got lower
else: # this round has not been played yet
player['results'][round] = (opponent,'?')
# calculate SOS, SODOS, SOSOS
for player in players.values():
player['sos'] = sum(players[opponent]['score'] for opponent, result in player['results'] if opponent and result != '?')
player['sodos'] = sum(players[opponent]['score'] for opponent, result in player['results'] if opponent and result == '+')
for player in players.values():
player['sosos'] = sum(players[opponent]['sos'] for opponent, result in player['results'] if opponent and result != '?')
# sort players by Score, SOS, SOSOS, then add the position to their data
sorted_players = sorted(players.values(), key=lambda player: (player['score'], player['sos'], player['sosos']), reverse=True)
for pos, player in enumerate(sorted_players):
player['pos'] = pos + 1
# print players
print(u"Pl {:30s}{:20s} Pt SOS SOSOS ".format("Name", "Country"))
for player in sorted_players:
print(u"{pos:2d} {name:30s}{country:20s} {score:2d} {sos:3d} {sosos:5d} ".format(**player), end='')
for opponent, result in player['results']:
if opponent:
print(" {:3d}{}".format(players[opponent]['pos'] if opponent in players else 0, result), end='')
print() #EOL
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage {} <resultfile>".format(sys.argv[0]))
else:
convert_result(sys.argv[1])
Works based on a tab separated text file with copy-pasted data from ranka's results page. Assumes UTF-8, if the editor you're using uses another encoding, change it in the codecs.open line.
This version also with SOSOS goodness
Re: World Amateur Go Championship 2012
Posted: Mon May 14, 2012 4:16 am
by hyperpape
Quite pleased to see Yuan Zhou win against Japan.
Re: World Amateur Go Championship 2012
Posted: Mon May 14, 2012 10:02 am
by snorri
HermanHiddema wrote:So, because the official published results are, IMO, hard to read, I've converted them to a more traditional format, with players sorted by score and SOS, and results based on the opponents current place.
I did something similar in Excel and my numbers match with yours, but your table is nicer to read. Thanks!