<commit_before><!-- configuracion de colores es opcional pero ultil-->
<section id="themes">
	<h2>Configuración de temas</h2>
	<p>
		Temas: <br>
		<a href="?#/themes">Default</a> -
		<a href="?theme=sky#/themes">Sky</a> -
		<a href="?theme=beige#/themes">Beige</a> -
		<a href="?theme=simple#/themes">Simple</a> -
		<a href="?theme=serif#/themes">Serif</a> -
		<a href="?theme=night#/themes">Night</a> <br>
		<a href="?theme=moon#/themes">Moon</a> -
		<a href="?theme=solarized#/themes">Solarized</a>
	</p>
</section>

Slide:

# Mi caso acerca de Stockfish

<NAME>

<img height="300" src="fig/logo.png">

Slide:

<img height="600" src="fig/commercial.png">

Slide:

# Indice

## Nociones

## Computer chess

## Stockfish

Slide:

# Nociones

1. ELO rating
2. Table-bases
3. Otras: reglas especiales, pondering, etc.

Subslide:

## Nociones
### ELO-Rating

\begin{equation}
dE=K*(S-1/(10^{(-D/F)+1}))
\end{equation}

donde, para cada jugador:

* $dE$ : Puntos ELO pendientes <!-- .element: class="fragment" data-fragment-index="1"-->
* $S$ : Resultado (1 = gana, 0 = pierde, 0.5 = tablas) <!-- .element: class="fragment" data-fragment-index="2"-->
* $F$ : F factor (disparidad del rating) = 400: entre mas grande sea F, más fácil resulta ganar (o perder) puntos <!-- .element: class="fragment" data-fragment-index="3"-->
* $D$ : Diferencia de ELO entre los dos jugadores <!-- .element: class="fragment" data-fragment-index="4"-->
* $K$ : K Factor (importancia del juego), calculada como: <!-- .element: class="fragment" data-fragment-index="5"-->
    1. El ELO de uno de los jugadores es < 2100, -> $K = 32$
    2. El ELO de uno de los jugadores es < 2401, -> $K = 24$
    3. El ELO de ambos jugadores es > 2400, -> $K = 16$

Subslide:

## Nociones
### ELO-Rating: Ejemplo

Juan tiene 2234 puntos ELO y Pedro 2456.

* Si Juan gana -> Juan +19 y Pedro -19
* Si Pedro gana -> Juan -5 y Pedro +5
* Tablas -> Juan +7 y Pedro -7

Subslide:

## Nociones
### Table-bases

* Bases de datos de finales de partida
* Cálculos precisos para el juego óptimo en cualquier posición
* Siempre que No. piezas <= límite determinado

Subslide:

## Nociones
### Table-bases

Generación por retro-análisis

<img height="400" src="fig/retroanalisis.png">

Subslide:

## Nociones
### Table-bases

* 4 Piezas -> finales 80's <!-- .element: class="fragment" data-fragment-index="1"-->
* 5 Piezas -> Inicios 90's <!-- .element: class="fragment" data-fragment-index="2"-->
* 6 Piezas -> 2005 Nalimov <!-- .element: class="fragment" data-fragment-index="3"-->
* 6 Piezas -> 2013 Syzygy, [Ronald the Man, alias Ron] <!-- .element: class="fragment" data-fragment-index="4"-->
* 7 Piezas (100 TB) -> 2012 Lomonosov [<NAME> and <NAME> from Moscow State University] <!-- .element: class="fragment" data-fragment-index="5"-->

Subslide:

## Nociones
### Table-bases: Ejemplos

<img height="400" src="fig/6man_a.png">

Subslide:

## Nociones
### Table-bases: Ejemplos

<img height="400" src="fig/6man_b.png">

Subslide:

## Nociones
### Table-bases: Ejemplos

Negras mueven y pierden en 545 turnos

<img height="400" src="fig/7man_a.png">

Subslide:

## Nociones
### Table-bases: Ejemplos

Zugswang en ambos lados

<img height="400" src="fig/7man_b.png">

Subslide:

## Nociones
### Bono: En passant

<img height="400" src="fig/en_passant.png">

Slide:

# Computer Chess

1. The Turk
2. Cronología
4. TCEC

Subslide:

## Computer Chess
### 1769 – Wolfgang von Kempelen: The Turk

<img height="400" src="fig/turk_engraving.jpg">

Grabado de [Karl Gottlieb von Windisch](http://en.wikipedia.org/wiki/Karl_Gottlieb_von_Windisch) de 1784

Subslide:

## Computer Chess
### 1769 – Wolfgang von Kempelen: The Turk

<img height="400" src="fig/turk_kemp.jpg">

Grabado atribuido al propio [Kempelen](http://en.wikipedia.org/wiki/Wolfgang_von_Kempelen)

Subslide:

## Computer Chess
### 1769 – <NAME>: The Turk

<img height="400" src="fig/turk_rec.jpg">

Reconstrucción moderna del Turk

Subslide:

## Computer Chess
### Cronología

* 1948 – <NAME> "Cybernetics": eval fx, minimax simp.<!-- .element: class="fragment" data-fragment-index="1"-->
* 1951 – <NAME>: 1er programa<!-- .element: class="fragment" data-fragment-index="2"-->
* 1956 – <NAME>: alpha-beta<!-- .element: class="fragment" data-fragment-index="3"-->
* 1996 – Deep blue (2) vs Kasparov (4)<!-- .element: class="fragment" data-fragment-index="4"-->
* 1997 – Deeper blue (3½) vs Kasparov (2½)<!-- .element: class="fragment" data-fragment-index="5"-->
* 2005 – Rybka campeón del mundo<!-- .element: class="fragment" data-fragment-index="6"-->
* 2006 – Kramnik (2) vs Deep Fritz (4)<!-- .element: class="fragment" data-fragment-index="7"-->
* 2011 – Rybka es destronada por plagio<!-- .element: class="fragment" data-fragment-index="8"-->

Note:
* Deep blue -> Kasparov -> IBM of cheating: using human player. Asked for log but no logs.
* Deep Fritz -> switch from hardware to software
* <NAME> -> Crafty y Fruit (oss). No atribución. Expulsado de por vida y devolucion. [<NAME>]

Subslide:

## Computer Chess
### TCEC: Características

* <NAME> (2010)
* Participantes de élite
* Control de tiempo largo: 120+30
* Pondering: off
* Apoyado por los autores originales de los programas
* Con base en voluntarismo y donación

Subslide:

## Computer Chess
### TCEC: Computador

```
CPUs: 2 x 8 core Intel Xeon E5-2689 @ 3300 MHz
CPU Coolers: 2 x Corsair H80i
Motherboard: Asus Z9PE-D8 WS
RAM: 64 GB Kingston KVR16R11D4K4/32 Reg/ECC
PSU: Corsair AX 760
SSDs: 2 x Samsung 840 Pro 128 GB @ Raid 0
Case: Silverstone Raven RV03B-WA
```

Subslide:

## Computer Chess
### TCEC: Configuración

```
Graphical User Interface (GUI): cutechess-cli (custom)
Protocol: Winboard, UCI
Large Pages: OFF
Number of Cores/Threads (per engine): 8 or 16
Split Depth: DEFAULT
Main Hash Size: 16 GB (Maximum)
Minor Hash Size: 1 GB
Engine Opening Book: OFF
Endgame Tablebases: 6-men Syzygy
Tablebase Cache: 1024 MB (Maximum)
Ponder/Permanent Brain: OFF
Contempt/Draw Score: DEFAULT
```

Note:
Platicar acerca del opening-book y la selección de aperturas (hasta el mov 10)

Subslide:

## Computer Chess
### TCEC: Reglas de adjudicación

* Tablas: Triple repetición de posición
* Tablas: Regla de los 40 movimientos
* Tablas: Si _mov_ > 40 y -0-05 _eval_ < +0.05 para ambos jugadores, 10 plies consecutivos
* Gana: _eval_ > 6.5, para ambos jugadores, 10 plies consecutivos

Note:
Platicar acerca del sistema de evaluación: # peones

Subslide:

## Computer Chess
### TCEC: interfaz

<img height="400" src="fig/tcec.png">

Interfaz online de TCEC

Subslide:

## Computer Chess
### TCEC: Standings

| Temporada       | Fecha               | Campeón          | Subcampeón       |
|-----------------|---------------------|------------------|------------------|
| TCEC Season 1   | Dec 2010 – Feb 2011 | Houdini 1.5a     | Rybka 4.0        |
| TCEC Season 2   | Feb 2011 – Apr 2011 | Houdini 1.5a     | Rybka 4.1        |
| TCEC Season 3   | Apr 2011 – May 2011 | N/A              |                  |
| TCEC Season 4   | Jan 2013 – May 2013 | Houdini 3        | Stockfish 250413 |
| TCEC Season 5   | Aug 2013 – Dec 2013 | Komodo 1142      | Stockfish 191113 |
| TCEC Season 6   | Feb 2014 – May 2014 | Stockfish 170514 | Komodo 7x        |

Slide:

# Stockfish

1. Historia
2. Propiedades
3. Key<commit_msg>better table formatting<commit_after><!-- configuracion de colores es opcional pero ultil-->
<section id="themes">
	<h2>Configuración de temas</h2>
	<p>
		Temas: <br>
		<a href="?#/themes">Default</a> -
		<a href="?theme=sky#/themes">Sky</a> -
		<a href="?theme=beige#/themes">Beige</a> -
		<a href="?theme=simple#/themes">Simple</a> -
		<a href="?theme=serif#/themes">Serif</a> -
		<a href="?theme=night#/themes">Night</a> <br>
		<a href="?theme=moon#/themes">Moon</a> -
		<a href="?theme=solarized#/themes">Solarized</a>
	</p>
</section>

Slide:

# Mi caso acerca de Stockfish

<NAME>

<img height="300" src="fig/logo.png">

Slide:

<img height="600" src="fig/commercial.png">

Slide:

# Indice

## Nociones

## Computer chess

## Stockfish

Slide:

# Nociones

1. ELO rating
2. Table-bases
3. Otras: reglas especiales, pondering, etc.

Subslide:

## Nociones
### ELO-Rating

\begin{equation}
dE=K*(S-1/(10^{(-D/F)+1}))
\end{equation}

donde, para cada jugador:

* $dE$ : Puntos ELO pendientes <!-- .element: class="fragment" data-fragment-index="1"-->
* $S$ : Resultado (1 = gana, 0 = pierde, 0.5 = tablas) <!-- .element: class="fragment" data-fragment-index="2"-->
* $F$ : F factor (disparidad del rating) = 400: entre mas grande sea F, más fácil resulta ganar (o perder) puntos <!-- .element: class="fragment" data-fragment-index="3"-->
* $D$ : Diferencia de ELO entre los dos jugadores <!-- .element: class="fragment" data-fragment-index="4"-->
* $K$ : K Factor (importancia del juego), calculada como: <!-- .element: class="fragment" data-fragment-index="5"-->
    1. El ELO de uno de los jugadores es < 2100, -> $K = 32$
    2. El ELO de uno de los jugadores es < 2401, -> $K = 24$
    3. El ELO de ambos jugadores es > 2400, -> $K = 16$

Subslide:

## Nociones
### ELO-Rating: Ejemplo

Juan tiene 2234 puntos ELO y Pedro 2456.

* Si Juan gana -> Juan +19 y Pedro -19
* Si Pedro gana -> Juan -5 y Pedro +5
* Tablas -> Juan +7 y Pedro -7

Subslide:

## Nociones
### Table-bases

* Bases de datos de finales de partida
* Cálculos precisos para el juego óptimo en cualquier posición
* Siempre que No. piezas <= límite determinado

Subslide:

## Nociones
### Table-bases

Generación por retro-análisis

<img height="400" src="fig/retroanalisis.png">

Subslide:

## Nociones
### Table-bases

* 4 Piezas -> finales 80's <!-- .element: class="fragment" data-fragment-index="1"-->
* 5 Piezas -> Inicios 90's <!-- .element: class="fragment" data-fragment-index="2"-->
* 6 Piezas -> 2005 Nalimov <!-- .element: class="fragment" data-fragment-index="3"-->
* 6 Piezas -> 2013 Syzygy, [Ronald the Man, alias Ron] <!-- .element: class="fragment" data-fragment-index="4"-->
* 7 Piezas (100 TB) -> 2012 Lomonosov [<NAME> and <NAME> from Moscow State University] <!-- .element: class="fragment" data-fragment-index="5"-->

Subslide:

## Nociones
### Table-bases: Ejemplos

<img height="400" src="fig/6man_a.png">

Subslide:

## Nociones
### Table-bases: Ejemplos

<img height="400" src="fig/6man_b.png">

Subslide:

## Nociones
### Table-bases: Ejemplos

Negras mueven y pierden en 545 turnos

<img height="400" src="fig/7man_a.png">

Subslide:

## Nociones
### Table-bases: Ejemplos

Zugswang en ambos lados

<img height="400" src="fig/7man_b.png">

Subslide:

## Nociones
### Bono: En passant

<img height="400" src="fig/en_passant.png">

Slide:

# Computer Chess

1. The Turk
2. Cronología
4. TCEC

Subslide:

## Computer Chess
### 1769 – Wolfgang von Kempelen: The Turk

<img height="400" src="fig/turk_engraving.jpg">

Grabado de [Karl Gottlieb von Windisch](http://en.wikipedia.org/wiki/Karl_Gottlieb_von_Windisch) de 1784

Subslide:

## Computer Chess
### 1769 – Wolfgang von Kempelen: The Turk

<img height="400" src="fig/turk_kemp.jpg">

Grabado atribuido al propio [Kempelen](http://en.wikipedia.org/wiki/Wolfgang_von_Kempelen)

Subslide:

## Computer Chess
### 1769 – <NAME>: The Turk

<img height="400" src="fig/turk_rec.jpg">

Reconstrucción moderna del Turk

Subslide:

## Computer Chess
### Cronología

* 1948 – <NAME> "Cybernetics": eval fx, minimax simp.<!-- .element: class="fragment" data-fragment-index="1"-->
* 1951 – <NAME>: 1er programa<!-- .element: class="fragment" data-fragment-index="2"-->
* 1956 – <NAME>: alpha-beta<!-- .element: class="fragment" data-fragment-index="3"-->
* 1996 – Deep blue (2) vs Kasparov (4)<!-- .element: class="fragment" data-fragment-index="4"-->
* 1997 – Deeper blue (3½) vs Kasparov (2½)<!-- .element: class="fragment" data-fragment-index="5"-->
* 2005 – Rybka campeón del mundo<!-- .element: class="fragment" data-fragment-index="6"-->
* 2006 – Kramnik (2) vs Deep Fritz (4)<!-- .element: class="fragment" data-fragment-index="7"-->
* 2011 – Rybka es destronada por plagio<!-- .element: class="fragment" data-fragment-index="8"-->

Note:
* Deep blue -> Kasparov -> IBM of cheating: using human player. Asked for log but no logs.
* Deep Fritz -> switch from hardware to software
* Vasik Rajlich -> Crafty y Fruit (oss). No atribución. Expulsado de por vida y devolucion. [Zach Wegner]

Subslide:

## Computer Chess
### TCEC: Características

* <NAME> (2010)
* Participantes de élite
* Control de tiempo largo: 120+30
* Pondering: off
* Apoyado por los autores originales de los programas
* Con base en voluntarismo y donación

Subslide:

## Computer Chess
### TCEC: Computador

```
CPUs: 2 x 8 core Intel Xeon E5-2689 @ 3300 MHz
CPU Coolers: 2 x Corsair H80i
Motherboard: Asus Z9PE-D8 WS
RAM: 64 GB Kingston KVR16R11D4K4/32 Reg/ECC
PSU: Corsair AX 760
SSDs: 2 x Samsung 840 Pro 128 GB @ Raid 0
Case: Silverstone Raven RV03B-WA
```

Subslide:

## Computer Chess
### TCEC: Configuración

```
Graphical User Interface (GUI): cutechess-cli (custom)
Protocol: Winboard, UCI
Large Pages: OFF
Number of Cores/Threads (per engine): 8 or 16
Split Depth: DEFAULT
Main Hash Size: 16 GB (Maximum)
Minor Hash Size: 1 GB
Engine Opening Book: OFF
Endgame Tablebases: 6-men Syzygy
Tablebase Cache: 1024 MB (Maximum)
Ponder/Permanent Brain: OFF
Contempt/Draw Score: DEFAULT
```

Note:
Platicar acerca del opening-book y la selección de aperturas (hasta el mov 10)

Subslide:

## Computer Chess
### TCEC: Reglas de adjudicación

* Tablas: Triple repetición de posición
* Tablas: Regla de los 40 movimientos
* Tablas: Si _mov_ > 40 y -0-05 _eval_ < +0.05 para ambos jugadores, 10 plies consecutivos
* Gana: _eval_ > 6.5, para ambos jugadores, 10 plies consecutivos

Note:
Platicar acerca del sistema de evaluación: # peones

Subslide:

## Computer Chess
### TCEC: interfaz

<img height="400" src="fig/tcec.png">

Interfaz online de TCEC

Subslide:

## Computer Chess
### TCEC: Standings

| Season         | Fecha               | Campeón          | Subcampeón       |
|----------------|---------------------|------------------|------------------|
| TCEC Season 1  | Dec 2010 – Feb 2011 | Houdini 1.5a     | Rybka 4.0        |
| TCEC Season 2  | Feb 2011 – Apr 2011 | Houdini 1.5a     | Rybka 4.1        |
| TCEC Season 3  | Apr 2011 – May 2011 | N/A              |                  |
| TCEC Season 4  | Jan 2013 – May 2013 | Houdini 3        | Stockfish 250413 |
| TCEC Season 5  | Aug 2013 – Dec 2013 | Komodo 1142      | Stockfish 191113 |
| TCEC Season 6  | Feb 2014 – May 2014 | Stockfish 170514 | Komodo 7x        |

Slide:

# Stockfish

1. Historia
2. Propiedades
3. Key
{'fraction_non_alphanumeric': 0.16262335526315788, 'fraction_numerical': 0.04961622807017544, 'mean_word_length': 3.597668557025835, 'pattern_counts': {'":': 2, '<': 139, '<?xml version=': 0, '>': 167, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '587810', 'n_tokens_mistral': 6026, 'n_tokens_neox': 5367, 'n_words': 1649}