Assignment 4 information

Connect four tournament results

Revised tournament

There were a few problems with the original tournament:

There was not time to run another round robin tournament, so I ran a limited tournament:

Original tournament

This was a round robin tournament, and there were 46 entries. For each pair of students, we played two games, so both players had a chance to be X and O. That's 90 games for each student and a total of 2070 games which took several computer-days to run. This tournament used the regular alpha-beta minimax search since the version I had written to choose among the optimal moves had a bug in it.

It turns out that many students' players had bugs in them. I'm not exactly sure how they got by the pretesting. So I added some error trapping mechanisms to the tournament program. If there was an error generated during a call to your evaluation function, then a random valid move is picked on your behalf.

Here are the results:

We'll be emailing the transcripts of all your games soon.

Problem 5 was scored as follows. Any student that had uploaded a valid player by the assignment deadline received 5 points. The remaining 35 points were determined from the tournament results. These were based on an average of your ranking from the two versions of the results above. For each ranking, the top player received 35 points, the bottom player received 5 points. Players in the middle received points linearly proportional to their ranking (not wins or score). Students that tied in a ranking received the same score for that ranking. Points from the two rankings were averaged. For example, if you were exactly in the middle of one ranking, you would have gotten 20 points, and if you were exactly 2/3 in the ranking from the bottom, you would have gotten 25 points from that ranking. Averaged and rounded, this would come out to 23 points.

Announcements

Support code

There are two files containing support code for this assignment:
  1. a4code.com (Version 1.1 released 10/4)

    This file of compiled Scheme code contains the procedures that implement Nim, allow you to play against the computer for Nim and Welter's game, and some support code for Connect 4.

  2. connect4.scm (Version 1.1 released 10/4)

    This file of Scheme source code contains the remaining support code for Connect 4, in particular, the state represntation and feature detectors.

Links

Here are a few links for Connect 4 Java applets:

Some of these might actually be the same applet...

Hints

Problem 1

Problem 4

Problem 5