|
4. Test
Sono state eseguite due tipologie di test: per stimare la bontà delle funzioni di valutazione create e per valutare il tempo richiesto per ricercare ed eseguire una mossa quando a giocare è il computer.
4.1 Test per le funzioni di valutazioneI test sono stati eseguiti facendo giocare dieci volte ogni funzione contro ogni altra, impostando la profondità dell'albero di ricerca a 2, 4 e 6. Si è salvato l'esito di ogni partita eseguita, in tabelle, divise in base alla profondità e alle funzioni considerate, ponendo 0 per indicare una situazione di patta, 1 per indicare la vittoria del giocatore nero e -1 per indicare la vittoria del giocatore bianco. I risultati ottenuti sono stati rappresentati in istrogrammi che mostrano come sono distribuite al variare delle profondità i risultati di blocchi di dieci partite. Dai grafici si nota innanzittutto che nella maggior parte dei casi c'è un aumento delle partite patte all'aumentare della profondità. Questo può essere spiegato considerando il fatto che aumentando la profondità di ricerca, aumenta la conoscenza dell'evoluzione delle partite, quindi anche la "bravura" del giocatore e di conseguenza la probabilità di teminare una partita in parità. Osservando i grafici, è palese il comportamento negativo della funzione Spettacolo rispetto tutte le altre; Spettacolo riesce al massimo a pareggiare a profondità sei in alcuni casi. Questo probabilmente è dovuto al fatto che si considerano troppi parametri e casi nella valutazione della configurazione della damiera, e a volte tali sono in contrasto l'una con l'altra. Gli effetti positivi di alcuni pesi rischiano di essere eliminati da alcune penalizzazioni introdotte. Inoltre, essendo molto difficile associare dei giusti pesi nei parametri usati nelle funzioni, a maggior ragione più pesi si mettono, più è complicato decidere i valori ottimali.
Funzione2 e Prima si comportano in modo simile. Ambedue utilizzano il supporto come spiegato in Sezione 3.7, ma Prima penalizza le dame che si trovano sui bordi della damiera, mentre Funzione2 penalizza la distanza dal bordo in maniera graduale, privilegiando le posizioni centrali della damiera. Nel confronto si nota che all'aumentare della profondità, Prima ha una probabilità maggiore di vittoria.
In tutti i casi la funzione Originale si comporta meglio a profondità due, a profondità quattro ha una probabilità maggiore di perdere, mentre a profondità sei il comportamente non è costante, in alcuni casi vince in altri perde.
La funzione SoloPedine perde all'aumentare della profondità contro Originale e l'andamento è variabile contro Prima e Funzione2. Pertanto dato che l'andamento non è costante al variare delle funzioni con le quali viene fatto giocare, non si può esprimere un giudizio sulla sua bontà. Dai dati riscontrati emerge che la funzione di valutazione Prima in generale si comparta bene contro tutte le altre funzioni ed i risultati migliorano all'aumentare della profondità. Oltre ai test eseguiti facendo giocare computer contro computer con le varie funzioni, si è sottoposto il gioco ad alcuni giocatori umani per riuscire a valutare, anche contro l'uomo, come si comportano le funzioni. Si è confermato la scarsa bontà della funzione Spettacolo che non vince mai e che non risulta condurre un gioco particolarmente intelligente. Molto spesso attacca in modo insensato, perdendo pedie senza costuire un gioco intelligente. Anche le funzioni Prima e Funzione2, diversamente dai risultati precendentemente esposti, non si sono dimostrate particolarmente difficili da battere. Tuttavia il gioco che viene condotto da queste segue una certa strategia logica e non è immediato vincerle. La funzione Originale non è sembrata comportarsi malissimo, ma dopo alcune partite, imparati i meccanismi, anche questa si è dimostrata battibile. La funzione SoloPedine è sembrata essere quella che più di tutte cerca di costruire un gioco che realmente possa avere dei vantaggi nel seguito e provare a condurre a configurazioni di vittoria.
4.2 Test per la valutazione del tempoValutando le partite Prima contro Originale, il tempo per eseguire le mosse cresce quasi esponenzialmente all'aumentare della profondità dell'albero di ricerca. Il grafico che segue mostra in sintesi i dati della partita tra la funzione Originale e Prima, facendo la media dei tempi medi di dieci partite per ogni profondità. Dato che le funzioni di valutazione richiedono quasi tutte tempo costante per essere calcolate, non si è reso necessario eseguire tutti i testi per tutte le possibili combinazioni di avversari.
|