An open API service indexing awesome lists of open source software.

https://github.com/rodneyshag/othello

An advanced AI to play the 2-player board game Othello
https://github.com/rodneyshag/othello

alpha-beta-pruning artificial-intelligence bitboards evaluation-functions minimax-search othello

Last synced: about 1 year ago
JSON representation

An advanced AI to play the 2-player board game Othello

Awesome Lists containing this project

README

          

:white_circle: :black_circle:
:black_circle: :white_circle:

## Othello

A 1-player board game coded in Java. GUI coded using Swing.

[Learn to play in 1-2 minutes](https://www.youtube.com/watch?v=Ol3Id7xYsY4)

![][screenshot_othello_300px]

This app was created to aid a [research project](https://github.com/rshaghoulian/Othello/blob/master/research_project.pdf) at [University of Illinois at Urbana-Champaign](https://cs.illinois.edu/)

## Designing An Intelligent Othello System Using Turn-based Partitioning

#### Abstract
In this paper, the theory behind designing an advanced AI to play the 2-player board game Othello is described and augmented. We begin by providing various bitboard techniques. Minimax Search is used as the foundation of our game tree search, and Alpha-beta pruning and move order selection are further added to increase efficiency. Search is cut off at a depth limit and evaluation functions are used to determine board utilities. The idea of turn-based partitioning is introduced as an improvement that can be applied to evaluation functions. Experimental results of incorporating turn-based partitioning show increases in win percentages against a benchmark opponent.

[screenshot_othello_300px]: https://github.com/rshaghoulian/Othello/blob/master/screenshots/screenshot_othello_300px.PNG