Moderator: Andres Valverde
H.G.Muller wrote:Recognizing passers is not really end-game knowledge. A game can be decided by it in the middle-game, by making an unnecessary wrong Pawn trade.
I don't know what the Elo range of your engine is, but micro-Max proves that it is possible to get above 2000 on the CCRL scale without passer recognition, without true piece-square tables, and without mobility.
Rohan Padhye wrote:Also, if you are not using bitboards, mobility calculation may be pretty expensive. If your mobility = move generation, then you are spending almost enough to time to search an extra depth without the mobility calculations.
Rohan Padhye wrote:PS: I just looked over some parts of the Micro-max source.... It's insane!!! (in a good way)... So what do you use in your eval function? And no, I can't figure it out from the source :)
ffao wrote:Hi everyone.
A FM has challenged me to write an engine that could beat him. Being so, I cannot afford to have an engine that plays unsound positional chess, otherwise it's going to be crushed. So I started writing and have mainly worked on the search part of it.
When I'm playing against engines like Fritz 5.32 and Comet B68, it's not uncommon for the opponent to think that he is a full pawn ahead, while my engine thinks the game is tied. For example:
6k1/6pp/r1bR1n2/prB1p3/1pp1P3/5P1P/PPBR2PK/8 w - - 0 29
Bubble 1.3 -0.03
Rybka 3.0 +1.00
Crafty 22.0 +1.53
Comet B68 +1.49
If that problem really is eval-related, then I must be missing something. My eval is currently mainly comprised of piece-square tables, so I tried to add mobility/isolated and doubled pawns/pawn shield, but it started playing really crazy/unbalanced chess.
Question is then, how would you go about creating an eval function from scratch? What is the minimal amount of factors you need to add (such as pcsq tables, mobility, passed pawns, etc) to have a decent evaluation function? And, last but not least, how do I balance the numerous weights of such an evaluation function?
Thanks for any suggestions -- I'm really lost here!
pimidrez wrote:yes, thats right I was thinking to implement mobilty evaluation, for keep pieces in the center I give +0.35
but which is the score for each cell you can move?
pimidrez
Dann Corbit wrote:pimidrez wrote:yes, thats right I was thinking to implement mobilty evaluation, for keep pieces in the center I give +0.35
but which is the score for each cell you can move?
pimidrez
Try a range of values and choose the one that works best for your program
Return to Programming and Technical Discussions
Users browsing this forum: No registered users and 9 guests