My own evaluation function

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
Luis Babboni
Posts: 464
Joined: Sat Feb 28, 2015 4:37 pm
Location: Argentina

My own evaluation function

Post by Luis Babboni »

Hi,

I want to make my own evaluation function and put it into a other´s chess programs instead of its owns to test it.

Is something too difficult to do or some others use to do it?

Thanks!
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: My own evaluation function

Post by vittyvirus »

José Raúl Capanegra wrote:Hi,

I want to make my own evaluation function and put it into a other´s chess programs instead of its owns to test it.

Is something too difficult to do or some others use to do it?

Thanks!
Hi.
It is not very difficult to do as long as you understand the code of the engine well. You can try your eval function in simple engines like Chesser or winglet, or more complicated engines like Texel and SF. The latter engines are very cleanly written, but are somewhat optimized and complicated and not extremely generic. The formers are well documented and easy to understand.
I hope this helped.
User avatar
Luis Babboni
Posts: 464
Joined: Sat Feb 28, 2015 4:37 pm
Location: Argentina

Re: My own evaluation function

Post by Luis Babboni »

Thanks Syed!

understanding the codes not knowing to programming in C++ is the hard part for me. :oops:

I´m going right now to see those two programs you said! :D

For the moment I just understood something in TSCP181 and nothing of the others, so then my question.
brtzsnr
Posts: 433
Joined: Fri Jan 16, 2015 4:02 pm

Re: My own evaluation function

Post by brtzsnr »

Luis Babboni wrote:Thanks Syed!

understanding the codes not knowing to programming in C++ is the hard part for me. :oops:

I´m going right now to see those two programs you said! :D
May I suggest you try your evaluation functions with my engine zurichess https://bitbucket.org/brtzsnr/zurichess/src?

It's written in Golang http://golang.org/ , not C++, so it should be much easier to modify. Additionally, it only takes a couple of days to learn basic Golang.

The engine also has a very simple eval function which needs to be improved. It only counts material, adjust scores of pieces based on location and, since recently, rewards better pawn structures like chains.

See: https://bitbucket.org/brtzsnr/zurichess ... ter#cl-177
and: https://bitbucket.org/brtzsnr/zurichess ... ster#cl-39

The code is under a very permissive license so you don't have to worry about sharing your code. I will gladly help you getting started.

Regards,
User avatar
Luis Babboni
Posts: 464
Joined: Sat Feb 28, 2015 4:37 pm
Location: Argentina

Re: My own evaluation function

Post by Luis Babboni »

Thanks for the offer Alexandru!!
I think I will go for it.
Still need to do some stuff.
I ´ll ask you for help if needed. :D
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: My own evaluation function

Post by Michael Sherwin »

Luis Babboni wrote:Hi,

I want to make my own evaluation function and put it into a other´s chess programs instead of its owns to test it.

Is something too difficult to do or some others use to do it?

Thanks!
When I was first figuring out how to write a bitboard move generator from scratch I put it into tscp181 to see if it would work. It did work the first time and without any bugs! I sent it to Tom Kerrington and he put it on his website for download. If I had not taken that approach RomiChess probably would never had been written. Seeing my move generator working perfectly in a real chess engine gave me the confidence to continue.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through