Computational Modeling Fall 2005 Today: 1) review and exam prep Review ------ Python: Dynamic typing. Data structures (lists, tuples, dictionaries, heaps). List comprehensions. String and text processing. Complex arithmetic. Iterators and generators. Graphs: Graph representation. Graph algorithms (shortest path, clique detection) Small world graphs (Watts and Strogatz) Scale-free networks. Modeling: Models and theories. What makes a good (predictive, explanatory) model? Kuhn: paradigm shifts, value judgement and theory choice. Instrumentalism and realism Epistemology Reductionism and holism and emergence Simulation: continuous and discrete deterministic and stochastic equation-based and agent-based time-stepping and event-based Cellular automata (Wolfram), Turmites Statistics: Cumulative distributions, long-tailed distributions. Zipf's law and the Pareto distribution. Bayes's theorem. Bayesian statistics. hypothesis testing parameter estimation, probability intervals Bayesian epistemology. Self-organized criticality: Characteristics of critical systems Long-tailed distributions 1/f noise Sand-pile model (Bak, Tang, Wiesenfeld) Other SOC systems (Gould and Tobochnik) Fourier transform: What is a signal? Time domain, frequency domain. Discrete FT, Fast FT. Analysis of algorithms: Order of growth of data structure operations. Graph algorithms. Fast Fourier Transform. Heap implementation of priority queue. Final Exam ---------- The exam will be Thursday, 4-7pm, in AC113. I will be a little longer than the midterm, but should not take 3 hours (except for part 4 below). What would I put on the exam if I were me? 1) short/medium-answer questions about modeling and epistemology 2) algorithm implementation (graph, signal-processing, statistics) 3) analysis of algorithms 4) practical programming component (make sure you have a working Python environment with network) 5) Bayesian word problem