modelling biological & physical systems simon lynch [email protected]

8
modelling biological & physical systems Simon Lynch [email protected]

Upload: brian-kelley

Post on 26-Mar-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelling biological & physical systems Simon Lynch s.c.lynch@tees.ac.uk

modelling biological & physical systems

Simon Lynch [email protected]

Page 2: Modelling biological & physical systems Simon Lynch s.c.lynch@tees.ac.uk

biological systems

• simple (eg: cell growth)• swarming & flocking• evolution• ecosystems

Page 3: Modelling biological & physical systems Simon Lynch s.c.lynch@tees.ac.uk

physical systems

examples...• atomic (sub-molecular) small &

fast

• molecular (fluid particles, etc)• erosion big & slow

• continental movement• weather systems lots to

• climate change model

Page 4: Modelling biological & physical systems Simon Lynch s.c.lynch@tees.ac.uk

moths, fires, etc

Page 5: Modelling biological & physical systems Simon Lynch s.c.lynch@tees.ac.uk

the problem

complexity #1 – scale

• spatial - too big or too small• temporal - too fast or too slow• logical - too many objects /

parts

Page 6: Modelling biological & physical systems Simon Lynch s.c.lynch@tees.ac.uk

the problem

complexity #2 – interactivity

• lots of interaction between parts

• lots of interdependence between parts

• emergent behavioureg: cellular automata

Page 7: Modelling biological & physical systems Simon Lynch s.c.lynch@tees.ac.uk

computational modelling

• spreadsheets, etc?ok for some v.simple systems but – no observation

• programming languagesok but – big effort needed (& lots of time)

• special modelling toolseg: NetLogo (ccl.northwestern.edu/netlogo/)good & quick but some limitations

Page 8: Modelling biological & physical systems Simon Lynch s.c.lynch@tees.ac.uk

sample NetLogo codeto move-thru-field ;; turtle procedure

ifelse (light-level <= ( 1 / (10 * sensitivity) ))

[ ;; if there is no detectable light move randomly

rt flutter-amount 45 ]

[ ifelse (random 25 = 0)

;; add some additional randomness to movement

[ rt flutter-amount 60 ]

[ ;; turn toward the brightest light

maximize

;; if light ahead below sensitivity threshold

;; head to it otherwise move randomly

ifelse ( [light-level] of patch-ahead 1 / light-level

> ( 1 + 1 / (10 * sensitivity) ) )

[ lt ( direction * turn-angle ) ]

[ rt flutter-amount 60 ]

]]

if not can-move? 1

[ maximize ]

fd 1

end

from NetLogo sample model library"Moths" model