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
- Mercoledi, 15.30-17.00, Aula computer BEC;
- Giovedi, 14.15-15.45, S. Giobbe 2B;
- Venerdi, 14.15-15.45, S. Giobbe 2B.
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à:
- Introduzione a R: programmazione, uso di vettori, funzioni.
- Algoritimi genetici: strategie evolutive per l'ottimizzazione (non stardard).
- Algoritimi genetici e scienze economiche e sociali.
- Applicazioni: modelli di spesa pubblica, cooperazione, apprendimento, El Farol Bar problem.
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
- Svolgete un esercizio a scelta (nuovo!) della dispensa di R.
- Risolvete uno dei problemi (o effettuate un esperimento) fra quelli della sezione 2.5 del testo (Royal Road). Potete prendervi qualche libertà documentata.
- 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.
- 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.
- 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]