| CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Mon, 22 Dec 2025 19:03:09 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100709130915
location: https://web.archive.org/web/20100709130915/https://github.com/rcrr/reversi
server-timing: captures_list;dur=0.995772, exclusion.robots;dur=0.071059, exclusion.robots.policy;dur=0.053387, esindex;dur=0.015387, cdx.remote;dur=36.638234, LoadShardBlock;dur=404.654740, PetaboxLoader3.datanode;dur=118.221286, PetaboxLoader3.resolve;dur=265.214190
x-app-server: wwwb-app221-dc8
x-ts: 302
x-tr: 471
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app221; path=/
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Mon, 22 Dec 2025 19:03:09 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Fri, 09 Jul 2010 13:09:15 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "3da0a001804d7a3da31800ce5276817d"
x-archive-orig-x-runtime: 272ms
x-archive-orig-content-length: 29677
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Fri, 09 Jul 2010 13:09:15 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_16_20100709094007_crawl100-c/52_16_20100709130906_crawl101.arc.gz
server-timing: captures_list;dur=0.733051, exclusion.robots;dur=0.023447, exclusion.robots.policy;dur=0.009914, esindex;dur=0.011834, cdx.remote;dur=5.701248, LoadShardBlock;dur=224.624282, PetaboxLoader3.datanode;dur=181.607371, PetaboxLoader3.resolve;dur=97.318498, load_resource;dur=117.924911
x-app-server: wwwb-app221-dc8
x-ts: 200
x-tr: 435
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
rcrr's reversi at master - GitHub
rcrr / reversi
- Source
- Commits
- Network (1)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
Sending Request…
A Reversi (Othello) board game implementation in Clojure. The initial program written in COMMON LISP is taken from the PAIP book, then ported to SBCL. — Read more
reversi /
README
Reversi is a suite of programs to play the Reversi (Othello) board game.
The source code is written in Clojure.
The program is distributed under the GNU GPLv3 license.
The step that had been followed are:
(1) Adapt the COMMON LISP programs taken from the PAIP book to run smoothly in the following env:
- Ubuntu 9.10
- SBCL compiled from source, downloaded from git://sbcl.boinkor.net/sbcl.git
- Emacs compiled from source, downloaded from git://git.savannah.gnu.org/emacs.git
- Slime downloaded from the official cvs repository
To operate the CL program:
From the SLIME PROMPT type:
(asdf:operate 'asdf:load-op 'reversi)
(in-package :reversi)
The aim is to use the PAIP (Paradigm of Artificial Intelligence Programming. Case Studies in Common Lisp) examples
that describe how to write an AI strategy to play the board game named REVERSI.
First objective is to make the code working with a current version of SBCL under Linux.
(2) Translate the CL code into Clojure.
- This work is almost complete.
The basic game rules are working. The minimax and alpha-beta functions are ok.
Unit tests are close to be complete, minimax test function is under construction.
The complete translation of advanced tecniques is complete (Reversi tournament, and Iago strategy).
- The Emacs/Slime/Clojure env is prepared installing the components with ELPA
To operate the Clojure program:
From the SLIME PROMPT type:
(load "reversi/init")
(in-ns 'reversi)
(2.1) Document the translation
- Prepare a GitHub Markdown mini-book.
- Source File inline documentation.
(3) Future lines of development that currently are appealing, could be:
- Profile the CL and Clojure versions. Optimize for speed the critical components.
- Port the program to more languages (Java, Scala, Jython, JRuby).
- Prepare a build process using either ant, maven, lancet, leiningen, or a conbination.
- Develop a graphical UI using Java Swing.
- Redesign the Clojure implementation to be fully functional.
- Develop a complete game analysis suite.
- Further enhance advanced strategies, following the paper written by Rosenbloom, Lee & Mahajan, Buro.
- Make the program leverage the multi core processors thru a redesign for parallel computing.
- Develop a neural net evaluation function.
- Develop a genetic algorithm that iterate the evaluation function evolution.

