- STAFF PICKS
- GIFTS + GIFT CARDS
- SELL BOOKS
- FIND A STORE
Think Complexityby Allen B Downey
Synopses & Reviews
Expand your Python skills by working with data structures and algorithms in a refreshing context—through an eye-opening exploration of complexity science. Whether youre an intermediate-level Python programmer or a student of computational modeling, youll delve into examples of complex systems through a series of exercises, case studies, and easy-to-understand explanations.
Youll 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.
Dive into Pythons advanced possibilities, including algorithm analysis, graphs, scale-free networks, and cellular automata with this in-depth, hands-on guide. Whether youre an intermediate-level Python programmer, or a student of computational modeling, youll examine data structures, complexity science, and other fascinating topics through a series of exercises, easy-to-understand explanations, and case studies.
Think Complexity presents features that make Python such a simple and powerful language. Author Allen Downey provides code to help you get started, along with a solution for each exercise. With this book, you will:
About the Author
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 Masters and Bachelors degrees from MIT.
Table of Contents
Preface; Why I Wrote This Book; Suggestions for Teachers; Suggestions for Autodidacts; Contributor List; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Chapter 1: Complexity Science; 1.1 What Is This Book About?; 1.2 A New Kind of Science; 1.3 Paradigm Shift?; 1.4 The Axes of Scientific Models; 1.5 A New Kind of Model; 1.6 A New Kind of Engineering; 1.7 A New Kind of Thinking; Chapter 2: Graphs; 2.1 What's a Graph?; 2.2 Representing Graphs; 2.3 Random Graphs; 2.4 Connected Graphs; 2.5 Paul Erdős: Peripatetic Mathematician, Speed Freak; 2.6 Iterators; 2.7 Generators; Chapter 3: Analysis of Algorithms; 3.1 Order of Growth; 3.2 Analysis of Basic Python Operations; 3.3 Analysis of Search Algorithms; 3.4 Hashtables; 3.5 Summing Lists; 3.6 pyplot; 3.7 List Comprehensions; Chapter 4: Small World Graphs; 4.1 Analysis of Graph Algorithms; 4.2 FIFO Implementation; 4.3 Stanley Milgram; 4.4 Watts and Strogatz; 4.5 Dijkstra; 4.6 What Kind of Explanation Is That?; Chapter 5: Scale-Free Networks; 5.1 Zipf's Law; 5.2 Cumulative Distributions; 5.3 Continuous Distributions; 5.4 Pareto Distributions; 5.5 Barabási and Albert; 5.6 Zipf, Pareto, and Power Laws; 5.7 Explanatory Models; Chapter 6: Cellular Automata; 6.1 Stephen Wolfram; 6.2 Implementing CAs; 6.3 CADrawer; 6.4 Classifying CAs; 6.5 Randomness; 6.6 Determinism; 6.7 Structures; 6.8 Universality; 6.9 Falsifiability; 6.10 What Is This a Model Of?; Chapter 7: Game of Life; 7.1 Implementing Life; 7.2 Life Patterns; 7.3 Conway's Conjecture; 7.4 Realism; 7.5 Instrumentalism; 7.6 Turmites; Chapter 8: Fractals; 8.1 Fractal CAs; 8.2 Percolation; Chapter 9: Self-Organized Criticality; 9.1 Sand Piles; 9.2 Spectral Density; 9.3 Fast Fourier Transform; 9.4 Pink Noise; 9.5 Reductionism and Holism; 9.6 SOC, Causation, and Prediction; Chapter 10: Agent-Based Models; 10.1 Thomas Schelling; 10.2 Agent-Based Models; 10.3 Traffic Jams; 10.4 Boids; 10.5 Prisoner's Dilemma; 10.6 Emergence; 10.7 Free Will; Chapter 11: Case Study: Sugarscape; 11.1 The Original Sugarscape; 11.2 The Occupy Movement; 11.3 A New Take on Sugarscape; 11.4 Taxation and the Leave Behind; 11.5 The Gini Coefficient; 11.6 Results with Taxation; 11.7 Conclusion; Chapter 12: Case Study: Ant Trails; 12.1 Introduction; 12.2 Model Overview; 12.3 API Design; 12.4 Sparse Matrices; 12.5 wx; 12.6 Applications; Chapter 13: Case Study: Directed Graphs and Knots; 13.1 Directed Graphs; 13.2 Implementation; 13.3 Detecting Knots; 13.4 Knots in Wikipedia; Chapter 14: Case Study: The Volunteer's Dilemma; 14.1 The Prairie Dog's Dilemma; 14.2 Analysis; 14.3 The Norms Game; 14.4 Results; 14.5 Improving the Chances; Call for Submissions; Reading List; Colophon;
What Our Readers Are Saying
Other books you might like