Closed jantizio closed 1 year ago
Siccome l'idea principale è controllare le nuove sequenze a partire dal nuovo simbolo, l'idea è fare lo stesso, ma a partire dalle sequenze vecchie che "spariscono". Nella pratica basta controllare le sequenze di simboli diversi da quello appena inserito e adiacenti ad esso(le sequenze dell'avversario).
la threat sequence per la X è FREE X X
e quindi devo sostituire FREE
con O
e così devo controllare O X X
Secondo me questo problema non rende l'algoritmo da buttare, però possiamo fare una considerazione: vale la pena sistemarlo, magari per un costo computazione più alto, se tanto il miglioramento che si percepisce è abbastanza basso?
Se secondo voi ha senso sistemarlo, come si potrebbe fare?
Secondo me se risolverlo non apporta un miglioramento particolarmente sostanziale, si può evitare di risolvere oppure ci pensiamo piu' avanti.
da cosa deduci che non apporta un miglioramento sostanziale? il fatto è che lui vede delle board con sequenze bloccate alla pari con board che hanno sequenze ancora aperte
inoltre il fatto che il valore della board può solo aumentare più vengono fatte è un errore logico
da cosa deduci che non apporta un miglioramento sostanziale?
Lo avevo dedotto da quello che hai scritto, pensando che avessi già tratto tu questa conclusione con dei test, infatti avevo scritto "SE risolverlo", piccolo misunderstanding.
█ █ █ X X O █ O █ qui assegna comunque un punteggio di 100 perché la nuova mossa cerchio in [1,2] non fa parte di nessuna sequenza e quindi il punteggio è solo quello precedente ovvero sempre 100. La cosa è sbagliata perchè quella sequenza è sparita.
Prima dell'assegnamento del punteggio precedente 100 per la nuova mossa cerchio in [1,2], si potrebbe fare il controllo che ha proposto @AlleNeri e in base a quello ricalcolare il punteggio della nuova board?
questa issue è stata risolta
La nuova funzione di valutazione ha un problema a cui non avevo pensato, ovvero a un certo step trova una sequenza che però scompare allo step successivo, perché ad esempio viene bloccata. La valutazione non tiene conto di questo e non riduce la valutazione della board.
Esempio pratico:
qui assegna un punteggio di 100 perché ha trovato una threat sequence, ovvero le due X che minacciano la vittoria. Al turno successivo il cerchio blocca
qui assegna comunque un punteggio di 100 perché la nuova mossa cerchio in [1,2] non fa parte di nessuna sequenza e quindi il punteggio è solo quello precedente ovvero sempre 100. La cosa è sbagliata perchè quella sequenza è sparita.
Secondo me questo problema non rende l'algoritmo da buttare, però possiamo fare una considerazione: vale la pena sistemarlo, magari per un costo computazione più alto, se tanto il miglioramento che si percepisce è abbastanza basso?
Se secondo voi ha senso sistemarlo, come si potrebbe fare?