Author: Chan Rasjid
Date: 12:43:28 09/18/05
Go up one level in this thread
On September 18, 2005 at 14:34:56, Uri Blass wrote: >On September 18, 2005 at 14:12:11, Chan Rasjid wrote: > >>This means there is NO-MATCH whatsoever with a 1 - 1000x nps difference. >>Fruit's seems to sacrifice complicated (undue) evaluation in favour of high nps >>and makes the top. > >I disagree > >Fruit has a very strong evaluation function. Firstly, I don't make definite statement but more of a guess, ie seems so to me..The one think I have not examined yet in details is Fruit's evaluation. For your info, I think you made the same observations that I just found and more of the secret of Fruit, ie data/structure organization, locality of data,etc. eg. After I got the hint, when in domove(), I make(myself) copies of board->sq[] for from, to, capture/ep with sqFrom, sqTo, sqCatureEP so that I don't have cache jumping back to access board->sq[256]. Then I found Fruit does the same. I believe the has an extra board->pos[256] for locality of data within cache. Strong evaluation may just mean good evaluation for:- 1) most basic standard stuffs that definitely do not harm, but gainful 2) b/r/ QUEEN mobility 3) attack king / king safety. Some others have full eval()for every pins. Does Fruit do any pins ? If not then probably terms/factor wise, Fruit's evaluation is only professional basic. > >Most of the improvement from Fruit1.0 to Fruit2.1 is because of better >evaluation. Of course eval() pays when optimal but after it is near optimal IT CANNOT BE IMPROVED FURTHER. You can easily make it pays negative. So we cannot be sure the reason Fritz, shredder lost is NOT because they wasted critical time in pursuing complicated eval() that pays negative. > >Crafty is faster than Fruit in nodes per second so nodes per second is not the >secret of Fruit. By what factor , x 5 ? Ask Diepeeven. Crafty has a little evaluation (may be true comparatively ?) and on bitboard which is not the way YET(?). I would bet generally if Crafty is just nps 3 x , it will outdo Fruit, provided of course there are no major problems that the chess programming world is not aware yet. > >Uri I did this experiment, something like this:- if (board->ply_nb <= 16)// dont eval if above ply 16 eval_piece(board,mat_info,pawn_info,&opening,&endgame);// mobility is here if (board->ply_nb <= 16)// dont eval if above ply 16 eval_king(board,mat_info,&opening,&endgame); //passers allowed eval_passer(board,pawn_info,&opening,&endgame); if (board->ply_nb <= 16)// dont eval if above ply 16 eval_pattern(board,&opening,&endgame);// very simple stuff Those are fruit's major eval(). It did not seem to weaken Fruit at all, wins ruffian,aristarch etc. Rasjid
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.