3

I just saw this MIT lecture on Game Trees and MinMax algorithms where Alpha Beta pruning and Progressive Deepening was discussed.
https://www.youtube.com/watch?v=STjW3eH0Cik

So If I understand correctly progressive deepening is when you try to approximate the answer at every level and try to go deep towards the leaf nodes depending on the time limit you have for your move. It's important to have some answer at any point of time. Now, at 36:22 Prof discusses the case when we don't have enough time and we went only till the (d-1) th level, where d is the depth of the tree. And then he also suggests we can have an temporary answer at every level as we go down as we should have some approximate answer at any point of time.

My question is how can we have any answer without going to the leaf nodes because it's only at the leaf nodes we can conclude who can win the game. Think this for tic-tac-toe game. At (d-1)th level we don't have enough information to decide if this series of moves till this node at (d-1) will win me or lose me the game. At higher levels say at (d-3) it's even more blur! Everything is possible as we go down. Isn't it? So, if an algorithm decides to compute till (d-1) th level then all those path options are equal! Nothing guarantees a win and nothing guarantees a lose at (d-1)th level because if I understand correctly wins and losses can be calculated only at the leaf nodes. This is so true especially in pure MinMax algorithm.

So how exactly are we going to have an 'approximate answer' at (d-1)th level or say (d-5)th level?

Saurabh Patil
  • 4,170
  • 4
  • 32
  • 33
  • 1
    I'm not sure this is what you are looking for, but there are many games for which we can calculate some sort of score (probability of winning) for any given position. I guess the best known example would be Chess, where you can calculate a score based on the values of pieces and some more complex things. You can also do that for Tic-Tac-Toe though. – Nelfeal Oct 08 '16 at 19:23
  • 1
    OP, I think you are misunderstanding the point of the insurance policy. Even at the dth level, you are not "concluding who can win the game" -- you are merely speculating the best possible move for you knowing what might happen if your opponent plays the best possible moves after you. When you go down that deep, time constraints become a huge issue. Instead of spitting out a random answer, you can pick the best move based on the values you computed at the previous depth. This way you can keep computing through and beyond level d should time permit. – arao6 Sep 28 '17 at 05:22

1 Answers1

4

I will try to explain that well.
Context and importants of progressive deepening
I need you to know that in the real-world game, the time that you will use to decide is limited! ( because user experience and other issue on human-computer interaction or about the problem/design in your game).
You have a game tree and to use difference algorithm to optimization that travel all tree. But there are three problems:

  • You have a time constraints!
  • You need to calculate the best solution in your current game tree and that's time of calculating depending the deep of tree!
  • you need to decide if go down in the tree to have a more precise answer without violate the time constraints.

The Answer of all problem is Progressive deepening: in current level you calculate the answer and try to pass the next level in the tree; but if you have not time you ready have a answer in the previous level and to get it out as answer
The answer your question
you can imagine the current level in your tree is "the final level" (you are supposing) in the game tree, but you will get a the best solution if you go to the next level in the tree, then if you can go to the next level: go now! but you need to calculate the optimal answer in the current game tree because it's "the final level" in the game tree as insurance policy if you don't finish the calcutation of the best answer in the next level by time constraint.

Jako
  • 2,489
  • 3
  • 28
  • 38