[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Tactical search: alpha-beta or and-or?
I was surprised no replies to this yet, so I'll throw out one of my
"secrets" to see if it can generate some discussion.
> For tactical search, are people using alpha-beta search or a simpler
> and-or search to answer the boolean question of whether the block can
> be saved/killed?
And-or search. If anyone is doing alpha-beta I'd be interested in
hearing how they assign a score and how it worked better than just
searching for dead vs. N+ libs.
It might be better: after all chess is a boolean search to capture the
king, yet alpha-beta works well.
> I've heard several people say that a block is considered alive if it
> has five liberties. I've recently starting considering a block alive
> if it has four or more potential eyes. A potential eye is a vacant
> point where none of the adjacent points, and at most one of the
> diagonal points, are occupied by enemy stones. (Yes, this misses the
> fact that enemy stones might be captured.)
How is this going? 4 sounds too high: you'll do a lot more search than
searching for 5 simple libs.
I've experimented a lot with a "good lib" concept. E.g. 3+ good libs is
alive, and a good lib has 2+ slibs. plib means primary lib, slib means
secondary lib (and tlib is tertiary lib). A plib adjacent to another
plib doesn't count as an slib. So to rephrase, if a defender plays at a
plib with:
1 slib: he has one less liberty
2 slibs: his liberty count doesn't change
3 slibs: his liberty count increases by 1
etc.
It gets complicated by weak enemy neighbours but they matter a lot. I've
had best results following the above description, so if playing at a
plib would capture something then I increase the slib count accordingly.
I firmly believe "good lib tac search" would give better results than a
simple N+ libs is alive search, for the same CPU time. The downside is
code complexity and working out the best combination of parameters (e.g.
4 good libs where a good lib is 2 slibs, or 2 good libs where a good lib
is 3 slibs, or ....)
Darren
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/