トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

Thell

THELL - Revised of "The Algorithm of Reversi"

What's new

Thell 3.0.1 is now available.

Thell 3.0 design goals

  • SIGNIFICANT IMPROVEMENT in search speed, evaluation speed, and the evaluation function
  • object-oriented design
  • very sophisticated game tree search
  • pattern-based statistical evaluation function
  • support for BearRev

AI routine "SPOT"

 Board implementation

  • normal board representation by 10*10 square 2-dimension array (including sentinels)
  • record the changed disc on moving, and restore them when performing undo

 Searching

  • PVS or MTD(f) for seaching game tree
  • very sophisticated move ordering
  • extremely fast transposition table

 Generics

The core class of SPOT module is a class named "Board". It represents the board, and provides many useful and fast operations like "move", or "undo". Board class is designed to be size-independent, so we can create both 8*8 board and 10*10 board from the same source code.But unfortunately, current implementation of the evaluation function is not size-independent, because I think that the strategy for evaluation is game-specific.

 Evaluation function features

  • approximation of current mobility
  • approximation of potential mobility
  • approximation of parity
  • patterns
    • horizontal 2-4
    • vertical 2-4
    • diag5-8
    • edge+2X
    • triangle

As you see, SPOT does not consider the pattern "2x5 corner" introduced in LOGISTELLO. This is because I think that corners are classified by "edge+2X", "diag8", and "triangle", so adding "2x5 corner" into the pattern set causes overemphasizing the value of the corner.