Koivisto is a chess engine first released in 2020 by Kim Kahre and Finn Eggers. Both wrote a chess engine before and decided to join forces. Koivisto is capable of playing chess, either vs. itself, other engines or humans. In itself, Koivisto is not a complete chess program, but rather makes use of the UCI protocol. The UCI protocol is the most common protocol for chess engines and is supported by all major chess GUI's which are required for a visual interface for the engine. Koivisto employs a sophisticated search based on principal variation search, which is in turn a significantly improved version of minimax. Koivisto takes this approach and adds various different strategies that help identify variations that aren't worth looking at or look deeper into promising variations. Combined with an efficient neural network which has been trained on billions of positions, the engine has proven itself to be competitive at the highest levels of computer chess.
Koivisto is programmed mainly in C++ and the core part of the engine consists of about 5000 lines of code. The engine uses an external C library called Fathom for syzygy tablebase probing. A lot of external tools are required to develop a chess engines and in order to achieve compatibility, we opted to write most of these tools ourselves. Doing so, we used a variety of programming languages in addition to C++, ranging from CUDA to Python. Most of the relevant parts of the code are commented in order to help people better understand what Koivisto is trying to achieve. In order to preserve the open source spirit, we chose to license the engine under the GPLv3. We consider open source code to be crucial aspect of chess engine development. Koivisto has benefited from other open source engines and in turn, one of our main goals is to give back to the community. In order to achieve this goal, we made all the tools used to develop Koivisto open source and they are available for other engine authors to benefit from.
Koivisto and the tools it relies on are developed on a daily basis by the core developers. Our development process consists of brain storming about potential ideas that could work, trying multiple variations of these ideas and testing them to see if they make the engine stronger. The testing is done using the OpenBench framework which allows distributing games across multiple machines. OpenBench then combines the results and then uses SPRT to calculate if a change makes the engine stronger by a statistically significant amount. Koivisto is tested on the main OpenBench instance, along with other OpenBench engines. This group of engines is sometimes referred to as the OpenBunch and consists of other open source engines such as Ethereal, Berserk, Weiss, Halogen and many others. This community was a crucial aspect of Koivisto’s development as we exchanged many ideas with other engine authors. The OpenBench framework allows anyone with an account to test their changes. The only thing required is to fork the main Koivisto repository, make a branch for the tests and contact one of the core developers on our discord server or alternatively make an account and submit a patch yourself.
Sites made with Mobirise are 100% mobile-friendly according the latest Google Test and Google loves those websites (officially)!
Mobirise themes are based on Bootstrap 3 and Bootstrap 4 - most powerful mobile first framework. Now, even if you're not code-savvy, you can be a part of an exciting growing bootstrap community.
Choose from the large selection of latest pre-made blocks - full-screen intro, bootstrap carousel, content slider, responsive image gallery with lightbox, parallax scrolling, video backgrounds, hamburger menu, sticky header and more.
Kim and Finn have joined forces in 2020 and gave Birth to Koivisto. Kim is 22 years old and studies maths in Helsinki, Finland. His main focus is the search of the engine.
Finn has started the engine together with Kim. Finn is 22 years old and studies mechanical engineering in germany. He mainly focuses on the evaluation of the engine. He wrote the neural network architecture, trainer and inference code himself. He is also working on code-quality and ensures that everything works.
Pali has joined us in the beginning of 2022 and assists us within the search and parts of the evaluation. His support ranges from many patch ideas within the search to novel ideas for move ordering. Pali also wrote us a distributed SPSA tuning system which we plan to use for future Koivisto versions.
Ophi was part of the team during early 2021. He assisted us in many ways and was part of the author list
Sasha is the author of Drofa. We are exchanging many ideas with him and he contributed a lot to Koivisto in the past.
Aryan is the author of of Bit-Genie and has helped us with the data generation code which we use to generate our training data. Furthermore he implemented the polygot-book parsing mechanism in Koivisto.
Connor has helped us debug and fix many issues within the engine. Connor and the Koi Team have always exchanged many ideas between Koivisto and his engine Seer.
Andrew has not directly contributed to Koivisto but he wrote OpenBench, the testing framework which Koivisto uses. Without OpenBench, we would not have been able to gain as much ELO as we currently have.
Noob is the reason why there is chess development at all. He sponsors the big chess projects like the OpenBench and Stockfish with hardware resources which they can use on their testing instances.
Many more people have helped Koivisto become one of the top engines in the world. Especially the authors of the engines which share the OpenBench instance with us have helped us significantly.
You should join our discord server and have a look at the contribution guidelines.
The simplest solution would be to fork the Koivisto repository on GitHub and contribute with a pull request.
We can then test and validate your changes and if they pass, we will merge your changes into Koivisto and you would
get on the contributor list.
Yes. If you are able to compile the code yourself, you can download it from GitHub. You will also find
compilation instructions. It will ensure that the engine will show optimal performance on your system.
Otherwise you can reach out to use via our discord-server and ask us personally.
We are always reachable on our discord server. We recommend you join our discord server and you can ask your questions there.
Yes. Koivisto is a free engine. Changing the code, compiling and even using it commercially is free as long as the GPLv3 license is not violated.
Not yet. Our Team is focusing on normal chess but Fischer Random Chess is on our ToDo-list.