I wrote a Chinese Chess freeware in 2005 (ten years) ago (as the bachelor final year project). The project was initially written and compiled under Delphi 7. Later I moved the code to Delphi 2007. Today, I have modified the codebase to be able to compile this baby under Delphi XE8.
Delphi XE8 is unicode, and supports the Parallel Library (e.g. Parallel.For, Parallel.ForEach) so you will be experiencing performance gains in this case, a higher intelligence.
For those who do not know how to play Chinese chess, here is the introduction from wiki
and here is the quick-how-to: https://rot47.net/91
zhihui-chess
02-November-2015 Download: 3.0.0.500
Changes: Log
Iterative Deepening
In AI (Artificial Intelligence), the idea of Iterative Deepening is often used in the chess-game-playing. It has the concept as follows:
while (still_has_time) {
search_depth ++ ; // increase the search depts;
best_move = do_search(search_depth);
}
apply_best_move(best_move);
This may seem odd at first: why waste time doing searches for depth = 4 if we have time to do depth = 6 ? The answer is that modern search algorithms (Alpha-beta) benefit from Hash table so that the previous searches will store the values that can be used in the future searches so that it actually speeds up the searches. For example, it may be faster if doing search with depth 4 + 6 than doing search 6 directly.
In game playing, the Iterative Deepening does not limit the computer for its ‘intelligence’ by design. That means, as the hardware becomes faster and faster, within the same amount of time period, the AI can actually do more searches, which yields a higher intelligence (no upper bound)!
The computer will keep thinking if there is time!
Update @ 7/Nov/2015 – version 3.0.0.501
64-bit application is built and bundled into the setup. So you will notice that an extra icon (64-bit) will be added to the desktop icon. You will possibly benefit for performance gains. The 64-bit enjoys ‘unlimited’ RAM. The 32-bit chess AI can only use up to 3.5GB RAM under LAA mode.
The future updates include parallel alphabeta pruning algorithms and using the latest compilers (Delphi 101 Berlin) to compile both 32-bit and 64-bit chess program.
–EOF (The Ultimate Computing & Technology Blog) —
Last Post: ConEmu - Better Windows Command Line Shell
Next Post: CloudFlare Blocks Suspicious URL