Yes, this is the hash table idea I mentioned, although most people don't view this as a hash table - it is.
The enhanced version has actually improved it's result over the past couple of hours: Rank Name Elo + - games score oppo. draws 1 mwRefbot-004096 2691 22 21 1642 78% 2158 0% 2 refbot-008192 2675 20 20 1642 73% 2277 0% 3 refbot-004096 2650 20 20 1642 71% 2257 0% 4 refbot-002048 2564 20 20 1642 63% 2242 0% 5 refbot-001024 2440 22 22 1642 55% 2177 0% 6 refbot-000512 2265 26 26 1642 48% 2067 0% 7 refbot-000256 2006 33 34 1644 42% 1938 0% 8 refbot-000128 1651 40 41 1643 45% 1657 0% 9 refbot-000064 1293 39 39 1644 51% 1321 0% 10 refbot-000032 975 38 38 1643 52% 1052 0% 11 refbot-000016 630 32 31 1642 55% 786 0% 12 refbot-000008 375 24 24 1642 47% 654 0% 13 refbot-000004 256 22 22 1643 43% 561 0% 14 refbot-000002 148 21 21 1642 35% 500 0% 15 refbot-000001 6 22 22 1644 21% 487 0% 16 refbot-000000 0 21 22 1643 21% 489 0% - Don On Tue, 2008-10-28 at 11:41 -0400, Michael Williams wrote: > You can add the check back in and be more efficient than Don's nested loop by > doing something like this (warning: untested code)... > > > > for (int mv = 0; mv < NNN; mv++) > { > credit[mv] = true; // initial assumption is that credit is > awarded for any move > } > double weight = 1.0; > double weightDelta = 2.0 / (ctm - savctm + 1); > for (int i = savctm; i < ctm; i += 2) > { > int mv = mvs[i] & MASK; > > if (credit[mv]) > { > wins[mv] += weight * sc; > hits[mv] += weight; > credit[mv] = false; // do not award credit for this move > again > } > weight -= weightDelta; > > credit[mvs[i+1] & MASK] = false; // do not award credit for the > opponent's move > } > > > > > Mark Boon wrote: > > Hehe, this reminds me of the title of a CNN program: 'Keeping them > > honest' ;-) > > > > OK, let me add that check back in to see if I get better results. > > > > Mark > > > > On 28-okt-08, at 13:18, Michael Williams wrote: > > > >> My original chart of numbers was created before it occurred to me that > >> maybe the check whether the move has been played before is not > >> needed. It is of course possible that the check IS needed. I ran a > >> new test after removing that check and the numbers don't look as good: > >> > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > computer-go mailing list > > computer-go@computer-go.org > > http://www.computer-go.org/mailman/listinfo/computer-go/ > > _______________________________________________ > computer-go mailing list > computer-go@computer-go.org > http://www.computer-go.org/mailman/listinfo/computer-go/
signature.asc
Description: This is a digitally signed message part
_______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/