Think Complexity: Complexity Science and Computational Modeling

Front Cover
"O'Reilly Media, Inc.", Mar 2, 2012 - Computers - 142 pages

Expand your Python skills by working with data structures and algorithms in a refreshing context—through an eye-opening exploration of complexity science. Whether you’re an intermediate-level Python programmer or a student of computational modeling, you’ll delve into examples of complex systems through a series of exercises, case studies, and easy-to-understand explanations.

You’ll work with graphs, algorithm analysis, scale-free networks, and cellular automata, using advanced features that make Python such a powerful language. Ideal as a text for courses on Python programming and algorithms, Think Complexity will also help self-learners gain valuable experience with topics and ideas they might not encounter otherwise.

  • Work with NumPy arrays and SciPy methods, basic signal processing and Fast Fourier Transform, and hash tables
  • Study abstract models of complex physical systems, including power laws, fractals and pink noise, and Turing machines
  • Get starter code and solutions to help you re-implement and extend original experiments in complexity
  • Explore the philosophy of science, including the nature of scientific laws, theory choice, realism and instrumentalism, and other topics
  • Examine case studies of complex systems submitted by students and readers
 

Contents

Chapter 1 Complexity Science
1
Chapter 2 Graphs
11
Chapter 3 Analysis of Algorithms
21
Chapter 4 Small World Graphs
37
Chapter 5 ScaleFree Networks
45
Chapter 6 Cellular Automata
57
Chapter 7 Game of Life
73
Chapter 8 Fractals
81
Chapter 10 AgentBased Models
97
Sugarscape
107
Ant Trails
115
Directed Graphs and Knots
121
The Volunteers Dilemma
125
Appendix A Call for Submissions
131
Appendix B Reading List
133
Index
135

Chapter 9 SelfOrganized Criticality
87

Other editions - View all

Common terms and phrases

About the author (2012)

Allen Downey is an Associate Professor of Computer Science at the Olin College of Engineering. He has taught computer science at Wellesley College, Colby College and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master's and Bachelor's degrees from MIT.

Bibliographic information