Author: Robert Hyatt
Date: 09:06:33 04/07/02
Go up one level in this thread
On April 07, 2002 at 03:45:37, martin fierz wrote: >aloha! > >i have a whole bunch of questions tonight. the reason is that i will participate >in a computer checkers tournament in august in las vegas, and would like to >improve my chances a bit :-) >the questions are the same as in computer chess, so i hope you can help me :-) > >1) TB caching/access >i just had my computer calculate the 8-piece db. in the meantime, it has also >compressed it to about 4.5GB (20% less than the chinook db), and i'm working on >the access code. at the moment, i use a circular buffer of database blocks, and >run a pointer through the buffer and overwrite whatever is there if i find i >have to access a block that is not already in memory. this works ok, but it >seems that there are better schemes - LRU for example. could somebody explain >how this works and how much better it would be (this is important to me! i'm >such a lousy programmer that i'd rather not use doubly linked lists unless there You are using FIFO it seems. LRU is better. A double-link would be the easiest way to do a LRU. When you use a block, move it to the front of the list. When you replace a block, replace the one on the tail of the list. LRU is significantly better than FIFO as a replacement policy. It is used in every paging facility (virtual memory) that I know of... Eugene uses it in the probe code used in crafty and other engines... >really is something to gain - because i will certainly generate lots of >bugs...)? or point me to a webpage explaining? >also, at the moment i use VirtualAlloc to get myself a big address region which >i use for my buffer. under windows, there are these memory-mapped files. would i >do better to try to use memory-mapped files instead of virtualalloc? and if yes, >my db consists of 1000s of files - can i map any number of files, or is there a >limit? > No idea for windows... >2)timing >i never had to do anything about the timing of my program before, except for >fixed time per move. now, we will probably play game in X. is there some kind of >standard way to allot time per move in this mode of play? a fixed percentage of >the remaining time maybe? That is what I do for game in X situations. I think I use X/25 where X is the time left... >also on this issue: very often, there is only one plausible move in a position >in checkers. i guess in chess this would be similar to a position where a piece >has been taken and only one move takes the material back. i would like to make >such "obvious" moves faster than "normal" moves. has anybody ever experimented >with such a thing (e.g. in the root alphabeta call, do a normal search, and then >do a minimal window search for moves 2-n with (bestvalue-X,bestvalue-X+1)as >window and see if it fails low for all moves, for an X of say 2 pawns? and if >yes, stop the search for example after half or quarter the nominal search time? > First, define what you are calling an obvious move. And give it some thought. You don't want to play into a trap, because you did a shallow search and got tricked... Then I suggest you use maybe 1/3 or 1/4 of the normal target time. This will let you move quickly while still giving you a chance to recognize trouble. >3) hardware rental >the checkers tournament will take place in las vegas in early august. i have a >XP1600+ with 1GB ram here in honolulu, but getting that tower to vegas with a >monitor is a hassle. i searched for computer rentals on the net, but most have >rather outdated hardware. does anyone know if there is a possibility to rent a >really good system (e.g. a bit faster than mine, as much ram as possible)in las >vegas for a week? > >cheers > martin One option is to take your tower, and rent a monitor...
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.