Sau Sheong Chang
October 20, 2014
53

# Money, Sex and Evolution (v3)

Presented at the Distill Conference and GeekcampSG 2014

October 20, 2014

## Transcript

1. ### Money,  Sex  and  Evolu0on   Agent-­‐based  modeling   with  Ruby

Sau  Sheong  Chang   PayPal   Oct  2014

3. None
4. None

6. ### •  Boids  by  Craig  Reynolds   •  Models  animal  mo0ons

through  3  simple  rules,   resul0ng  in  ﬂocking  behavior   •  Emergence  –  complex  behavior   arises  from  simple  rules   •  Eventual  basis  for  some  impressive  cinema   anima0on  –  Lord  of  the  Rings,  Batman  Returns,   Lion  King  etc
7. ### Agent-­‐based  modeling     •  Autonomous  agents  interac0ng  with  each

other  and  the  environment   •  Used  in  analysing  supply  chain  op0miza0on,   traﬃc  paSerns,  economic  models,  spread  of   epidemics   •  Inﬂuenced  by  John  Conway’s  Game  of  Life   •  Heavily  inﬂuenced  by  Epstein  and  Axtell’s   Sugarscape  simula0ons
8. ### Utopia   •  Ar0ﬁcial  world  called  Utopia   •  Populated

by  roids  (implementa0on  of  boids   in  Ruby)   •  Free  to  wander  through  an  inﬁnite  landscape   •  Simula0ons  are  created  with  Ruby  and  the   Gosu  library

10. None
11. None

13. ### Change  behavior  in  base  simula0on   •  Roids  now  have

an  energy  level  (randomly   assigned,  max  100)   •  At  every  0ck,  roids  lose  1  energy   •  If  energy  level  reaches  0,  it  will  die   •  To  prevent  this,  it  will  ac0vely  seek  out  food   and  consume  it   •  Consuming  food  replenishes  energy  level   •  (But  roids  are  s0ll  immortal)
14. ### Data  collec0on   •  At  every  0ck  record  the  energy

level  of  each   roid   •  Do  this  un0l  the  end  of  the  world  (simula0on   completes)

17. ### On  the  day  of  reckoning   Most  roids  are  dead

A  few  roids  have  a   lot  of  energy
18. ### Gini  coeﬃcient  and  Lorenz  curve   •  The  Gini  coeﬃcient

is  a   measure  of  the  inequality  of   a  distribu0on,  0  is  perfect   equality  and  1  is  perfect   inequality   •  Deﬁned  mathema0cally   based  on  the  Lorenz  curve   Area  is  the  amount   of  inequality
19. ### Lorenz  curve  on  inequality   Not  much   inequality

A  lot  of   inequality!
20. ### Observa0on   •  Over  a  period  of  0me,  a  small

percentage  of   the  popula0on  gets  a  large  propor0on  of  the   energy   •  What  is  the  cause  of  this?
21. ### Why  the  inequality?   •  Hard  work  and  inherent  talent/ability?

– All  roids  are  the  SAME   •  Some  roids  luckier  than  others  i.e.   random  distribu0on?   – If  it’s  random  then  it  should  follow  a  normal   distribu0on
22. ### The  rich  get  richer,  the  poor  get   poorer

•  Back  to  where  we  started  –  emergence   •  Small  changes  ripple  down  to  large  eﬀects   over  a  period  of  0me   •  Simple  local  rules  brings  complex  global   changes
23. None
24. ### Spicing  things  up  with  sex   •  Roids  have  gender

now  –  male  and  female   •  Males  are  blue,  females  are  red,  underaged  are     •  If  female  is  within  childbearing  age  (25  to  50   0cks)  and  if  it  has  enough  energy,  it  will  look  for  a   nearby  male     •  If  the  male  it  encounters  is  also  within   childbearing  age  and  have  enough  energy,  they   will  procreate  and  produce  a  baby  roid   •  Both  male  and  female  loses  energy  each  0me   they  procreate
25. ### Grim  reaper  arrives   •  With  birth  we  introduce  death

•  Each  roid  has  a  randomly  assigned  lifespan   •  Each  0ck  increases  the  age  of  the  roid   •  Roid  dies  when  it  reaches  its  lifespan  (no   maSer  how  much  energy  it  has)
26. ### Data  collec0on   •  We  want  to  inves0gate  how  the

popula0on   changes  once  we  introduce  sex  and  death   •  At  every  0ck  we  collect  the  popula0on  of  the   en0re  world,  as  well  as  popula0on  of  males   and  females

30. None
31. ### What  just  happened?   •  I  changed  a  parameter  -­‐

the  childbearing  age   •  Original   – CHILDBEARING_AGE  =  25..50   •  Changed   – CHILDBEARING_AGE  =  30..50   •  Does  it  happen  all  the  0me?  NO  -­‐  4  out  of  5   0mes
32. ### Looks  familiar?   •  Financial  crashes,  social  unrest  (Arab  Spring?),

animal  ex0nc0ons,  climate  change?   •  Simula0on  suggests  small  internal  factors  can   be  enough  to  trigger  crises  that  cannot  be   recovered   •  Not  necessarily  need  large  external  triggers
33. ### Things  are  NOT  as  stable   or  as  unrelated  as

we   like  to  think  it  is
34. None
35. ### Natural  selec0on   •  A  central  concept  in  evolu0on

•  “Survival  of  the  ﬁSest”   •  Organisms  with  more  suitable  aSributes  are   more  likely  to  reproduce  and  pass  these   aSributes  to  the  next  genera0on   •  Over  0me  these  aSributes  become   more  prominent
36. ### Natural  selec0on  in  Utopia   •  Previously  all  roids  have

the  same  aSributes,  only   diﬀerence  is  maximum  lifespan  and  energy  level   •  In  this  simula0on,  we  add  2  new  aSributes   –  Metabolism   How  well  the  roid  converts  the  food  it  eats  into  energy  (higher   number  beSer)   –  Vision  range   How  far  away  it  can  see  food  (higher  number  beSer)   •  Roid  babies  inherit  these  2  aSributes  from  their   parents
37. ### Crossover  of  gene0c  aSributes   •  We  follow  very  simple

Mendelian  rules  for   crossover   •  Assume  the  father  has  the  genotype  (m,v)  and   the  mother  has  genotype  (M,V)   •  Possible  genotypes  of  baby  are  (m,v),  (m,V),   (M,v)  and  (M,V)   •  We  randomly  chose  1  of  these  4  possibili0es
38. ### Data  collec0on   •  We  want  to  ﬁnd  out  how

the  metabolism  and   vision  range  aSributes  of  the  popula0on   changes  over  0me   •  At  every  0ck,  we  calculate  the  average   metabolism  and  vision  range  of  all  roids  that   are  alive

40. ### Natural  selec0on  in  ac0on!   Metabolism   improves  over

0me   Vision  range   improves  over   0me   Natural  selec0on  is   not  a  straight  line
41. ### What  did  we  just  see?   •  Natural  selec0on  -­‐

the  roids  with  the  beSer   aSributes  are  able  to  survive  longer  and   reproduce  with  similar  aSributes   •  Natural  selec0on  is  not  necessarily  a  straight   line  (vision  range  meanders  for  a  while)

43. None
44. ### Is  inheritance  any  good?   •  In  our  simula0ons,  when

a  roid  dies  of  old  age,   his  collected  energy  dissipates   •  What  happens  if  the  collected  energy  of  a  roid   is  passed  on  to  his  children  instead?   •  This  simulates  wealth  gathered  by  the  parents   being  inherited  by  the  children
45. ### Fourth  simula0on   •  Simula0on  the  same  as  the  evolu0on

simula0on  except  that  when  a  roid  dies,  the   energy  he  collects  over  his  life0me  is   distributed  to  his  children   •  Compare  the  evolu0on  simula0on  with  the   inheritance  simula0on
46. ### One  more  0me,  with  inheritance   With  inheritance,   natural

selec0on  gets   there  but  takes  a  longer   0me
47. ### Eﬀects  of  inheritance   •  From  the  simula0on,  inheritance  seem

stunt   evolu0onary  advances,  causing  natural   selec0on  to  take  a  longer  0me

Recap
49. ### Wrapup   •  Simula0ons  ≠  real  life,  but  is  good

to  isolate   factors  for  inves0ga0on   •  Conclusions  open  for  interpreta0on  (Lies,   damn  lies  and  simula0ons)   •  Programming  as  tools  to  discover  the  world   around  us
50. ### Miscellaneous  stuﬀ   •  Simula0on  –  Ruby,  Gosu   •

Analysis  –  Ruby,  Gruﬀ   •  hSps://github.com/sausheong/utopia   •  sausheong@gmail.com  -­‐  personal   •  sauchang@paypal.com  -­‐  work   •  @sausheong  -­‐  TwiSer