Hacker News new | ask | show | jobs
by pingyong 2381 days ago
You do have to cull the others, but the culling isn't what is costly. What is costly is the exponential nature of searching the tree, i.e. if you want to evaluate 3 of your moves in advance, with 50 moves being available every time, you have to generate 50^6 moves, which is pretty fast on a modern CPU, but for 4 moves it's 50^8 which is definitely not that fast anymore. So at some point you have to sacrifice breadth for depth drastically, and as soon as you do that pretty much the only thing that matters is how well you can evaluate positions as they are (without searching further down the tree). Even if you didn't cull searches, at some point you have to stop searching and fundamentally decide what the best move is. If this evaluation isn't good, all your searching didn't do anything.

This is, from my understanding, also the reason why traditional AI approaches struggled so much with Go. Not because Go has so many possible moves, but because given a certain game state it is so difficult to evaluate which player is ahead.