Gomokunarabe is a board game invented in Japan. The word means five piece line up. Known as gomoku in short, it can be played on paper just like tic-tac-toe or on a board. Digital Age Institute, an IT institution based in Nairobi, has been working on an artificial intelligence project which focusses on creating a gomoku playing engine. Here’s an interview I did with David Svarrer, the CEO of Digital Age Institute, On the 23rd May 2013 in KICC
What is gomoku?
Gomoku is a 7000 year old game that has its origins in Japan and its still played until today by masters. It is a strategy game played on a 15×15 goban (the board on which gomoku is played – again goban means ‘15’). The object of the game is to place 5 stones in a row either direction before the opponent. The first player to do this wins. When one player puts 3 in a row, the opponent can place their stone to block the formation of a winning line. In 1991, the game Gomoku in its original form was ‘solved’. Solved refers to that it became possible to implement a strategy for how to put the stones such that the player starting the game would always win. Masters of Gomoku had claimed that the first one playing would always win – only in 1991 it was proven. That spawned off a particular version of the game that has become popular in recent years, called Renju. Renju is also played on the Goban, and the purpose was to modify Gomoku in such a way that the first player would not have any benefit. One of the most powerful rules is, that the first player plays the Black stone or an X, then the second player places his white stone or the O, then after the third stone (black) has been put, the white or O-side can choose to continue as X or continue as O. Thus the third (black) stone must be put in a delicate balance between sufficiently disadvantageous and advantageous position that O will be in serious doubt about which side to continue playing on. There are other attempts to balance the game – those are more or less complex, and more resembles surety (of balance) by obscurety.
How did you get interested in Artificial Intelligence? And for this project why did you choose gomoku instead of other board games, say chess or go/weiqi?
I’ve worked with AI for decades. My grandfather gave me a 4-bit computer when I was 14 (resembling year 9). As I learnt to manipulate this machine, I later started in High School, and had computer classes where we learned the programming languages BASIC and COMAL-80. By use of these languages myself and other students – especially a nerd like me, named Ole Byrgiel Thomasen – wrote software which could play the game of Gomoku. We didn’t know the name Gomoku – we used to play this game on hatched paper, without any 15 by 15 border around it – so we saw the challenge in creating a software which could beat our fellow students. We succeeded in 1981 by making a hierarchy thinking stack, able to evaluate any board and go into depth with it, pruning trees (before we knew that this was called pruning trees :-).. I got around to writing my first gomoku ‘engine’ in 1981, 10 years before the game was solved. Towards the end of High School, Ole’s and my engines played against other AI’s from the members of the computer classes in my school.
Why did you choose Gomoku for AI?
Gomoku can be understood by a lot of people as compared to other games from a 7 year old to the masters level. Go is much more complex for a computer to understand, therefore it is more of a challenge to build a Go engine. Gomoku can be made understood relatively simple by a computer – still remains – how to analyze the board – when to prune the analysis (game-) tree. In terms of complexity, Gomoku ranges between Go and Chess. Chess has been solved in that computers now have better chances of winning even against grandmasters. Digital Age Institute Ltd.’s students have created an engine which was demonstrated last week and our server can play against either human players or machine players. You can also connect with client software running from any computing device and run the game against other players either as human or as a computer. The difficulty in gomoku is that one move leads to another precision with different threats. Looking into the threat analysis where you have to go several steps into the future and analyze, if you just do it with brute force any huge computer will go dead after 5 or 7 trees. So to discover the strategy you have to build a decision tree that’s 20 moves into the future then prune the tree and cut off the weak moves to shorten the analysis.
Were you guided by the analysis of gomoku by Victor Allis in 1994 where he describes a solution for for the game?
We didn’t need the Threat-Space analysis paper because what we are doing is, we are opening a competition. Right now we are creating the game engine for the AI for the game running throughout the next half a year. On the BFMA (Broadcast Film & Media Africa Expo / Conference) coming up, we are also presenting the same Gomoku on our stand there so people can play, online, and sign up for the game. After that, people can play in our office, or online, through out upto the ICT summit 2013 by AITEC (November 2013) where we’ll have the finals. We’ll close the competition 2 to 3 days before the AITEC Summit 2013, and those who has uploaded the best AI Gomoku Client softwares will be the ones going to the finals.
What kind of support have you received for your project?
We are hopefully going to partner with IBM who in that case will supply us with a supercomputer to run the gomoku engine. Other potential partners include Oracle and Rackspace. IBM is setting up a research initiative in Kenya, and we have had a high level meeting with Mrs. Powell and Dr. Kamal, directors for IBM in the US and Kenya respectively. But they may not be able / open in 2014, due to resource allocations. So we will have to weigh: Do we have to go with Oracle or some of the others because IBM may not be available this year, or if we go with Oracle this year then we will stick to them. The big players are very interested. We want to bring AI to Kenya so that it is built in Kenya, by Kenyans. Not something imported – no, built from the ground.
It is new to grow something here such that we have Kenyans create artificial intelligence, which they are educated in here in Kenya, planning to do in Kenya. We are in fact not doing anything new, what we want to do is to build the capacity here such that Kenyans make AI software – and that, I can assure you, is new 🙂
We set up our Nairobi office 8 years ago to build a new Bangalore in Kenya. We are currently in negotiations with several institutions to create an IT university in Konza.
Software is an enormous source of income. Bangalore alone now exports software in 2 figured billions of dollars per year. We have for years said that if you really want to learn the real thing in IT in Africa, then come to Digital Age Institute.
In 2012, a dean from one of the local universities came to our institute and asked me to prove how good we are. I told him, that our students are in the companies that matters in IT: Verviant, Virtual City, Cellulant, all the big ones they have our students as key people in IT, in their companies. There is a high sense of enthusiasm amongst the students at the institute. So on the tactical lane, we have it, that 2013 we are going into AI, 2014 we enter into comiler technology, 2015 we enter into operating system generation, 2016 building database systems, etc. etc.. All these key areas in computing are being done right here in Kenya by Kenyans.
What is the greatest challenge that you have encountered in your project?
The greatest challenge is the tendency to rush into production of the product 2 weeks before the deadline. We need to instill integrity in people. We can’t do a 9-month project starting 3 months to the deadline, that is – when the developers begin to feel the heat. There’s no reason why that should happen but it happens again and again.
What part of your work have you most enjoyed?
Those who have made the Gomoku server are purely our students, I have just been there to provide guidance. What I’ve really enjoyed to see a team of 3 instructors and 25 young talented developers succeed. For instance when they managed to connect the client with the server, finding out that they can run a protocol on the connection such that the client can instruct the server that the player has moved a white piece to position 8,9; and the server communicating all this to the other client, so the other client can display what is happening. Their enthusiasm to stay late to make the project succeed. These guys they’re going for the stars but they might unfortunately travel abroad soon. Because once you achieve something like that there are international jobs waiting for you. But I hope they remain in Kenya and build the contry, we are continuously encouraging them to do so.
What is the future of your project?
The future of our project is that we expect to attract a lot of international attention, there are hundreds of software companies in Kenya that cannot sell their software abroad. Because in Europe, if you say outsourcing software development to Africa, they look at you like you are crazy. When we now place AI right here in the centre of the African map, it becomes verified by some of these international players and they can see that the games we are playing, they are publicly available and they can even put in their own games to play with our games. So you can just upload your game on our server and check it out against these players here then they see there’s something moving here that they never dreamt of. And when they now find out that this was built in Kenya by students then next time you talk about Kenya, Africa and outsourcing software development – we have started a new paradigm, namely that the idea that if you send something to Africa it will work.