Ajedrez Activo

Comparte
Ver el tema anteriorIr abajoVer el tema siguiente
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 20:37
Houdini 4, escrito por Robert Houdart. Estándar (hasta seis núcleos de CPU, $79.95 dólares y el Pro (hasta 32 núcleos de CPU, $99.95 dólares) versiones con Fritz interfaces gráficas de usuario disponibles. También disponible directamente desde el sitio web de Houdini por aproximadamente $ 52 (estándar) o $ 78 (Pro) a partir del 11/09/14.

Komodo 7a , escrito por Don Dailey, Larry Kaufman y Mark Lefler. Disponible directamente desde el sitio web de Komodo por $ 39.95.

Komodo 8, escrito por Don Dailey, Larry Kaufman y Mark Lefler. Disponible con Fritz GUI [Interfase, del inglés "Game User Interfase" N.T.] ($97 dólares) o directamente desde el sitio web de Komodo sin interfaz gráfica de usuario por $59.96.

Stockfish 5, escrito por el Colectivo Stockfish. De código abierto y está disponible sin costo en el sitio web de Stockfish .

Cada vez estoy más convencido de que un jugador de ajedrez serio debe hacer uso de la tecnología de ajedrez para aprovechar plenamente sus capacidades. Esto, como ya he comentado anteriormente, consiste en tres elementos: la interfaz gráfica de usuario, los datos y el motor.

ChessBase 12 es el estándar de oro para la GUI de ajedrez, y estaré revisando un nuevo libro sobre el uso adecuado de ese GUI en un futuro próximo.

Aquí, sin embargo, quiero abordar el difícil tema de la elección de un motor de ajedrez. ¿Qué motor es "mejor" para el jugador práctico para utilizar en sus estudios?

Puse "mejor" entrecomillado porque hay dos maneras de ver esta cuestión. (1) No hay duda en este punto de que los mejores motores de ajedrez de los últimos cinco años pueden superar al 99,9% de los jugadores humanos en el hardware moderno. Así que una manera en que los motores se prueban ahora está en una serie de batallas de motor vs. motor.

Mientras que muchas personas procesan partidas privados, hay tres principales listas de rating públicas: IPON, CCRL y CEGT .

Aquí hay algo de consenso. Houdini, Stockfish y Komodo son los tres principales motores en este momento, con muy poca diferenciación entre ellos, y con un orden que varía debido al control de tiempo y otros criterios. Las tres listas mencionadas anteriormente han probado Komodo 8.


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 20:39
Es en primer lugar en la lista IPON , líder Stockfish 5 por 6 puntos elo y Houdini 4 por 17.

Komodo 8 aparece en dos de las listas CCRL . En las partidas disputadas a un ritmo de 40 movimientos en 4 minutos ( 40/4 ), Stockfish 5 lidera sobre Komodo 8 por 7 puntos elo y sobre Houdini 4 por 30 puntos elo. En las partidas disputadas en el ritmo más lento de 40 jugadas en 40 minutos ( 40/40 ), Komodo 8 tiene una ventaja de 22 puntos elo sobre Stockfish 5 y una ventaja de 39 puntos sobre Houdini.

Entre las muchas listas CEGT , nos encontramos con:
(a) Stockfish 5 es el primero en la lista de 40/4 , seguido por Komodo 8 y Houdini 4;
(B) Houdini 4 lleva el 5 '+ 3 lista " , seguido de Stockfish 5 y Komodo 8;
(C) Komodo 8 lidera la lista de 40/20 seguido por Stockfish 5 y Houdini 4; pero
(d) la lista de 40/120 aún no se ha actualizado para incluir Komodo 8.

Nota: Larry Kaufman recoge los resultados de estas listas y en una charla en Talkchess .
Argumenta (a) que Komodo 8 lo hace mejor en los controles de tiempo más largos, y que (b) Komodo 8 es más o menos igual en fuerza a las versiones de desarrollo Stockfish , que son ligeramente más fuertes que el oficialmente lanzado Stockfish 5.

Desde mi punto de vista, sin embargo, la fuerza analítica es más importante. Si todos los motores son lo suficientemente fuertes para ganarme, creo que la calidad de su análisis - la 'humanidad', por falta de una palabra mejor - es crítica.

Solía ​​ser el caso que los seres humanos podían engañar a los motores con cadenas de peones bloqueados, por ejemplo, o que los motores no podían entender la compensación a largo plazo para los sacrificios de calidad.

Tales fallas en gran medida se han superado ya y los motores y el hardware han mejorado; sin embargo, persisten ciertas aperturas y tipos de posiciones que son más problemáticas para nuestros amigos de metal. Michael Ayton ofrece una de estos lugares en los foros ChessPub ; si usted quiere reir un poco, eche un vistazo a las mejores líneas de juego que se ofrecen para los motores revisados ​​aquí:


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 20:43



Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 20:48
Entre los múltiples motores disponibles, tres son los que están por encima en la refriega. Estos son Houdini por Robert Houdart, Komodo por el fallecido Don Dailey, Larry Kaufman y Mark Lefler, y Stockfish.

Houdini y Komodo son los motores comerciales, mientras Stockfish es de código abierto y mantenido por decenas de contribuyentes

¿Cómo podemos entender las diferencias entre los motores?
Vamos a considerar dos componentes fundamentales de análisis de ajedrez: búsqueda y evaluación.

Búsqueda es la forma en que 'cosecha' el motor del árbol de análisis; porque cada "ply" (1/2 movimiento o jugada de Blanco o Negro) crece la lista de posibles movimientos de manera exponencial, los motores modernos tienen que recortar drásticamente lista para obtener mayor profundidad de búsqueda.

Evaluación es el conjunto de criterios utilizados por el motor para descifrar o calificar cada posición encontrada durante la búsqueda.

En un sentido muy general, lo que diferencia a Houdini, Komodo y Stockfish son sus funciones de búsqueda y evaluación.

¿Cómo son diferentes a nivel técnico/programación? no puedo decir: Houdini y Komodo son de código cerrado y no puedo descifrar código en cualquier caso.
Lo que puedo hacer, sin embargo, es citar lo que algunos expertos en la materia han dicho, y luego ver si es coherente con mi experiencia de los tres motores.


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 20:53
Larry Kaufman, que trabaja en Komodo, dijo en una entrevista en el blog de Quality Chess que:

Komodo es el mejor en la evaluación de las posiciones del medio juego con precisión una vez que se resuelve lo táctico. Stockfish parece ser mejor en el final y en ver tácticas muy profundas. Houdini es el mejor en blitz y en ver las tácticas rápidamente. Rybka es obsoleto; Me gusta pensar de Komodo como su decendiente espiritual, ya que he trabajado en la evaluación para ambos, aunque el resto de los motores no son similares. Fritz ya está demasiado lejos y por debajo de estos motores superiores como para ser útil.

... La Evaluación de Komodo de posiciones es su punto fuerte en relación con los otros dos mejores, Houdini es mejor para táctica, Stockfish para los finales y cuando se requiere gran profundidad.
Tanto Houdini como Stockfish sobrevaloran la dama, Komodo tiene el mejor sentido de los valores relativos de pieza, creo.
Komodo es también mejor para jugar la apertura cuando se está fuera del libro muy temprano.


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fer7777


Mensajes Mensajes : 1209

Inscripción Inscripción : 13/05/2016

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 20:55
La verdad es que cada vez nos fijamos mas en los módulos y sirven para aprender, creo que en unos años se va a producir una revolución (a nivel ajedrecistico), mejor dicho, ya se está produciendo, hoy en día cualquiera puede acceder a bases de datos completísimas, vídeos, paginas especializadas, jugar en cualquier lugar y momento.. etc, en cuanto a ¿cual es el mejor ahora mismo? para mi sin duda Stockfihs, lo tiene todo, bueno, bonito y barato.

:purete3: :purete3:
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 21:00
Stockfish es, como sugiere Kaufman, muy agresivo en la forma en que poda el árbol de análisis, buscando muy profundamente pero sin ensancharse mientras avanzan las medias jugadas.

la forma en que Stockfish 'rasura' [Stockfish escoge solo algunos "plyes" o 'medias jugadas' promisorias del árbol de variantes, en base a un método elaborado por sus programadores. N.T.] la búsqueda significa que la profundidad informada no puede ser directamente comparable a la de Houdini o la de Komodo.
Aún así, parece buscar más profundamente, si por poco, que lo que hacen sus competidores.
Esto tiene ventajas en el final del juego y en algunas posiciones tácticas.


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 21:03
[Tienes que estar registrado y conectado para ver este vínculo] escribió:La verdad es que cada vez nos fijamos mas en los módulos y sirven para aprender, creo que en unos años se va a producir una revolución (a nivel ajedrecistico), mejor dicho, ya se está produciendo, hoy en día cualquiera puede acceder a bases de datos completísimas, vídeos, paginas especializadas, jugar en cualquier lugar y momento.. etc, en cuanto a ¿cual es el mejor ahora mismo? para mi sin duda Stockfihs, lo tiene todo, bueno, bonito y barato.

:purete3:  :purete3:

A mi personalmente stock y sus clones son los que mas me gustan también.
Pero por suerte tenemos a komodo y houdini y a muchos otros. :bueno:


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 21:05
Houdini es un monstruo táctico. Tiende a hacerlo mejor en los diferentes grupos de partidas de prueba con posiciones tácticas que algunos expertos en motores han armado en conjunto, y es bastante rápido para ver esas tácticas, por lo que es útil para un análisis rápido de la mayoría de las posiciones.
Sus evaluaciones numéricas también difieren de otros motores en que se calibran con los resultados específicos previstos.

Una ventaja +1.00 peón da un 80% de posibilidades de ganar el juego contra un oponente igual con un control de tiempo de blitz. En 2.00 el motor va a ganar 95% del tiempo, y en 3,00 aproximadamente el 99% del tiempo. Si la ventaja es 0,50, espera ganar casi el 50% del tiempo.


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 21:08
Kaufman sostiene que su motor, Komodo, es posicionalmente el más preciso de los tres, y no estoy en desacuerdo. Kaufman está involucrado en la puesta a punto de la función de evaluación de Komodo; ya que es un gran maestro, no parece exagerado pensar que el juego posicional de su motor podría beneficiarse de su experiencia de ajedrez. El motor es un poco "lento" (anecdóticamente, y no a juzgar por NPS, o nodos por segundo, y epor evaluación de medios movimientos) que lo que son Stockfish y Houdini, pero Komodo parece beneficiarse más si hay mayor tiempo de análisis que como lo hacen Houdini o Stockfish.

He estado usando Komodo 8 en la GUI Fritz de ChessBase de unos días a esta fecha. La interfaz gráfica de usuario es la misma que el Houdini 4 y los Deep Fritz 14 GUI; de hecho, al instalar Komodo 8, creo que sólo añade algunos archivos de configuración en la carpeta ChessProgram14 para permitir un estilo visual (skin) Komodo. El motor de Komodo 8 es ligeramente más rápido que la versión 7a juzgando únicamente por NPS.


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 21:10
Desde mi perspectiva, yo tiendo a usar los tres motores para estudiar ajedrez o comprobar análisis con fines de revisión, pero dos más que el tercero.

Cuando miro mis partidas, que no son tan complejas, generalmente uso Houdini como mi consejero por default. Parece ser el más rápido en ver los problemas tácticos básicos, y su rapidez es una ventaja con algunas de mis compus anticuadas.
También tiendo a traer a Komodo en la mezcla, sobre todo si quiero pasar algún tiempo tratando de averiguar una posición. Stockfish sirve más como una segunda (o tercera) opción, pero voy a utilizarlo en mayor medida en las posiciones de finales - a menos que entremos en "territorio tablebase" (tablas de finales Nalimov), puesto que Stockfish no las utiliza (generalmente).


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
pacman009


Mensajes Mensajes : 1345

Inscripción Inscripción : 11/08/2013

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 21:59
A veces los motores tan fuertes " no ven" solución a problemas, que otros motores débiles si encuentran...

Ver el poderoso komodo 11.2, houdini, que no encuentra nada y un motor débil si lo ve, (Vitruvius, DisasterArea-1.54, Shredder...) algo que no puedo comprender...
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 23:14
¿Cómo funciona un programa (engine) de ajedrez?

Desde hace un tiempo estoy interesando en el mundo de los engines de ajedrez, y aunque en gran parte me sirva para aclararme, creo que puede ser un tema interesante.

Básicamente un engine de ajedrez necesita tres componentes esenciales:  

Un generador de movimientos

Una función de evaluación

Una función de búsqueda


El generador de movimientos se encarga de crear una lista de los movimientos posibles en un posición determinada, así como de chequear la legalidad de los mismos.
Esta es una de las partes más difíciles, ya que es muy “bug prone”.
El generador de movimientos debe ser capaz también de deshacer movimientos, por razones que veremos más adelante.

La función de evaluación (que se suele denominar “estática”, ya que evalúa factores puramente estáticos tales como el material, la estructura de peones, la seguridad del rey, etc. pero no se para a mirar si, por ejemplo, en el siguiente movimiento vamos a perder la dama: de eso se encarga la función de búsqueda, como se explica más adelante) tiene la finalidad de asignar una valoración a una posición dada.
La implementación más sencilla sería la puramente material: contar el material que hay por cada bando en el tablero.

La evaluación se suele dar tomando el valor de un peón como 100, y el resto de las piezas en función de esta. Así, valores típicos para las piezas serían de 100 para los peones, 300 para caballos y alfiles, 500 para las torres y 900 para las damas.

Sin embargo, una evaluación basada solamente en el material daría lugar a un engine muy débil.

Por ejemplo, valoraría como igualada una posición con equilibro material, aunque uno de los bandos tuviera todas sus piezas desarrolladas y el otro las mantuviera en sus casillas iniciales.

Además mientras no viera una ganancia de material, todos los movimientos le parecerían equivalentes, dando lugar a un juego cuasialeatorio.

Una mejora realmente sencilla y muy eficiente son las piece square tables (pst). Se trata de asignar una puntuación extra a cada pieza dependiendo del tipo de pieza en cuestión y de su posición en el tablero. Por ejemplo, una pst para los caballos blancos podría ser la siguiente;

int knight_pst[64] = {
-10, -10, -10, -10, -10, -10, -10, -10,
-10,   0,   0,   0,   0,   0,   0, -10,
-10,   0,   5,   5,   5,   5,   0, -10,
-10,   0,   5,  10,  10,   5,   0, -10,
-10,   0,   5,  10,  10,   5,   0, -10,
-10,   0,   5,   5,   5,   5,   0, -10,
-10,   0,   0,   0,   0,   0,   0, -10,
-10, -30, -10, -10, -10, -10, -30, -10
};


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 23:24
El primer elemento del array es la casilla a8, y el último la h1.

Cuando la función de evaluación escanee el tablero en una posición determinada, al encontrarse con un caballo blanco en la casilla n-sima, le dará un bonus (o malus) que será el valor n-simo (en puridad “n-simo menos uno”) del array knight_pcsq.

Podemos ver que con esta pst para los caballos, como norma general se penaliza que se sitúen en los bordes del tablero y se incentiva que estén en el centro del mismo.
Con algunas pst más para el resto de piezas (añadido a la evaluación material) el juego del engine pasa a ser con mucho más sentido a un coste muy bajo.

Por convenio se suele tener que la función de evaluación da valores positivos cuando la ventaja es de las blancas y negativos cuando la ventaja es de las negras.

La verdad es que por lo dicho hasta ahora nada diferencia cómo juega un programa de ajedrez de cómo lo hace un humano. Básicamente hemos dicho que debe saber las reglas (generador de movimientos) y que tenga ciertos conocimientos para evaluar si una posición es mejor que otra (función de evaluación).
Pero a partir de aquí, ¿cómo usa estas herramientas un engine de ajedrez? Una vez que sabemos mover las piezas y evaluar la posición, el paso siguiente es buscar el mejor movimiento de todos los posibles.

Para seguir con esto debemos introducir al menos un término para no inducir a errores, el ply de profundidad.
Cuando se habla de ajedrez, se suele entender que “un movimiento” equivale a que el bando blanco y el negro han movido.
Sin embargo, en el mundo de los engines de ajedrez, la unidad fundamental de movimientos es el “ply”, que es simplemente un movimiento hecho por cualquiera de los bandos.
Así, para calcular nuestro movimiento y la respuesta del rival, estamos analizando con una profundidad de 2 plies.

O si un engine dice que ha analizado con una profundidad de 14 plies, se puede “traducir” como que ha profundizado a 7 movimientos.

Una vez dicho esto, supongamos que un engine quiere decidir cuál es el mejor movimiento disponible a una profundidad de 3 plies (es decir, movemos nosotros, mueve el contrario, y respondemos).

El árbol de variantes (el esquema de todos los posibles movimientos hasta una determinada profundidad) tendría un aspecto similar a este:


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 23:26



Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 23:31



Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 23:33
Por supuesto, un árbol de variantes de una posición cualquiera es mucho más profuso, pero por razones prácticas se ha reducido drásticamente.
El número “23”, abajo a la izquierda, debajo de la celda en la que pone “e4”,
significa:


“Si en la posición actual yo muevo d4 y el contrario mueve d6 y yo respondo e4, entonces la valoración de la posición es de 23 (centésimas de peón, es decir, ligeramente favorable al blanco)”.

Y así con el resto.
Un dato importante: la función de evaluación sólo se aplica a las posiciones últimas, las que se encuentran en la última fila (llamados leaf nodes).

Vale, supongamos entonces que hemos creado el árbol de variantes hasta la profundidad deseada y que tenemos las puntuaciones de todas (to das) las posiciones resultantes.
Lo primero que se nos puede ocurrir es algo como “bueno, cojamos el movimiento que mayor puntuación da a nuestro bando y ya está, es decir, 35, tras jugar d5 en el ply 3”. Para que se dé esa posición, nosotros debemos mover primero d4, entonces el negro debe mover Cc6, y vualá, hacemos d5 y a seguir jugando. Pero estamos obviando algo: el negro no tiene ninguna obligación de responder Cc6 a nuestro d4. De hecho, lo que tratará de hacer el negro tras cada movimiento nuestro, es precisamente elegir el movimiento que menos le perjudique (o más le beneficie). Es decir, si nosotros movemos d4, precisamente el negro evitará mover Cc6, porque él es tan buen jugador como nosotros, y verá que tras d4, Cc6, d5 da ventaja al blanco.

De modo que si el blanco mueve d4, ¿qué movimiento elegirá el negro? Pues el que deje la peor mejor opción al blanco, teniendo en cuenta que el blanco moverá maximizando sus posibilidades. Si hemos llegado hasta aquí, veremos enseguida que la respuesta del negro a d4 del blanco será 0-0, que deja como mejor opción del blanco Tb1, con -12 (ligera ventaja negra).

Es decir, a la posición que se da tras d4 y 0-0 se le asigna una valoración de -12, y esta valoración no la hemos sacado de aplicar la función de evaluación a dicha posición sino de las valoraciones de las posiciones derivadas.

La misma técnica se aplica sobre cada serie de movimientos que tienen un padre común, y llegaríamos a tener un diagrama como el siguiente:


Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 23:36



Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 23:39
Las valoraciones de las posiciones tras el ply 2, en marrón, se obtienen maximizando los valores que ha devuelto la función de evaluación en el ply 3 a las posiciones hijas, en azul.
Sin embargo, los valores de las posiciones tras el ply 1 se obtienen minimizando las puntuaciones del ply 2 (por eso a esta técnica se la llama mini-max).

Ocurre que cada vez que subimos o bajamos un ply, cambia el bando que mueve.
Así, cuando mueve el blanco, trata de maximizar la puntuación, mientras que el negro trata de minimizar.

Finalmente, aplicando el mismo sistema, llegamos a la conclusión de que la valoración de la posición a tres plies de profundidad es de 11 centésimas de peón (ligera ventaja blanca).

Nótese que tal y como comentaba, la función de evaluación sólo se usa en las posiciones finales [por cierto, en todo este proceso estamos suponiendo que nuestra función de evaluación es “la verdad”.

Evidentemente, ninguna función de evaluación es perfecta (aunque algunas se acercan bastante), pero es que sencillamente es lo que tenemos], y es a partir de estos valores como se toma la decisión del mejor movimiento.

También aquí vemos por qué el generador de movimientos debe ser capaz también de deshacerlos.

Al comenzar a analizar, lo primero que se hace es generar los movimientos disponibles.

Si entonces no nos encontramos en el ply de profundidad deseado, volvemos a generarlos hasta que se cumpla la condición.

De modo que la función de búsqueda (que es como se suele llamar, ya que se encarga de buscar el mejor movimiento en el árbol de variantes) es recursiva, llamándose a sí misma y generando los movimientos posibles hasta llegar a la profundidad deseada.

Entonces se aplica la función de evaluación a las posiciones, y se deben deshacer los movimientos para seguir moviéndonos por el árbol de variantes.

Bueno, para una introducción puede valer.

Evidentemente tanto sobre la generación de los movimientos como sobre la evaluación y la búsqueda hay muchísimo más que contar, pero creo que con esto puede ser suficiente para hacernos una primera idea de cómo funcionan estos programitas.



Yo solo se que no se nada y al saber que no se nada , algo se.
avatar
fantasmadel50


Mensajes Mensajes : 8824

Inscripción Inscripción : 16/06/2014

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

el Miér 30 Ago 2017 - 23:41
[Tienes que estar registrado y conectado para ver este vínculo] escribió:A veces los motores tan fuertes " no ven" solución a problemas, que otros motores débiles si encuentran...

Ver el poderoso komodo 11.2, houdini,  que no encuentra nada y un motor débil si lo ve, (Vitruvius, DisasterArea-1.54, Shredder...)  algo que no puedo comprender...

Buena interrogante Pacman.


Yo solo se que no se nada y al saber que no se nada , algo se.
Contenido patrocinado

Re: Diferencias entre motores de ajedrez.!! "Como escoger un motor de análisis de ajedrez" John Hartmann

Ver el tema anteriorVolver arribaVer el tema siguiente
Permisos de este foro:
No puedes responder a temas en este foro.