|
From: <la...@us...> - 2008-09-07 20:05:38
|
At 2:00 AM -0400 9/7/08, Andrew wrote: >Spore has been released! OK, so only a somewhat related peice of news- but I think I might be going out to buy it tomorrow assuming I can find a copy. :) Anyone else psyched about it? Oh, heck, I sprung for a pre-order of the "Galactic" edition. :) Not that I will have the time or patience to actually do much with it. :( But I do feel compelled to know something about it. >The real reason I'm posting to the list to just throw out some thoughts of mine I've had today regarding some future features of polyworld and the related design approaches, specifically (or probably more acurately just a working example) related to the critter genome and genes. By and large I think it's a good, interesting approach to designing such a system. There are some potential gotchas, I think, such as... How do the genes map to the functionalities they imply? How did the control structure (neural network or whatever) get specified? How did the outputs get computed from the inputs and the control structure? I think there are answers to all of these, but they have implications for the design of the code. But, ultimately, the role of genes, sensors, and actuators, while extendable, are still entirely defined by the programmer. (A reasonable complaint lodged against Polyworld and all ALife systems to date.) In the end, you might have a more flexibly-programmed Polyworld-like system, but I doubt it could ever do anything that Polyworld couldn't. Of course, the genetics in Polyworld are, at best, a cartoon of biological genetics. Real genes are expressed continuously, in distinct activation patterns, in every cell throughout an organism's life. They regulate and are regulated by other genes and epigenetic components (methylation, phosphorylation, etc.). Their products interact in complex ways to produce phenotypic form and function. Their numbers vary across species. Importantly, they can be duplicated through copying errors. Polyworld's genetics are much more Genetic-Algorithm-like, with fixed numbers and fixed meanings for the genes, and the genes are only expressed once, at birth, then play no further role in the agents' lives. An almost embarrassing simplification, except, fortunately, standard GA approaches have been shown to be excellent at exploring complicated high-dimensional spaces, which is what I imagine Polyworld to be doing in "neural-architecture space". By the way, I'll recommend a book that Virgil Griffith recommended to me: Evolving Brains, by John Morgan Allman <http://www.amazon.com/dp/0716750767/>. (Virgil did a lot of work on Polyworld with me as an undergrad at IU before going to the computational neuroscience program at CalTech, which is where he read this book as part of a course, I think.) FWIW, I've been thinking off and on about a way to write a much more open-ended ALife system. I think the only way for such a system to be truly open-ended is for evolution to produce a situation in which one agent *is* the ecological niche for another agent. I.e., there must a way for symbiosis and hierarchical self-organization to take place. I keep coming back to one of two approaches. It's conceivable that one must step all the way down to an artificial chemistry in order to produce the desired outcome. But I think it just may be possible to finesse most (but not all) artificial chemistry by working predominantly at the level of the cell. Cells would have key aspects of their physiology and behavior determined by their genes, of course. Cell function would be under the control of continuously expressing (and re-expressing) genes, plus some signals produced by the cells. Just how open-ended one can be at the cell level is unclear, but at least one could build in the ability to: *) vary a level of adherence along the cell surface (how exactly this is distributed, spatially, I'm not sure yet) *) vary a level of wall stiffness/springiness along the cell surface (uniform? spatially distributed?) *) propagate a signal (the functional equivalent of an axon action potential) *) receive a signal (the functional equivalent of a synapse) *) modulate received signals (what functional form this takes is unclear) *) emit chemicals that affect adjacent cells *) absorb chemicals through the cell wall *) vary permeability to different chemicals in the cell wall *) shrink and expand along multiple axes (in response to both genes and received signals and chemicals) These various cell behaviors are necessarily all temporal. They are all derived from the cell's gene expression, but some of them exhibit their own temporal behaviors (signal propagation, reception, and modulation, for example, but also shrinking and expanding in response to these signals). I think it might be possible to allow arbitrary aggregations of cells this way, that could specialize in form and function, incorporate other cells into an existing "body", build muscle tissue, build neural tissue, dissolve and consume other cells for energy and chemical resources... In short, support symbiosis, hierarchical form and function, and be genuinely open-ended. Yet only the chemical emission and absorption and the cell permeability have to drop down to the artificial chemistry level. All other chemistry is finessed. Okay, I'll shut up now. I've been thinking about this a fair bit over the years, and have made a few notes to myself, but this is the first time I've written anything up for anyone else's consumption. I think I have too much to explore with Polyworld to actually do anything with this, but, then again, if the right PhD student came along, or someone wanted to pursue it as an open source project, or... One final note: Even with all that in place, I fear that the mapping from gene to low-level cellular expression is too static. And it's not immediately obvious how to allow genes to be duplicated, unless their impact on cell function is mediated through an artificial chemistry, which introduces all kinds of additional computational overhead and forces a very different design aesthetic on the system. Ah well. Nothin's easy. - larryy |