Suppose that the computer is playing a game against an opponent (which may be a computer or a human player), and it is the computer’s turn to make a move now. The computer runs the MINIMAX algorithm to figure out the utility of the current game state and to figure out the best move to make. Suppose that the search tree is finite and that the computer is the MAX player. The MINIMAX algorithm returns that the utility of the current board state is 5. When the game finally ends by reaching a terminal game state, what is the range of possible utility values for that game state? Assume that the computer keeps using the MINIMAX algorithm to decide all its moves, but do NOT assume anything about the opponent's strategy, or about the set of possible utility values used for terminal nodes in this game. (You can assume, however, that the opponent will always make legal moves in finite time, and that the opponent will not quit the game before it is over.) A range of possible utility values should be indicated as one of the following options: (-inf, +inf)
Suppose that the computer is playing a game against an opponent (which may be a computer or a human player), and it is the computer’s turn to make a move now. The computer runs the MINIMAX
When the game finally ends by reaching a terminal game state, what is the range of possible utility values for that game state? Assume that the computer keeps using the MINIMAX algorithm to decide all its moves, but do NOT assume anything about the opponent's strategy, or about the set of possible utility values used for terminal nodes in this game. (You can assume, however, that the opponent will always make legal moves in finite time, and that the opponent will not quit the game before it is over.)
A range of possible utility values should be indicated as one of the following options:
(-inf, +inf)
[lower_bound, +inf)
(-inf, upper_bound]
[lower_bound, upper_bound]
If your answer includes a lower bound or an upper bound, you should specify the exact numerical value of that lower bound or upper bound. Your answer should be as specific as possible (utility values will always be in the (-inf, +inf) range, but (-inf, +inf) may not always be the most specific answer).
In mathematics, particularly in order theory, an upper bound or majorant of a subset S of some preordered set (K, ≤) is an element of K that is greater than or equal to every element of S. Dually, a lower bound or minorant of S is defined to be an element of K that is less than or equal to every element of S. A set with an upper (respectively, lower) bound is said to be bounded from above or majorized (respectively bounded from below or minorized) by that bound. The terms bounded above (bounded below) are also used in the mathematical literature for sets that have upper (respectively lower) bounds.
The Lower and Upper Bound Theory provides a way to find the lowest complexity algorithm to solve a problem. Before understanding the theory, first, let’s have a brief look at what actually Lower and Upper bounds are.
- Lower Bound –
Let L(n) be the running time of an algorithm A(say), then g(n) is the Lower Bound of A if there exist two constants C and N such that L(n) >= C*g(n) for n > N. Lower bound of an algorithm is shown by the asymptotic notation called Big Omega (or just Omega). - Upper Bound –
Let U(n) be the running time of an algorithm A(say), then g(n) is the Upper Bound of A if there exist two constants C and N such that U(n) <= C*g(n) for n > N. Upper bound of an algorithm is shown by the asymptotic notation called Big Oh(O) (or just Oh).
The definitions can be generalized to functions and even to sets of functions.
Given a function f with domain D and a preordered set (K, ≤) as codomain, an element y of K is an upper bound of f if y ≥ f(x) for each x in D. The upper bound is called sharp if equality holds for at least one value of x. It indicates that the constraint is optimal, and thus cannot be further reduced without invalidating the inequality.
Similarly, a function g defined on domain D and having the same codomain (K, ≤) is an upper bound of f, if g(x) ≥ f(x) for each x in D. The function g is further said to be an upper bound of a set of functions, if it is an upper bound of each function in that set.
The notion of lower bound for (sets of) functions is defined analogously, by replacing ≥ with ≤.
1. Lower Bound Theory:
According to the lower bound theory, for a lower bound L(n) of an algorithm, it is not possible to have any other algorithm (for a common problem) whose time complexity is less than L(n) for random input. Also, every algorithm must take at least L(n) time in the worst case. Note that L(n) here is the minimum of all the possible algorithms, of maximum complexity.
The Lower Bound is very important for any algorithm. Once we calculated it, then we can compare it with the actual complexity of the algorithm and if their order is the same then we can declare our algorithm as optimal. So in this section, we will be discussing techniques for finding the lower bound of an algorithm.
2. Upper Bound Theory:
According to the upper bound theory, for an upper bound U(n) of an algorithm, we can always solve the problem at most U(n) time. Time taken by a known algorithm to solve a problem with worse case input gives us the upper bound.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps