Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!aero!abbott From: abbott@aerospace.aero.org (Russell J. Abbott) Newsgroups: comp.ai Subject: Emergence and Static Vs. Dynamic properties (was: Re: Another letter to the New York Review) Message-ID: <67994@aerospace.AERO.ORG> Date: 5 Mar 90 17:17:11 GMT Organization: The Aerospace Corporation, El Segundo, CA Lines: 40 Replying to Ken Presting who writes: | ... ||In the second place, the dynamical properties of a running computer are ||neatly determined by its program. The program is of course a static ||object .... || Stephen Smoliar writes: | ... [I]f there were a clean |relationship between the static properties of a program and the dynamic |properties of the device running that program, we wouldn't have all the |software problems we have, would we? ... |I would argue that the reason for this is |that we still lack good ways to describe and reason about the dynamic |properties of processes. The best we have been able to do, thus far, |is the abstract those processes into static objects. ... [B]ut the |power of this approach is only as good as the abstraction |we develop. Finding the right abstraction often remains the intractable |problem in software engineering. But we are often quite successful in building static objects (programs) that exhibit the dynamic properties that we desire, e.g., language processors/interpreters. So we do know how to produce emergent properties in a great many cases. In those cases we call it building levels of abstraction. On the other hand, we don't know how to program neural nets. (I'm distinguishing "training" from programming.) So I wonder whether there is a well characterizable difference between programmable levels of abstraction and "emergent" levels of abstraction. Or will we eventually be able to program any system that is capable of exhibiting emergence once we develop the right abstractions. One obvious difference between most explicitly programmed levels of abstraction and most emergent systems is the degree of parallelism. Is it likely that the abstractions we will have to develop to program highly parallel emergent systems will resemble in their discreteness those we now use to program traditional levels of abstractions. Or will they necessarily be more statistical and hence always resemble "training" or environmental molding more than programming. -- -- Russ abbott@itro3.aero.org