Looking for ZCT personalities

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

krazyken

Looking for ZCT personalities

Post by krazyken »

The latest ZCT has a fairly fast and stable search, but the eval is a bit wonky at times. Fortunately many of the eval terms can be customized in the zct.ini file.

So I propose for personal glory a minor ZCT tournament. Come up with a ZCT personality, and we'll run them through a gauntlet to see who can claim the title of ULTIMATE ZCT Champion. If you want to keep your settings secret until the tourney starts you can PM them to me, otherwise just post them here. I'm going to build my own, and will take the first 8 entries (if there are that many interested). Time control will be a slow blitz 40 moves/10 mins running ponder on with 4 threads.

If you want to build your own ZCT opening book to go with your personality that is fine, otherwise, I'll just use the book that came with ZCT.
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Looking for ZCT personalities

Post by Zach Wegner »

BRILLIANT idea, Kenny!! :D

Sounds like it can be fun, if we can get enough people to join. I'll create one later today. I'll also try and write some pointers that will help people out in making their own. The ZCT.ini file does have a lot of explanations in it already though.

And to add to the prestige of the tournament, I will award the winner by making their settings the (gasp) DEFAULT!!!! How amazing!!!
User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: Looking for ZCT personalities

Post by Dr.Wael Deeb »

Zach Wegner wrote:BRILLIANT idea, Kenny!! :D

Sounds like it can be fun, if we can get enough people to join. I'll create one later today. I'll also try and write some pointers that will help people out in making their own. The ZCT.ini file does have a lot of explanations in it already though.

And to add to the prestige of the tournament, I will award the winner by making their settings the (gasp) DEFAULT!!!! How amazing!!!
Great stuff....waiting eagerly for the detailed explanations :D
Count me in regards,
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….
krazyken

Re: Looking for ZCT personalities

Post by krazyken »

Dr.Wael Deeb wrote:
Zach Wegner wrote:BRILLIANT idea, Kenny!! :D

Sounds like it can be fun, if we can get enough people to join. I'll create one later today. I'll also try and write some pointers that will help people out in making their own. The ZCT.ini file does have a lot of explanations in it already though.

And to add to the prestige of the tournament, I will award the winner by making their settings the (gasp) DEFAULT!!!! How amazing!!!
Great stuff....waiting eagerly for the detailed explanations :D
Count me in regards,
Dr.D
I'd recommend starting with the zct.ini file then changing numbers randomly until you find something you like ;) use the "setname" command in the ini file to set a name. :D
User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: Looking for ZCT personalities

Post by Dr.Wael Deeb »

krazyken wrote:
Dr.Wael Deeb wrote:
Zach Wegner wrote:BRILLIANT idea, Kenny!! :D

Sounds like it can be fun, if we can get enough people to join. I'll create one later today. I'll also try and write some pointers that will help people out in making their own. The ZCT.ini file does have a lot of explanations in it already though.

And to add to the prestige of the tournament, I will award the winner by making their settings the (gasp) DEFAULT!!!! How amazing!!!
Great stuff....waiting eagerly for the detailed explanations :D
Count me in regards,
Dr.D
I'd recommend starting with the zct.ini file then changing numbers randomly until you find something you like ;) use the "setname" command in the ini file to set a name. :D
Thanks for the tip :D
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….
krazyken

Re: Looking for ZCT personalities

Post by krazyken »

My first attempt at doing that has yielded a +70ish ELO for sp ZCT at blitz. I'm going to keep tinkering and probably post some examples this weekend.

Hey Zach! What does this mean?

Code: Select all

# Array indexed by count 
evalparam "Development Value" 15 5 0 -5 -15
how are these numbers used?
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Looking for ZCT personalities

Post by Zach Wegner »

krazyken wrote:My first attempt at doing that has yielded a +70ish ELO for sp ZCT at blitz. I'm going to keep tinkering and probably post some examples this weekend.

Hey Zach! What does this mean?

Code: Select all

# Array indexed by count 
evalparam "Development Value" 15 5 0 -5 -15
how are these numbers used?
Oops, I imagine that I was writing that, went to look up the exact usage, and then forgot about it. :D

The count is the number of minor pieces left on the back rank. So if all of the minors are developed, the bonus is 15 centipawns. If only one is left, the score is 5, etc. If all 4 minors are undeveloped, there's a penalty of 15 cp. Relatedly, the "Early Queen Value" is the penalty given if the queen is moved, and two or more minors are still on the back rank.

Some other possibly important information:

--The Passed Pawn bonus is multiplied by a number from 0 to 4, depending on some factors like if it's protected. The value for the 7th rank is 200, so 4*200=800, which should be enough to make it very attractive while not keeping ZCT from actually promoting. The last value should be a bit less than the queen value divided by 4, minus the pawn value.

--ZCT has no material imbalance code, but that is one of its big weaknesses. The current material values are probably pretty good at approximating a lot of the imbalances, but it could use some tuning. For example, QP is favored over RR. I don't know an easy way to solve this with just tuning, but perhaps changing the mobility weights could help.

--Another area that needs improvement would be the mobility tables. There are two different tables for each piece (knights, bishops, rooks, and queens only), regular and safe mobility. The safe is generally more important. Each array should be monotonically increasing, that is, the values should get bigger and bigger for each value. This basically means that being able to move to more squares is better. The table should also say that it's better to go from having 0 squares to move to to 1, than going from 10 squares to move to to 11. So they should increase faster at the beginning. One possible source of improvement is changing the range of the values. For instance, the safe mobility for a knight goes from -40 to 10, and the safe mobility for a bishop goes from -70 to 20. I tried to keep the "average" of all pieces' values around 0, so that it doesn't favor certain pieces more just because of the material values.

--The king safety values (attack, defense, blocking) really need tuning. Preferably to make ZCT more aggressive. This is rather tough to do though!

--One really COOL tip is to put the evaluation weights in a separate file, say "weights.ini", and then, in the ZCT.ini file, add the following line:

Code: Select all

source weights.ini
This might help cleaning up the file a bit, and you can keep hash/MP setting separate from personalities. You can also make several different personality files and simply change the line in the ZCT.ini file.

I will also make a special "release" later for the tournament. Part of the king safety evaluation is disabled because it was too slow and made the evaluation even more unstable, but if it's being tuned then the values should have some meaning at least! The MP code should also scale a bit better due to some changes I made a while back.
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Looking for ZCT personalities

Post by Zach Wegner »

Furthermore, I was watching a few games after messing with the king safety parameters, and I figured I'd add another evaluation term. I think it should help a bit. The new sources are available on request for testing. I can make some rather slow windows compiles too if needed.

Code: Select all

# King Piece weight: the number of kinds of enemy pieces attacking the area
# near our king is used as an index into this table. The value is added to
# the king attack counter below. So, if there are only enemy pawns attacking
# our king area, we subtract some off the attack counter because it shouldn't
# really be that bad. Note that if there are 6 knights attacking the king
# (theoretically of course), that only counts as one piece here.
evalparam "King Safety Piece Weight" -8 -8 -2 3 5 10 15
krazyken

Re: Looking for ZCT personalities

Post by krazyken »

My first attempt at improving ZCT; code named Reagan is available here.
you can load it in zct with command line option as such:
zct --source reagan.ini
or you can you can rename it to zct.ini.

Seems to show for me significant improvement at fast blitz, but less so with more time/threads.