Releases: Oscar-Gavira/Coiled
Releases · Oscar-Gavira/Coiled
Coiled 1.2
Añadido
- Multi-Hilo para la búsqueda. Detección automática del numero de CPU máximo.
- Implementación singular extensión, basada en: Koivisto, Berserk, Seer.
- Implementación histórico de capturas, basada en: Ethereal, Berserk.
- En caso de no cargar una opción UCI correctamente, no enviá readyok, para evitar una mala configuración. Enviá "notready" (No estándar, del protocolo UCI)
Mejorado
- Solución al Histórico de jugadas, en partidas largas 300 jugadas o más.
- Estructura de almacenamiento Hash. Ahora ocupa 16 Bytes. Más Espacio de almacén con la misma memoria Hash definida.
- Opción UCI 'NnuePath' ahora: NnueFile.
- Opción UCI 'PreventTimeout' ahora: MoveOverhead. Para estandarizar los parámetros más usados/comunes como: Hash, Threads, OwnBook, Ponder, MoveOverhead...
- Control de tiempo.
- Opción hashfull, ahora la variable no se reinicia en cada jugada y llega al 100%.
- Incremento de ELO: 50± Interno. 50± NNUE.
- Perft, ahora soporta Multi-Hilo. Mucho más rápido. Se configura mediante la opción UCI 'Threads'
- Errores menores.
- Estabilidad.
Corregido
- Memory leak en la función SplitString. (Que mal llevo los string o array de tipo char y/o punteros)
- Memory leak al reservar la memoria Hash. (malloc) en la versión de 64bit
- Memory leak con stdin.
Eliminado
- Opción UCI: NnueUse, NnueTechnology, OwnBook, OwnBookLimit, Chess960CastlingSign.
- Las .DLL, ya que no soportan multi-hilo.
- La carga automática de una red neuronal (NNUE).
- La función EntradaStdIn. (Ya no es necesaria)
- He decidido eliminar el libro de aperturas propio. Ya que la GUI es la que se encarga de plantear una apertura. También se elimina las librerías sqlite3_x86.dll y sqlite3_x64.dll encargadas de gestionar el libro de aperturas.
- Tablas de finales: Gaviota, Scorpio y Syzygy.
Coiled 1.1
Añadido
- Compilación para linux versión de 32 y 64 bit.
- Opción PreventTimeout. Pare evitar timeout en partidas por tiempo.
Mejorado
- Detección de tecnología SSE2, SSE3, SSE4.1 y AVX2. Para NNUE. Con __builtin_cpu_supports
- Control de tiempo, inspirado en Ethereal. (Blitz)
- Incremento de ELO ± 3300 NNUE. ± 2600 Interno.
- Estabilidad.
Corregido
- Fallo en buffer en partidas largas de 180 jugadas en adelante. Realizando movimientos ilegales. Eliminación setbuf(stdout, NULL); setbuf(stdin, NULL); hPly = 0. Modificado el método SplitString. Test 960 partidas, 0 jugadas ilegales.
- Compilación en linux, definiciones múltiples... gcc 10.2.1.
- Syzygy, fallo en la comprobación del resultado. TB_LOSS y TB_WIN.
- Mejorado el acceso a las tablas de finales.
- Fallo en el movimiento refutacion. En almacenar y al recuperar.
- Errores menores.
Eliminado
- Comprobacion de las tablas de finales en root.
Coiled 1.0
Añadido
- Evaluación interna básica, ± 2650 ELO. Código claro y didáctico. Inspirado en Hakkapeliitta, Berserk, Rodent IV, Ethereal. Con adaptación al formato mailbox 8x8, estructura, funciones y métodos.
- Opción NnueTechnology, ahora con soporte para SSE2. Mayor compatibilidad con CPU. (Para torneos, configurar AVX2 si es posible.)
- Auto detección de instrucciones AVX2, SSE4.1, SSE3, SSE2 soportado por la CPU. Puede fallar según los permisos de ejecución, sistema operativo o tipo de CPU (Intel/AMD/ARM).
- Bitbases scorpio. Ahora puedes elegir entre usar las tablas de finales: Syzygy, Gaviota o Bitbases.
Mejorado
- Opción Hash, ahora por defecto a 64MB. Mayor compatibilidad.
- Pequeños errores.
Corregido
- Eliminación de acentos y ñ en el código fuente. Para mayor compatibilidad con github.
Coiled 0.9
Añadido
- Red neuronal con soporte para la tecnología AVX2, SSE4.1, SSE3. Para mayor compatibilidad con las CPU.
Configurar con la opcion UCI: NnueTechnology.
Corregido
- Opción ShowPv: No deja cambiar la configuración.
- Eliminación de acentos y ñ en el código fuente. Para mayor compatibilidad con github. (Poco a poco, con cada actualización)
Coiled 0.8
Coiled 0.8
Añadido
- Tablas de finales: Implementado el uso de tablas de finales Syzygy para 64 bit. Mediante el proyecto Fathom. Código: https://github.com/jdart1/Fathom
- Movimiento Refutación.
Mejorado
- El acceso a las tablas de finales de Gaviota, ahora usa DTM en (Root) y DTM en (Búsqueda) al estilo WDL (Prueba).
- Libro de aperturas: Incrementado el numero de variantes. (Estándar y Chess960). No contiene ningún estudio las aperturas.
- Libro de apertura: Antes se obtenía las posibles variantes, para luego elegir una. Se elimina código, se gana velocidad. Ahora una sola 'Select' con aleatorio. Ej.: SELECT Partida FROM Book WHERE Partida LIKE 'e2e4 b8c6 g1f3%' ORDER BY RANDOM() LIMIT 1;
- Tabla Hash, Ahora con 3 celdas.
- Protocolo uci, comando: mate. Ahora con tiempo. Ejemplo: go mate 10 movetime 3000 o go mate 4 wtime 1000 winc 100 (Útil para los test)
- Ordenar malas capturas al final de la cola de los movimientos, mediante See.
- Código claro y legible. ?¿
- Incremento de ELO. +200
Corregido
- Opción OwnBookLimit no admitía el valor mínimo 2, ni el valor máximo 10.
- HashKey del tablero, error al generar el HashKey. Según los movimientos que se van realizado. Esto generaba que la función de triple repetición no funcionara correctamente.
- Corregido errores menores.
Eliminado
- Protocolo uci, comando: nodes. Ejemplo: go nodes 300000
Coiled-NNUE 0.7
Primera versión de código abierto.