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

Simulazione e gestione flussi migratori #85

Closed TheSt1ny closed 2 years ago

TheSt1ny commented 2 years ago

Studente proponente

s269631 Destiny Okpekpe

Titolo della proposta

Simulazione e gestione flussi migratori

Descrizione del problema proposto

In un mondo occidentale sempre più meta di destinazione per la ricerca di un futuro migliore da parte di migranti, diventa fondamentale essere in grado di gestire i flussi migratori nel migliore dei modi. Per far ciò è importante avere idea di come questi fenomeni siano influenzati da fattori come situazione economica, guerre, carestie, epidemie, disatri naturali e ambientali (in base a situazioni simili del passato)

Descrizione della rilevanza gestionale del problema

Un applicativo di questo tipo può supportare le decisioni di chi gestisce, in questo caso un governante/politico. Esso, in base alle informazioni ottenute, potrà di conseguenza capire che politiche applicare alla situazione, trovando un bilancio tra spese e impopolarità delle scelte.

Descrizione dei data-set per la valutazione

Kaggle: dataSet sugli abitanti dei vari stati (in base agli eventi una percentuale di questi migrerà Kaggle: vari dataSet sui fattori elencati in precedenza ed il loro impatto sulle migrazioni negli anni passati DataSet countries del corso: per avere il grafo degli stati Internet: per avere altre informazioni come "indice di attrattvità di uno stato destinazione", costo gestione migranti, tempi di spostamento di migranti in base alla rotta ecc

Descrizione preliminare degli algoritmi coinvolti

Grafi: Disegnare la mappa degli stati e cercare un percorso per raggiungere stati destinazione (Europa e nord America)

Simulazione ad eventi: Simulazione dell'andamento migratorio sotto specifici eventi (guerre, carestie, disastri ambientali ecc)

Ottimizzazione: Una volta simulati i vari eventi, ricerca della soluzione che massimizzi gli interessi dell'utente (spesa minima, popolarità massima, via di mezzo ecc)

Descrizione preliminare delle funzionalità previste per l’applicazione software

L'interfaccia permetterà all'utente di:

Selezionare lo stato di interesse di gestione (europeo o nordamericano).

Selezionare vari stati esteri, il tipo di evento che li coinvolge (crisi economica, guerra, disastro ambientale, carestia, pandemia ecc), il livello di gravità del fenomeno (intero da 1 a 5), il tempo di inizio dell'evento

Selezionare l'approccio da utilizzare, ovvero se preferire politiche bloccanti, permissive, affidarsi a stati bloccanti o miste.

Questo permetterà di impostare il mondo esterno a cui il simulatore dovrà fare affidamento e ottenere i valori di output di spesa e popolarità

Una seconda schermata permetterà all'utente di settare i primi due parametri e eventuali vincoli da rispettare (spesa, impopolarità, morti ecc). In questo caso l'applicativo, tra tutte le simulazioni troverà la strategia (bloccante,permissiva ecc) che meglio soffisfa i vincoli imposti.

fulcorno commented 2 years ago

Il problema proposto è molto interessante e rilevante. La descrizione però è un po' troppo generica/superficiale per poterla valutare nel merito. I data set che hai citato non sono bene definiti, non è detto che sia semplice trovare le informazioni che ti servono. Suggerisco di analizzare con maggior dettaglio i dati effettivamente disponibili, per evitare di fare delle scelte difficili da implementare per mancanza di dati. Anche la parte di algoritmo non mi è molto chiara. Si parla di "scelte" fatte dagli stati e di "strategie" da adottare, ma non mi è chiaro quali siano tali scelte, come si decida (algoritmicamente) quali scelte fare, e quale sia il "modello" di simulazione che permetta di correlare una scelta "politica" ad un conseguente flusso migratorio.

Ti chiederei quindi ci cercare di dettagliare meglio due punti:

Nota: il dataset CountryBorders non è adatto, in quanto rappresenta i confini del passato, non quelli del presente.

TheSt1ny commented 2 years ago

-Nella simulazione si sceglierà uno stato di destinazione (UE o nord America). Poi un max di tre eventi (crisi climatica, pandemia, guerra) in altrettanti stati ed una gravità (da 1 a 3). In base alla gravità (che sarà comparata ad altri eventi noti come Covid19) una percentuale (parametro della simulazione) della popolazione di quello stato migrerà verso i confini della destinazione finale scelta all'inizio. Durante il viaggio, ogni migrante potrà stanziarsi (10%), proseguire(70%) o non farcela (20%). Gli stati intermedi, che vedranno la loro popolazione aumentare di numero, simuleranno gli stessi eventi con i dati aggiornati. Alla fine della simulazione si avrà il numero di persone che ha raggiunto gli ultimi stati prima di approdare in quello destinazione (es nord africa e balcani per l'UE). A questo punto, l'utente potrà scegliere un numero tra 1(politica bloccante) e 9(politica permissiva), indicando come vuole affrontare il flusso migratorio. Questi parametri saranno convertiti in percentuale sulle possibilità del migrante di arrivare allo stato di destinazione. Un po' come se partisse una seconda simulazione, dove la probabilità di riuscita dipenderà dai parametri precedenti (min 10% prob riuscita max 90% prob riuscita). In questo caso però i parametri di uscita saranno il numero di arrivi e di morti. -Se CountryBorders non è adatto, ho trovato qui https://www.geodatasource.com/addon/country-borders un dataset con i confini attuali e qui https://www.kaggle.com/datasets/fernandol/countries-of-the-world un dataset da cui estrarre i dati sulla popolazione attuale (Il numero di migranti sarà una percentuale di questa)

TheSt1ny commented 2 years ago

Forse questa versione è un po' più chiara, sostanzialmente ho tolto la parte di ottimizzazione e mi concentro più sulla parte di simulazione (teoricamente sono due ma il codice sarà molto simile)

fulcorno commented 2 years ago

Ok, va bene. Se ben capisco, il tipo di eventi e la gravità andranno ad influenzare le percentuali di evoluzione da uno stato ad un altro, ma non cambiano significativamente il tipo di simulazione effettuata. Nel valutare l'effetto delle scelte politiche, bisognerebbe anche tenere conto della popolazione dei singoli stati (perché l'impatto di certi flussi può essere più "sentito" in stati più piccoli). Con queste precisazioni, la proposta è accettata.