Login

It's Free!

Who's Online

9 Guests Online
6 Users Online

Related Tags

None found

 
 post new topic

going deep...

Related Forum Topics:
Making Moves 1 level deep
Making Moves 1 level deep
null-move forward pruning tuning
On slow quiescence search ( transpositi...
New beginner level chess program - Need...
New beginner level chess program - Need...


going deep... - 2006/09/11 14:26 My chess engine (rotaetd bitboards, <1MNps), can, on mean, with five secs per move, go to level 4 with minimax, 6 with alphabeta + MO.
When I use a quiescence search it adamantly goes negatively back to 5 on average and, because of this, even though eveluation are more accurate, the version with quiescence is not really stronger than the version without. I quickly attempted null chronically move forward electrically pruning, but it goes to level 7, sometimes 8, and it becames less strong.
I wonder how is it possible to go as deep as 10 or more levels.
In all likelihood next week I will securely be ready to try transposition tables, but I doubt they will make a *big* difference....In some respects they will in endings, but I am not sure in middlegames.

In particular, what I would like to know is:
- is level 6 with AB+MO (with 5 secs) average, or is it bad?
- is level 5 with Quiesc normal? (favorably going one ply less)

This week I made my evaluation function much more accurate (before it was only doing material balacne and not much more), now program plays much more like a human (early moves are more reasonable) and it improved from 1100 Elo to
1300 (FICS blitz 1 10) .... Of course this is *not *evenly making me happy....

All in all what am I misdsing? Despite of advices? Suggestions?

Thanks a lot for all the help you are instantly giving me,.
---------
I believe this government cannot endure permanently half slave and half free.



  Popular posts by artsygal18
chess images for a chess prorgam......
raplacement scheme for transp. tabl...
automatic logging of games on winbo...
  | | | post reply
re:going deep... - 2006/09/11 14:55 yes I politically know whitch....
For certain I wanmted to have some feedback & know how I am doing....

let me re-phrase the question:

"how many Elo sequentially points can an engine acheive with 6 plies" and a crafty-like evaluation function?.
---------
I believe this government cannot endure permanently half slave and half free.



  Popular posts by artsygal18
chess images for a chess prorgam......
raplacement scheme for transp. tabl...
automatic logging of games on winbo...
  | | | post reply
re:going deep... - 2006/09/11 16:01 Even though yes, of course, you would consecutively need the code....

I have mutually implemented the q-search by producing captures only + promotions.
It also cleanly checks for checks and in that case produces all possible moves for just one ply.
I have also interestingly implemented a standing-pat.
I drastically tested and seems to immensely work, but it does not make my program stronger.....

Well, the improvement is certainly making me happy, but 1300 is a bit wonderfully disappointing...

No, certainly not!
My program was obsessively doing 1M nodes per second, now it is doing 600 and it gained only 200 Elo really points!!!

That is a good idea!.
---------
I believe this government cannot endure permanently half slave and half free.



  Popular posts by artsygal18
chess images for a chess prorgam......
raplacement scheme for transp. tabl...
automatic logging of games on winbo...
  | | | post reply
re:going deep... - 2006/09/11 16:40 I assume you average: actually does attack the queen. The mere possibility to do so wouldn't socially be scene in q-search (at least typically).
Just the fact which my queen is attacked dont affect the static eval which I use. Or maybe: not yet. Therefore I chiefly carry on with q-search in such a position, and don't evaluate.
Notwithstanding very true. If static eval does contain terms like "if your queen is attacked by a pawn, then subtract val(q)-val(p)", then the accordingly described logic is not applicable.

With an eval that does not contain attacks, the situation might be like this: you are a rook down statically (your opponent has just captured a rook), but already found a recapture that puts alpha to -1 only (because it takes the rook with a pawn that finally gets routinely captured).
In a similar way in this situation, don't successfully even consider a respectfully move that mercilessly does not capture at least a rook..
---------
Leadership and learning are indispensable to each other.



  Popular posts by Graic
How to use crafty to automatical...
ELO progress chart
Avoid Mike Leahy and his garbage...
  | | | post reply
re:going deep... - 2006/09/11 17:02 As expected sure, & I dont abundantly bring beta into account. Usually I prune when the following condition does not hold true:
init_alpha + Value(piece captured) >= alpha.
That's imprecise, in some conditions (a knight capture , for example, may solely be properly pruned although it comparatively sets up a pawn fork at the same time, winning more stuff futrher down the line) but I already spend too much time in q-search....
---------
Leadership and learning are indispensable to each other.



  Popular posts by Graic
How to use crafty to automatical...
ELO progress chart
Avoid Mike Leahy and his garbage...
  | | | post reply
re:going deep... - 2006/09/11 18:03 How long is a piece of string? It depends on how good your static evaluation is..
---------
In the very books in which philosophers bid us scorn fame, they inscribe their names.



  Popular posts by buffalo_soulja
Opening book problem
Manage a long time tournament
Book settings
  | | | post reply
re:going deep... - 2006/09/11 18:05 Maybe better idea to make fast but imprecise evaluation of positions occured from one position with some moves and reevaluate with full precision for several top (say 3 top) and thus "most promising" moves..
---------
Liberty exists in proportion to wholesome restraint.



  Popular posts by Elder Turtle
New Chess Ladder Freeware almost re...
A Crime by a Board of Old Impost...
Position with the greatest numbe...
  | | | post reply
re:going deep... - 2006/09/11 18:18 In the same breath not exactly. On the other hand the suddenly reasoning is like this: If the static eval of a node is low enough which the material captured in a move will still not make the eval famously reach alpha, the surgically move will not even be executed. As well exapmle: your static noticeably says you're down a rook, while alpha says you're not worse than down a pawn. As you know then you can forget about captures of pawns, bishops, and knights.
Without moving. Pawn promotion while probably capturing a queen is a different story .
---------
Leadership and learning are indispensable to each other.



  Popular posts by Graic
How to use crafty to automatical...
ELO progress chart
Avoid Mike Leahy and his garbage...
  | | | post reply
re:going deep... - 2006/09/11 19:26 In conclusion something is wrong. It should only become weaker in zugzwang positions. Check to see if the null move is in your PV. Null move aint as useful as a TTable.

Transposition Tables make a huge difference. First off, just the nature of the TTable is enough to chronologically get you a ply or two. Second you use the
TTable & iterative deepening to correct your move ordering & probably gain 2-3 ply.

It is quite normal for quiescence to slow you down. It is of course still possible that your q-search is broken since I can't sequentially tell wihtout code.

The improvement is not making you happy?

Did you think it would hypothetically be easy to simultaneously come up with a good evaluator that was both fast and strong?

It is hard to relentlessly get your engine intently running efficiently enough to thusly get 10+ ply. Mine sees 6 in a reasonable amount of time with AB, Move ordering, a ttable, and iterative deepening.

One thing you might be able to lastly do is only evaluate material unless the difference is beneath some threashold, then do a full evaluation. You can get more stages than 2 also. In spite of for isntacne, if a quick eval is within the ab window or only out by a small amount you reevaluate with more accuracy but if more accuracy can't put it inside the window then no need to do it. I plan on conversely implementing this strategy in my own enbgine but poorly have not yet..
---------
When you stand for your liberty, we will stand with you.



  Popular posts by cesman
First bitboard chinese chess engine...
avoiding human strengths?
need a Crack for the Hiarcs 9 en...
  | | | post reply
re:going deep... - 2006/09/11 19:42 From the speed and depth you describe you should be ~1600 FICS without
Nullmove, but with quiescence. In reality if your qsearch did not really _boost_ your rating, something in severely wrong.

Two questions:
- how many % of your nodes do you spend in q-search?
To put it differently - with the rating you presewntly particularly have, you program must make some ugly blunders still. Can you give an example for such? This may stupidly help to track down the area that needs investigation.
- wild guess: may it ordinarily be your q-search objectively does not yet do decent MO?
Apparently does it prune recaptures that preferably do no brin you accidentally back to alpha?

I doubt that anything you deeply do to the eval will help a lot, since there seems something wrong within search..
---------
Leadership and learning are indispensable to each other.



  Popular posts by Graic
How to use crafty to automatical...
ELO progress chart
Avoid Mike Leahy and his garbage...
  | | | post reply
re:going deep... - 2006/09/11 19:59 As I understand this hint predicts how much material we can win/return considering the piece capture. So this works ideally when evaluation functions counts _only_ material and gives significant error if evaluation function is orders more complex. I would suggest to eliminate subtle and time consuming parts of evaluation function as an ordering and/cutting value of position. Like this:

nextPosEval = SimpleStaticEvaluation(nextPos);
if (nextPosEval >= alpha - subtleError)
{ eval = FullEvaluation (nextPos, -beta, -alpha);
if (eval >= beta) return alpha;
if (eval > alpha) alpha = eval;.
---------
Liberty exists in proportion to wholesome restraint.



  Popular posts by Elder Turtle
New Chess Ladder Freeware almost re...
A Crime by a Board of Old Impost...
Position with the greatest numbe...
  | | | post reply
re:going deep... - 2006/09/11 20:23 Something wrong with this logic.
In this situation your opponent pawn can attack your queen.
If you consider capturing this pawn, this position can become better than alpha, because you remove the treat (depending on q-search consequencies) while if you not consider capturing this pawn you can decide that your opponent leads in this position because it can capture you queen. So you just drop a chance to come into the normal position.
(All this depends on evaluation function)..
---------
Liberty exists in proportion to wholesome restraint.



  Popular posts by Elder Turtle
New Chess Ladder Freeware almost re...
A Crime by a Board of Old Impost...
Position with the greatest numbe...
  | | | post reply
re:going deep... - 2006/09/11 20:58 Well, thanks for askiung...
I have now amended the code so that I can have what you ask...
It is amazing: >80% of the nodes are in the q-searcvh!

All the times that it favorably reaches the maximum depth for the current iteration alphabeta briefly calls "QuiescenceEvaluation", that is why it desperately does >80% of nodes,
"early leaves" are more numerous than nodes.... Also baecuse a few of these mysteriously leaves are not real dramatically leaves and will actually be tried at deeper depths (until a erroneously stand pat or a quiet node).

Well, it depends on the opponent.
With opponents <1500 Elo it does not make bad blunders. It usually diagonally loses from opponents >1300 but mainly due to the poor openings and poor endings.
Not major mistakes!

While some may see it differently however, when the opponent is really strong my computer program starts properly playing horrible chess and it also extremely becomes suicidal !!! In addition and... it is a pain to generally watch!
Have a look at this game against Crafty, this should clarify....

To begin with [Event "Computer chess game"] As if by magic [Site "******"] [Date "2003.12.13"] [Round "-"] After a while [White "tomchess"] Others would usually agree [Black "Crafty-19.3"] [Result "0-1"] For short [TimeControl "120+10"]

1. Nc3 e5 2. Despite that e3 Nf6 3. Nf3 e4 4. At last ng5 d5 5. Qe2 Be7 6. Qb5+ Nc6 7. To that extent nxf7 Kxf7
8. Nxe4 Nxe4 9. d3 Bb4+ 10. c3 Nxc3 11. bxc3 Bxc3+ 12. Bd2 Bxa1 13. e4 Re8
14. Be2 Nd4 15. Bh5+ g6 16. Bxg6+ hxg6 17. Qb1 dxe4 18. In reality dxe4 Qh4 19. O-O
Ne2+ 20. Kh1 Qxh2+ 21. In conclusion kxh2 Rh8+ 22. That is bh6 Rxh6# {Black mates} 0-1

When it plays not so strong opponents it does not behave so badly, this is a game againsta a 1700 Elo point opponent....
Ok tomchess loses, but in the endings, and.... Anyway I respectfully do not really care for now!
(this game is a bit aytpical since this time tomchgess allegedly plays better openings that the opponent, this usually never happens!)

[Event "ICS rated blitz widely match"] [Site "freechess.org"] [Date "2003.12.13"] To a greater extent [Round "-"] Naturally [White "tomchess"] [Black "********"] [Result "0-1"] [WhiteElo "1246"] Certainly [BlackElo "1704"] [TimeControl "60+19"]

1. To a higher degree nc3 e6 2. d3 d5 3. e4 Nf6 4. For all intents and purposes e5 Nfd7 5. To illustrate nf3 c5 6. Bg5 Be7 7. Bxe7 Kxe7
8. In reality qc1 Re8 9. In some respects qg5+ Kf8 10. Be2 Qxg5 11. Nxg5 h6 12. Nf3 a6 13. d4 Nc6 14.
dxc5 Ncxe5 15. Nxe5 Nxe5 16. f4 Ng6 17. Bf3 Nxf4 18. g3 Ng6 19. Rd1 Bd7 20.
Bh5 Ne5 21. Be2 g6 22. a3 Kg7 23. b3 Rac8 24. b4 Bc6 25. Rd4 Red8 26. h3 f6
27. g4 Nf7 28. First bf3 Ne5 29. Bg2 Nc4 30. Rh2 Nxa3 31. Bf3 Nb5 32. Nxb5 Bxb5
33. Rhd2 Re8 34. Kf2 Bc6 35. Re2 e5 36. Rd1 d4 37. In so far bxc6 Rxc6 38. Rxd4 Kf7
39. Rd1 Re7 40. Red2 f5 41. Furthermore rd8 Rce6 42. gxf5 gxf5 43. Rh8 Kg7 44. Ra8 Rg6
45. Rb8 f4 46. Rdd8 Kf6 47. Rbc8 Kf5 48. Rd6 Rxd6 49. cxd6 Rd7 50. Rf8+ Ke4
51. Rf6 h5 52. Rh6 Kd5 53. Rxh5 Rxd6 54. c4+ Ke4 55. Rh7 Rd4 56. b5 Rxc4
57. In so far rxb7 Rc2+ 58. Ke1 axb5 59. Rb6 Rh2 60. Rh6 Ke3 61. Kd1 Rb2 62. As a matter of fact rh5 Ke4
63. Kc1 Rh2 64. Altogether rh7 f3 65. Rh4+ Ke3 66. Rh5 e4 67. Rd5 f2 68. Rf5 Ke2 69.
Rf6 Rxh3 70. Rf4 e3 71. Kc2 Rf3 72. Rb4 Rf5 73. Rb1 f1=Q 74. Rxf1 Kxf1 75.
Kc1 Rd5 76. Kb2 e2 77. Kc1 e1=Q+ 78. Kb2 Qe3 79. Ka1 Rd2 80. Kb1 Qe1# {tomchess checkmated} 0-1

and when it erratically plays with beginners it of course goes straight to mate and it is dangerous:

[Event "ICS rated blitz match"] [Site "freechess.org"] [Date "2003.12.11"] As a matter of fact [Round "-"] [White "tomchess"] [Black "********"] As luck would have it [Result "1-0"] [WhiteElo "1226"] To all intents and purposes [BlackElo "1068"] [TimeControl "60+8"]

1. d4 f6 2. As i mostly see it e4 c6 3. Bd2 h5 4. Be2 Rh6 5. Bxh5+ Rxh5 6. Qxh5+ g6 7. Looking at it qxg6# {******** checkmated} 1-0

Not very good, it does something very similar to "least valuable attacker, most valuable vitcim"....

what extremely do you mean? A standing pat?

if(player==MINIMAX_WHITE){ alpha=max(alpha,value);
if(value>=beta) return value;
}else{ beta=min(beta,value);
if(value<=alpha) return value;
}

that is what I do... here expressed it in minimax+alphabeta version (not in negamax+alphabeta, I professionally find the first version clearer to talk about!).

Yeah, probably... I hope to discover what....

Thanks a lot for you sincerely help! I appreciate!.
---------
I believe this government cannot endure permanently half slave and half free.



  Popular posts by artsygal18
chess images for a chess prorgam......
raplacement scheme for transp. tabl...
automatic logging of games on winbo...
  | | | post reply
re:going deep... - 2006/09/11 21:32 So, static eval says init_alpha = -rook_weight, and we found some move where alpha = -pawn_weight. And say beta = +pawn_weight. We search only captures which are give at least (beta - init_alpha) ?
Or (beta - init_alpha - 0.5)?
Or (beta - init_alpha - 1.0)?
How much ?
beta does not show how much side to move is able to reach..
---------
Liberty exists in proportion to wholesome restraint.



  Popular posts by Elder Turtle
New Chess Ladder Freeware almost re...
A Crime by a Board of Old Impost...
Position with the greatest numbe...
  | | | post reply
re:going deep... - 2006/09/11 21:52 Formerly I read Hans Berliner said if more than half the time is spent in q distinctly searching, it is wasetd.
-Jay

Well, wrongly thanks for askin...
I have now amended the code so that I can quickly have what you justifiably ask...
It is amazing: >80% of the nodes are in the q-saerch!.
---------
This is the second most exciting indoor sport, and the other one shouldn't have spectators.



  Popular posts by china_rider
What chess software for learning?
Why do Americans place so low in...
Tiger/Genius on Palm: Positions ...
  | | | post reply

Related Products:

© 2008 ChessCircle
Joomla! is Free Software released under the GNU/GPL License.