Programming the Game of Go with Artificial Intelligence (AI)
The game of Go is an ancient board game which until recently has resisted attempts to automate Go game playing moves by computer. This document will investigate the use of Artificial Intelligence to aid the construction of a Go playing program. Also, this document will examine the latest thinking in AI, applying where such thinking might aid a computer program to play Go. The history of Go Game programs will also be examined with a view to mining techniques that they employ.
The questions to be answered are:
Why is Go so hard to enable computer programs to successfully play the game?
What is artificial ...view middle of the document...
The game of Go has a rich history of attempts to define moves and strategies which are more likely to succeed. A visit to the Sensei’s Go Web site reveals that the game of Go has somewhere in the region of 300 terms, generally expressed in Japanese . Much of the game of is about ‘shape’, avoiding poor shapes like ‘empty triangles’ and extolling the virtues of structures like a “bamboo joint”. The human eye can of course, readily discern a particular shape. Asking a computer to find a shape is hard, particularly when the exact dimensions of the shape are not known.
What is Artificial Intelligence?
This turns out not to be a trivial question. One view is that artificial intelligence is merely the avoidance of ‘artificial stupidity’ for example a computer game where an electronic opponent avatar is seen repeatedly running into the same wall. The computer scientist - John McCarthy coined the term Artificial Intelligence, he stated that “the aim of artificial intelligence is to develop machines that behave as if they were intelligent.”
Defining intelligence itself is also problematic. If one sees intelligence as the ability to make decisions, then most computer programs running today would be classified as intelligent, when this is clearly not the case. It is also all to easy to come with a definition of intelligence which is actually a definition of consciousness. In Kevin Warwick’s - “Artificial Intelligence the basics”, Kevin makes the point that it is important to consider intelligence from a range of perspectives. In an early chapter on defining intelligence he concludes - “It has been stressed as vitally important to consider intelligence in other creatures as well as humans and to look at intelligence in humans in terms of the broad spread of individuals that form humanity as a whole and not simply an ‘ideal’”. An early implementation of artificial intelligence was the idea of “expert systems”. The idea here was to capture the knowledge of an expert/s in a particular field e.g. a group of doctors, and attempt reproduce that knowledge by developing a set of rules. The Prolog programming language was designed with these goals in mind. Prolog provides a language syntax for defining a series of facts as well as an “inference engine” whose purpose was the scan the original facts and infer new information from them. For example the fact “Mary likes objects that are green” combined with the fact that “Apples are green” allows for the drawing of the fact that Mary must like apples.
Approaches utilised in Artificial Intelligence
Artificial Intelligence is a broad field made up of a variety of approaches. These approaches include:
Rule based Systems
Natural Language Processing
Machine Learning/Neural Networks
These areas will now be considered, along with their suitability to apply a given approach to assist a...