hi all-
cyclone 1.0 (UCI) is ready. it's extremely configurable, with a total of 88 UCI options, and is available here:
http://www.cyclonechess.com/
cyclops 1.0 (WB) is also ready and can be downloaded here:
http://www.cyclopschess.com/
both are free open-source engines based on Fruit/Toga.
i think is cyclops is stronger, but it doesn't yet support fen/epd.
regards-
Norm
Cyclone 1.0 and Cyclops 1.0 avaliable
Moderators: hgm, Rebel, chrisw
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Cyclone 1.0 and Cyclops 1.0 avaliable
Last edited by kranium on Mon Aug 04, 2008 9:08 pm, edited 3 times in total.
-
- Posts: 41423
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
Hi Norman,
what is the difference between Cyclone 1.0 beta and Cyclone 1.0?
Cheers, Graham.
what is the difference between Cyclone 1.0 beta and Cyclone 1.0?
Cheers, Graham.
gbanksnz at gmail.com
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
New UCI configuration options:
Backward Pawn Penaly - Opening
Backward Pawn Penalty - Endgame
Backward Pawn Penalty Open
Bishop Mobility - Opening
Bishop Mobility - Endgame
Blocked Bishop Penalty
Blocked Rook Penalty
Doubled Pawn Penalty - Opening
Doubled Pawn Penalty - Endgame
Isolated Pawn Penalty - Opening
Isolated Pawn Penalty - Endgame
Isolated Pawn Penalty Open
King Attack
King Attack Value
King Mobility - Opening
King Mobility - Endgame
Pawn Shelter
Pawn Shelter Weight
Pawn Storm
Pawn Storm Value
Knight Mobility - Opening
Knight Mobility - Endgame
Number of Threads
Queen Mobility - Opening
Queen Mobility - Endgame
Queen on 7th Bonus - Opening
Queen on 7th Bonus - Endgame
Rook Mobility - Opening
Rook Mobility - Endgame
Rook on 7th Bonus - Opening
Rook on 7th Bonus - Endgame
Transposition Table
Transposition Table Depth
Trapped Bishop Penalty
Other changes:
option.cpp options added bonus/penalty to several options
pawn_parameter() created
new parameters added to protocol.cpp parse_set_option()
search_parameter() called from search_full_init()
FutilityMargin1->FutilityMargin
FutilityMargin2->ExtendedFutilityMargin
FutilityMargin3 removed (unused)
trans_stats(), search_send_stat changed to show hash_level
defaults options.cpp changed:
dynamic true
nps=500000
spm=10, (now defaults to 128MB)
powers of 2 hash sizes implemented
double hash_level var made global
trans_is_set var removed
hash_level var placed in tran_stats() send() included
speedtest -> send_stats() changed no longer includes hash_level
extended history pruning/king safety/rebel reduction default set to false
option.cpp added missing 0 to razor depth min
bitbase default path c:\egbb
and now well tested.
regards,
Norm
Backward Pawn Penaly - Opening
Backward Pawn Penalty - Endgame
Backward Pawn Penalty Open
Bishop Mobility - Opening
Bishop Mobility - Endgame
Blocked Bishop Penalty
Blocked Rook Penalty
Doubled Pawn Penalty - Opening
Doubled Pawn Penalty - Endgame
Isolated Pawn Penalty - Opening
Isolated Pawn Penalty - Endgame
Isolated Pawn Penalty Open
King Attack
King Attack Value
King Mobility - Opening
King Mobility - Endgame
Pawn Shelter
Pawn Shelter Weight
Pawn Storm
Pawn Storm Value
Knight Mobility - Opening
Knight Mobility - Endgame
Number of Threads
Queen Mobility - Opening
Queen Mobility - Endgame
Queen on 7th Bonus - Opening
Queen on 7th Bonus - Endgame
Rook Mobility - Opening
Rook Mobility - Endgame
Rook on 7th Bonus - Opening
Rook on 7th Bonus - Endgame
Transposition Table
Transposition Table Depth
Trapped Bishop Penalty
Other changes:
option.cpp options added bonus/penalty to several options
pawn_parameter() created
new parameters added to protocol.cpp parse_set_option()
search_parameter() called from search_full_init()
FutilityMargin1->FutilityMargin
FutilityMargin2->ExtendedFutilityMargin
FutilityMargin3 removed (unused)
trans_stats(), search_send_stat changed to show hash_level
defaults options.cpp changed:
dynamic true
nps=500000
spm=10, (now defaults to 128MB)
powers of 2 hash sizes implemented
double hash_level var made global
trans_is_set var removed
hash_level var placed in tran_stats() send() included
speedtest -> send_stats() changed no longer includes hash_level
extended history pruning/king safety/rebel reduction default set to false
option.cpp added missing 0 to razor depth min
bitbase default path c:\egbb
and now well tested.
regards,
Norm
-
- Posts: 550
- Joined: Thu Apr 24, 2008 9:31 am
- Location: Belgium
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
Hi Norman,
Great,so many UCI options!!
Just try it,but the numbers of threats don't works?
Using a Q6600 g0 ...select 2 to 4 threats...check a few times...but cpu stays at 50% so still using 2cores!
Jean-Paul.
Great,so many UCI options!!
Just try it,but the numbers of threats don't works?
Using a Q6600 g0 ...select 2 to 4 threats...check a few times...but cpu stays at 50% so still using 2cores!
Jean-Paul.
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
thanks Jean-Paul,
can you please tell me...is the Q6600 a quad core?
also what interface are you using?
Norm
can you please tell me...is the Q6600 a quad core?
also what interface are you using?
Norm
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
Great Job with those engine... I will have to test them both.
I really like the fact that we can configure a lot of parameters via UCI options. Now, everyone can make some test and try to find improvements on the default settings.
I am a little familar with the source code of toga and the code of cyclone is really cleaner. As far as I can see, a lot of variable has been renamed to conform to the coding convention of Fabien. The code of cyclone is more homogeneous.
Keep up the good work with this engine !
PS : I was reading some af the eval code but I think there is a small error with the assert in the lazyeval code. You are asserting on a non-initialized variable. The code must be the one below (No need for the lazy_eval variable and the assert is correct this time...) :
I really like the fact that we can configure a lot of parameters via UCI options. Now, everyone can make some test and try to find improvements on the default settings.
I am a little familar with the source code of toga and the code of cyclone is really cleaner. As far as I can see, a lot of variable has been renamed to conform to the coding convention of Fabien. The code of cyclone is more homogeneous.
Keep up the good work with this engine !
PS : I was reading some af the eval code but I think there is a small error with the assert in the lazyeval code. You are asserting on a non-initialized variable. The code must be the one below (No need for the lazy_eval variable and the assert is correct this time...) :
Code: Select all
// lazy eval
if (LazyEval && board->piece_size[White] > 3 && board->piece_size[Black] > 3){
phase = mat_info->phase;
eval = ((opening * (256 - mat_info->phase)) + (endgame * mat_info->phase)) / 256;
ASSERT(eval >= -ValueEvalInf && eval <= +ValueEvalInf);
if (COLOUR_IS_BLACK(board->turn)) eval = -eval;
if (eval - LazyEvalMargin >= beta)
return (eval);
if (eval + LazyEvalMargin <= alpha)
return (eval);
}
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
Hi Norman Cyclone is very strong and have a great style!!!
Congratulations good job
Regards
Congratulations good job
Regards
-
- Posts: 10281
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
Maybe it is strong but I plan to try it only if people find that it can be better than earlier toga.ArmyBridge wrote:Hi Norman Cyclone is very strong and have a great style!!!
Congratulations good job
Regards
Previous version seems to be weaker than Toga1.4.1 SE or Toga1.4.2JD and I do not know what is the reason
see http://cegt.foren-city.de/topic,60,-bli ... gines.html
Uri
Last edited by Uri Blass on Tue Aug 05, 2008 8:26 pm, edited 1 time in total.
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
Hi Gontran,Golem wrote:Great Job with those engine... I will have to test them both.
I really like the fact that we can configure a lot of parameters via UCI options. Now, everyone can make some test and try to find improvements on the default settings.
I am a little familar with the source code of toga and the code of cyclone is really cleaner. As far as I can see, a lot of variable has been renamed to conform to the coding convention of Fabien. The code of cyclone is more homogeneous.
Keep up the good work with this engine !
PS : I was reading some af the eval code but I think there is a small error with the assert in the lazyeval code. You are asserting on a non-initialized variable. The code must be the one below (No need for the lazy_eval variable and the assert is correct this time...) :Code: Select all
// lazy eval if (LazyEval && board->piece_size[White] > 3 && board->piece_size[Black] > 3){ phase = mat_info->phase; eval = ((opening * (256 - mat_info->phase)) + (endgame * mat_info->phase)) / 256; ASSERT(eval >= -ValueEvalInf && eval <= +ValueEvalInf); if (COLOUR_IS_BLACK(board->turn)) eval = -eval; if (eval - LazyEvalMargin >= beta) return (eval); if (eval + LazyEvalMargin <= alpha) return (eval); }
many many thanks for your support and kind comments.
the lazy eval code was implemented by Thomas Gaksch in an early version of Toga. i think it works well, but have never really looked at it closely. at inital glance, it appears you may be correct. i'll address the issue in the next version. please let me know if you find any other anomalies.
regards-
Norm
-
- Posts: 4556
- Joined: Tue Jul 03, 2007 4:30 am
Re: Cyclone 1.0 and Cyclops 1.0 avaliable
Even if it's based on Toga it's a different flavor due to different playing style, so why not using it?
By that logic you would only use the strongest engine (Rybka.)
By that logic you would only use the strongest engine (Rybka.)