Occam

Home * Engines * Occam

Occam, a private chess program and later also Arimaa bot by Don Dailey and Larry Kaufman, which evolved from Cilkchess as experimental development version of Don and Larry's later commercial programs. In it's early state, short after the WCCC 1999, Don explicitly mentioned the Copy-Make approach in Occam which he later also preferred in Doch and presumably in Komodo.

=Position= Don gave following board representation and position structure : typedef struct ptag { SQUARES       bd[65];          /* the board                        */ base_int     king_loc[2];     /* location of kings                */ u64          hashkey;         /* position key for hash table      */ int32        mat_sig;         /* signature of material situation  */ struct ptag  *his[2];         /* pointer to last 2 positions      */ ev_type      inc_score;       /* incremental component of score   */ base_int     ply_of_game;     /* even = white to move             */ base_int     ply_of_search;   /* start at 0                       */ base_int     pv[PV_LEN];      /* best move from position          */ base_int     last_move;       /* move that got us here            */ base_int     null_count;      /* how many recursive null moves? */ base_int      in_check;        /* is ctm king in check? */ } position;

=Quotes=

MTD
Reply by Don Dailey to Bruce Moreland, July 20, 1999 : I have a primitive program called "Occam" playing on the chess server now. I don't have any kind of aspiration search in it, just pure alpha/beta, no PVS, no MTD or anything. I will implement PVS first so that I can do comparisions.

Arimaa Bot
Occam was further test-bed for an Arimaa bot which played the first computer-computer challenge in 2004. Quote by Omar Syed : Soon after the challenge was announced, several members of the game AI-research community attempted to tackle the challenge. The late Don Dailey (developer of the Komodo chess engine) was the first to create an Arimaa engine. Within a couple months Don had a surprisingly strong program offering games in the Arimaa gameroom. In designing Arimaa, I had used the Zillions-of-Games general game-playing engine, which allows specifying the rules of the game in a Lisp like language, and then immediately being able to play the game against the Zillions engine. Using only look ahead and no game-specific knowledge, this engine was able to play at a strong level in most games one could dream of. However, it was incredibly lousy at Arimaa due to the high branching factor. This helped build my confidence that Arimaa would be a difficult game for computers if only a brute-force search was used. However, Don’s program, called OCCAM, surprised me in how well it played when the search engine was much faster and included some game knowledge. When Don realized that there was very little expert knowledge available for Arimaa, he felt that he could not make much progress on his program and went back to developing his chess engine which now has gone on to become the highest rated in the world.

=See also=
 * Arimaa
 * Cilkchess
 * Doch
 * Komodo
 * Razoring

=Forum Posts=
 * MTD is a big win by Don Dailey, CCC, July 19, 1999
 * Re: MTD is a big win by Don Dailey, CCC, July 20, 1999
 * Re: MTD is a big win by Don Dailey, CCC, July 20, 1999
 * Re: MTD is a big win by Don Dailey, CCC, July 20, 1999
 * Re: MTD is a big win by Don Dailey, CCC, July 21, 1999

=External Links=

Chess Engine

 * Finger Occam at Internet Chess Club

Misc

 * William of Ockham from Wikipedia
 * Occam's razor from Wikipedia
 * occam (programming language) from Wikipedia

=References= Up one Level