dinamica dei sistemi - home - dipartimento di informatica · 3,500 4,000 4,500 5,000 0 20 40 60 80...
TRANSCRIPT
Dinamica dei Sistemi
• La realtà è vista come un sistema, cioè come un insieme di elementi/parti fra di loro interconnesse.
• I sistemi che consideremo sono caratterizzati dal fatto che evolvono nel tempo, come effetto di stimoli esterni e della interdipendenza delle loro parti: sono sistemi dinamici.
• Nella Dinamica dei Sistemi i modelli non sono intesi usualmente come modelli predittivi, o almeno non è questo il loro principale scopo. Non hanno come obiettivo la previsione accurata di ciò che avverrà nel futuro in un dato sistema, come accade ad esempio per i modelli per le previsioni atmosferiche.
• Si propongono invece di essere di aiuto nel prendere decisioni, cioè sono strumenti che servono per individuare linee di azione per risolvere problemi.
Andamenti
0
2
4
6
8
10
12
14
0 10 20 30 40 50 60
Crescita
0
20
40
60
80
100
120
140
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57
Oscillazioni
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10 20 30 40 50 60
Decrescita
Passi della modellazione
• Individuazione delle variabili chiave ed analisi del loro andamento (si tratta delle variabili, spesso una sola, da cui è partita la presa di coscienza dell’esistenza di un problema)
• Individuazione degli elementi più rilevanti del sistema in esame e delle variabili che li rappresentano, o comunque ad essi associate.
• Individuazione delle relazioni fra le diverse variabili, con particolare riferimento a relazioni causali.
• Individuazione delle principali catene, o anelli, causali.
Un semplice esempio:la dinamica di una popolazione
• livello: popolazione (numerosità)
• flussi: numero di nascite e di morti nell’unità di tempo (ad esempio all’anno)
• variabili ausiliarie: (tasso di nascita e tasso di mortalità)
Livelli e flussi
Popolazione
Nascite
Morti
Popolazione: P(t)Natalità: NMortalità: MNascite: NxP(t)Morti: MxP(t)
dP (t)dt
= N × P (t) − M × P (t) = (N − M) × P (t)
dP (t)dt
− (N − M) × P (t) = 0
e−(N−M)t × dP (t)dt
− (N − M) × e−(N−M)t × P (t) = 0
d
dt(P (t) × e−(N−M)t) = 0
∫ t
o
d
ds(P (s) × e−(N−M)s)ds = 0
∫ t
o
d
ds(P (s) × e−(N−M)s)ds = 0
P (t) = P (0) × e(N−M)t
0
2
4
6
8
10
12
14
0 10 20 30 40 50 60
N > M N < M
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10 20 30 40 50 60
P (t) × e−(N−M)t − P (0) = 0
Crescita esponenziale
Crescita lineare Crescita esponenziale(+.02) tasso del 0.02
0 1.0000 1.00001 1.0200 1.02002 1.0400 1.04043 1.0600 1.06124 1.0800 1.08245 1.1000 1.10416 1.1200 1.12627 1.1400 1.14878 1.1600 1.17179 1.1800 1.1951
10 1.2000 1.2190
Crescita esponenziale
• Con un tasso di crescita del 2% annuo, si ha un raddoppio ogni 35 anni
Crescita lineare
Crescita esponenziale
Discretizzazione:
P (t + ∆t) = P (t) + P (t)(N − M)∆t
=B4+B4*($C$4-$D$4)/1000
Crescita della popolazione
0
500
1,000
1,500
2,000
2,500
3,000
3,500
4,000
4,500
5,000
0 20 40 60 80 100 120
dP (t)dt
− (N − M) × P (t) = 0
P (t + ∆t) − P (t)∆t
= (N − M)P (t)
(∆t = 1)
0 0.5 1
P (t)
P (t + 1)
P (t + 0.5)
P (t + 1)
P (t + 1) = P (t) + P (t)(N − M) = P (t)(1 + N − M)
P (t + 0.5) = P (t) + P (t)(N − M)0.5 = P (t)(1 + 0.5(N − M))
P (t + 1) = P (t + 0.5)(1 + 0.5(N − M)) = P (t)(1 + 0.5(N − M))2
Crescita limitata
Consideriamo la crescita di una popolazione, assumendo che ci siano limiti alle risorse utilizzabili.
Dinamiche di crescita (1)
x0
λ0
m
popolazione al tempo 0
massimo tasso di crescita (nel caso di risorse illimitate)
massima popolazione sostenibile, date le risorse
λ(x) tasso di crescita in funzione della popolazione
Dinamiche di crescita (4)
x(t + ∆t) = x(t) + [λ(t)x(t) − µx(t)]∆t
Tasso di mortalità
Popolazione
Crescita Decrescita
Lambda0
LambdaDisponibilità Risorse
Risorse totali
Tasso di mortalità
Dinamiche di crescita (5)
Popolazione
Crescita +<Decrescita>
Lambda
+
+
Disponibilità Risorse+
<Lambda0>
-
<Risorse totali>
+
-
Popolazione
Crescita +<Decrescita>
Lambda
+
+
Disponibilità Risorse+
<Lambda0>
-
<Risorse totali>
+
-
Dinamiche di crescita (6)Condizioni di equilibrio
x(t + ∆t) = x(t) + [λ(t)x(t) − µx(t)]∆t
λ0m − x
m= µ
λ0m − λ0x = µm
xλ0
m= λ0 − µ
x∗ = mλ0 − µ
λ0
Valore di equilibrio della popolazione
Dinamiche di crescita (7)
x(t + ∆t) = x(t) + [λ(t)x(t) − µx(t)]∆t
µ = 0.2
λ0 = 0.5
Crescita popolazioni1,500
1,200
900
600
300
0
0 5 10 15 20 25 30 35 40 45 50Time (Month)
Lambda0 = 0.5 popolazione
x∗ = 10000.5 − 0.2
0.5= 600
Dinamiche di crescita (8)
x(t + ∆t) = x(t) + [λ(t)x(t) − µx(t)]∆t
µ = 0.2
λ0 = 1
Crescita popolazioni1,500
1,200
900
600
300
0
0 5 10 15 20 25 30 35 40 45 50Time (Month)
Lambda0 = 1 popolazione
x∗ = 10001 − 0.2
1= 800
Dinamiche di crescita (9)
x(t + ∆t) = x(t) + [λ(t)x(t) − µx(t)]∆t
µ = 0.2
λ0 = 2
x∗ = 10002 − 0.2
2= 900
Crescita popolazioni1,500
1,200
900
600
300
0
0 5 10 15 20 25 30 35 40 45 50Time (Month)
Lambda0 = 2 popolazione
Dinamiche di crescita (10)
x(t + ∆t) = x(t) + [λ(t)x(t) − µx(t)]∆t
µ = 0.2
λ0 = 3
x∗ = 10003 − 0.2
3= 933.33
Crescita popolazioni1,500
1,200
900
600
300
0
0 5 10 15 20 25 30 35 40 45 50Time (Month)
Lambda0 = 3 popolazione
Dinamiche di crescita (11)
x(t + ∆t) = x(t) + [λ(t)x(t) − µx(t)]∆t
Crescita popolazioni1,500
1,125
750
375
0
0 5 10 15 20 25 30 35 40 45 50Time (Month)
Lambda0 = 0.5 popolazioneLambda0 = 1 popolazioneLambda0 = 2 popolazioneLambda0 = 3 popolazione
Dinamiche di crescita (12)
λ0 = 3
µ = 0.2
Crescita popolazioni1,500
1,200
900
600
300
0
0 5 10 15 20 25 30 35 40 45 50Time (Month)
Lambda0 = 3 popolazione
Per i valori 2 e 3, abbiamo usato un valore di pari a 0.25. Se avessimo usato il valore 1 avremmo avuto andamenti caotici del tipo di quello riportato sotto:
∆t
∆t = 1
Diffusione di tecnologie
• Consideriamo il processo attraverso cui una nuova tecnologia si diffonde.
• Abbiamo una popolazione di partenza, potenzialmente disponibile ad adottare la tecnologia, ed alcuni individui (gli innovatori) che la hanno già adottata.
• Possiamo assumere che l’adozione avvenga con un processo di ‘contagio’. Quando un adottatore potenziale incontra un individuo che ha già adottato, allora viene a conoscenza della tecnologia e dei suoi vantaggi, e con una certa probabilità decide anche lui di adottarla.
Il modello
Potenzialiadottanti
Adottanti
Nuoviadottanti
+ +
Probabilitàdi adozione
iTasso Incontri c
++
Populazionetotale N
-
Numeroiniziale diadottanti
Andamento delle adozioni della nuova tecnologia
1,000
750
500
250
0
0 12 24 36 48 60 72 84 96 108 120Time (Day)
Adottanti : Current People
Un’altro modello di crescita di una popolazione
Giovani Adulti VecchiNascite Crescita Invecchiamento
Fertilità Donne adulte
Frazione Femmine
Tasso di crescitaTasso di
invecchiamento
Morti
Mortalità
Popolazione totale
Ipotesi
• Giovani: da 0 a 16 anni
• Adulti: da 17 a 42
• Vecchi: da 42 in poi, con una età media della popolazione di 72 anni
• Le morti avvengono solo fra la popolazione vecchia
• Il numero di nati è determinato dal numero di donne adulte e dal tasso di fertilità
Il numero di giovani che ogni anno diventano adulti è pari ad 1/16 dei giovani presenti. Si tratta di una semplificazione accettabile se la popolazione non varia velocemente.
Crescita(t) = Giovani(t) x Tasso_di_crescita
Tasso_di_crescita = 1/16
Invecchiamento(t) = Adulti(t) x Tasso_di_invecchiamento
Tasso_di_invecchiamento = 1/25
Morti(t) = Vecchi(t) x Mortalità
Mortalità = 1/30
2 figli per donna adulta200
170
140
110
80
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100Time (Month)
GiovaniAdultiVecchi
3 figli per donna adulta600
450
300
150
0
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100Time (Month)
GiovaniAdultiVecchi
4 Figli per donna adulta2,000
1,500
1,000
500
0
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100Time (Month)
GiovaniAdultiVecchi
5 Figli per donna adulta4,000
3,000
2,000
1,000
0
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100Time (Month)
GiovaniAdultiVecchi
Adulti
Crescita
+
Invecchiamento-
Donne adulte
+
Frazione Femmine
+
Tasso diinvecchiamento
Giovani
+
Tasso di crescita
Nascite
+
+
Fertilità
Vecchi Morti
Mortalità
Ciclo positivoCiclo negativo
Nel modello abbiamo assunto che le morti avvengano solamente fra la popolazione vecchia.
Si tratta di una ipotesi semplificativa. In realtà c’è un tasso di mortalità non nullo anche tra i giovani e gli adulti.
Si modifichi il modello inserendo un tasso di mortalità di valore 0.02 per i giovani e di valore 0.03 per gli adulti. Si ripetano poi gli esperimenti in questa nuova situazione.
Il modello Preda-PredatoreIl modello Preda-Predatore è stato sviluppato dal matematico italiano Vito Volterra (1860-1940) per studiare un fenomeno che era stato evidenziato dallo zoologo Umberto D'Ancona.
Analizzando le statistiche relative alla pesca nel nord dell'Adriatico, D’Ancona aveva osservato che durante gli ultimi anni della prima guerra mondiale e negli anni immediatamente seguenti si era verificato un sostanziale aumento della percentuale dei predatori (Selaci) pescati. L’unica circostanza che appariva collegabile a questo incremento era la diminuzione dell'attività di pesca causata dalle attività belliche.
Le variabili di livello
Prede(t + ∆t) = Prede(t) + (Nascite Prede(t) − Morti Prede(t))∆t
Predatori(t + ∆t) = Predatori(t)+
(Nascite Predatori(t) − Morti Predatori(t))∆t
Prede
Predatori
Nascite Prede Morti Prede
Nascite Predatori Morti Predatori
Le variabili di flusso
Nascite Prede(t) = A · Prede(t)
Morti Predatori(t) = C · Predatori(t) + Predatori Pescati(t)
Morti Prede(t) = Prede Catturate(t) + Prede Pescate(t)
Nascite Predatori(t) = D · Incontri Prede Predatori(t)
Le variabili ausiliarie
Prede Catturate(t) = B · Incontri Prede Predatori(t)
Incontri Prede Predatori(t) = Prede(t) · Predatori(t)
Prede Pescate(t) = ε · Prede(t)
Predatori Pescati(t) = ε · Predatori(t)
Il modello completo
Prede
Predatori
Nascite Prede Morti Prede
Nascite Predatori Morti Predatori
A
B
D
Prede CatturatePrede Pescate
Predatori Pescati
Incontri Prede Predatoriepsilon
C