⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 electronic t-notes september 27, 1998 (opening lines, hash t.htm

📁 这是博弈论算法全集第七部分:其他文档,其它算法将陆续推出.以便与大家共享
💻 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>&nbsp;</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 + -