1
\$\begingroup\$

I've watched a new videos about the MiniMax concept and invariably the lecturer will say that the computer has 2 parties, Min and Max; Min always takes lower number and Max takes higher number.

The problem I have is this.

I'm finding it hard to understand why Min takes the lower number at all or why Max takes the higher number at all?

What is the reasoning and context for these numbers?

I mean, logically I know that 7 is higher than 3; but that doesn't mean anything by itself.

What is the context of the numbers?

Many thanks

\$\endgroup\$

2 Answers 2

1
\$\begingroup\$

You can think of the numbers as "relative advantage to the Max player"

Max wants to maximize their advantage relative to Min.

Min wants to maximize their advantage relative to Max, which is equivalent to minimizing Max's advantage over them.

Relative advantage could be computed as something like a score gap (if Max has 2 points to Min's 3, that means Max is behind by 1 point, which we could call a relative "advantage" of -1).

Often this is used in games that don't score-as-they-go, so the advantage number used is an estimate of how favourable the current game state is to Max winning. For instance in chess, if Max has Min in check, that's generally a pretty advantageous state (since Max can strongly limit Min's options), even if Max has fewer pieces on board.

In many minimax implementations, the advantage numbers don't have a concrete meaning - they're not scores or win probabilities, but heuristics which empirically tend to align well with good moves.

\$\endgroup\$
1
  • \$\begingroup\$ Ok, I think I understand it \$\endgroup\$
    – Atilla Jax
    Commented May 8, 2015 at 13:41
1
\$\begingroup\$

Keep in mind that this algorithm is for zero-sum games, where the game state is known by all parties involved.

The numbers given are those calculated by an evaluation function ran on the game state after x number of turns; for instance, in Tic Tac Toe, after a certain amount of turns, you know whether you won (+infinity), your opponent won (-infinity) or it's a draw (0), or if to win a game you count points, the number of points for you (positive) and for your opponent (negative).

These numbers are given to leaf nodes of the game state tree (each row of the tree represent a possible move by a player). When running the minmax algorithm, the numbers are copied over the node closer to the root. If we're filling the row of the parent nodes of the leaf nodes, and the leaf nodes represent a move by the player we transfer the MAXIMUM value because the player want's to maximize its score. Then the next row is the opponent's evaluation, since he'll take the best option for him, he'll take the worst for us (he'll try to MINIMIZE our gain).

This is done in turn until the root node is reached, where the best move for now is known, and played.

So the Min and the Max are used for player/opponent, turn by turn. The Max advantages the player, while the Min tries to reduce the opponent's score.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .