[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Pattern matching - example play
From: "Mark Boon" <tesuji@xxxxxxxxxxxxxxxxx>
Subject: RE: [computer-go] Pattern matching - example play
> You have to remember that predicting pro moves is not the goal of
> pattern-systems in a Go playing program, so I'm not sure it's a valid
> test-case.
I use pro-prediction as a means to test how many patterns are "good".
The higher the pro-prediction, the better the pattern system works.
<snip>
> Having this hand-coded pattern in my database makes sure that my program
> will *always*, 100% guaranteed, find te cutting move. Now even if your
> system predicts 99% of pro moves, but occasionally misses a cut... then I
> think you have a problem.
My system will guaranteed never miss a cut, because the smallest pattern is
13 points, giving a max. of 3^12 possibilities (in fact a bit less since the
center point is always empty). Because of symmetries, you end up with only
about 33,000 points.
I examine 500,000 x 250 = 125 billion patterns with that size. The chance of
missing a pattern is thus about 1:3,700 but in reality it is even better,
since some patterns are impossible.
And, more importantly, I do not want to rely on a pattern harvester for
connectivity. I consider cuts to be part of a separate system, a
"connectivity" system that uses the same "pattern" system, only with
special-purpose harvested patterns geared towards connectivity, and with
statistical data on connectivity gained. I have 100% completed such a system
already!
I just haven't come around to testing & verifying and using it in a move
generator yet.
And I have to re-do stuff and re-think stuff but I had a huge
connectivity-pattern database and statitsical data on the patterns.
> This is just one example though. There are many others almost equally
> fundamental. They are so fundamental that I don't dare to risk it leaving
it
> to some pattern-harvester and be comfortable it will contain all of the
> required patterns.
I have just demonstrated that if it EVER occurs in half a million games and
the pattern is not too large, my system will contain it with overwhelming
odds.
But as I said, I will have a separate connectivity expert that, instead of
search or heuristicsm uses millions of statistically relevant patterns and
data.
> So I suppose it's also a matter of confidence. If you have confidence that
> your system will also include all the really fundamental shapes it's maybe
a
> different story. However, simply 'believing' based on a good percentage of
> predicting pro moves is not good enough for me.
Vix above for explanation on why my system works just fine for cuts.
> Would there be a way to test
> this?
I am 100% sure I have all cutting patterns as I have counters for how many
separate patterns added per size class.
I even have the theoretical maximum for the second-largest size class, which
are 21-point patterns.
> Could we make a set of patterns like the one above that I think are so
> fundamental you can't afford to miss one and see if your system contains
> them? Or would it be too much work...?
My system does not only contain stuff that is fundamental, it contains every
single pattern (limited to 8 shape classes) that occurs once in one hundred
thousand games.
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/