in Matematica

Algoritmo di My Best District

Ho già spiegato in maniera abbastanza esaustiva (spero, altrimenti fatemelo sapere!) cosa è My Best District, dove e come lo abbiamo realizzato, quali sono i punti di forza e tante altre cose che trovate descritte in questo articolo.

Se vi trovate in questa pagina e non avete letto l’articolo precedente su My Best District vi anticipo che è inutile continuare la lettura. Leggetelo e poi ritornate su questa pagina. Qui, infatti, spiegheremo meglio un “pezzo” di My Best District: diciamo il cuore, ossia l’algoritmo matematico che abbiamo realizzato per calcolare il punteggio da dare a ciascun quartiere.

Non voglio parlare in questa pagina di cosa è un algoritmo matematico riservandomi la possibilità di fare un approfondimento su qualche articolo successivo. Per il momento vi basti sapere che un algoritmo matematico può anche essere rappresentato mediante una equazione o, come si diceva alle scuole, una formuletta. Una formuletta che spesso esce fuori quasi per caso (Eureka!) dopo ore e ore, giorni e giorni, notti e notti passate a fare ragionamenti, fare ragionamenti, fare ragionamenti.

Bene, nelle prossime righe vediamo qual è la formuletta che muove My Best District.

Ringrazio Lea Lenoci per la collaborazione nella stesura di questo documento.

Algoritmo Matematico

Variabili

  • Il Comune di Bari è suddiviso in 5 Municipi:
    usiamo l’indice j = 1, ..,5 per indicare il j-esimo Municipio.
  • L’utente esprimerà il suo punteggio in relazione a 4 macroaree (salute, ambiente, servizi al cittadino e cultura):
    usiamo l’indice k = 1, ..,4 per indicare la k-esima macroarea e indichiamo con xkil punteggio dato alla k-esima macroarea del suo Municipio.
  • Abbiamo considerato gli open data che riguardano 10 servizi (scuole, aree verdi, park ride, microattività, ospedali, associazioni culturali, parchi svago, fermate Amtab, farmacie/pile/umido, monumenti):
    usiamo l’indice i = 1, ..,10 per indicare l’i-esimo servizio e indichiamo con xjij = 1,..,5 e
    i = 1,..,10 ) il numero di servizi di tipo i presenti nel j-esimo Municipio.

Creazione della matrice dei pesi

Abbiamo associato un peso a ciascun servizio, ottenendo così la seguente matrice:

servizi al cittadino

ambiente

cultura

salute

scuole

2

1

7

0

aree verdi

1

5

1

3

microattività

4

3

1

2

monumenti

0

3

6

1

ospedali

2

0

0

8

parchi svago

2

2

3

3

park ride

4

4

0

2

farmacie/pile/umido

3

4

1

2

associazioni culturali

1

1

6

2

fermate Amtab

6

2

0

2

Indichiamo con aik (i = 1,..,10, k = 1, ..,4) gli elementi di tale matrice.
Per assicurarne la consistenza, la stessa matrice gode delle seguenti proprietà:

1. a_{ik} \in [1, 10] \forall i, \forall k, ossia ogni peso è un numero compreso tra 0 e 10;
2. \sum_{k=1}^4 a_{ik} = 10, \forall i, ossia la somma di ciascuna riga è pari a 10;
3. \sum_{i=1}^{10} a_{ik} = 25, \forall k, ossia la somma di ciascuna colonna è pari a 25.

Equazione Finale

L’indicatore di qualità Qj che l’utente assegnerà al j-esimo Municipio sarà dato dalla seguente formula:

    \[Q_j = \sum_{k=1}^4 x_k \left ( \sum_{i=1}^{10} x_{ji}a_{ik} \right )\]

Questo è quanto 🙂
#ImproveTheWorld

 

Fasi del lavoro mentre si cerca di arrivare alla formula

Fasi del lavoro mentre si cerca di arrivare alla formula

Share