home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / lcau_exe / lcau.doc < prev    next >
Text File  |  1989-03-19  |  15KB  |  283 lines

  1. This disk is a supplement to the disk "LCA.C" which was released in 
  2. Summer, 1987. The original disk contained 9 programs written in "C" to 
  3. calculate and display the evolution of linear cellular automata. 
  4. Although the programs represented a point in the evolution of the 
  5. course Fortran III offered during the past several semesters, and were 
  6. promoted at the XVI Feria de Puebla, they also had a strong 
  7. inspiration in an article in the December, 1986, issue of Byte magazine 
  8. which explained how cellular automata could lead to interesting 
  9. abstract mathematical art. 
  10.  
  11.         Kenneth E. Perry, Abstract mathematical art, Byte, 
  12.         December 1986, pages 181-192. 
  13.  
  14. The 9 programs in the LCAkr.C set ran through the range of 2, 3, and 4 
  15. states per cell, as well as interactions between first, second, or 
  16. third neighbors. The combinations (4,1) and (4,2) are probably the most 
  17. colorful, but the binary first neighbor version (2,1) is more amenable 
  18. to an exhaustive analysis.
  19.  
  20. Programs in the new series are named LCAU to distinguish them from 
  21. members of the old series. 
  22. More: (Enter) or (Y)es, (N)o, (NS)non-stop? ns
  23. In the old series, In all cases except for (2,1), only totalistic rules 
  24. were considered. Totalistic rules are those for which the transition 
  25. depends only on the number of cells of different kinds in each 
  26. neighborhood, but not on their precise arrangement. More exactly, each 
  27. state gets assigned an integer in the range 0 to k-1 as a weight, the 
  28. actual transition being a function of the weighted sum of all the 
  29. neighbors (including the evolving cell). The artistic effects arise 
  30. from assigning colors to each of cell values. 
  31.  
  32. Although the use of totalistic rules serves to reduce the enormous 
  33. number of possible automata greatly, it excludes many interesting 
  34. possiblilities arising from a more detailed specification of the 
  35. evolutionary rules. When k, the number of states per cell is small, 
  36. there is not too much which is possible in the way of design, but once 
  37. it reaches 4 or beyond some interesting constructions become possible. 
  38. LCA41.C in particular, contains enhanced rule and line editing menus 
  39. which allow experimentation with the design of rules.
  40.  
  41. Certain of the demonstrations in LCAU41.C show how the design process 
  42. can be used. There is an example of a "binary counter'" which consists 
  43. of a glider gun together with bistable targets. In one state the target 
  44. absorbs the glider and changes to the other state. In the second state 
  45. the target passes the glider, reverting to the first state. Thus half 
  46. the gliders are lost to each target, whose state forms a binary counter 
  47. whose carry is represented by the gliders which are allowed to pass. 
  48.  
  49. Another demonstration shows how a bouncing glider may shuttle between 
  50. two obstacles - still lifes - drawing them ever closer together. Just 
  51. as the glider is about to be crushed, the walls coalesce but the glider 
  52. escapes to one side, seeking new walls to conquer. Multiple gliders may 
  53. go about their business, competing for the wall if they lie on opposite 
  54. sides or hastening the squeeze if they lie on the same side.
  55.  
  56. A third demonstration shows a slow glider propelled by an intrenal 
  57. glider or gliders bouncing back and forth - a sort of Mexican jumping 
  58. bean. When a fast glider overtakes a slower glider, they coalesce, 
  59. producing an even slower glider. 
  60.  
  61. A fourth demonstration shows gliders of two different velocities, which
  62. can be used to set up a remote still life whose reaction to further 
  63. gliders gives it a life of its own. 
  64.  
  65. Such constructions can be used to generate interesting patterns, but 
  66. they also serve theoretical ends as well. For example, the binary 
  67. counters establish the existence of structures with both exponentially 
  68. long transients and exponentially long cycles. Since they still use 
  69. several cells to establish the basic components and their spacings, 
  70. they still do not reach theoretical maxima; but they do lie within 
  71. certain factors of such maxima.
  72.  
  73. When k becomes larger still, universal Turing machines can be 
  74. programmed, but this probably requires a k of at least 6 or 8.
  75.  
  76. Another extensive addition which has been made to the programs is to be 
  77. found in the series PROB.C, which can be invoked by typing "t" in the 
  78. main menu (the old totalistic rule number can still be utilized by 
  79. typing "T"); in fact their inclusion more than doubles the size of the 
  80. programs. These new programs permit a statistical survey of the 
  81. properties of the automaton. Originally they calculated simple 
  82. probabilities on the basis of ideas which go by the name of "mean field 
  83. theory," whose results were plausible but not entirely convincing.
  84.  
  85. Since then two interesting articles have appeared [the second as a 
  86. preprint]:
  87.  
  88.         W. John Wilbur, David J. Lipman and Shihab A. Shamma, On the 
  89.         prediction of local patterns in cellular automata, Physica 
  90.         19D 397-410 (1986).
  91.  
  92.         Howard A. Gutowitz, Jonathan D. Victor and Bruce W. Knight,
  93.         Local structure theory for cellular automata, Physica 28D 
  94.         18-48 (1987). 
  95.  
  96. These articles, from differing points of view, show how to take 
  97. correlations between cells into account by calculating the 
  98. probabilities of strings of cells. Rather than taking individual 
  99. probabilties as fundamental and deducing the probabilities of 
  100. combinations, the process is inverted; self consistent probabilities 
  101. for strings (or blocks) of a certain length are found from which the 
  102. probabilities of individual cells are obtained by averaging.
  103.  
  104. The calculations of these articles have been included among the options 
  105. of the "t" submenu, so that probabilities derived from blocks of length 
  106. up to 6 can be compared with simpler estimates and with the actual 
  107. performance of the automaton.
  108.  
  109. A third feature of the new series is the incorporation of the de Bruijn 
  110. diagrams within the main program, together with a visual representation 
  111. in terms of chords of a circle. It is still not possible to transfer 
  112. the cycles obtained back to the main program without copying them on 
  113. paper and editing the initial line with the option "l". Limitations of 
  114. space and time severely restrict the lengths of periods which can be 
  115. analyzed. Although interesting gliders and cycles are found within the 
  116. accessible range of the program, there are many others of longer 
  117. periods which manifest themselves experimentally when the evolutions 
  118. are run. It would be nice if the exhaustive analysis afforded by the 
  119. de Bruijn diagrams were feasible for the longer periods that show up on 
  120. the screen, but they would really require a faster computer, more 
  121. memory, and probably programs incorporating finer details of the 
  122. algorithms used. 
  123.  
  124. The programs contain a bare minimum of help facilities, in the sense 
  125. that menus of one type or another are presented at various stages in 
  126. the evolution of the programs, and others are sometimes available by 
  127. typing a question mark, just as a slash will often clear portions of 
  128. the screen. 
  129.  
  130. A manual consisting of the lecture notes for Fortran III is in 
  131. preparation, for which chapters are planned describing the accompanying 
  132. programs. As is well known, the preparation of manuals always lags the 
  133. evolution of the programs which they are supposed to describe.
  134.  
  135. There are still some interesting problems of presentation - recall that 
  136. Fortran III is supposed to be dedicated to graphical techniques! 
  137. Presentation of simple evolution is easily solved, since the resolution 
  138. and velocity of the graphics controllers included as standard equimpent 
  139. in IBM PC's and clones is adequate. Unfortunately color monitors and 
  140. their controllers are sometimes seen as premium equipment which was not 
  141. included in a given installation, so that a monochromatic rendering of 
  142. the color displays must be endured.
  143.  
  144. Even so, the speed and screen resolution which is available in the 
  145. present generation of equipment is only marginally satisfactory, having 
  146. only a fraction of the resolution of pen and ink plotters which have 
  147. been commonly available. Once statistics pertaining to the evolution of 
  148. automata are to be presented, it is found that there are many more 
  149. parameters than are comfortable, which leads to the use of shading, 
  150. complex surface representations, even stereographic views. It is in 
  151. this area that some interesting results can be obtained, but mostly 
  152. ones which whet one's appetite for the next generation of equipment.
  153.  
  154. Likewise the use of the de Bruijn diagram and the reduced evolution 
  155. diagram, even without their probabilistic versions, requires line 
  156. drawings of a complexity which quickly surpasses the capability of the 
  157. present generation of graphical displays. Although the complexity of 
  158. these diagrams increases exponentially - making even modest values of 
  159. parameters permanently inaccessible; still, even moderately better 
  160. graphics equipment will permit an instructive display of the simplest 
  161. cases.
  162.  
  163. Although the menus vary slightly from program to program, they 
  164. generally conform to the following pattern:
  165.  
  166. The Copyright Notice - The initial screen in all programs bears a 
  167. copyright notice and a very short description of the program. While the 
  168. inexperienced user is reading the screen, a random number generator is 
  169. wasting time, so that there will usually be a different display every 
  170. time the program is run, likewise a different sequence of random rules 
  171. and initial lines. No effort has been made to see how much this initial 
  172. idling degenerates the performance of the random number generator.
  173.  
  174. The Main Menu - The main menu generally offers the following selection: 
  175.  
  176.         r - edit the rule 
  177.         l - edit the line 
  178.         q - quit 
  179.         g - graph the evolution 
  180.         x - generate a random rule 
  181.         y - generate a random line 
  182.         u - generate a sparse line
  183.         T - edit a totalistic rule number
  184.         D - display all stored rules in sequence 
  185.  
  186.         #nn - execute stored rule number nn 
  187.         @nn - execute totalistic rule number nn 
  188.         $nn - execute 12 totalistic rules starting with number nn 
  189.         wnn - execute Wolfram rule number nn (LCAU21 only) 
  190.  
  191.         t - enter probabilistic submenu 
  192.         d - enter de Bruijn submenu 
  193.  
  194. Additional commands are present in different programs, but they are not 
  195. publicized because they are generally experimental. In future versions 
  196. of the programs they may be officially documented. Anyone persisting in 
  197. a desire to use them at their own risk may discover them by studying 
  198. the source code. For example, a Z will sometimes clear the line of 
  199. cells, a dot will often execute a single generation of evolution but 
  200. still within the main menu. 
  201.  
  202. The Rule Editing Menu - To edit a rule, either general or totalistic, 
  203. one may move the cursor and insert values for the cell above the 
  204. cursor. Some programs have a more elaborate cursor, with tabs, 
  205. wraparound, and the possibility of flagging values which will not be 
  206. altered by using the random rule generator x (X overrides the flags).
  207. Again these features are experimental, and may possibly be confirmed in 
  208. future versions of the programs. 
  209.  
  210. The Line Editing Menu - Lines are edited by essentially the same 
  211. procedures that the rules are, but the long line of 320 cells is broken 
  212. down into 8 lines 40 cells, to make movement across the line using the 
  213. up and down arrows more rapid. LCAU41, which corresponds to one of the 
  214. simplest automata for which rules may be designed to order, has many 
  215. additional line editing options, all experimental, which can be used to 
  216. facilitate the design. No doubt more will be added before the existence 
  217. of all of them is officially announced. 
  218.  
  219. The Probabilistic submenu - By typing t one arrives at a separate 
  220. display, implemented in the programs PROB.C, which will perform several 
  221. statistical analyses of their automata. The programs vary considerably 
  222. with the number of states, since they attempt to represent the relative 
  223. probabilities as points within a simplex. For two states, the results 
  224. are trivial, for three states the diagrams are planar and interesting, 
  225. for four states the graphical capabilities of the screen are strained; 
  226. for five and beyond some other representation would be requiered. 
  227.  
  228. The generic options are: 
  229.  
  230.         a - a priori estimates 
  231.         m - evolution of cells and pairs 
  232.         M - 50 generation evolution of cells and pairs 
  233.         g - 50 feneration evolution of single cells
  234.         G - 200 generation evolution of single cells
  235.         s - graph probabilities in stereo 
  236.         t - graph probabilities, show contours in simplex 
  237.         1 - 1-block local structure theory iterations 
  238.         2 - 2-block local structure theory iterations 
  239.         3 - 3-block local structure theory iterations 
  240.         4 - 4-block local structure theory iterations 
  241.         5 - 5-block local structure theory iterations 
  242.         6 - 6-block local structure theory iterations 
  243.         + - select red-green-yellow
  244.         - - select blue-cyan-white
  245.         e - show 16 lines of evolution 
  246.         / - clear screen
  247.         ? - show menu
  248.         carriage return - exit 
  249.  
  250. Options 5 or 6 may not be available if they require too much time or 
  251. space, t shows two-block probabilities for k=2 automata, and there may 
  252. be variants on s. For k=2, the commands x, y, z, w, v, i, and j produce 
  253. graphs for self-consistent 1-block probabilities for varying numbers of 
  254. generations and numbers of iterations. 
  255.  
  256. The de Bruijn submenu - There are two kinds of de Bruijn diagrams that 
  257. can be computed - those showing the counterimages of a uniform string, 
  258. and those which isolate strings satisfying a certain combination of 
  259. shifting and periodicity. Letters are assigned to them consecutively, 
  260. but the combination of period and displacement varies widely because of 
  261. the differing number of combinations possible. Generally 
  262.  
  263.         1,2,...         generates a de Bruijn diagram of n stages
  264.         a,b,c,...       shows cyclic counterimages
  265.         A,B,C,...       shows all counterimages 
  266.         other letters   show (p,d) cycles 
  267.         +,1             selects the color palette 
  268.         ?,/             clears screen, shows menu
  269.         carriage return exits
  270.  
  271. To obtain information from the de Bruijn submenu will probably require 
  272. the use of pencil and paper, or the use of the screen dump program. 
  273. Although the program lists all the links in the de Bruijn diagram, the 
  274. ring diagram is generally too cluttered to use directly from the screen 
  275. and should be redrawn. Usually the resulting diagram can be further 
  276. simplified, often it contains many redundant loops. Used casually, it 
  277. still shows whether there will be many or few periods of a given type.
  278.  
  279. Harold V. McIntosh
  280. April 15, 1988
  281.  
  282.  
  283.