home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / TIERRA40.ZIP / DOC / ANNOUNCE.30 < prev    next >
Text File  |  1992-09-11  |  16KB  |  318 lines

  1.                              TIERRA UPDATE:
  2.   (Mailing lists, Source code, abstract, publications, lectures, new results)
  3.  
  4. This message contains:
  5.  
  6. 1) Announcement of Tierra mailing lists
  7. 2) Major Tierra upgrade, and Beagle now available
  8. 3) Availability of Tierra source code
  9. 4) Abstract describing Tierra
  10. 5) List of related publications and upcoming lectures
  11. 6) Some interesting new and unpublished results
  12.  
  13.      Due to your interest in the Tierra software, you have been placed on
  14. a mailing list.  To have yourself removed, send a message to:
  15. tierra-request@life.slhs.udel.edu, requesting that you be removed.
  16.  
  17.      There is a mailing list for Tierra users. (actually 3, but you only want
  18. to be on one of them).  The first list is for people who only want to get the
  19. official announcements, updates and bug-fixes. The other two will carry the 
  20. official postings, and are intended for discussion of tierra by users.  One 
  21. of these is distributed in digest form, when there is enough material; the
  22. other is set up as a mail reflector--postings will go out to the whole list
  23. immediately.  The lists are:
  24.  
  25. tierra-announce    official updates, patches and announcements only
  26. tierra             discussion, updates, etc. (immediate delivery)
  27. tierra-digest      same as above (once per day digest form)
  28.  
  29. The addresses are: 
  30.  
  31. tierra-request@life.slhs.udel.edu   the list administrator. to be added,
  32.                                     removed, or complain about problems with
  33.                                     any of these lists.
  34. tierra@life.slhs.udel.edu   or
  35. tierra-digest@life.slhs.udel.edu    to post to the list.
  36.  
  37. tierra-bug@life.slhs.udel.edu       for bug-reports or questions about the
  38.                                     code or installation.
  39.  
  40. 2) Major Tierra upgrade, and Beagle now available
  41.  
  42.      A major rework of the genebank manager has been largely completed and
  43. is now available in the ftp site.  The work was done mostly by Tom Uffner,
  44. with a little help from Tom Ray (many thanks to Tom U!).  If you picked up
  45. the original release, it would be well worth your while to pick up the new
  46. version.  Also, a DOS executable of the Beagle program, and documentation,
  47. are available in the /tierra/beagle directory of the ftp site.
  48.  
  49. 3) Availability of Tierra source code
  50.  
  51.      The source code is available now, although it is under rapid development
  52. and major improvements always underway.  If you use the software, be sure
  53. to pick up new versions soon from the ftp site.  The source in the ftp site
  54. will be replace on a roughly weekly or monthly basis.
  55.  
  56.      The complete source code for the Tierra simulator is
  57. available by anonymous ftp at:
  58.  
  59. tierra.slhs.udel.edu [128.175.41.34] and
  60.   life.slhs.udel.edu [128.175.41.33]
  61.  
  62. in the directories /tierra and /tierra/beagle.
  63.  
  64. to get it, ftp to tierra or life, log in as user "anonymous" and give your
  65. real name (eg. tom@udel.edu) as a password.
  66.  
  67. then give the command `cd tierra', to get a list of files type `dir'.
  68.  
  69. you will see the following files:
  70.  
  71. README.T1        A detailed description of tierra and how to use it.
  72. README.T2            in two parts
  73. Part01            the source code in shar format
  74.  ...                in seven parts
  75. Part07
  76. announce            this announcement
  77. tierra1.tex        Parts 1 & 2 of a manuscript describing Tierra,
  78. tierra2.tex            in LaTeX format.
  79.  
  80. The shar files contain the README files, so if you want the source code,
  81. you don't need to copy README separately.  To unpack the shar files, use
  82. `unshar', or `sh'.
  83.  
  84.      The version released includes significant contributions from
  85. Tom Uffner, Dan Pirone and Marc Cygnus.  The software remains copyrighted
  86. ("all rights reserved"), and is not being placed in the public domain.
  87. However, it will be made available free of charge and may be freely
  88. distributed.  The intent is that it not be used for profit making activities
  89. unless some royalty arrangement is entered into with the authors.
  90.  
  91.      A DOS version of the Tierra software with a decent frontend will be ready
  92. for sale ($70) by November.  Note however, that the version of the source
  93. code in the ftp site will compile with Turbo C, and run under DOS.
  94.  
  95. 4) Abstract describing Tierra
  96.  
  97. **** BEGIN ABSTRACT ****
  98.  
  99. Synthetic organisms have been created based on a computer metaphor of
  100. organic life in which CPU time is the ``energy'' resource and memory is
  101. the ``material'' resource.  Memory is organized into informational
  102. patterns that exploit CPU time for self-replication.  Mutation generates
  103. new forms, and evolution proceeds by natural selection as different
  104. genotypes compete for CPU time and memory space.
  105.  
  106. Observation of nature shows that evolution by natural selection is
  107. capable of both optimization and creativity.  Artificial models of evolution
  108. have demonstrated the optimizing ability of evolution, as exemplified by
  109. the field of genetic algorithms.  The creative aspects of evolution have been
  110. more elusive to model.  The difficulty derives in part from a tendency of
  111. models to specify the meaning of the ``genome'' of the evolving entities,
  112. precluding new meanings from emerging.  I will present a natural model of
  113. evolution demonstrating both optimization and creativity, in which the
  114. genome consists of sequences of executable machine code.
  115.  
  116. From a single rudimentary ancestral ``creature'',
  117. very quickly there evolve parasites, which are not able to replicate in
  118. isolation because they lack a large portion of the genome.  However, these
  119. parasites search for the missing information, and if they locate it in a
  120. nearby creature, parasitize the information from the neighboring genome,
  121. thereby effecting their own replication.
  122.  
  123. In some runs, hosts evolve immunity to attack by parasites.
  124. When immune hosts appear, they often increase in frequency, devastating the
  125. parasite populations.  In some runs where the community comes to be
  126. dominated by immune hosts, parasites evolve that are resistant to immunity.
  127.  
  128. Hosts sometimes evolve a response to parasites that goes beyond immunity,
  129. to actual (facultative) hyper-parasitism.  The hyper-parasite deceives the
  130. parasite causing the parasite to devote its energetic resources to replication
  131. of the hyper-parastie genome.  This drives the parasites to extinction.
  132.  
  133. Evolving in the absence of parasites, hyper-parasites completely dominate
  134. the community, resulting in a relatively uniform community characterize by
  135. a high degree of relationship between individuals.  Under these circumstances,
  136. sociality evolves, in the form of creatures which can only replicate in
  137. aggregations.
  138.  
  139. The cooperative behavior of the social hyper-parasites makes them vulnerable
  140. to a new class of parasites.  These cheaters, hyper-hyper-parasites, insert
  141. themselves between cooperating social individuals, deceiving the social
  142. creatures, causing them to replicate the genomes of the cheaters.
  143.  
  144. The only genetic change imposed on the simulator is
  145. random bit flips in the machine code of the creatures.  However, it turns
  146. out that parasites are very sloppy replicators.  They cause significant
  147. recombination and rearrangement of the genomes.  This spontaneous sexuality
  148. is a powerful force for evolutionary change in the system.
  149.  
  150. One of the most interesting aspects of this instance of life is
  151. that the bulk of the evolution is based on adaptation to the biotic
  152. environment rather than the physical environment.  It is co-evolution
  153. that drives the system.
  154.  
  155. **** END ABSTRACT ****
  156.  
  157. 5) List of related publications and upcoming lectures
  158.  
  159.     The recent publicity about my work (Technology Review, April 1991;
  160. Science News, August 10, 1991; New York Times, August 27, 1991; Computerworld
  161. September 30, 1991) has generated a lot of interest.  I wanted to list the
  162. relevant publications, and also the upcoming seminars.
  163.  
  164. Ray, T. S.  1991.  ``Is it alive, or is it GA?''
  165. Proceedings of the 1991 International Conference on Genetic Algorithms,
  166. Eds. Belew, R. K., and L. B. Booker, San Mateo, CA: Morgan Kaufmann, 527--534.
  167.  
  168. Ray, T. S.  1991.  ``An approach to the synthesis of life.''
  169. Artificial Life II, Santa Fe Institute Studies in the Sciences of
  170. Complexity, vol. XI, Eds. C. Langton, C. Taylor, J. D. Farmer, & S. Rasmussen,
  171. Redwood City, CA: Addison-Wesley, 371--408.
  172.  
  173. Ray, T. S.  1991.  ``Population dynamics of digital organisms.''
  174. Artificial Life II Video Proceedings,  Ed. C. G. Langton,
  175. Redwood City, CA: Addison Wesley.
  176.  
  177. Ray, T. S.  1991.  ``Evolution and optimization of digital organisms.''
  178. Scientific Excellence in Supercomputing: The IBM 1990 Contest Prize Papers,
  179. Eds. Keith R. Billingsley, Ed Derohanes, Hilton Brown, III.
  180. Athens, GA, 30602, The Baldwin Press, The University of Georgia.
  181. Publication date: December 1991.
  182.  
  183. I will be at the Santa Fe Institute Feb. 1 thru Aug. 31, 1992.
  184. This work will also be presented in the following upcoming seminars:
  185.  
  186. Boston University, Computational Sciences Center, December 3, 1991
  187. MIT Nanotechnology Study Group, December 3, 1991
  188. Bolt Beranek and Newman Inc. (BBN), December 5, 1991
  189. University of Massachusetts Boston, Biology, December 5, 1991
  190. Yale University, Biology, December 6, 1991
  191. Apple Computer, California, February 27, 1992
  192. University of Arizona, Ecology & Evolutionary Biology, March 10, 1992
  193. Santa Fe Institute, Workshop on Adaptive Computation, March 10-15, 1992
  194. Cornell University, Mathematical Sciences Institute, CA Workshop, May 1992
  195. General Motors, Sigma Xi, Warren, MI, May 1992
  196. Summer School on Environmental Dynamics, Istituto Veneto Di Scienze, Lettere
  197.      Ed Arti, Venice, Italy, June 1-7, 1992
  198. Gordon Conference on Theoretical Biology, New Hampshire, June 9-12, 1992
  199.  
  200. 6) Some interesting new and unpublished results
  201.  
  202. Below is a report of an interesting result that is not described in
  203. any of the publications listed above:
  204.  
  205. A COMPLEX ADAPTATION
  206.  
  207. The adaptation described below is a classic example of intricate design in
  208. evolution.  One wonders how it could have arisen through random bit flips,
  209. as every component of the code must be in place in order for the algorithm
  210. to function.  Yet the code includes a classic mix of apparent intelligent
  211. design, and the chaotic hand of evolution.  The optimization technique is a
  212. very clever one invented by humans, yet it is implemented in a mixed up but
  213. functional style that no human would use (unless perhaps very intoxicated).
  214.  
  215. The arms race described in the manuscripts took place over a period of
  216. a billion instructions executed by the system.  Another run was allowed to
  217. continue for fifteen billion instructions, but was not examined in detail.
  218. A creature present at the end of the run was examined and found to have
  219. evolved an intricate adaptation.  The adaptation is an optimization technique
  220. known as ``unrolling the loop''.
  221.  
  222. The central loop of the copy procedure performs the following operations:
  223. 1) copies an instruction from the mother to the daughter, 2) decrements the
  224. cx register which initially contains the size of the parent genome, 3) tests
  225. to see if cx is equal to zero, if so it exits the loop, if not it remains
  226. in the loop, 4) increments the ax register which contains the address in the
  227. daughter where the next instruction will be copied to, 5) increments the
  228. bx register which contains the address in the mother where the next instruction
  229. will be copied from, 6) jumps back to the top of the loop.
  230.  
  231. The work of the loop is contained in steps 1, 2, 4 and 5.  Steps 3 and 6 are
  232. overhead.  The efficiency of the loop can be increased by duplicating the
  233. work steps within the loop, thereby saving on overhead.  The creature from
  234. the end of the long run had repeated the work steps three times within the
  235. loop, as illustrated below.
  236.  
  237. The unrolled loop is an example of the ability of evolution to produce an
  238. increase in complexity, gradually over a long period of time.  The interesting
  239. thing about the loop unrolling optimization technique is that it requires more
  240. complex code.  The resulting creature has a genome size of 36, compared to its
  241. ancestor of size 80, yet it has packed a much more complex algorithm into less
  242. than half the space.
  243.  
  244. Below I include the assembler code for the central copy loop of the ancestor
  245. (80aaa) and decendant after fifteen billion instructions (72etq).  Within
  246. the loop, the ancestor does each of the following operations once: copy
  247. instruction (51), decrement cx (52), increment ax (59) and increment bx (60).
  248. The decendant performs each of the following operations three times within
  249. the loop: copy instruction (15, 22, 26), increment ax (20, 24, 31) and
  250. increment bx (21, 25, 32).  The decrement cx operation occurs five times
  251. within the loop (16, 17, 19, 23, 27).  Instruction 28 flips the low order
  252. bit of the cx register.  Whenever this latter instruction is reached, the
  253. value of the low order bit is one, so this amounts to a sixth instance of
  254. decrement cx.  This means that there are two decrements for every increment.
  255.  
  256. The reason for this is related to another adaptation of this creature.  When
  257. it calculates its size, it shifts left (12) before allocating space for the
  258. daughter (13).  This has the effect of allocating twice as much space as
  259. is actually needed to accomodate the genome.  The genome of the creature
  260. is 36 instructions long, but it allocates a space of 72 instructions.
  261. This occurred in an environment where the slice size was set equal to the
  262. size of the cell.  In this way the creatures were able to garner twice as
  263. much energy.  However, they had to compliment this change by doubling the
  264. number of decrements in the loop.
  265.  
  266. nop_1    ; 01  47 copy loop template      COPY LOOP OF 80AAA
  267. nop_0    ; 00  48 copy loop template
  268. nop_1    ; 01  49 copy loop template
  269. nop_0    ; 00  50 copy loop template
  270. mov_iab  ; 1a  51 move contents of [bx] to [ax] (copy instruction)
  271. dec_c    ; 0a  52 decrement cx
  272. if_cz    ; 05  53 if cx = 0 perform next instruction, otherwise skip it
  273. jmp      ; 14  54 jump to template below (copy procedure exit)
  274. nop_0    ; 00  55 copy procedure exit compliment
  275. nop_1    ; 01  56 copy procedure exit compliment
  276. nop_0    ; 00  57 copy procedure exit compliment
  277. nop_0    ; 00  58 copy procedure exit compliment
  278. inc_a    ; 08  59 increment ax (point to next instruction of daughter)
  279. inc_b    ; 09  60 increment bx (point to next instruction of mother)
  280. jmp      ; 14  61 jump to template below (copy loop)
  281. nop_0    ; 00  62 copy loop compliment
  282. nop_1    ; 01  63 copy loop compliment
  283. nop_0    ; 00  64 copy loop compliment
  284. nop_1    ; 01  65 copy loop compliment (10 instructions executed per loop)
  285.  
  286.  
  287. shl     ; 000 03  12 shift left cx        COPY LOOP OF 72ETQ
  288. mal     ; 000 1e  13 allocate daughter cell
  289. nop_0   ; 000 00  14 top of loop
  290. mov_iab ; 000 1a  15 copy instruction
  291. dec_c   ; 000 0a  16 decrement cx
  292. dec_c   ; 000 0a  17 decrement cx
  293. jmpb    ; 000 15  18 junk
  294. dec_c   ; 000 0a  19 decrement cx
  295. inc_a   ; 000 08  20 increment ax
  296. inc_b   ; 000 09  21 increment bx
  297. mov_iab ; 000 1a  22 copy instruction
  298. dec_c   ; 000 0a  23 decrement cx
  299. inc_a   ; 000 08  24 increment ax
  300. inc_b   ; 000 09  25 increment bx
  301. mov_iab ; 000 1a  26 copy instruction
  302. dec_c   ; 000 0a  27 decrement cx
  303. or1     ; 000 02  28 flip low order bit of cx
  304. if_cz   ; 000 05  29 if cx == 0 do next instruction
  305. ret     ; 000 17  30 exit loop
  306. inc_a   ; 000 08  31 increment ax
  307. inc_b   ; 000 09  32 increment bx
  308. jmpb    ; 000 15  33 go to top of loop (6 instructions per copy)
  309. nop_1   ; 000 01  34 bottom of loop    (18 instructions executed per loop)
  310.  
  311.                              Tom Ray
  312.                        University of Delaware
  313.                   School of Life & Health Sciences
  314.                       Newark, Delaware  19716
  315.                         ray@brahms.udel.edu
  316.                          302-451-2281 (FAX)
  317.                             302-451-2753
  318.