Goperfekt
A different kind of go program
A new, atypical and experimental go program, now available in Apple’s App Store. Maybe you’d like to try it. It includes an English, a French, and an Esperanto version. It’s called Goperfekt, an Esperanto term that means “perfection in go” — admittedly a partly exaggerated description.

This software is not meant to compete with the strong go programs that are today available. Instead it offers a very different sort of experience. With Goperfekt, for example, you can play on boards with various geometries — rectangles (not only squares), cylinders, toruses, and other exotic forms —, all of that on innumerable board sizes!
Features
You can play against yourself, or against another player sitting beside you, but also of course against the program. And Goperfekt can also play against itself.
You can allow suicide or not, choose between three kinds of final result and among several ways of counting the points. You can also play capture go, a simplified form of go in which the first to capture wins.
Do you want to record a game? On the one hand, Goperfekt allows you to orient the board as you wish, that is, not only with Black below (White above), but also with Black above (White below), Black on the left (White on the right), or Black on the right (White on the left). On the other hand, the program allows you to register any piece of information on this game that the SGF file format permits.
Questions? The manual (more than 150 pages) might help you. If not, write directly to the author!
Specialty: small boards
Unfortunately, Goperfekt can play well only on very small boards, up to a maximum of 16 points (that is, 1 × 16, 2 × 8 or 4 × 4). Boring? On the contrary: on such small boards go is fun, sometimes surprising, often challenging. Have you ever tried to solve Cho U’s incredible problems on 4 × 4 square boards? You’ll find even capture go quite interesting, on the many different boards available.
There’s always a “but”…
It must be said that this program has a big flaw: on boards of about 12 points or more, when Goperfekt itself plays, it reacts sometimes terribly slowly — calculation times can be very long. Goperfekt remains basically an experimental program.
Its creator
is François LORRAIN, a Canadian mathematician and go player from Montréal, also a member of the American Go Association.
Sadly, for macOS computers only
— specifically, for macOS 11 (Big Sur) to macOS 15 (Sequoia) and later versions.
To get Goperfekt
as a free download from Apple’s App Store, click on the button below.
Algorithms
Goperfekt doesn’t use neural networks! For the smallest boards, it calculates the exact value of every permitted move in any given legal position by brute force with alpha-beta pruning. If desired, the user can display on the board the values calculated.
But what is this “exact value of a move” that Goperfekt computes? It must be emphasized that we are speaking here of a specific move — by Black, for example — in a given position in a given game. The value v for Black of this move is the value of the position that results from this move in the given game, i.e. the inevitable final territorial difference at the end of the game — supposing both players from now on always play optimal moves. However, if from now on Black always plays optimally, but not White, then the final result for Black will be greater than v. If, inversely, from now on White always plays optimally, but not Black, the final result for Black will be smaller than v. If from now on both players play suboptimally, the final result for Black could be larger, smaller or even equal to v !
Unfortunately, for go as such (in contrast to capture go), this kind of calculation turned out to be feasable only for boards from 0 to 5 points (boards with sizes 0 × 0, 1 × 1, 1 × 2, 1 × 3, 1 × 4, 2 × 2, 1 × 5). For boards having 6 points more, the calculation turns out to be so long that, during my tests, I was unable to complete a single such calculation, even after tens of hours on my table computer — in spite of the fact that the program divides the computation into several concurrently executed tasks! This surprised me and also considerably disappointed me.
For go, on boards of 6 points or more, the program must use a different method: it calculates iteratively a value interval, as narrow as possible, for each and every legal position on a given board — taking into account the super-ko rule (applied to the moves that might follow the move considered in the given position in the given game). The inventor of this iterative method, François Labelle, a Montréal go player, generously explained to me his method — so I owe him a lot. These intervals, used instead of precise values, allowed me to accelerate beyond my hopes the calculation of trees of value intervals for go-boards having from 6 to 16 points. Unfortunately, because both RAM and time are limited, I was obliged to limit the size of the boards to which Goperfekt applies this method to a maximum of 16 points (i.e. up to sizes 1 × 16, 2 × 8 or 4 × 4).