[computer-go] State of the art of pattern matching
Mark Boon
tesujisoftware at gmail.com
Mon Mar 31 07:34:58 PDT 2008
I did an experiment that looks rather similar. I generated patterns
and only kept the ones that had a minimum amount of 'urgency' and a
minimum number of occurrences. But I noticed two things when using
these patterns in a MC playout:
1) There are many important moves missing. Apparently they were not
picked up from the game-database even though the number of games is
in the 10-thousands.
2) When I used these patterns during simulation the playouts suddenly
look surprisingly like normal Go compared to random playouts.
However, the program started to play worse. Much worse. Even when I
let it compute as many playouts as a program without patterns.
The first observation made me wary to rely on harvested patterns. I
think it shows at least it needs to be used in combination with hand-
crafted patterns. Also it means that the fact you harvest a large
number of patterns isn't necessarily meaningful.
The second observation I think may have been caused by not enough
randomness. But that means I first have to find an answer to how much
randomness I need to put into the patterns. I'm first looking at this
question with some hand-crafted patterns to get a better handle on
this issue.
Mark
On 30-mrt-08, at 09:14, Jacques Basaldúa wrote:
> Mark Boon wrote:
>
>
> >There are 16 4-distance points, so if you spill ino that by one
> > point you get 315 or a little over 14 million patterns. Multiplied
> > by 3 for every don't-care point within less than 4 distance. Ouch.
>
> True, but the number of patterns is learned automatically. When I
> first learn the 55K+ games, there are so many patterns that I can
> only create a pattern file of less than 2000 games. I create 32
> such files an call "importance" the number of files in which each
> pattern is found. (a value from 1 to 32). The number of patterns
> are:
>
> # of imp = 32 97132 (97132)
> # of imp = 31 26493 (123625)
> # of imp = 30 21460 (145085)
> # of imp = 29 19335 (164420)
> # of imp = 28 18415 (182835)
> # of imp = 27 18703 (201538)
> # of imp = 26 18619 (220157)
> # of imp = 25 19345 (239502)
> # of imp = 24 20390 (259892)
> # of imp = 23 21611 (281503)
> # of imp = 22 22959 (304462)
> # of imp = 21 24675 (329137)
> # of imp = 20 26808 (355945)
> # of imp = 19 29081 (385026)
> # of imp = 18 31938 (416964)
> # of imp = 17 35319 (452283)
> # of imp = 16 39188 (491471)
> # of imp = 15 43899 (535370)
> # of imp = 14 50391 (585761)
> # of imp = 13 57259 (643020)
> # of imp = 12 67062 (710082)
> # of imp = 11 79013 (789095)
> # of imp = 10 95292 (884387)
> # of imp = 9 117109 (1001496)
> # of imp = 8 147810 (1149306)
>
> Depending on the threshold value used (and also the number
> of times the pattern is seen) I can create databases from about
> 100K patterns to 1M patterns, more than that means including
> patterns that are too seldom, their urgency information won't be
> very accurate either due to the small sample size.
>
> Jacques.
>
> _______________________________________________
> computer-go mailing list
> computer-go at computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/
More information about the computer-go
mailing list