DavidRosen's blog
http://serendip.brynmawr.edu/oneworld/emergence361/u/DavidRosen
enNeural networks to make emergent simulations more efficient?
http://serendip.brynmawr.edu/oneworld/blog/neural-networks-make-emergent-simulations-more-efficient
<div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Projects: </div><div class="field-items"><div class="field-item even"><a href="/oneworld/emergence361">Emergence 361</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even">I wrote a short essay for a related class about how neural networks might (or might not) be able to help speed up emergent simulations, and I may try and test this idea in my tree simulation project. Here is my essay if you are interested; please let me know what you think!
Emergent systems (groups of relatively simple entities that when combined, give rise to complex and unpredictable higher-level behaviors) are very important to fields like artificial intelligence and artificial life. Living things are all emergent phenomena, in that their complex behavior arises from the interaction of simpler rules over billions of years of evolution. If we reject supernatural explanations for human cognition, then it is clearly an emergent phenomenon caused by the interaction of over 100 billion neuron cells and their electrochemical environment. Most current simulations of emergent behavior only focus on how one level of behavior arises from another. They simulate every single entity in one layer (such as cars on a road) and display the emergent pattern of behavior (such as a traffic jam). Unfortunately, most interesting emergent phenomena cannot be simulated in this way because they either span multiple layers, or consist of too many units to simulate.
Let us consider the human body as an example of an emergent system. It consists of over 100 trillion cells, forming tissues, forming organs, forming systems, which form the whole physical body. In a normal emergent simulation program, we would have to start with one layer consisting of elements with arbitrarily-defined behavior, and see what arises from their interaction. However, this program would be very slow. In computer science terms, it would be O(n), meaning that simulating twice as many entities would take twice as long. So if we wanted to simulate the human body on a cellular level, we would have to look at each cell individually. If the algorithm for simulating each cell took one millisecond, it would take over three thousand years to calculate one timestep (unit of simulated change) for the whole body.
To address this problem, we could train neural networks to find the patterns that emerge at each level of the system, and encode them in the output. For example, we could train one to find patterns of interactions of ten cells, train the next to find patterns of interactions of 100 cells (using the output of 10 of the previous neural nets as input), and so on. Using this kind of strategy could result in a program that is O(log[n]), meaning that it would only take about 1.3 times as long to simulate twice as many entities. This is much more appropriate for complex emergent systems. In this way, a body consisting of 100 trillion cells could be simulated using only 14 neural networks, and each timestep would take less than a second.
We have made several assumptions for simplicity; for example, we are assuming that all cells can be simulated in the same way, and that identical neural networks can learn the emergent patterns at each level. However, these are not important to my main point. Neural networks could extend the power of emergent system simulations by allowing us to look at every level of interaction rather than just one, and look at complex systems such as entire organisms or communities.</div></div></div>Tue, 11 Apr 2006 05:12:45 +0000DavidRosen110 at http://serendip.brynmawr.edu/oneworldhttp://serendip.brynmawr.edu/oneworld/blog/neural-networks-make-emergent-simulations-more-efficient#commentsWater CA
http://serendip.brynmawr.edu/oneworld/blog/water-ca
<div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Projects: </div><div class="field-items"><div class="field-item even"><a href="/oneworld/emergence361">Emergence 361</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even">In computer graphics demos there is a fairly common method of rendering water ripples based on a CA; each cell has a height value, and every frame its height value is set to the damped inverse of its previous height value + the average height of its neighbors. This results in fairly realistic-looking ripples that propogate outwards as expected.
A tutorial for achieving this effect can be found <a href="http://www.gamedev.net/reference/articles/article915.asp">here</a>.
In my game I am implementing a fairly similar effect for <a href="http://www.wolfire.com/Water4.jpg">water ripples</a>.</div></div></div>Wed, 15 Mar 2006 19:23:10 +0000DavidRosen85 at http://serendip.brynmawr.edu/oneworldhttp://serendip.brynmawr.edu/oneworld/blog/water-ca#commentsWolfram Wolfram Wolfram
http://serendip.brynmawr.edu/oneworld/blog/wolfram-wolfram-wolfram
<div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Projects: </div><div class="field-items"><div class="field-item even"><a href="/oneworld/emergence361">Emergence 361</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even">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.
Not only that, but saying that the universe is a giant CA still begs the question, "Why?" Where did it come from? Why are the rules such as they are? It does not really model or explain anything new that traditional molecular determinism does not.</div></div></div>Sat, 04 Feb 2006 19:45:41 +0000DavidRosen48 at http://serendip.brynmawr.edu/oneworldhttp://serendip.brynmawr.edu/oneworld/blog/wolfram-wolfram-wolfram#commentsWeird diagonal line
http://serendip.brynmawr.edu/oneworld/blog/weird-diagonal-line
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even">Rule 30 seems to result in a repeating pattern that transfers information along a diagonal with a slope other than 1, though the repeating pattern composing this line is based on lines of slope 1. <a href="http://tones.wolfram.com/about/images/image1.gif">Here</a> is a picture of it from Wolfram's book.</div></div></div>Wed, 01 Feb 2006 20:34:53 +0000DavidRosen44 at http://serendip.brynmawr.edu/oneworldhttp://serendip.brynmawr.edu/oneworld/blog/weird-diagonal-line#commentsEmergence in computer game development
http://serendip.brynmawr.edu/oneworld/blog/emergence-computer-game-development
<div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Projects: </div><div class="field-items"><div class="field-item even"><a href="/oneworld/emergence361">Emergence 361</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even">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. Here is a <a href="http://www.wolfire.com/Flop.gif">short animation</a> of a character falling using my new physics engine. It looks a bit weird because I have not implemented internal friction or strong joint constraints yet, but otherwise looks surprisingly convincing considering the simplicity of the ruleset.</div></div></div>Wed, 01 Feb 2006 19:49:37 +0000DavidRosen43 at http://serendip.brynmawr.edu/oneworldhttp://serendip.brynmawr.edu/oneworld/blog/emergence-computer-game-development#comments