Skip to content

Releases: Oscar-Gavira/Coiled

Coiled 1.2

29 Jul 18:09
Compare
Choose a tag to compare

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

11 Nov 21:14
Compare
Choose a tag to compare

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

10 Oct 21:25
1435dd2
Compare
Choose a tag to compare

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

01 Oct 13:54
805ebaf
Compare
Choose a tag to compare

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

27 Sep 10:35
28846ca
Compare
Choose a tag to compare

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

Release coiled_0.8.zip

Coiled-NNUE 0.7

06 Aug 15:10
3edc655
Compare
Choose a tag to compare

Primera versión de código abierto.