libkombilo

One of the major goals of the currently ongoing rewrite of the Kombilo code is to separate the pattern search engine from the grapical user interface. This will go so far that the pattern search engine is provided as a "library", called libkombilo, which can be plugged into Kombilo. For me, the major reason to do this was to clean up the Kombilo code, in order to make it easier to maintain1 it, and to extend it further. For instance, it will be much easier, once libkombilo is finished, to try out new search algorithms, and to compare the performance of different algorithms.

Furthermore, it will be easy to access the pattern search engine from scripts, and this can be used to collect statistical data in an extensive way (for instance: which joseki were fashionable at which time, which players play which fuseki etc.)

An additional benefit is that other programs could easily integrate libkombilo and in this way add pattern search functionality very easily.

For all those who are particularly brave (or particularly impatient), the source code is available. (A better way than downloading the single files from the source code browser might be to install Subversion and download the code with svn checkout http://svn.u-go.net/kombilo/06/libkombilo .)

  • The API, i.e. the interface which is used to "communicate" with libkombilo.

1 I just profited from this by using Valgrind on the libkombilo code and catching a really stupid typo in this way which caused the program to crash under certain circumstances. Although I had heard of Valgrind a long time ago, I had never used it, but now I am really quite enthusiastic about it. If you are doing C/C++ programming, you probably know it already, but otherwise do check it out!