Evolution of a Go program

About the development of Moyo Go Studio, software to (help) play the Oriental game of Go. Go is a two-player zero-sum game of perfect information. It is considered much harder than Chess. Currently, in spite of enormous effort expended, no computer program plays it above the level of a beginner.

Tuesday, December 06, 2005

Open-Sourcing the data

Open-sourcing the pro games I collected from various sources and "cleaned up" a little (pro ranks should have a "p", for example, to be able to automatically distinguish them from "d" amateur ranks) was not just beneficial for computer Go researchers in countries where the GoGoD CD costs the equivalent of a week's salary. Or students of the game of Go in those countries, for that matter. (My POV is that not only is there no Copyright on Go game records, it is also unethical to claim Copyright on them in an attempt to make money of them greatly exceeding the cost of producing the actual collection).

Immediately after I put the games online, people started to report bugs in the SGF, as well as quite a number of duplicates. There turned out to be a bug in my "duplicates detection" code, when games were 180 degrees rotated! Strangely enough, these games exist. Many of them.
My duplicates-detection code works with rotational/mirror/color reversed end-of-game hashes, but there was a bug there.

The "illegal SGF" never became known to me either, because Moyo Go follows the principle of "Be liberal in what you accept as input and conservative in what you produce as output". I should have tested with other Go software as well!

So now I have put online a new pro collection, which is now pretty OK.