?? electronic t-notes september 27, 1998 (opening lines, hash t.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0042)http://www.chessbase.com/tnotes/092798.htm -->
<HTML><HEAD><TITLE>Electronic T-Notes September 27, 1998 (Opening Lines, Hash Tables in Fritz)</TITLE>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY aLink=#25394c
background="Electronic T-Notes September 27, 1998 (Opening Lines, Hash Tables in Fritz).files/Raster.jpeg"
link=#a82213 vLink=#25394c>
<P align=center><FONT color=#25394c face=Arial size=4> </FONT></P>
<H1 align=center><FONT color=#25394c face=Arial size=4>ELECTRONIC
T-NOTES</FONT></H1>
<H3 align=center><FONT color=#25394c face=Arial size=3><I>FOR THE WEEK OF
SEPTEMBER 27th, 1998</I></FONT></H3>
<H4 align=center><FONT color=#25394c face=Arial size=2><I>by Steve Lopez,
USA</I></FONT></H4>
<HR color=#000000 noShade SIZE=10>
<H2><FONT color=#25394c face=Arial size=2>OPENING LINES</FONT></H2>
<P><FONT face=Arial size=2>After further tweaking, I finally have my ChessBase 7
board resembling a USCF vinyl roll-up board. If you're interested, here are the
settings: </FONT></P>
<P><FONT face=Arial size=2><U>LIGHT SQUARES:</U><BR>Hue: 26<BR>Sat: 137<BR>Lum:
208 </FONT></P>
<P><FONT face=Arial size=2><U>DARK SQUARES</U>:<BR>Hue: 80<BR>Sat: 240<BR>Lum:
74 </FONT></P>
<P><FONT face=Arial size=2>I didn't adjust the pieces; plain black and white is
just fine with me. </FONT></P>
<P><FONT face=Arial size=2>If you have any interesting color combinations you
prefer, send them to me and we'll do some screen shots in a future <I>ETN</I>.
</FONT></P>
<P><FONT face=Arial size=2><BR></FONT></P>
<HR color=#000000 noShade SIZE=10>
<P><FONT face=Arial size=2><BR></FONT></P>
<H2><FONT face=Arial size=2>HASH TABLE SIZE IN <I>FRITZ5</I></FONT></H2>
<P><FONT face=Arial size=2>There seems to be a great deal of confusion among
<I>Fritz5</I> users regarding the optimum size of has tabels for the program.
After looking at the <I>Fritz5</I> manual, I can understand this. The
description therein seems a bit complicated. Here today, for your reading
pleasure, is the hash table scoop in plain English. </FONT></P>
<P><FONT face=Arial size=2>First of all, what are hash tables? They're also
known as transposition tables. As <I>Fritz</I> analyzes thousands of positions
it frequently runs across the same positions over and over. It's a waste of
computational power to look at the same position more than once. Hash tables are
merely a place for <I>Fritz</I> to store the analysis of the positions it's
looked at in its current search, remembering them so that it doesn't have to
analyze the same position a second time. </FONT></P>
<P><FONT face=Arial size=2>For example, say that in the current position with
Black to move (the exact position doesn't matter for the sake of this example),
<I>Fritz</I> might analyze the position following the move sequence ...Nc6, a3
...Nf6. But further in its search it will come across the position following the
moves ...Nf6, a3 ...Nc6. It's the <B>same</B> position as the previous one, just
with a different move order leading up to it. It would be a waste of time for
<I>Fritz</I> to examine the same position twice. Storing the analysis of the
position in its hash tables speeds up <I>Fritz'</I> searches since it will
"remember" the analysis from the first time it looked at the position and not
analyze it again. </FONT></P>
<P><FONT face=Arial size=2>It stands to reason that the bigger the hash tables,
the more analysis <I>Fritz</I> will remember. But there's a trade-off here. It
takes time to fill up and access those tables and having huge hash tabels during
a blitz game is just a waste of space (and time, paradoxically). You don't need
huge tables during a blitz game, so it's best to optimize <I>Fritz</I> for the
speed of the game you'll be playing. </FONT></P>
<P><FONT face=Arial size=2>Let's use the "correspondence analysis" feature as an
example (since that's been a hot topic the last two weeks here in <I>ETN</I>.)
I'm ready to have <I>Fritz</I> analyze a position at two minutes a move. How do
I know how big to make the hash tables? </FONT></P>
<P><FONT face=Arial size=2>The <I>Fritz5</I> manual gives this sweet little
piece of rocket science for a formula on sizing the hash tables: </FONT></P>
<P><FONT face=Arial size=2><B><I>HT</I>[KB] = 2.0 * <I>PFreq</I>[MHz] *
<I>t</I>[s]</B> </FONT></P>
<P><FONT face=Arial size=2>In plain English, what all this magnificent trash
means is: </FONT></P>
<P><FONT face=Arial size=2><B>Hash table size is equal to 2 times your processor
speed times the number of seconds you want <I>Fritz</I> to analyze</B>
</FONT></P>
<P><FONT face=Arial size=2>Now is that easy or what? </FONT></P>
<P><FONT face=Arial size=2>Going back to my example, I already know that I want
<I>Fritz</I> to analyze for two minutes a move. To use the formula properly, we
have to convert minutes into seconds. Two minutes equals 120 seconds.
</FONT></P>
<P><FONT face=Arial size=2>I also know that my processor is a 133 MHz Pentium.
So the other number I need is 133. The formula now looks like this with the
numbers plugged in: </FONT></P>
<P><FONT face=Arial size=2><B>HT = 2 times 133 times 120</B> </FONT></P>
<P><FONT face=Arial size=2>And for an answer we get <B>31920</B>. </FONT></P>
<P><FONT face=Arial size=2>Firing up Fritz, I go to the "Levels" menu and select
"Engines". I click on the button that reads "Load engine". I move the
<I>Fritz5</I> engine over to the left-hand box, and type "31920" in the hash
table box. I click the "OK" button to go back to the last window, then click the
"OK" button I find there. </FONT></P>
<P><FONT face=Arial size=2>Next I set up the board position I want <I>Fritz</I>
to analyze. </FONT></P>
<P><FONT face=Arial size=2>Next I go to the "Coach" menu and select
"Correspondence analysis". I set the number of seconds to "120", set the
remaining parameters, and click "OK". Ba-da-bing! <I>Fritz</I> is off and
running! </FONT></P>
<P><FONT face=Arial size=2>But now there's suddenly a ridiculous amount of hard
drive activity and <I>Fritz'</I> analysis slows to a crawl! What the heck is
going on? </FONT></P>
<P><FONT face=Arial size=2>Simply put, your <I>Windows</I> operating system is
freeing up the extra RAM that <I>Fritz</I> needs by writing (or "caching")
information (which <I>Windows</I> was storing in RAM memory) to temporary files
on your hard drive. This will take two or three minutes to complete (however,
I've seen this take as long as five minutes, so don't time it with a stopwatch).
While this is going on, <I>Fritz'</I> search process slows down or stops
completely. This is why the manual recommends that you start the engine before a
game (to allow your computer to make the necessary adjustments for hash table
creation), stop it, and then start a new game. You can't do this in a "serious"
rated game with <I>Fritz</I>, though. Before playing a rated game, set the
program to a casual level (rather than serious mode), fire up the engine, wait
for the hard drive activity to stop, stop the game, and then set up and begin
your game in serious mode. </FONT></P>
<P><FONT face=Arial size=2>After the initial burst of hard drive activity,
<I>Fritz</I> shouldn't do any major accessing of the drive for the rest of the
game. If <I>Fritz</I> keeps ratcheting the drive for five seconds or more every
move, it means that the hash table settings you've selected are too big and
Fritz is storing some of the tables on your hard drive. Lower the size of the
hash tables. Conversely, if you get no hard drive activity after initially
setting the hash tables they're probably too small. Make them larger.
</FONT></P>
<P><FONT face=Arial size=2>Note, too, that the faster the processor and the
longer the search, the larger the hash tables that will be required. This
translates directly into your computer needing more RAM. I recently upgraded my
133 MHz Pentium from 16 Mb RAM to 64 Mb RAM and now <I>Fritz</I> is pretty happy
up to about four minutes a move. If I want anything beyond that, I'm going to
have to invest in some more RAM to give <I>Fritz</I> the properly-sized hash
tables. However, please realize that the faster search speeds achieved by faster
processors will compensate for a lower amount of RAM (for example, with the hash
tables set properly, my Pentium 133 with 64 Mb RAM at 4 minutes a move is
roughly equivalent to a Pentium 266 with 32 Mb Ram at 4 minutes a move). It may
actually be more cost-effective to upgrade your computer's processor than to
purchase more RAM chips. </FONT></P>
<P><FONT face=Arial size=2>The formula given above will usually be pretty
accurate for determining the size of <I>Fritz'</I> hash tables. But how can we
double-check this? <I>Fritz</I> will display on the screen the percentage of the
total available hash tables it's using: </FONT></P>
<P align=center><FONT face=Arial size=2><IMG height=173
src="Electronic T-Notes September 27, 1998 (Opening Lines, Hash Tables in Fritz).files/hash01.gif"
width=431> </FONT></P>
<P><FONT face=Arial size=2>Notice the box to the right of the search depth
display -- the one that reads "20%". This is where <I>Fritz</I> will show you
how much of the available hash tables it's using. This will usually start
displaying a number when it reaches eight or nine plies into its search. Keep an
eye on what percentage it reaches when it stops analyzing a move and starts
evaluating a new one (in correspondence mode) or when it finally plays a move
(in play modes). The display should read pretty close to the same number every
time. If the display typically reads "FULL" it means that your hash tables
aren't large enough. If the number is less than 80%, you should consider
reducing the size of the tables. </FONT></P>
<P><FONT face=Arial size=2>The hash table size will also vary depending on what
engine you're using. <I>Hiarcs</I> is a "knowledge-based" program, meaning that
it relies more on chess knowledge programmed directly into it than on very deep,
fast searches (which is how <I>Fritz</I> works). This is why <I>Hiarcs</I>
analyzes more slowly than <I>Fritz</I>. Consequently, <I>Hiarcs</I> doesn't need
hash tables as large as <I>Fritz'</I>. I don't have an exact formula for
<I>Hiarcs</I> but as a rough guess, I'd say that tables 75% the size of
<I>Fritz'</I> should do the trick. </FONT></P>
<P><FONT face=Arial size=2>Upon exiting the program, there will probably be
another (shorter) burst of hard drive activity, as <I>Windows</I> removes the
hash tables from RAM and restores the information temporarily stored on your
hard drive to RAM. </FONT></P>
<P><FONT face=Arial size=2>Hopefully this article wasn't too technical and
cleared up some of the mysteries about hash tables in <I>Fritz</I>. Go ahead and
try it out and you'll be impressed by the increased speed and depth of
<I>Fritz'</I> searches. Until next week, have fun! </FONT></P>
<P><FONT face=Arial size=2>You can <STRONG><A
href="mailto:bayshore@intrepid.net">e-mail me</A></STRONG> with your comments,
suggestions, and analysis for <I>Electronic T-Notes</I>. <BR></FONT></P>
<P><FONT face=Arial size=2><BR></FONT></P>
<HR color=#000000 noShade SIZE=10>
<H5 align=center><FONT face=Arial size=2><I>Copyright 1998, Steven Lopez. All
rights reserved.<BR></I>Back issues of <I>Electronic T-Notes</I> are available
from <A href="http://www.chessbaseusa.com/">ChessBase USA</A> </FONT></H5>
<P align=center><FONT face=Arial size=2><IMG alt="ar_30r.gif (1235 Byte)"
height=29
src="Electronic T-Notes September 27, 1998 (Opening Lines, Hash Tables in Fritz).files/ar_30r.gif"
width=30><SUP><STRONG><A
href="http://www.chessbase.com/tnotes/index_tn.htm">Back to T-Notes index
page</A></STRONG></SUP></FONT></P></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -