L’algoritmo Minimax è un algoritmo ricorsivo che ha come scopo la ricerca della mossa migliore in un gioco a somma zero, in cui la somma algebrica dei payoff è nulla (o costante). Consente di individuare le mosse migliori dei due giocatori durante lo svolgimento della partita, analizzando ricorsivamente l'albero di gioco a partire dalle foglie, ossia dalle possibili situazioni in cui si conclude il match, risalendo fino alla posizione corrente dei due sfidanti. A ciascuna situazione del gioco viene attribuito un punteggio, il quale valore è massimizzato se si tratta del primo giocatore, minimizzato altrimenti. Una sua possibile implementazione riguarda il gioco del Tris: due giocatori si sfidano in una tabella 3x3 utilizzando come simboli ‘X’ oppure ‘O’ ed il primo che riesce ad allinearne tre di fila in riga, colonna o diagonale vince. La tesi si propone di mostrare come l’algoritmo Minimax venga implementato a questa particolare istanza ed è analizzata la sua applicazione in casi non convenzionali in cui la tabella di gioco sia una matrice n x m. Verranno inoltre analizzati limiti, punti di forza e punti deboli e di come ci possano essere miglioramenti per questa particolare situazione. Il codice che risolve questo problema è scritto in linguaggio C a cui è allegata una breve descrizione dell’algoritmo e delle funzioni principali.

Implementazione dell’algoritmo Minimax al gioco del tris e adattamento a matrici n x m.

PADOAN, CLAUDIO
2021/2022

Abstract

L’algoritmo Minimax è un algoritmo ricorsivo che ha come scopo la ricerca della mossa migliore in un gioco a somma zero, in cui la somma algebrica dei payoff è nulla (o costante). Consente di individuare le mosse migliori dei due giocatori durante lo svolgimento della partita, analizzando ricorsivamente l'albero di gioco a partire dalle foglie, ossia dalle possibili situazioni in cui si conclude il match, risalendo fino alla posizione corrente dei due sfidanti. A ciascuna situazione del gioco viene attribuito un punteggio, il quale valore è massimizzato se si tratta del primo giocatore, minimizzato altrimenti. Una sua possibile implementazione riguarda il gioco del Tris: due giocatori si sfidano in una tabella 3x3 utilizzando come simboli ‘X’ oppure ‘O’ ed il primo che riesce ad allinearne tre di fila in riga, colonna o diagonale vince. La tesi si propone di mostrare come l’algoritmo Minimax venga implementato a questa particolare istanza ed è analizzata la sua applicazione in casi non convenzionali in cui la tabella di gioco sia una matrice n x m. Verranno inoltre analizzati limiti, punti di forza e punti deboli e di come ci possano essere miglioramenti per questa particolare situazione. Il codice che risolve questo problema è scritto in linguaggio C a cui è allegata una breve descrizione dell’algoritmo e delle funzioni principali.
2021
Implementation of the Minimax algorithm for Tic-Tac-Toe game and adaptation to n x m matrices.
Minimax
Tris
Matrici
File in questo prodotto:
File Dimensione Formato  
Padoan_Claudio.pdf

accesso aperto

Dimensione 814.35 kB
Formato Adobe PDF
814.35 kB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/34268