[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-gnubg] GNU Cube Equity Doubling Criteria question
From: |
Joern Thyssen |
Subject: |
Re: [Bug-gnubg] GNU Cube Equity Doubling Criteria question |
Date: |
Tue, 14 Jan 2003 09:56:52 +0000 |
User-agent: |
Mutt/1.4i |
On Tue, Jan 14, 2003 at 03:10:31AM -0500, address@hidden wrote
> Let's say GNU is playing/anlaysing/rolling out at 2 ply cube.
> Does GNU ALWAYS calculate the 2 ply equity of the position before each dice
> roll. E.g if it knows that equity of the position is negative (in a money
> game)
> will it still bother to calculate whether the position is a double past 0
> ply?
> If the answer is no, then could you tell me the criteria used in the
> programming.
> Thanks
Analysis and rollout: it always do the requested cube analysis.
gnubg play: it starts with a cubeless n-1 ply evaluation[*], and determine
the initial double point absed on the gammon ratios. If the cubeless n-1
ply gwc is larger than the initial double point, it odes the requested
n-ply cubeful evaluation.
It could be usuful to implement a similar (optional) heuristic for
cubeful rollouts as well.
For analysis I don't know. It's similar to our discussion regarding the
move fitlers: do we analyse at the level requested by the user, or do we
"perform" magic to save some time?! For move filters the user can
circumvent our "magic" by setting accept=2, but for cube decisions the
user would manually have to go through the match, find all cube
decisions we skipped (because gnubg didn't think we were in the doubling
window), and request a evaluation of that particular decision.
BTW, you can easily have a negative equity and still have a double in
money game (the Jacoby paradox).
Jørn
[*] technically: it'll do a max(n-1,0) ply evaluation. So for 0-ply it
ends up doing some extra work, i.e., two 0-ply evaluations.