6 votos

Si allí isn ' t actualmente un algoritmo de trabajo para resolver un problema de ajedrez y ganar el juego, ¿cómo funcionan juegos de ajedrez de computadora de usuario vs?

Estaba viendo un vídeo sobre complejidad computacional y la profesora mencionó que "nosotros no corriente tiene un algoritmo que nos permiten ganar una partida de ajedrez".

Si, estoy interesado en saber ¿cómo funcionan los simuladores/juegos de ajedrez de las cuales el usuario juega contra el ordenador? ¿El equipo decide en un enfoque estratégico que finalmente luego es elegido al azar?

2voto

NovaDenizen Puntos 2578

Cualquier juego basado en turnos, como en el ajedrez puede ser visto como un árbol, donde el nodo raíz es la posición de partida, cada movimiento posible para el primer jugador es un arco que va desde la raíz a otro nodo, entonces todos los arcos de los nodos de la segunda capa de las posiciones en la tercera capa son los pasos iniciales para el segundo jugador, y así sucesivamente. Los nodos hoja en la parte inferior del árbol ganando o perdiendo posiciones para uno de los jugadores.

Para resolver el juego, usted trabaja en el árbol de abajo hacia arriba. Mira los nodos en el siguiente a la última capa. El jugador cuyo turno se está, naturalmente, elegir el resultado mejor para ellos, si está disponible. La etiqueta de cada nodo nodo con el valor del nodo hijo que es más favorable para el jugador actual. A continuación, vaya a una capa y hacerlo de nuevo para que el otro jugador. Esta técnica se llama un minimax de búsqueda. Finalmente se descubre que el primer jugador tiene un movimiento que garantiza una victoria, o el segundo jugador se le garantiza una victoria, no importa que se mueven en el primer jugador elige.

El listado de juegos para el ajedrez es demasiado grande para prácticamente hacer esto desde el inicio, por lo que el juego árbol es sólo parcialmente calculado. En lugar de los conocidos win/loss estados, los nodos en la parte inferior del árbol son etiquetados con un valor heurístico (¿cuántas piezas tiene cada jugador todavía tiene, ¿cuántas piezas están bajo ataque, que controla el centro de las plazas, de cómo restringido es su rey, etc) que estima la ventaja de un jugador o la otra sostiene a partir de ese punto. Entonces usted minimax su camino hacia arriba desde la parte inferior para encontrar el movimiento que te deja en la mejor posición disponible. Cada nodo se etiqueta con un valor heurístico en lugar de una ganancia/pérdida booleano. en la final, el actual jugador debe hacer el movimiento con el mejor valor heurístico para ellos.

0voto

tampis Puntos 3553

Con un programa de ordenador puede hacer lo siguiente:

  • El programa puede ir a través de todos los movimientos posibles, todas las posibles reacciones de los humanos, de todos los posibles contra-reacciones y así sucesivamente... Ahora cada posible movimiento que puede ser anotado por una heurística. El programa puede hacer el movimiento con el mejor resultado esperado...
  • El programa puede buscar en una base de datos de todos los registrados juegos de ajedrez en el pasado, si la situación actual es similar a una situación en un juego antiguo. El programa puede hacer un movimiento que conduce a un triunfo el juego antiguo.

Estos son sólo dos algoritmos básicos el programa de ajedrez podría utilizar. El primero es el algoritmo básico de todos (la mayoría) de los programas de ajedrez uso. Vea también de este artículo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X