TdP-prove-finali / Introduzione

Istruzioni e documentazione per la proposta e lo svolgimento delle prove finali relative al corso di Tecniche di Programmazione.
http://bit.ly/tecn-progr
Apache License 2.0
3 stars 13 forks source link

Simulatore Serie A post Covid-19 #44

Closed luciomas17 closed 4 years ago

luciomas17 commented 4 years ago

Studente proponente

s234164 Panebianco Omar

Titolo della proposta

Simulatore Serie A post Covid-19

Descrizione del problema proposto

La pandemia di Covid-19 in Italia ha compromesso il regolare svolgimento del campionato di calcio di Serie A. Quest'ultimo è stato sospeso fino a tempo indeterminato dal Consiglio Federale della FIGC in seguito al DPCM del 9 Marzo 2020. Di recente, il Governo Italiano e la FIGC hanno concordato la ripresa del campionato. Nel caso in cui sia istituito un nuovo lockdown il campionato non verrà terminato e la classifica finale della stagione 2019-20 sarà stilata tramite l'utilizzo di un algoritmo. L'applicazione ha lo scopo di simulare le 124 partite di Serie A non ancora disputate in seguito alla prima sospensione decretando la classifica finale del campionato.

Descrizione della rilevanza gestionale del problema

Il calcio è un business che vale miliardi di Euro. L'annullamento del campionato comporterebbe per le società la perdita di ingenti somme di denaro. Come sostenuto dagli organizzatori, è necessario decretare una classifica finale (seppur virtuale) per la corretta distribuzione dei premi e per permettere alle società di programmare la stagione successiva.

Descrizione dei data-set per la valutazione

L'applicazione utilizzerà due data-set costruiti appositamente. Il primo conterrà i dati statistici dettagliati relativi ad ogni squadra di Serie A aggiornati all'ultima giornata disputata (la 26a) che costituiranno le variabili fondamentali per l'algoritmo di simulazione. Tali dati verranno reperiti dal portale WhoScored (https://it.whoscored.com). Il secondo data-set conterrà invece il calendario delle 124 partite di Serie A non disputate suddivise per giornata. Il calendario verrà reperito dal sito ufficiale della Lega Serie A (http://www.legaseriea.it)

Descrizione preliminare degli algoritmi coinvolti

L'algoritmo principale dell'applicazione è la simulazione. Sulla base dei dati statistici ricavabili dal primo data-set, l'applicazione effettuerà una simulazione per ognuna delle 124 partite non disputate aggiornando la classifica del campionato di giornata in giornata ed i dati statistici iniziali. In particolare il risultato di ogni partita verrà decretato considerando le statistiche in casa e in trasferta o assolute di entrambe le squadre tra cui la media dei tiri in porta effettuati a partita e la percentuale di realizzazione degli stessi ma anche la media dei tiri in porta subiti a partita e la percentuale di reti incassate per tiro in porta subito.

Descrizione preliminare delle funzionalità previste per l’applicazione software

All'avvio, l'applicazione mostrerà la classifica della Serie A aggiornata alla 26a giornata. Per avviare la simulazione all'utente verrà data la scelta di utilizzare il fattore casa. Se l'utente sceglie di utilizzarlo l'algoritmo di simulazione utilizzerà i dati statistici delle classifiche in casa e in trasferta delle squadre, altrimenti utilizzerà i dati statistici della classifica generale. Inoltre all'utente verrà offerta la possibilità di assistere alla simulazione di ogni giornata e la simulazione del turno successivo avverrà su comando dell'utente. Alternativamente l'utente può sceglie di visualizzare direttamente la classifica finale.

fulcorno commented 4 years ago

Questa proposta è accettabile dal punto di vista del data-set e dell'obiettivo. Occorre definire meglio la natura della simulazione (soprattutto introdurre dei fattori stocastici per evitare che le squadre che attualmente sono in testa abbiano sempre e comunque la vittoria garantita). In casi di questo genere la simulazione adrebbe ripetuta più volte con parametri random diversi, e si dovrebbe valutare la "stabilità" della classifica finale (es. se ripeto 10 volte, con valori casuali diversi, ma alla fine vince sempre la stessa squadra, allora sono certo di potere attribuire lo scudetto).

luciomas17 commented 4 years ago

Certo professore, ho provato ad effettuare qualche simulazione utilizzando i soli dati statistici che ho citato nella descrizione preliminare degli algoritmi coinvolti e le squadre di testa effettivamente non hanno la vittoria garantita. Esempio: simulando per 100 volte la stessa partita (Juventus-Brescia -> prima contro ultima della classifica iniziale) si ha che la Juventus vince il 75/80% delle volte, il Brescia tra il 5 e il 10% delle volte e si ottiene il pareggio il 10/15% delle volte. Il che come base penso sia accettabile/realistico. Si può provare come sostituendo il Brescia con una squadra di più alta classifica (o comunque con migliori statistiche in trasferta), la Juventus su 100 tentativi continua a prevalere col numero di vittorie ma il valore percentuale diminuisce notevolmente. Per parametri random diversi cosa intende? Può darmi qualche esempio? La ringrazio