Negamax

Negamax

Negamax es una variante del algoritmo minimax donde cada nodo independientemente si fuese MIN o MAX toma el valor máximo de sus hijos (como si todos los nodo fueran MAX), solo que los valores de los nodos MAX se cambian de signo (de ahí su nombre, en vez de tomar máximos y mínimos toma siempre máximos pero con valores cambiados). De esta forma se logra el mismo efecto ya que tomar el mayor valor pero cambiado de signo es en realidad tomar el menor así cuando el algoritmo está en un nivel MIN cuando toma el mayor de sus hijos en realidad está tomando al menor.

La función Negamax podría recibir como parámetro un signo, de esta manera se podría comenzar por niveles MIN o niveles MAX, pero no necesariamente ya se puede establecer niveles estáticos, donde cada nivel está definido por un signo distinto.

Hablando del Minimax: Suponiendo que existe min() que devuelve el menor y max() que devuelve el mayor, Negamax se basa en la siguiente igualdad matemática:

  • max(x, y)=-min(-x,-y)

A este algoritmo también se le pueden aplicar podas y heurísticas para acortar su tiempo de ejecución, además existe una mejora de este algoritmo llamado negascout.

Algoritmo Pseudocódigo

   int NegaMax(estado) {
      if(estado_final(estado)) {
           return evaluacion_heurística(estado);
       }
       max=-infinito;
       while exist movimiento_posible(estado) {
           val=-NegaMax(mover(mov, estado));
           if (val>max) {
               max=val;
           }
       }
       return(max);
   }

Donde estado_final() verifica si se llegó a un estado de corte de recursión, evaluacion_heurística() devuelve el valor heurístico del nodo, movimiento_posible() es un movimiento dentro del sub-árbol de todos los movimientos posibles, mover() efectúa el movimiento para luego hacer un Backtracking.

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • Negamax — search is a slightly variant formulation of minimax search that relies on the zero sum property of a two player game. An animated pedagogical example showing the plain negamax algorithm (that is, without alpha beta pruning). The person performing …   Wikipedia

  • Alpha-Beta-Suche — Die Alpha Beta Suche, auch Alpha Beta Cut oder Alpha Beta Pruning genannt, ist eine optimierte Variante des Minimax Suchverfahrens, also eines Algorithmus zur Bestimmung eines optimalen Zuges bei Spielen mit zwei gegnerischen Parteien. Während… …   Deutsch Wikipedia

  • Algorithme MinMax — L algorithme MinMax est un algorithme qui s applique à la théorie des jeux pour les jeux à deux joueurs à somme nulle. Pour une vaste famille de jeux, le théorème du minimax de von Neumann assure l existence d un tel algorithme, même si dans la… …   Wikipédia en Français

  • Minimax — Algorithme MinMax L algorithme MinMax est un algorithme qui s applique à la théorie des jeux pour les jeux à deux joueurs à somme nulle. Pour une vaste famille de jeux, le théorème du minimax de von Neumann assure l existence d un tel algorithme …   Wikipédia en Français

  • Algorithme minimax — L algorithme minimax est un algorithme qui s applique à la théorie des jeux pour les jeux à deux joueurs à somme nulle. Pour une vaste famille de jeux, le théorème du minimax de von Neumann assure l existence d un tel algorithme, même si dans la… …   Wikipédia en Français

  • Elagage alpha-beta — Élagage alpha beta Élagage alpha beta L élagage alpha beta est une technique permettant de réduire le nombre de nœuds évalués par l algorithme MinMax. L algorithme MinMax effectue en effet une exploration complète de l arbre de recherche jusqu à… …   Wikipédia en Français

  • Minimax — This article is about the decision theory concept. For other uses, see Minimax (disambiguation). Minimax (sometimes minmax) is a decision rule used in decision theory, game theory, statistics and philosophy for minimizing the possible loss for a… …   Wikipedia

  • Minimax-Algorithmus — Der Minimax Algorithmus ist ein Algorithmus zur Ermittlung der optimalen Spielstrategie für bestimmte Spiele, bei denen zwei gegnerische Spieler abwechselnd Züge ausführen (z. B. Schach, Go, Reversi, Dame, Mühle oder Vier gewinnt),… …   Deutsch Wikipedia

  • Minimaxalgorithmus — Der Minimax Algorithmus ist ein Algorithmus zur Ermittlung der optimalen Spielstrategie für bestimmte Spiele, bei denen zwei gegnerische Spieler abwechselnd Züge ausführen (z. B. Schach, Go, Reversi, Dame, Mühle oder Vier gewinnt), insbesondere… …   Deutsch Wikipedia

  • Minmax-Algorithmus — Der Minimax Algorithmus ist ein Algorithmus zur Ermittlung der optimalen Spielstrategie für bestimmte Spiele, bei denen zwei gegnerische Spieler abwechselnd Züge ausführen (z. B. Schach, Go, Reversi, Dame, Mühle oder Vier gewinnt), insbesondere… …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”