Bachelor's Thesis

Project Plan, Background, Implementation and Results

Introduction

Artificial intelligence is, according to the Compact Oxford English Dictionary of Current English, the capability of computer systems to perform tasks which require the involvement of human intelligence [1]. Furthermore, Computational intelligence is defined as the subset of artificial intelligence, which covers the studies of adaptive mechanisms for providing intelligent behaviorism in dynamic environments [2, 3-4].

The purpose of this project is to study the basic principles behind computational intelligence, as well as to investigate a set of concrete learning mechanisms used in computational intelligent systems. In addition, this project focuses on creating an intelligent agent capable of simulating human intelligence, thus aiming at passing the Turing Test. The Turing Test was a proposal by Alan Turing, where a machine would be tested in order to discover if that machine was able to imitate human intelligence, thus disguising among actual human beings [3, 77-79].

The goal of this project is to develop a chess engine, as a computational intelligent system, whose intelligence may follow adaptive patterns, imitating the human intelligence when playing a chess match. The scope of this project is limited to a basic study and a simple implementation based on computational intelligence, thus narrowing the range of study to the properties of interest. There is a comprehensive set of unavoidable constraints such as the availability of proper equipment (for testing purposes) and the incapability of knowing if the Turing Test would be passed or not by the implementation of this project.

Project Plan

Table 1 shows a rough outline of the project plan for writing the Bachelor's Thesis. The deadlines are soft deadlines impossed by myself. Please notice that some of the deliverables are marked as desired features, and hence they are not a mandatory requirement for the approved version of the dissertion.

Deadline Deliverable Description Status
21.6.2009 Chess rules implementation All the chess rules must be implemented in the application and the minimal user interface should be demonstrable (human versus human). Done
1.7.2009 Heuristic function Initial draft of the classical heuristic function, simple evaluation of a given board (e.g. even when human versus human, the board value could be shown). Done
15.7.2009 Classical implementation Full heuristic function, minimax and alpha-beta pruning should be working. The application should be able to play, minimally, a human-versus-computer match without major hazards. Done
31.07.2009 Adaptive additions Enhanced heuristics with the adaptive methods. Done
1.10.2009 Analysis, comparatives and results Test results and comparatives between the classical and the improved version. Report on things that are noticeable, success or failure, etcetera. Done
27.10.2009 Thesis draft First final draft of the thesis paper, ready for correction and adjustments, before printing Done
Table 1. Project plan draft

The deliverable items listed in table 1, their deadlines and their scope could be modified along the progress of the project as necessary.

Literature Review

Approaches to Artificial Intelligence

The first problem that arises when discussing AI (Artificial Intelligence) is how to define intelligence. Many AI-related studies always rely on the study of the human intelligence, at first, whereas, in a second stage, they aim at defining how a machine or computer system could perform a given task demonstrating human-like behavior. [4, 3-6]

Currently, there is no unified paradigm that establishes the path of research in the field of AI. Instead, different approaches are investigated in order to tackle the problem of creating the most suitable representation model for the human reality. Hence, there is a constant debate between different research groups, where each group defends its approach to be the correct one. The most important researches are based on Symbolic AI, Computational Intelligence (including all Connectionism paradigms), and Artificial Life, among others. [3, 11-18]

Computational Intelligence (CI) requires that the intelligent system develops itself and learns from a dynamic environment [2, 3-4]. On the other hand, Symbolic AI deals with the abstract duality of symbol-association [3, 71-95]. Therefore, and having in mind the current trends in computerization, CI is one of the most researched approaches inside AI, and it includes different branches such as artificial neural networks, evolutionary computation, artificial immune systems and fuzzy systems [2, 3-13]

Computer Chess and Human Cognition

Computer chess is an example of an AI challenge which benefits from the principles of CI. The thinking style during a chess match requires a comprehensive amount of computation, thus becoming suitable for being implemented as a CI system. Nonetheless, there are certain aspects, such as the representation of the board and the pieces, that are considered more a cognition problem than a computational problem. Therefore, a computer chess program involves developing a hybrid CI system, capable of showing cognition skills. [4, 20-24]

Accordingly, a computer chess program has to be capable of representing the reality (the chess board and the pieces, in this case) taking into account two key factors. First, the internal representation must be as close to reality as possible, otherwise the system will not work. Second, the internal representation must be as optimal as possible, hence enabling the computational model to process a wider range of information in a narrower time frame. However, please notice that the second factor is purely conditional since a chess program may still represent the reality perfectly without any optimization. [5, 1-37]

As regards cognition, a computer chess program, according to the Turing Test, must prove a certain level of understanding in the structure of the board and how the pieces are placed in order to produce a natural flow of the game [5, 87-100]. In consequence, a computer chess, and any computer system, that is tackling the Turing Test must account for a set of learning methods, both short-term and long-term, thus leading to performance improvements in the dynamism of its behavior [6, 1-3].

Besides the performance improvements, dynamic learning affects the overall behavior of the system, resulting in a more flexible behavior. For instance, hardwired behavior denotes a fixed pattern of behavior through the life cycle of the task performed by the system. However, dynamic behaviors are based on initial principles that are not completely hardwired, but they are modified by a given set of functions and algorithms, during the life cycle of the task. [6, 3-6]

Admittedly, the computer chess cognition principles and how learning methods are put in practice condition the recognition of intelligence for that system by human beings. Most computer chess programs denote a common style of playing, applying brute force-like algorithms in order to find the best move at any point in the match. Nevertheless, humans do not always play the best move, as they analyze the situation and generate a response based on other factors besides the actual chess board. Hence, a computer chess program is most likely to be detected as a mere machine, by experienced human chess players. [5, 62-87]

In conclusion, a computer chess program must, in order to depict human-like behaviorism and tackle the Turing Test problem, adapt itself through each of the moves in a game, thus altering its learning principles along the different situations presented across different games. As a result, the computer chess program may acquire, with the time, a certain degree of dynamism that could lead to highly flexible behaviors, found in human responses when interacting with a complex environment. [7, 53-55]

Design and Implementation

Application Description

Chess0 is a computer chess program that aims, ultimately, at providing a simple-enough chess engine, easy to understand and fulfilling the basic requirements for computer-based two-players games. Besides, it is a primary target to create fully understandable source code, easy to follow and update, so that other students can learn from it and contribute at the same time, without having to behold much knowledge.

Chess0 is written in C++, which has advantages and disadvantages. The main disadvantage is the performance (both in processing and memory management). However, the main advantage is far more important for this project, which is the well structuring of the application modules, so that they can be easily understood by Bachelors-level students without knowing much about programming.

In spite the basic requirements, this project is guided on a clear purpose: compare classic (sometimes obsolete) techniques in computer chess with the incorporation of adaptive methods. A clear target here is the Turing test. Computers tend to play always the best move, with a tiny margin for randomization. In practice, Chess0 intends to demonstrate the main differences (mostly visual, on the board) between a classic engine using simple heuristics and an adaptive engine that is capable of modifying its strategy as the board changes during a chess match.

Behind all these ideas, there is an aim for the actual Bachelor's Thesis, which is to experiment and discuss about adaptive behavior in computational intelligent systems. Admittedly, Chess0 (and its whole idea) is far from being a real computational intelligent system, yet it aims for demonstrating classic versus adaptive behaviorism in intelligent systems in a highly simplified manner.

Classical Techniques

TBD

Innovations

TBD

Results

TBD

Discussion

TBD

Conclusions

TBD

References

1 John Simpson & Edmund Weiner. Compact Oxford English Dictionary of Current English. Oxford: Oxford University Press; 2005.


2 Andries P. Engelbrecht. Computational Intelligence, An Introduction, Second Edition. South Africa: University of Pretoria, Wiley; 2007.


3 Stan Franklin. Artificial Minds. Cambridge, Massachusetts: The MIT Press; 1995.


4 David Moursund. Brief Introduction to Educational Implications of Artificial Intelligence. Oregon, United States of America: University of Oregon; 2006.


5 David Levy. The Chess Computer Handbook. London: B. T. Batsford Ltd.; 1984.


6 Nils J. Nilsson. Introduction to Machine Learning. Stanford, California: University of Stanford; 1996.


7 Rober Morris. Deep Blue versus Kasparov: The Significance for Artificial Intelligence. United States of America: AAAI Workshop; 1997.


Printed Version

Updated on Sunday, 22 November 2009 08:42