Home * Engines * Komodo

a chess engine by primary author Don Dailey (died at the age of 57 on November 22, 2013) and since October 2013, by Mark Lefler, supported by chess advisor and evaluation expert and Don's long time collaborator Larry Kaufman. Komodo appeared in January 2010 derived from Don's former engine Doch. It uses bitboards as internal board representation, and has a sophisticated search and a knowledge based, balanced evaluation. Komodo is a standalone chess engine supporting the UCI protocol and is available for multiple platforms and operating systems, and is therefore compatible with free and commercial UCI compliant chess graphical user interfaces and database front ends.

As of December 2011, Komodo became commercial with version 4 [1], earlier versions running under Windows, Linux, Mac OS and Android are available from the Komodo download site, free for non-commercial use [2]. Next release date was May 2013, with CCT15 winner Komodo CCT [3].
Komodo coin, issued by Indonesia [4]

Further Versions

Komodo 5

Komodo 5.1 MP, released in June 2013, was a major rewrite in C++11, able to perform a parallel search to run on multiple processors [5] .

Komodo 6

In October 2013, Don Dailey announced the release of Komodo 6 and also bad news concerning the future status of Komodo due to his fatal illness of a acute form of Leukemia [6] . He introduced Mark Lefler as new member of the Komodo team [7] [8] . Don Dailey died November 22, 2013 at age 57, just about the same time that Komodo pulled ahead of Stockfish by winning game 2 in the TCEC Season 5 final [9] [10] .

Komodo TCEC and 7

As winner of the TCEC 5 final, Komodo TCEC was released on December 04, 2013 [11], the further improved Komodo 7 on May 21, 2014, during the TCEC Season 6 final versus Stockfish again, now supporting Syzygy Bases [12], probing code interface implementation by Jeremy Bernstein [13].

Komodo 8

Komodo 8, released September 05, 2014, is a substantial improvement over Komodo 7a, which was already rated among the top three chess engines on almost all rating lists [14]. Komodo 8 supports Syzygy Bases and is available for Windows, Linux, Mac OS and Android, the latter immediately available for import in Chess for Android and in Chess for Glass [15]. Since mid September 2014, Komodo 8 for Windows is available as ChessBase engine, bundled with the Deep Fritz interface, Syzygy bases not included [16].

Komodo 9

Komodo 9, released April 28, 2015, continues the progress with approximately +50 Elo over Komodo 8 due to improved search, evaluation, and time management, as well as more efficient use of multiprocessing [17]. Most noticeable is the increase in search depth reached in a given amount of time, which is due to better extension, reduction, and pruning rules [18]. Further, Komodo 9 now features Chess960 and a persistant hash to save and restore analysis.

Tournament Play

Komodo played the ICT 2010 in Leiden over the board, and further the CCT12 and CCT14.

CCT 15/16 and TCEC 5-7

Komodo had its first tournament success in 2013, when it won the CCT15 with 6½/7, and later that year the TCEC Season 5 after qualifying for the Superfinal and 48 thrilling games versus Stockfish by a margin of 25 - 23. In 2014, Komodo won the CCT16 with 5½/6. In May 2014, at TCEC Season 6, Komodo 7 qualified for the Superfinal - again versus Stockfish - both engines further improved and supporting Syzygy Bases. This time, Stockfish won the 64 game match 35½ - 28½. Again, the other way around at TCEC Season 7 - Superfinal in December 2014 - version 8 successor Komodo 1333 won from Stockfish 141214 with 33½ - 30½.

WCCC / WCSC 2015 / WCRCC 2015

At the WCCC 2015 in Leiden, Komodo 9.x won the Blitz tournament, and became runner-up behind and losing from the massively parallel and distributed Jonny which played on a cluster of 100x24 cores. After the revenge winning against Jonny at the equal hardware WCSC 2015 a few days later, Komodo was unlucky and made too many draws against apparently weaker opponents [19], to became third behind Shredder and Ginkgo. Two weeks later, Komodo won the WCRCC 2015 convincingly with 9/9!
Komodo team Erdogan Günes and Mark Lefler during the WCCC 2015 in Leiden [20]

TCEC Season 8

In Fall 2015, Komodo 9.3x dominated the TCEC Season 8 and won the Superfinal again versus Stockfish, this time 100 games with +9, =89, -2, that is 53½ - 46½ [21].



Don Dailey on Minor Promotions [22] :
Komodo never looks at rook or bishop under promotions and only looks at knight under promotions when it gives check. But even for the knight case there are positions where my rule won't find the right move.


Centered Point Values

In 2012, Don Dailey gave following point values in a kind of millipawn scale, tapered between opening and endgame phase with knight and bishop values constant - positional scores from mobility and piece square tables centered around zero [23] :
















Quality of Knowledge

Don Dailey in a reply to Vincent Diepeveen [24] :
Don, Your program is kind of a beancounter that relies heavily positional upon piece square tables.

You could not be more incorrect. We have piece square tables in Komodo that are a very minor part of Komodo and get very small weights but Komodo puts a huge emphasis on getting the evaluation right with hundreds of evaluation terms that are carefully balanced to produce a find positional chess program. I personally believe that Komodo has the best evaluation function of any chess program in the world.
Total amount of knowledge is not what is important, it's the QUALITY of the knowledge that is. Komodo tries to have the most balanced evaluation function possible, and probably much more knowledge than most programs. I don't believe in quantity but Komodo evolved to have a lot of knowledge anyway - probably because every piece of knowledge in Komodo is needed. I tried removing knowledge in Komodo to get speed and we were not able to remove ANYTHING without noticing that it weakened Komodo, at least slightly.

Lazy Evaluation

Don Dailey on Selectivity and Lazy Evaluation [25] :
Komodo pushes the selectivity pretty hard and we DO get a decent nodes per second increase with Lazy evaluation but the problem is that we get a big increase in nodes. It is this way because we assume we will not make scout if the guesstimate is too low. So we miss some of the beta cutoffs, you cannot have your cake and eat it too. Komodo's positional component can vary enormously so we do take a lot of damage positionally when we use lazy margins.

Node Counting

Don Dailey on counting nodes in Komodo 4 [26] :
As Larry mentioned we are counting nodes differently. More specifically, both versions have always counted a node when a move is made, but Komodo 3 would count nodes that were forward pruned (if the move was actually executed) and Komodo 4 does not. In Komodo 3 I figured that if any work was done (such as attack testing after making the move) it should count as a node. But in Komodo 4 we changed this because the move is technically being pruned (even if we had to check it out a bit first.) Of course if a move is searched or reduced it is counted in both versions.

It's mostly semantics, but we get more stable node counts and this works better for fixed node testing which we sometimes do.

I have several things in mind for getting serious speedups in future versions of Komodo which will bring the speed of Komodo back up to that of other programs, or at least not as far away. I believe Komodo is one of the slower programs in terms of raw search speed as we have put a really heavy focus on having a smart program and little on heavy optimization. The reasoning is the same for delaying the MP stuff too, we want to start with a really strong program before we play the optimization games.

Parallel Search

Don Dailey about aspects of parallel search in Komodo 5.1 MP [27]
How you approach a problem is strongly related to how you DEFINE a problem or task. The goal of MP is to make the program play as well as possible using more cores, to take advantage of the hardware as fully as possible and the only measure that really matters (at least to us) is playing strength. We ALL wish that our program played as if it they were 4x faster when playing on 4 cores - but nobody gets that kind of efficiency.

Some have implied that we search wider because we don't get quite the same increase in depth and that this is a horrible thing. The intuition is that if that if it works you could do it on 1 thread too. However I do not think that follows. The problem is that 4 threads is just not 4x better than 1 thread no matter how good your MP implementation, so it always comes down to how to best utilize what you have. Anything goes in my opinion if it gets more out of extra cores in terms of ELO.

It is well known that programs do not scale well beyond a few processors. Going from 128 to 256 processors gives you very little. One of the things Larry and I want to do is to explore how to better exploit more and more cores and hopefully what we learn will translate to better performance on few cores. It is unlikely to be minor refinements to what we already do.

I'm not breaking new ground as this has been studied for decades and lots of ideas have been tried - I'm not pretending otherwise. But we will look at new original ideas we come up with and revisit old-fashioned ideas that have been tried in the past. A lot of the old ideas which have been rejected have later come back to life, so there is no idea that is off-limits.

As far as whether searching "wider" is a bad thing and isn't real parallelism, I disagree with that. If 4 cores were 4 times better than one I probably would agree but since it isn't, we have to determine where the effort is best spent. If you have 11 people in the room and 10 are doctors and the one who isn't has a heart attack, what is the best use of the doctors time? Not all 10 doctors can give CPR even though normally that would be very best use of their talent, but surely one of them will be calling for an ambulance while another will be doing CPR and the rest will be doing whatever they can to assist, even in little ways.

So if you are getting very little benefit out of additional processors you need to figure out if there is something else they can do to be more useful. Perhaps one thing is to deal with the lines that are severely reduced in the single core program?

See also


Forum Posts








  1. Komodo vs Bolzoni, 1st game Broadcast by Vincent Lejeune, CCC, July 26, 2015
  2. Komodo vs Bolzoni, 2nd game Broadcast by Vincent Lejeune, CCC, July 26, 2015
  3. Komodo vs Bolzoni, 3rd game Broadcast by Vincent Lejeune, CCC, July 26, 2015
  4. Komodo vs Bolzoni, 4th game Broadcast by Vincent Lejeune, CCC, August 02, 2015
  5. Komodo vs Bolzoni, 5th game Broadcast by Vincent Lejeune, CCC, August 02, 2015
  6. Komodo vs Bolzoni, 6th (and last) game Broadcast by Vincent Lejeune, CCC, August 02, 2015

External Links

Chess Engine





Rating Lists



  1. ^ Komodo 4 UCI chess engine download
  2. ^ Komodo chess engine by Don Dailey and Larry Kaufman - Downloads
  3. ^ Komodo CCT release by Don Dailey, CCC, May 03, 2013
  4. ^ Komodo dragon from Wikipedia
  5. ^ Komodo 5.1 MP has been released by Don Dailey, CCC, June 17, 2013
  6. ^ Komodo release by Don Dailey, CCC, October 01, 2013
  7. ^ Re: Who is Don/Larry's new partner!? by Don Dailey, CCC, October 08, 2013
  8. ^ Official announcement - New Komodo Author by Don Dailey, CCC, October 14, 2013
  9. ^ Komodo chess engine - Don Daily (1956 - 2013)
  10. ^ Don Dailey, 1956-2013 by Larry Kaufman, CCC, November 23, 2013
  11. ^ Komodo TCEC released by Larry Kaufman, CCC, December 04, 2013
  12. ^ Komodo chess engine - Komodo 7
  13. ^ Re: Komodo Syzygy evals by Larry Kaufman, CCC, May 21, 2014
  14. ^ Komodo chess engine - Komodo 8
  15. ^ More on Komodo 8 by Aart Bik, September 9, 2014
  16. ^ Komodo 8 - ChessBase Shop, September 10, 2014
  17. ^ Komodo chess engine - Komodo 9
  18. ^ Komodo 9 Announcement by Larry Kaufman, CCC, April 22, 2015
  19. ^ THE upset of the WC: Maverick-Komodo drawn! by Jeroen Noomen, CCC, July 05, 2015
  20. ^ Photo by Gerd Isenberg
  21. ^ Komodo is triple champion, wins the Top Chess Engine Championship 2015!, Chessdom, November 29, 2015
  22. ^ Re: Botvinnik Markov revisited by Don Dailey, CCC, June 27, 2010
  23. ^ Re: What is the correct value of the pieces? by Don Dailey, CCC, October 10, 2012
  24. ^ Re: How effective is move ordering from TT? by Don Dailey, CCC, August 10, 2012
  25. ^ Re: Lazy eval by Don Dailey, CCC, December 02, 2011
  26. ^ Re: Don- Don't understand Komodo 4?? A bug?? by Don Dailey, CCC, December 26, 2011
  27. ^ Re: Peculiarity of Komodo 5.1MP by Don Dailey, CCC, June 19, 2013
  28. ^ Part 1 covers Houdini, Rybka, Komodo, Stockfish, Critter, Naum, Chiron and Spike
  29. ^ Victor Angel Bolzoni - Wikipedia.br (Breton)
  30. ^ Regan's latest: Depth of Satisficing by Carl Lumma, CCC, October 09, 2015
  31. ^ Roanoke Star from Wikipedia
  32. ^ Komodo 8: Deep Blue revisited (1/2) by Graham Banks, CCC, December 27, 2014
  33. ^ Komodo Android Experiment by Ted Summers, CCC, September 24, 2014

What links here?

Up one Level