Emergence 361

Computer Science and Biology 361

Wolfram Wolfram Wolfram

Projects: 
In class I feel we are giving Wolfram much more credit than he is due. The idea of molecular determinism (that everything is a result of a starting condition and a set of rules) has been around for over a century, and even the idea of the universe functioning like a giant cellular automaton was first suggested by Konrad Zuse in 1967. Maybe next he will talk about his brilliant new idea that DNA has a double helix structure, or that energy and mass are different sides of the same coin. Aside from that, I am not convinced of the importance of the idea that the universe is a giant CA. This seems like a fairly typical example of using new technology as an analogy for everything. Back when the steam engine was new, Freud had a great idea that the mind worked by building up and venting pressure. Then when telephones became popular, the mind became a giant switchboard. Filling in scientific voids with the latest technology is tempting, but not necessarily valid or important.

Ruleset 89

Projects: 
If you apply Ruleset 89 to a lattice that has the center bit turned on, two different slopes appear within the same results. Here is a screenshot of what it looks like. For the lazy or rushed, this will produce it: % python >>> from pyrobot.general.ca import * >>> rules = Rules(radius=1) >>> rules.init(89) >>> lat = Lattice(500) >>> lat.init("0" * lat.size) >>> lat.data[0][lat.size / 2] = 1 >>> rules.watch(lat)

Emergence in computer game development

Projects: 
The ideas behind emergence are very important for computer game design, because we try and simulate real phenomena based on simpler rules, so in a sense we are trying to reverse-engineer emergent patterns. For example, in my current project I am trying to simulate (in real time) fairly complicated physical objects such as bodies, ropes, weapons, or cloth. My current solution is to deconstruct the object into its component points and constraints, and then apply Isaac Newton's laws of motion. While this is a much simpler approach than that used in most games, it is yielding very promising results, and may turn out to actually be faster and more flexible than other more popular approaches to physics simulation.

Grand Unification Theory

Projects: 
I just read through wikipedia's entry on emergence, and wanted to recommend it. There's a section explaining emergence in physics - phenomenon such as color and temperature are emergent properties of lower-level conditions that don't display those qualities but create them on a larger scale. Fascinating stuff. Anyway, it comes close to but doesn't actually say something I was thinking as I read through this section: that emergence might explain why Einstein's Grand Unification Theory has been so elusive. Emergence in physical laws would explain why quantum physics governs particles, why electromagnetic & weak forces govern atoms (composed of particles), and why mechanical laws govern larger bodies composed of those atoms.

a train of thought

Projects: 
So I just wrote this long entry, and accidentally deleted it. I'll try to replicate it as much as I can! I was thinking about the role of computers in emergent phenomena, and how we've been looking at them. For instance, in the game of life or go or sim games, we use computers to simulate phenomena based on predetermined rules. But these are just simulations. The computer is doing the work, but beyond that, it really isn't doing anything. Even when we were looking at cellular automata, we followed a ruleset, key word being "ruleset". A specific set of rules that determine how the pattern is going to emerge. But again, they computer doesn't really do anything except the background work. It speeds the process up.

Remote Desktop

Projects: 
On Doug's advice, I've used vnc in past courses to get a remote desktop to work from home on my Windows machine. I'd had problems with changes in security, but last night I got it running just fine. Of course, there's a bit of delay, but it's quite nice. Lucid Life is almost as impressive as in class, and python CAs pop up nicely. I'm using a cable internet connection at home, so I'm not sure what a dial-up would look like... In case someone else would like to try it, I figured to document it here. I’ll describe it in detail for anyone not already familiar with these programs. I'm using PuTTy (a free, non-installed executable) to create a secure shell to one of the lab computers. The shell needs to create a tunnel through which the vnc client will connect, since BMC security blocks vncserver requests otherwise.

Some follow-up links from last class

Projects: 
First, if you were interested in the computer-generated ringtones Wolfram is selling, check out Wolfram Tones: An Experiment in a New Kind of Music (I suppose he's reinventing music, as well). You can listen to them on the website, share them with friends, and download them to your cell phone -- the last for a fee of about $2.

X11 on Windows with PuTTY

Projects: 
I'd like to thank Peter for figuring this out. For anyone on a Windows machine who is trying to SSH into the cluster and wants to use X11 port forwarding, you'll need to install Xming. It's a port for the X Window System which can run on Windows machines and it doesn't depend on Cygwin. After you install Xming and run it, a black 'X' should appear in your taskbar tray. Open up PuTTY, navigate to Connection>SSH>X11 on the left and check 'Enable X11 Forwarding'. And voila! Now the pretty CA pictures will appear in a pop-up window when you execute your code.