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
4 stars 13 forks source link

Ottimizzazione della rosa nel Fantacalcio #25

Closed paolofiorio closed 5 years ago

paolofiorio commented 5 years ago

Studente proponente

s224614 Fiorio Plà Paolo

Titolo della proposta

Ottimizzazione della rosa nel Fantacalcio.

Descrizione del problema proposto

L'applicazione si propone l'obiettivo di aiutare l'utente nella creazione di una rosa di calciatori per il gioco del Fantacalcio. La finalità del gioco è quella di costruire una rosa in grado di ottenere il punteggio più elevato nell'arco di un campionato intero all'interno di una classifica di squadre aventi lo stesso budget iniziale. I problemi principali relativi al caso trattato sono essenzialmente due: la ricerca di tutte le statistiche utili e l'utilizzo ottimale del budget a disposizione.

Descrizione della rilevanza gestionale del problema

Negli ultimi anni la passione del fantacalcio è aumentata esponenzialmente. La fase cruciale per l'utente è quella della formazione della rosa che porta i numerosi fantallenatori ad una spasmodica ricerca di dati e statistiche su una miriade di siti diversi. Risulta inoltre fondamentale la capacità di investire il budget a disposizione nel miglior modo possibile. Questa applicazione si propone quindi di convogliare in un unico luogo i principali dati richiesti al fine di ottimizzarne la ricerca in termini di tempo, accessibilità e budget disponibile. L'intenzione è dunque quella di suggerire al fantallenatore i giocatori più funzionali al fine di ottenere una rosa, almeno ai nastri di partenza della stagione, il più ottimale possibile.

Descrizione dei data-set per la valutazione

I data-set in formato .xlsx utilizzati sono disponibili sul sito www.fantagazzetta.com e riguardano principalmente le statistiche delle passate stagioni di Serie A (www.fantagazzetta.com/statistiche-serie-a)e le quotazioni dei calciatori. In caso di giocatori non presenti nel database, quali nuovi acquisti dai principali campionati esteri o calciatori appartenenti a squadre neopromosse dal campionato di Serie B, il database verrà integrato manualmente attraverso statistiche e quotazioni dell'ultima stagione disponibili in rete. Non avendo ancora a disposizione le quotazioni ufficiali per il prossimo anno, verrà modificato il file .xlsx www.fantagazzetta.com/quotazioni-fantacalcio con l'aggiunta di una colonna contenente la media tra la quotazione ad inizio campionato e quella di fine campionato. Verrà utilizzata proprio tale quotazione per ottenere idealmente la più verosimile in previsione di quelle ufficiali.

Descrizione preliminare degli algoritmi coinvolti

L'applicazione si propone di risolvere un problema dello zaino avvalendosi anche di un algoritmo di ricorsione. L'algoritmo ricorsivo si occuperà di calcolare una media delle statistiche presenti all'interno del database (considerando gli ultimi 3 anni se possibile) e di valutarle generando un apposito punteggio per ciascun calciatore in base a bonus/malus ed alle principali caratteristiche richieste. Sarà inoltre compito dell'applicazione generare delle liste di calciatori per alcune funzionalità specifiche (quali migliori goleador, migliori assistman, giocatori più corretti, giocatori più presenti, ...).

Descrizione preliminare delle funzionalità previste per l’applicazione software

L'applicazione si occuperà di fornire le migliori soluzioni in base al budget disponibile. La libera scelta è affidata all'utente mentre l'applicazione avrà il compito di fornire dei suggerimenti. Nell'interfaccia iniziale l'utente dovrà inserire il budget totale disponibile e quello che vorrebbe utilizzare per ciascun ruolo. Una volta inseriti i dati si attiverà un'interfaccia per la ricerca dei calciatori e per il loro inserimento in rosa. Durante la ricerca l'utente avrà la possibilità, attraverso un menù a tendina, di generare per ogni ruolo una lista di calciatori in base alla funzionalità selezionata nell'apposito menù. Tra le principali funzionalità sarà disponibile la classifica dei giocatori in base al punteggio generato dall'algoritmo ricorsivo,oltre alle funzionalità precedentemente descritte ed a quelle classiche(tra cui ricerca per nome e ricerca per squadra). Una volta inserito un calciatore in rosa sarà compito dell'applicazione ricalcolare le soluzioni ottimali in base al nuovo budget disponibile.

fulcorno commented 5 years ago

ok, va bene, proposta approvata. Mi piace in particolare la "scelta guidata" (l'algoritmo definisce una rosa ottimale, l'utente seleziona quale giocatore realmente vuole inserire), se l'ho capita bene.