Ciao a tutti. Recentemente ho scritto un programma console che simula il gioco del tris(uomo vs computer) implementando un minimo di AI(minimax). Ora vorrei provare a sviluppare una strategia di gioco con l'utilizzo degli algoritmi genetici.
Così, ho dato un'occhiata alle varie librerie GA già pronte(GAUL, GAlib, EO) disponibili in rete ma non riesco ad impostare correttamente il problema.
Finora ho delineato solo questa classe:
codice:
class gene{
public:
string campo[9];
int fitness;
int score(); //1 - vincita , 2 - sconfitta, 0 -pareggio
int strategia[9]; // lista mosse
void fitness(){fitness = score;}
int play(...; return score());
void mutate(?); //da fare
gene child(?); // idem
}
Ogni gene gioca una partita e, in seguito, i geni con i migliori risultati(fitness) si riproducono con crossover e mutazione casuale, poi si ricomincia finché non si raggiunge una strategia quasi perfetta.
Qualche consiglio?
Grazie