Looking at the details given..
With a static game-tree branching factor of 30, 7 ply is equivilent to 30^7 = 21,870,000,000 naive min-max (*) nodes.
A worst-case alpha-beta move ordering implementation is equivilent to a min-max search and would visit ALL of those nodes.
A best-case alpha-beta implementation will visit 30^3.5 nodes, which is only 147,885 nodes. The best case is an ideal that you will never achieve in practice, but you can come much closer to the best-case than the worst-case with good move ordering heuristics (killer moves) and transposition tables (cutoff moves)
---
We cannot determine the culling efficiency of your alpha/beta unless you give us some raw information:
How many nodes is your alphabeta() visiting?
Given the same position and search depth, how many nodes does a minmax() visit?
This will also tell us your nodes/second rate. Anywhere from 100,000 to 10,000,000 per second, depending on the game complexity, should be approaching acceptable. It is here where most chess engines focus development complexity, using data structures which accelerate move generation and position update efficiency. Most modern chess engines examine ~1,000,000 nodes per second on typical mid-range hardware.
---
(*) The absolute worst case. No game-tree culling of any kind.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement