Economia Computazionale

[ Home (English) | Didattica | Research | Bio / Publications / Etc]



Qui troverete informazioni e materiale sul corso di "Economia Computazionale" per la laurea triennale in Economia e Gestione dei Sistemi Complessi ed Economia Aziendale, inclusi avvisi vari, spostamenti d'orario, link utili...

Orario delle lezioni

Libro di testo e progrmma del corso

Il testo principale sarà Dan Ashlock, "Evolutionary Computation for Modeling and Optimization", edito da Springer ma disponibile in pdf. Indicativamente copriremo i primi 4 capitoli, il capitolo 9 e una selezione dei capitoli 5, 6, 7. Il programma svolto sarà: Il programma in dettaglio sarà pubblicato su questa pagina, man mano che si svolgono le lezioni.

I settimana

Presentazione del corso, modello di Schelling. Introduzione a R: dispensa sull'ambiente R. Listato del programma progdim.R descritto nella dispensa introduttiva.

Primo set di problemi: scadenza 8/05/09. Risolvete due esercizi a scelta fra quelli della sezione 7 della dispensa introduttiva "Basi di R", oltre che l'esercizio corrispondente all'ultima cifra del vostro numero di matricola.

II settimana

Discussione di progdim.R. Cenni introduttivi agli algoritmi genetici.

III settimana

Algoritmi genetici: un semplice string evolver. Per provare a cambiare la funzione di fitness, passando a Royal road come fatto in classe, copiate e incollate quanto segue prima di eseguire string_evolver_basic.R:
b <- 8 # block size
bstring <- rep(1,b)
computefitness <- function(u){
    z <- cumsum(u==bstring)[seq(b,size,by=b)]
    b*sum(diff(c(0,z))==b)
}
Discussione di modelli d'evoluzione (sez 2.1 pag 32 del testo), operatori d'incrocio e mutazione (sez 2.2 e 2.3). Funzione di tipo
Royal road. Problemi polimodali: passeggiate self-avoiding (non intersecantesi, sez 2.6), self-avoiding_walk.R.

Secondo set di problemi: scadenza 18/05/09

  1. Svolgete un esercizio a scelta (nuovo!) della dispensa di R.
  2. Risolvete uno dei problemi (o effettuate un esperimento) fra quelli della sezione 2.5 del testo (Royal Road). Potete prendervi qualche libertà documentata.
  3. Discutete quello che succede se l'alfabeto cambia (ad esempio {0,1,2}) in un problema di tipo string evolver (sia classico che Royal road).

IV settimana

Ottimizzazione di funzione a valori reali con algortmi evolutivi (cap. 3 del testo): il codice di base è optimizer_1_12.R. Specializzazione su nicchie (dominio e codominio) e interpretazione economica degli algoritmi evolutivi, vedi l'articolo di Riechmann. Nella lezione in aula informatica abbiamo visto come implementare modelli d'evoluzione roulette o ranking. Inserite prima del ciclo for(i...) la riga:
popmatrix <- popmatrix[sample(1:popsize,popsize,replace=T,prob=fitness),]
oppure
popmatrix <- popmatrix[sample(1:popsize,popsize,replace=T,prob=rank(fitness)),]
Scaricate il codice contenete le specializzazioni di nicchia.

Terzo set di problemi: 27/05/09.

  1. Scegliete una funzione (non banale) da ottimizzare, potete usare una di quelle elencate nel testo o quella con tre massimi vista in classe. Confrontate gli effetti del modello d'evoluzione 4-2 con quello basato su roulette o rank.
  2. Con la stessa funzione di prima, selezionate casualmente la popolazione iniziale in (tutto l'insieme) [-5,5]x[-5,5], [-10,10]x[-10,10] e [-100,100]x[-100,100]. Quante volte nei tre casi l'algoritmo converge alla soluzione? Scrivete qualche considerazione sull'effetto della grandezza del dominio e sulla necessità di specializzazione di nicchia.

V settimana

Problema del commesso viaggiatore (TPS, codice utilizzato in aula computer). Potete usare il comando mostra(2,col=2) per visualizzare il giro n.2 con il colore 2 (rosso). El Farol bar problem (sorgente di R: cambiate p, ordine del modello autoregressivo, e numtime, numero di settimane usate per raccogliere dati prima di cambiare strategia). Public Investment Game (PIG, pig_simple.R e pig.R).

Nell'ultima lezione del 28 maggio abbiamo esplorato NetLogo e una versione dinamica del PIG. Potete sperimentare con vari valori dei parametri, modificando gli slider, premere SETUP e sucessivamente GO.

Link interessanti

Provate a scaricare da Jstor l'articolo di Arthur Brian, "Inductive Reasoning and Bounded Rationality", The American Economic Review, vol. 84, no. 2, pp. 406-411 [in ogni caso c'è sul cd].

Provate a scaricare i paper di Nagurney Anna, "Paradoxes in networks with zero emission links: implications for telecommunications versus transportation" del 2001 e "Congested urban transportation networks and emission paradoxes" del 20000, ambedue pubblicati su Transportation Research part D che trovate su sito di Elsevier. Se avete un po' di curiosità a proposito dell'economia computazionale visitate il sito di Leigh Tesfatsion su Agent-Based Computational Economics. Si tratta di pagine molto ricche di spunti, che potete utilizzare anche per trovare applicazioni, idee e articoli di vostro interesse. È utile anche la lettura di questo paper di Blake Lebaron.

Le molte anime dell'economia computazionale sono illustrate in un survey di Tesfatsion. Trovo interessanti anche queste considerazioni di Axelrod su come (e perché) fare simulazione.



[ Home (English) | Didattica | Research | Bio / Publications / Etc]