Tris Fighter

Last modified: 2018-02-18 15:59:00

Il progetto

Realizzare un programma che faccia imparare a due bot a giocare a Tris facendoli giocare tra loro.

Come funziona

I bot si sfidano migliaia di volte e salvano man mano le mosse di tutte le partite precedenti. A ogni nuova partita i bot confrontano la situazione in cui si trovano con gli scenari giá visti e scelgono quale mossa fare o non fare di conseguenza.
In particolare compiono queste scelte:

Ogni partita viene salvata come una sequenza numerica lunga fino a nove cifre dove ogni cifra indica la casella riempita, l'ordine della sequenza indica l'ordine delle mosse, e si puó risalire al giocatore sapendo chi ha iniziato e che le mosse sono alternate.

Per confrontare la situazione in cui si trova, il bot confronta la sequenza di mosse in quel momento con porzioni di sequenze salvate.
Ripetendo questo ciclo diverse volte ho riscontrato tre possibilitá di evoluzione dei bot:

  1. Il bot 1 e il bot 2 diventano paragonabili, molte partite finiscono in pareggio
  2. Il bot 1 e il bot 2 diventano paragonabili, entrambi hanno un numero di vittorie elevato e pareggiano poche volte
  3. Il bot 1 diventa molto piú forte del bot 2 o viceversa

Il primo caso é il piú interessante: entrambi i bot hanno come obiettivo principale non perdere mai piú che vincere sempre.
Nel secondo caso invece l'obiettivo dei bot é solo vincere, ma questo li porta a perdere tante partite: per questo entrambi hanno tante vittorie.
Nel terzo caso, grazie a mosse random iniziali favorevoli, un bot impara piú in fretta dell'altro.
Qui puoi trovare una serie di risultati di sfide di 10.000 partite.

🌙 Modalità notte