Ho appena finito di scrivere personalizzando un motore di scacchi aggiungendo sostanzialmente un bitboard al motore tscp disponibile gratuitamente. Ora lo sto provando su winboard e noto che spesso le due macchine giocheranno lo stesso gioco più volte in una partita. Vorrei aggiungere un po 'di varietà ai giochi facendogli almeno scegliere mosse uguali a caso. Sto solo usando la ricerca alpha-beta con un semplice ordinamento delle mosse. Sto pensando di aggiungere un piccolo numero casuale ai nodi foglia per rompere i legami, ma non mi piace molto questa soluzione perché alcuni dei bonus più piccoli che la funzione di valutazione utilizza sono 3-5 centesimi. Quindi non ho abbastanza "spazio" per un numero casuale per interrompere i legami.
l'altro mio pensiero era di scegliere il motore in modo casuale che si muovesse per mantenere quando ha trovato una valutazione == alfa. Non mi piace molto perché sospetto che favorisca le mosse ordinate per ultime nella ricerca.
La domanda è: come posso scegliere casualmente tra i nodi foglia uguali? e anche in modo uniforme?