Algoritmo Minimax applicato al gioco degli scacchi: dalla Teoria alla Pratica
Mostra/ Apri
Autore
Naccarato, Matteo <2002>
Data
2024-07-19Disponibile dal
2024-07-25Abstract
L'obiettivo era realizzare il gioco degli scacchi e integrare un giocatore autonomo. Per soddisfare questi requisiti è stato utilizzato Unreal Engine 5.2, come motore grafico, e il linguaggio C++ per programmare le meccaniche e le funzionalità del gioco. Per la creazione del giocatore autonomo intelligente, invece, è stato scelto l’algoritmo minimax con alpha-beta pruning.
Sono stati implementati tre livelli di difficoltà: random, minimax base e minimax peSTO. Il livello random è il più semplice, in quanto sceglie casualmente una mossa tra quelle possibili in quel momento della partita. Le due versioni del minimax, invece, si differenziano per la funzione di valutazione che implementano. La versione base tiene in considerazione solo il conteggio del materiale e alcune situazioni di gioco, ad esempio lo scacco. La versione avanzata, peSTO, integra l'utilizzo di tabelle per valutare anche la posizione delle pedine in gioco.
Infine, sono state simulate numerose partite, i cui risultati sono stati analizzati tramite grafici per trarre le relative conclusioni. The aim was to develop a chess game and integrate an autonomous player. To meet these requirements, Unreal Engine 5.2 was used as the game engine, and C++ was employed to program the game's mechanics and functionalities. For the creation of the intelligent autonomous player, the minimax algorithm with alpha-beta pruning was chosen.
Three difficulty levels were implemented: random, minimax base, and minimax peSTO. The random level is the simplest, as it randomly selects a move from the possible options at that moment in the game. The two versions of minimax differ in the evaluation function they implement. The basic version considers only material count and some game situations, such as check. The advanced version, peSTO, incorporates the use of tables to evaluate the position of the pieces on the board.
Finally, numerous games were simulated, and the results were analyzed through graphs to draw the relevant conclusions.
Tipo
info:eu-repo/semantics/bachelorThesisCollezioni
- Laurea Triennale [2383]