function MAX-VALUE(state)
if TERMINAL-TEST(state) then return UTILITY(state)
v ← -∞
for a in ACTIONS(state) do
v ← MAX(v, MIN-VALUE(Result(state,a)))
return v
function MIN-VALUE(state)
if TERMINAL-TEST(state) then return UTILITY(state)
v ← +∞
for a in ACTIONS(state) do
v ← MIN(v, MAX-VALUE(Result(state,a)))
return v