Advertisement
Guest User

Untitled

a guest
Jul 30th, 2014
1,027
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. # Fill in the defect rates and decay factor however.
  2. # Decay factor is 1-f: if 10% fewer people defect in generation n+1 than generation n, set defector_decay_factor to 0.9.
  3. # Pulled the stats here from http://www.patheos.com/blogs/lovejoyfeminism/2012/01/quiverfull-outbreeding-the-world.html
  4. # Quiverfulls currently have a high defect rate, and Amish currently have a low defect rate...
  5. # ...so change the strings in the puts commands as necessary.
  6. # Could be modified to have specific decay factors for each defect rate, but I didn't do that.
  7. atheists = 90000000
  8. atheist_birth_rate = 2.0
  9. christians = 8000000
  10. christian_birth_rate = 4.0
  11. quiverfulls = 2000000
  12. quiverfull_birth_rate = 8.0
  13. a_c_defect_rate = 0.0
  14. a_q_defect_rate = 0.0
  15. c_a_defect_rate = 0.0
  16. c_q_defect_rate = 0.0
  17. q_a_defect_rate = 0.0
  18. q_c_defect_rate = 0.0
  19. generations = 3
  20. defector_decay_factor = 1.0
  21.  
  22. def percent(n, total)
  23. return ((n.to_f / total) * 100).round
  24. end
  25.  
  26. def round(n)
  27. return (n / 1000000).round.to_s + " million"
  28. end
  29.  
  30. total = atheists + christians + quiverfulls
  31.  
  32. (generations+1).times do |i|
  33. puts "Generation #{i}"
  34. puts "Atheists: #{percent(atheists, total)}%, #{round(atheists)}, decay rates = #{a_c_defect_rate.round(2)}, #{a_q_defect_rate.round(2)}"
  35. puts "Christians: #{percent(christians, total)}%, #{round(christians)}, decay rates = #{c_a_defect_rate.round(2)}, #{c_q_defect_rate.round(2)}"
  36. puts "Quiverfulls: #{percent(quiverfulls, total)}%, #{round(quiverfulls)}, decay rates = #{q_a_defect_rate.round(2)}, #{q_c_defect_rate.round(2)}"
  37. puts ''
  38.  
  39. atheists = (atheists / 2) * atheist_birth_rate
  40. christians = (christians / 2) * christian_birth_rate
  41. quiverfulls = (quiverfulls / 2) * quiverfull_birth_rate
  42. total = atheists + christians + quiverfulls
  43.  
  44. a_c_defectors = atheists * a_c_defect_rate
  45. a_q_defectors = atheists * a_q_defect_rate
  46. c_a_defectors = christians * c_a_defect_rate
  47. c_q_defectors = christians * c_q_defect_rate
  48. q_a_defectors = quiverfulls * q_a_defect_rate
  49. q_c_defectors = quiverfulls * q_c_defect_rate
  50.  
  51. atheists -= a_c_defectors
  52. christians += a_c_defectors
  53. atheists -= a_q_defectors
  54. quiverfulls += a_q_defectors
  55.  
  56. christians -= c_a_defectors
  57. atheists += c_a_defectors
  58. christians -= c_q_defectors
  59. quiverfulls += c_q_defectors
  60.  
  61. quiverfulls -= q_a_defectors
  62. atheists += q_a_defectors
  63. quiverfulls -= q_c_defectors
  64. christians += q_c_defectors
  65.  
  66. a_c_defect_rate = a_c_defect_rate * defector_decay_factor
  67. a_q_defect_rate = a_q_defect_rate * defector_decay_factor
  68. c_a_defect_rate = c_a_defect_rate * defector_decay_factor
  69. c_c_defect_rate = c_q_defect_rate * defector_decay_factor
  70. q_a_defect_rate = q_a_defect_rate * defector_decay_factor
  71. q_c_defect_rate = q_c_defect_rate * defector_decay_factor
  72. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement