Skip to content

Latest commit

 

History

History
63 lines (54 loc) · 2.72 KB

readme.md

File metadata and controls

63 lines (54 loc) · 2.72 KB
polito logo

Master Degree Thesis


Fantasy football forecasts

an evolutionary algorithm


SUMMARY


The aim of the thesis is to improve an already existing application used to forecast the best formation that a player (fantasy manager) can line up in the game of the fantasy football.

The work has been done in collaboration with the startup Teamies.
Teamies already had a fully working platform but the process on how they used to collect and manage the data was not so efficient and performing.
So, they wanted to create the same system but in a more reliable way.
Moreover, they also wanted to increase the precision of their forecasts finding the best parameters to use in their algorithm in order to better combine and weigh the footballers and teams statistics used to generate these forecasts.


The main tasks I had to do during my thesis were:

  • To redesign the database structure and its implementation
  • To create several web scrapers to collect all the information needed to calculate the forecasts from different websites
  • To create the scripts to insert/update the downloaded information inside the database
  • To rewrite the original forecast algorithm in C++
  • To evaluate the best parameters to use to improve the forecast results using an evolutionary algorithm


The choice of using an evolutionary algorithm has been dictated from the fact that Teamies already had a proprietary algorithm to evaluate footballers performances and they just wanted to optimize specific parameters.
So the need was to have a search technique to find exact or approximate solutions to optimize the search problems and the most suitable solution in this case was to use this type of approach.


The main languages and environments used to develop the application are:

  • Database: MySQL relational database
  • Scrapers: JavaScript scripts executed on the run-time environment Node.js with the npm package Puppeteer provided by Google
  • Database scripts: JavaScript scripts executed on the run-time environment Node.js with the npm package mysql
  • Forecasts algorithm: C++
  • Evolutionary algorithm: MicroGP evolutionary algorithm, C++, bash scripts