Thread: chess ai contest

  1. #1
    Registered User
    Join Date
    Aug 2001
    Posts
    244

    chess ai contest

    well some ppl already had the idea for a chess ai contest.
    i think that would be an interesting and challenging contest.

    goal:
    .) so the goal would simply be to create a chess ai routine.
    .) the different ai versions would fight each other over internet.
    .) winner is the ai version with most wins.


    end of the contest:
    31st september 2005

    the interface:
    in order for letting different ai versions fight each other some conventions must be followed.

    so every participant MUST use the following definitions in order to provide an common interface:

    THEY MUST BE C-STYLE IN ORDER TO HAVE A COMMON INTERFACE BETWEEN PARTICIPANTS WHO SOLVE THAT PROBLEM IN C AND THOSE WHO SOLVE IT IN C++.

    typedef enum _EChessMan {
    CM_NONE, // indicates empty field
    CM_PAWN,
    CM_KNIGHT,
    CM_BISHOP,
    CM_ROOK,
    CM_QUEEN,
    CM_KING
    }ChessMan;


    typedef enum _Move {
    unsigned char x_from;
    unsigned char y_from;
    unsigned char x_to;
    unsigned char y_to;
    }Move;

    thus the chess_ai_function prototype looks like:
    Code:
    Move chess_ai_function(EChessMan board[][]);
    THE CHESS AI FUNCTION DEFINITION ITSELF MUST BE C-STYLE
    the internals though can be c++.

    the participants may give any name to "chess_ai_function" but they MUST
    use the return type and the argument type specified here.

    the fight:
    in order to determine the winner of the contest the ai routines are passes to a test environment.
    all this environment does is
    1) initialize a chess board
    2) consult the ai routines of 2 participants in turn
    3) check if they return valid moves (if not: abort, the ai which produced to invalid move automatically loses)
    4) update the chess board
    5) goto 2 until someone wins or there were more than 1000 moves
    (this move limit is neccessariy in order to prevent endless loops)

    so... what do you think?
    Last edited by Raven Arkadon; 07-02-2005 at 08:17 AM.
    signature under construction

  2. #2
    Registered User
    Join Date
    Aug 2001
    Posts
    244
    lol, ok, due to lack of response i guess noone thinks this is a good idea ^^
    signature under construction

  3. #3
    VA National Guard The Brain's Avatar
    Join Date
    May 2004
    Location
    Manassas, VA USA
    Posts
    903
    didn't see this thread.. otherwise i'd be all over this.
    • "Problem Solving C++, The Object of Programming" -Walter Savitch
    • "Data Structures and Other Objects using C++" -Walter Savitch
    • "Assembly Language for Intel-Based Computers" -Kip Irvine
    • "Programming Windows, 5th edition" -Charles Petzold
    • "Visual C++ MFC Programming by Example" -John E. Swanke
    • "Network Programming Windows" -Jones/Ohlund
    • "Sams Teach Yourself Game Programming in 24 Hours" -Michael Morrison
    • "Mathmatics for 3D Game Programming & Computer Graphics" -Eric Lengyel

  4. #4
    Registered User
    Join Date
    Aug 2001
    Posts
    244
    hmm.. could all people who read this thread post a comment plz?
    ignore the my first post about the dead line and the coding conventions

    just tell me wheter you think this a good idea or not
    so if enough ppl think is a nice idea i would make the rules more clear

    also, if you dont like chess but you know another game (e.g. checkers) youd like to write an ai for, tell me too.

    basically i want an ai contest for a game which does not depend 90% on luck (like basically all card games do).
    signature under construction

  5. #5
    Tropical Coder Darryl's Avatar
    Join Date
    Mar 2005
    Location
    Cayman Islands
    Posts
    503
    the different ai versions would fight each other over internet.
    Are you saying we build a chess client that connects to a server/peer?
    If so, a person could make it any language as long as they followed whatever protocol was developed? Also, How would you check against cheating, instead of AI, I could create a client where I could move manually. I am quite a strong player and could easily beat most low level AI.

    5) goto 2 until someone wins or there were more than 1000 moves
    (this move limit is neccessariy in order to prevent endless loops)
    Chess already has rules to prevent this kind of thing, ie. repeating same position 3 times with same side to move, insufficient mating material, 50 moves without progress.

    While doing a chess AI would be challenging, there are so many already available, it would be difficult verifying original work.

    Also, can a person use an open book?

    In general, I think a chess framework would have to be created, which then the contestants anc overide a basic player class to implement their AI

  6. #6
    VA National Guard The Brain's Avatar
    Join Date
    May 2004
    Location
    Manassas, VA USA
    Posts
    903
    In general, I think a chess framework would have to be created, which then the contestants anc overide a basic player class to implement their AI

    good call
    • "Problem Solving C++, The Object of Programming" -Walter Savitch
    • "Data Structures and Other Objects using C++" -Walter Savitch
    • "Assembly Language for Intel-Based Computers" -Kip Irvine
    • "Programming Windows, 5th edition" -Charles Petzold
    • "Visual C++ MFC Programming by Example" -John E. Swanke
    • "Network Programming Windows" -Jones/Ohlund
    • "Sams Teach Yourself Game Programming in 24 Hours" -Michael Morrison
    • "Mathmatics for 3D Game Programming & Computer Graphics" -Eric Lengyel

  7. #7
    Registered User
    Join Date
    Aug 2001
    Posts
    244
    yep - there definitely needs to be a framework.
    actually i was thinking of a callback function.
    of course that one can be attached to a net interface.


    since participants must submit their code anyway it should be easy to find out if someone cheats.
    (like if someone submits code that keeps moving units randomly it would be strange if suddenly the units are moved strategically)

    also: there could be a time limit: e.g. clients have to respond within 8 seconds.
    but that of course would be unfair for ppl with slower comps
    (since their ai routines would have to take fewer possible moves into account than on a faster comp).


    of course an opening book can be used.


    edit: if enough players sign up, id do the framework
    signature under construction

  8. #8
    Deleting... VOX's Avatar
    Join Date
    Oct 2004
    Location
    VA
    Posts
    94
    I am interested, but it seems that we are limited to C and C++? There should be a framework of some kind that allows C, C++, or C# implementation.

    Or allow us to write a program ourselves that can set up and show the game board, and basically have a random game you can watch each time you start, using your AI.
    Boy you stink, go take a shower before you continue to code. Better do your laundry and spray your chair too.

    The one and only resource for finding information.

    Next version of windows released!!!!

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Action Game - AI Contest
    By Queatrix in forum Contests Board
    Replies: 4
    Last Post: 01-18-2007, 06:55 PM
  2. YACC (yet another chess contest)
    By IfYouSaySo in forum Contests Board
    Replies: 4
    Last Post: 12-10-2005, 02:41 AM
  3. New AI contest: sign up
    By Sang-drax in forum Contests Board
    Replies: 20
    Last Post: 07-27-2005, 05:54 PM
  4. AI Contest Proposal
    By MadCow257 in forum Contests Board
    Replies: 4
    Last Post: 03-13-2005, 03:27 PM
  5. Ultra chess engine contest
    By yodacpp in forum Projects and Job Recruitment
    Replies: 8
    Last Post: 11-21-2004, 07:58 AM