Author : Allen B. Downey
Excerpts from preface
This book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science:
- Data structures and algorithms: A data structure is a collection that contains data elements organized in a way that supports particular operations. For example, a dictionary organizes key-value pairs in a way that provides fast mapping from keys to values, but mapping from values to keys is generally slower.An algorithm is a mechanical process for performing a computation.
- Python programming: This book picks up where Think Python leaves off. I assume that you have read that book or have equivalent knowledge of Python. As always, I will try to emphasize fundmental ideas that apply to programming in many languages, but along the way you will learn some useful features that are specific to Python.
- Computational modeling: A model is a simplified description of a system that is useful for simulation or analysis. Computational models are designed to take advantage of cheap, fast computation.
- Philosophy of science: The models and results in this book raise a number of questions relevant to the philosophy of science, including the nature of scientific laws, theory choice, realism and instrumentalism, holism and reductionism, and Bayesian epistemology.
This book focuses on discrete models, which include graphs, cellular automata, and agent-based models. They are often characterized by structure, rules and transitions rather than by equations. They tend to be more abstract than continuous models; in some cases there is no direct correspondence between the model and a physical system.
- Complexity Science
- Analysis of algorithms
- Small world graphs
- Scale-free networks
- Cellular Automata
- Game of Life
- Self-organized criticality
- Agent-based models
- Case study: Sugarscape
- Case study: Ant trails
- Case study: Directed graphs and knots
- Case study: The Volunteer’s Dilemma
if you have used this book please write your reviews as comments below.