Parallel Chess with Multiverse Time Travel

15-618 Parallel Computer Architecture and Programming - Final Project

Milestone Report

Wei Chen (wc3@andrew.cmu.edu), Ran You (rany2@andrew.cmu.edu)

Contents

1 Project Schedule

Dates Tasks
11/22 - 11/23 Finish implementation of multiverse chess rules
Test Cilk coding environment
11/24 - 11/25 Finish implementation Minimax algorithm
Define and implement utility function
11/26 - 11/27 Parallelize the program in OpenMP
11/28 - 11/29 Parallelize the program in MPI
11/30 - 12/01 Parallelize the program in Cilk
12/02 - 12/05 Optimize parallel programs
12/06 - 12/08 Conduct experiments and analysis on the parallel program
Write project report and prepare for project presentation
12/09 Project Report
12/10 Poster Session

2 Project Progress

We have started the design and implementation of a sequential version of the game. However, we’ve fallen behind our schedule because we’ve underestimated the complexity of the game rules and optimization logic. We have simplified the problem and drawn up a more detailed plan for how to progress.

3 Goals and Deliverables

Goals:

Deliverables:

4 Issues

We realized the rules of multiverse chess are much more complex than we expected. It has many additional infrastructure built upon the basic chess rules. We plan to simplify the problem by defining our own set of rules. We also realized that building an AI for chess itself is no simple task, which requires using good heuristics, optimization algorithms, and utility functions. We plan to build our AI based on Minimax algorithm with a simple utility function (average distance of pieces to the king of the adversarial with different weights). We will adjust this utility function after we’ve done more research as we progress. We need to set up a simple working game as fast as possible so that we can move on to parallelize the game on MPI, OpenMP, and Cilk. We need to test the Cilk environment on GHC machines.