|
|
Computational Modeling and Complexity Science
by Allen B. Downey
Download the book in PDF.
Description
This book is about data structures and algorithms, intermediate
programming in Python, complexity science 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.
Designing efficient programs often involves the co-evolution of data
structures and the algorithms that use them. For example, the first
few chapters are about graphs, a data structure that is a good
implementation of a graph---nested dictionaries---and several graph
algorithms that use this data structure.
- 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 is an interdiscipinary field---at the
intersection of mathematics, computer science and physics---that
focuses on these kinds of models. That's what this book is about.
This book is a DRAFT. I welcome suggestions and corrections,
but you should not expect it to be polished (yet)!
Download
The book is available in a variety of electronic formats:
Precompiled copies of the book are available in
PDF and
Postscript.
The LaTeX source code is available as a
zip archive.
Here is the HTML version, and here is the
HTML code in a zip archive.
Other Free Books by Allen downey are available from
Green Tea Press.
If you enjoy this book and would like to make a contribution
to support my work, please consider making a donation toward
my web hosting bill by clicking on the icon below.
|
Are you using one of our books in a class? We'd like to know
about it. Please consider filling out this short survey.
|