Home > Computer Science, Programming > The Hangman Challenge

The Hangman Challenge

I recently wrote about a computer program that tries to win Hangman. With my current version, I wrote both the guesser and the executioner. But that’s not going to be very innovative. To try to make the Hangman program even better, I propose a competition. People design both a guesser and an executioner. Then, the guessers and executioners designed by different people go head-to-head, and we see who gets the most wins. Right now I can’t offer any sort of prize (and if I did it would create a conflict of interest), but I think it will be useful and fun.

Details:

The programs shall be written in Python. It is an easy language that a lot of people know, but more importantly, it’s the language that I wrote my original program in.

I have provided a skeleton program, which you can get here. Use the classes and methods in this skeleton to write your program. This is to make it easier to coordinate interactions between multiple programs. This package also contains my contact information.

There is no limit to the number of submissions per user. If you have more than one idea, by all means submit more than one program. The idea here is to find the best algorithms.

After there are enough submissions, or after a long enough period of time, I will publish the results.

If you submit a program, its contents may be released to the public. Do not submit anything that you do not want published.

I think that about covers it. So write some Hangman programs, and have fun!

Advertisements
  1. May 30, 2010 at 12:29 am

    In case you already downloaded my skeleton program, please re-download it. I changed some things to make it more flexible. There need to be certain restrictions, but I want this program to be as open as possible.

    I modified the skeleton so that it will be easier to play multiple games. During the competition, I guarantee that at least 200 games will be played using repeat() in Hangman. This is to ensure statistical significance, and to give “smart” programs enough time to learn their opponent’s behavior.

  2. phynnboi
    July 8, 2010 at 6:11 am

    At the risk of pooping the party, I’ll mention that this challenge is very similar the RoShamBo one the U of A held a while back:

    http://webdocs.cs.ualberta.ca/~darse/rsbpc.html

    Hangman, particularly with a dictionary the size you’re using, adds significant complexity over RoShamBo, but underneath it, I think you’ll find much the same strategies that worked in the RoShamBo competition will work in the Hangman one. Basically, it’s going to boil down to recognizing patterns in the executioner’s word choices.

    I should mention that RoShamBo has a well-known “optimal” solution, and that the fun of the competition was in detecting and exploiting the patterns of a fixed set of distinctly suboptimal players, plus all the other players (the entrants) who were trying to do the same (and, thus, who were also “suboptimal!”).

    Were I to submit anything, it’d basically be a Hangman-ized variant of Iocaine Powder. (I almost certainly won’t submit anything, though, because I don’t want to learn Python right now.)

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: