CS156
Chris Pollett
Sep 25, 2017
The minimax algorithm below computes the minimax decision from the current state. So we could use it to actually make an agent that could play a game.
Here `argmax_(a in s) f(a)` returns the element `a` of set `S` that has the maximum value of `f(a)`.
function MINIMAX-DECISION(state) return an action //it is assume is MAX's turn return argmax_(a in ACTION(state)) MIN-VALUE(RESULT(state, a)) function MAX-VALUE(state) return a utility value if (TERMINAL_TEST(state) == true) then return UTILITY(state, MAX) v := -infty for each a in ACTION(state) do v := MAX(v, MIN-VALUE(RESULT(state, a))) return v function MIN-VALUE(state) return a utility value if (TERMINAL_TEST(state) == true) then return UTILITY(state,MAX) v := infty for each a in ACTION(state) do v := MIN(v, MAX-VALUE(RESULT(state, a))) return v
Which of the following is true?