45. Appendix: Proposed chapters
Motivation
This appendix is a grabbag of possible chapters – ideas for topics that are interesting, especially to middle and high school students, and which are waiting for someone to write a chapter about them.
It is structured as a simple list of sections with a chapter topic in each. Each section has some references on materials.
Once a co-author wants to write a chapter on that subject, she should transfer that material into a chapter, flesh out the chapter (see Section 43), and remove it from this appendix.
45.1. A tour of datasets
[status: unwritten]
45.1.1. Climate change
NOAA weather stations
45.1.2. 538 blog data
the 538 github area
45.2. Molecules in three dimensions
First install paraview, that very ambitious volume rendering tool. For molecules we can also install avogadro, jmol, and gdis. And others:
sudo apt install paraview avogadro jmol gdis
sudo apt install garlic dssp garlic qutemol viewmol pymol openbabel-gui rasmol
The ones that seem to work are paraview, avogadro, jmol, rasmol: you can just run them on a .pdb molecular description file.
You can follow this tutorial for paraview:
https://www.paraview.org/Wiki/The_ParaView_Tutorial
The others probably also have tutorials, but they are less immediately daunting than paraview.
45.2.1. Small Molecules
Start with small molecules, for example from here:
https://ww2.chemistry.gatech.edu/~lw26/structure/small_molecules/index.html
But also at http://www.rcsb.org/pdb/ligand/chemAdvSearch.do you can do a search for smaller molecules. For example I found water with a “search for ligands” in the rcsb.org web site. That gives me:
http://www.rcsb.org/pdb/results/results.do?tabtoshow=Ligand&qrid=9C66910A
which gives, down below, the H2O which is “water” rather than “deuterated water”. This lets you download it as:
wget http://files.rcsb.org/ligands/view/HOH.cif
From that I guessed that I could also get things like Methane and Sulphur atom:
wget http://files.rcsb.org/ligands/view/CH4.cif
wget http://files.rcsb.org/ligands/view/S.cif
You can also browse like this: go to http://files.rcsb.org/ligands/ and start navigating, for example into C and then C2H. From there you can find:
wget http://files.rcsb.org/ligands/view/C2H_ideal.pdb
Here are a few more:
wget http://files.rcsb.org/ligands/C/C6H/C6H_ideal.pdb
wget http://files.rcsb.org/ligands/C/CH4/CH4_ideal.pdb
Then in the search menu you find “Chemical components” and in there “Chemical name”
Now it looks like the way to find molecules by colloquial names is to go to http://ligand-expo.rcsb.org/ld-search.html and do a “molecular name” search, with “molecular name (exact)”.
Try putting “Water” and you get this result:
pick the HOH from there, go to its “Chemical details” and download the “PDB format (ideal coordinates)”:
wget http://ligand-expo.rcsb.org/reports/H/HOH/HOH_ideal.pdb
jmol HOH_ideal.pdb &
and searching for Sucrose (table sugar) you end up at http://ligand-expo.rcsb.org/pyapps/ldHandler.py?formid=cc-index-search&target=Sucrose&operation=name-exact and can download with:
wget http://ligand-expo.rcsb.org/reports/S/SUC/SUC_ideal.pdb
jmol SUC_ideal.pdb &
45.2.2. Big molecules
Then let’s look at big molecules. For example download pdb of this molecule and others at the remarkable rcsb.org site https://www.rcsb.org/structure/6DPA :
wget https://files.rcsb.org/download/6DPA.pdb
wget https://files.rcsb.org/download/6YI3.pdb # seems related to covid-19
and load one or all of them in to paraview and the other 3D visualizers, for example with:
paraview 6YI3.pdb &
avogadro 6YI3.pdb &
jmol 6YI3.pdb &
rasmol 6YI3.pdb &
My first impression: gdis is weird and sometimes goes out to lunch, so I don’t understand it enough yet. avogadro and jmol and rasmol are fast and immediate. with paraview you have to do 2 things after loading: (a) enable views by clicking on those two eyes in the left side tree structure, and (b) hit the “apply” button top part of the “properties” tab of the lower left area.
Looking a bit more: avogadro does not work on .cif files, so I’m leaning toward jmol as being the most solid.
45.3. Zeros of polynomials and other functions
Start from our comfortable solution to \(a x^2 + b x + c = 0\).
Talk a bit about cubics (how many real/complex roots, …).
Talk a bit about quartics (biquadratic, how many roots, …).
Discuss higher order polynomials and Galois theory.
Introduce numerical methods: Newton’s method in particular (connection to calculus).
Extend numerical methods to discuss finding several roots instead of just the closest.
Connect this to optimization, TSP.
45.4. Artificial life
Areas: biology, ecology, complex systems
45.5. Genetic algorithms
beautiful quote:
Every boat is copied from another boat… Let’s reason as follows in the manner of Darwin. It is clear that a very badly made boat will end up at the bottom after one or two voyages, and thus never be copied… One could then say, with complete rigor, that it is the sea herself who fashions the boats, choosing those which function and destroying the others.
Propos d’un Normand (1908); as quoted in “Natural selection and cultural rates of change” by D. S. Rogers and P. R. Ehrlich (2008) Proceedings of the National Academy of Sciences 105:3416–3420
compare that to “coin tossing championship” (from Malcolm Gladwell’s “Outliers”. discuss polynesian canoes.
Ottawa house of commons: John Sullivan uses evolutionary architecture.
Othello
Robbie the Robot (from Melanie Mitchell’s book “Complexity: a Guided Tour”)
you’ll get to Melanie Mitchell’s mooc when you get to chapter 4 on emergent behavior it will point you here: https://www.youtube.com/playlist?list=PLF0b3ThojznRyDQlitfUTzXEXwLNNE-mI and for that section of my book the prerequisite is to watch section 6.3 of the mooc: https://www.youtube.com/watch?v=ZVSseAnEzxs&index=85&list=PLF0b3ThojznRyDQlitfUTzXEXwLNNE-mI watching the full MOOC and the section on Robbie the Robot should be done at home since it goes somewhat afield of what we are doing at work
Other resources:
GAs on the TSP: https://cs.stanford.edu/people/eroberts/courses/soco/projects/1997-98/genetic-algorithms/apps.html
Book:
Genetic Algorithms in Python
Examples:
https://www.codeproject.com/Articles/1104747/Introduction-to-Genetic-Algorithms-with-Python-Hel
For how to encode a game strategy:
To practice Othello: learn here: https://www.eothello.com/ and play here: https://hewgill.com/othello/
https://pdfs.semanticscholar.org/9fbb/a0583259b70e318003f5b6861faf9447060f.pdf
https://www.codingame.com/blog/genetic-algorithms-coders-strike-back-game/
This does a full 9-square-puzzle game encoding: https://www.researchgate.net/publication/220176829_Applying_genetic_algorithms_to_game_search_trees
tic-tac-toe: http://www.genetic-programming.org/sp2003/Hochmuth.pdf
https://www.cs.auckland.ac.nz/research/gameai/projects/GA%20in%20FreeCiv.pdf
programming it in Python and knapsack problem: https://blog.sicara.com/getting-started-genetic-algorithms-python-tutorial-81ffa1dd72f9
this goes in to chess; mentions othello in passing, and has an appendix on Elo ratings formulae https://arxiv.org/pdf/1711.08337.pdf
this has interesting discussions, but is ultimately about neural networks and thus harder than what I’m thinking of for this chapter. http://nn.cs.utexas.edu/?moriarty:discovering, http://nn.cs.utexas.edu/downloads/papers/moriarty.discovering.pdf – still, Moriarty and Miikkulainen do an interesting job of explaining why humans don’t see some of the machine moves.
the previous article is one in this site: http://satirist.org/learn-game/methods/ga/marker.html – this includes http://nn.cs.utexas.edu/downloads/papers/fullmer.genetic-encoding.pdf which seems to be about encodings.
this looks like a very nice intro to encoding an othello GA: https://pdfs.semanticscholar.org/ca88/76e8d8232403dfa4dcb75c67dd1031dd6bf3.pdf
other othello resource: https://github.com/blanyal/alpha-zero
much more academic stuff at https://scholar.google.com/scholar?hl=en&as_sdt=0%2C32&as_vis=1&q=othello+genetic+algorithm&btnG=
Animated games: https://luckytoilet.wordpress.com/2011/05/27/coding-a-tetris-ai-using-a-genetic-algorithm/
Evolving cellular automata:
Projects to work on: [… unfinished …]
45.6. Fourier Analysis
This is largely already written in my old latex book. I just need to bring it in here, and revise what I think of the prerequisites.
Latest: this has mostly been moved to the “mark working group” book.
45.7. Simpson’s paradox
https://qr.ae/TWNhZd?share=1 https://www.quora.com/What-is-Simpsons-paradox?share=1