dinamica dei sistemi - home - dipartimento di informatica · 3,500 4,000 4,500 5,000 0 20 40 60 80...

48
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.

Upload: duongthien

Post on 15-Feb-2019

218 views

Category:

Documents


0 download

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.

Il sistema e i suoi confini

Sistema

Realtà esternaConfini del Sistema

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.

• Livelli o variabili di stato

• Flussi

• Variabili ausiliarie

Dinamica dei Sistemi

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

Livello(t + ∆t) = Livello(t)+

(FlussoInput(t) − FlussoOutput(t))∆t

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

∆t = 1 ∆t = 0.5

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 (2)

λ(x) = λ0m − x

m

λ0

m x

λ(x)

Dinamiche di crescita (3)

dx

dt= xλ(x) = xλ0

m − x

m

x(t) =x0eλ0t

1 + x0m (eλ0t − 1)

Logistica

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

Andamento delle popolazioni

400,000

600

300,000450

200,000300

100,000150

00

0 100 200 300 400 500 600 700 800 900 1000Time (Week)

Prede : Predatori1RKPredatori : Predatori1RK