home *** CD-ROM | disk | FTP | other *** search
/ Collection of Education / collectionofeducationcarat1997.iso / COMPUSCI / NERVES.ZIP / NS.DOC < prev    next >
Text File  |  1991-01-22  |  19KB  |  352 lines

  1. NERVOUS SYSTEM CONSTRUCTION KIT FOR IBM COMPATIBLES
  2.  
  3. VERSION 2.0, 1-22-91
  4.  
  5. >>>>FOR A COPY OF THE MOST RECENT VERSION OF THE PROGRAM AND TURBO-
  6. C/C++ SOURCE CODE (PLEASE SPECIFY DISK TYPE REQUIRED: 360KB, 1.2MB, OR 
  7. 720KB), SEND $10.00 (U.S.$15.00 FOR DELIVERY OUTSIDE NORTH AMERICA); 
  8. REQUIRES EGA OR VGA; SOURCE CODE CAN BE COMPILED WITH BORLAND'S TURBO 
  9. C VERSION 2 OR TURBO C++ VERSION 1<<<<
  10.  
  11. By Pat and Greg Williams, Rt. 1, Box 302, Gravel Switch, KY 40328, 
  12. 606-332-7606. Based on the ideas of Randall D. Beer, Department of 
  13. Computer Engineering and Science, Case Western Reserve University, 
  14. Cleveland, Ohio, as found in his INTELLIGENCE AS ADAPTIVE BEHAVIOR: AN 
  15. EXPERIMENT IN COMPUTATIONAL NEUROETHOLOGY, Academic Press, 1990 (ISBN 
  16. 0-12-084730-2; to order, you can phone A.P. toll-free at 1-800-321-
  17. 5068). 
  18.  
  19. READ THIS FIRST: These executable programs, source code files, and 
  20. associated documentation are supplied AS IS, WITHOUT WARRANTY. All 
  21. consequences of their use (or misuse) are solely the responsibilities 
  22. of the users, and in no case shall Pat Williams, Greg Williams, 
  23. Randall Beer, or Academic Press be liable for damages arising 
  24. therefrom. Modification of the source code is hereby permitted and 
  25. encouraged (we do hope you will share your additions and corrections 
  26. with us and with others). You may distribute copies of the original 
  27. distribution disk as you wish. 
  28.  
  29. FILES ON DISK(S)
  30.  
  31. EXECUTABLES AND AUXILIARY FILES (IN ROOT DIRECTORY):
  32.   EGAVGA.BGI - Borland graphics file used by NS87.EXE, NS.EXE, and 
  33.     NSPLAY.EXE (must be in default directory)
  34.   NS87.EXE - main program for computers with math coprocessors
  35.   NS.EXE - main program for computers without math coprocessors
  36.   NSPLAY.EXE - animation playback program
  37.   NSPRINT.EXE - utility program to print neuron parameters and 
  38.     connections
  39.   L3R3.NEU, EDGE3.NEU, APP3.NEU - sample neuron files
  40.   L3R3.ENV, EDGE3.ENV, APP3.ENV - sample environment files
  41.   SINCOS.TAB - data file used by NS.EXE (must be in default directory)
  42.   NS10.SAV - sample animation data file
  43.   
  44. SOURCE AND AUXILIARY FILES FOR COMPILING NS87.EXE (IN "87" DIRECTORY):
  45.   *.C - C SOURCE FILES
  46.   *.H - C HEADER FILES
  47.   NS87.PRJ - PROJECT FILE FOR TURBO C++
  48.   NS87.PJC - PROJECT FILE FOR TURBO C (MEDIUM MODEL)
  49.  
  50. SOURCE AND AUXILIARY FILES FOR COMPILING NS.EXE (IN "NO87" DIRECTORY):
  51.   *.C - C SOURCE FILES
  52.   *.H - C HEADER FILES
  53.   NS.PRJ - PROJECT FILE FOR TURBO C++
  54.   NS.PRC - PROJECT FILE FOR TURBO C (MEDIUM MODEL)
  55.  
  56. SOURCE AND AUXILIARY FILES FOR COMPILING NSPLAY.EXE (IN "PLAY" 
  57.   DIRECTORY):
  58.   *.C - C SOURCE FILES
  59.   *.H - C HEADER FILES
  60.   NSPLAY.PRJ - PROJECT FILE FOR TURBO C++
  61.   NSPLAY.PRC - PROJECT FILE FOR TURBO C (LARGE MODEL)
  62.  
  63. SOURCE AND AUXILIARY FILES FOR COMPILING NSPRINT.EXE (IN "PRINT" 
  64.   DIRECTORY):
  65.   *.C - C SOURCE FILES
  66.   DEFN.H - C HEADER FILE (MEDIUM MODEL)
  67.  
  68. I. INTRODUCTION
  69.  
  70. When we came upon Dr. Beer's beautifully done book (a revision of his 
  71. 1989 dissertation), we immediately decided to attempt a PC-replication 
  72. of his computer simulation of the real-time behavior of a simplified 
  73. cockroach. The simulation is the first we've seen which starts at the 
  74. level of (reasonably realistically modeled) individual neurons and 
  75. ends up with whole-organism behavior. Dr. Beer's hexapod bug walks 
  76. with various gaits, wanders, follows edges, moves toward "food" when 
  77. its "energy" supply is low, "eats," and manages to avoid conflicts 
  78. among its various types of behavior. As programmed by Dr. Beer, the 
  79. bug has about 80 neurons, with about 150 connections and about 500 
  80. user-settable parameters. The program allows arbitrary connection of 
  81. neurons (and, via modifications to the source code [Turbo C compiler 
  82. needed for this], arbitrary specification of organism and environment 
  83. models), making it a general "construction kit" for small artificial 
  84. neural networks. Note that these networks are NOT of the generalized 
  85. type beloved by "connectionism," but rather are designed to perform 
  86. specific functions within the context of an organism's ecological 
  87. niche. Psychological control theory enthusiasts should note that Dr. 
  88. Beer's bug's nervous system isn't organized as a Powersian 
  89. hierarchical control system (see William T. Powers, BEHAVIOR: THE 
  90. CONTROL OF PERCEPTION, Aldine, Chicago, 1973), but networks organized 
  91. in that way certainly can be constructed using the program. TO 
  92. UNDERSTAND THE PROGRAM, YOU WILL NEED TO READ (AT LEAST PARTS OF) 
  93. INTELLIGENCE AS ADAPTIVE BEHAVIOR.
  94.  
  95. Suggestions, questions, modifications, etc., are welcome. Let us know 
  96. your thoughts about this stuff... down the road possibilities include 
  97. simulations of nematodes (having only a few hundred neurons in their 
  98. entire nervous system), Aplysia (modifiable synapses), spiders (prey-
  99. catching, web building?), and op-amp-circuit realization of neurons 
  100. (for speedier computations in parallel).
  101.  
  102. We recommend INTELLIGENCE AS ADAPTIVE BEHAVIOR not only for its 
  103. development of the bug model, but for its extended critique of 
  104. traditional approaches in Artificial Intelligence. Here's the 
  105. foundation for a new field, folks: non-verbal AI. Thank you, Dr. Beer! 
  106.  
  107. II. RUNNING THE PROGRAM
  108.  
  109. The executable files are NS.EXE (if you don't have a math coprocessor) 
  110. and NS87.EXE (if you have a coprocessor). Results of simulations with 
  111. the two files are quite similar BUT NOT IDENTICAL, because of round-
  112. off and other differences between integer and long calculations in the 
  113. former and float and double calculations in the latter. Actually, you 
  114. can run either file on computers with or without coprocessors, but 
  115. NS.EXE runs about half as fast as NS87.EXE with a coprocessor, and 
  116. NS87.EXE runs about five times slower than NS.EXE without a 
  117. coprocessor.
  118.  
  119. With one of the executable files (and the Borland graphics file 
  120. EGAVGA.BGI, included on the distribution disk) on the default drive, 
  121. at the DOS prompt, type NS or NS87, as appropriate, and press ENTER. 
  122. Within a short time, you should see a menu of eight possibilities, 
  123. each of which can be accessed by pressing the key corresponding to its 
  124. first letter. For example, to quit the program, press Q.
  125.  
  126. There are two types of data files used by NS.EXE or NS87.EXE: neuron 
  127. files, which provide descriptions of particular nervous system 
  128. designs, and environment files, which provide descriptions of 
  129. particular environment ("world") configurations and initial 
  130. conditions. Three sets of neuron and environment files are included: 
  131. WANDER.NEU and WANDER.ENV, EDGE3.NEU and EDGE3.ENV, and APP3.NEU and 
  132. APP3.ENV. You can recall these files, and you can save and recall new 
  133. neuron and environment files. 
  134.  
  135. To see the program in action, press R (for "Read files") and then, at 
  136. the prompt for a neuron file spec, key in WANDER.NEU and press ENTER. 
  137. At the prompt for an environment file spec, key in WANDER.ENV and 
  138. press ENTER. The current neuron and environment files appear at the 
  139. bottom of the menu screen. Now press S (for "Simulate"); you should 
  140. see an EGA-graphics-mode screen with a representation of a bug near 
  141. the lower left corner. To begin the simulation, press ENTER. The bug 
  142. will begin to move, and plots will be drawn at the right side of the 
  143. screen. Each of the plots except the bottom one shows the firing 
  144. frequency of a named neuron in the bug's nervous system (i.e., neuron 
  145. RBR) vs. (simulated, not real) time. The bottom plot shows the gait 
  146. pattern of the bug's legs -- a line means the foot is up (swing mode), 
  147. while no line means the foot is down (stance mode).
  148.  
  149. As shown at the bottom of the simulation screen, you can press SPACE 
  150. to enter single-stepping mode; each time you subsequently press SPACE, 
  151. another point will appear on each plot (corresponding to an increment 
  152. of 0.010 seconds of simulated time; actually, this increment 
  153. corresponds to two "internal" integration intervals, each 0.005 
  154. simulated seconds long). To return to continuous simulation, press 
  155. ENTER.
  156.  
  157. You can get back to the menu screen at any time by pressing Esc, but 
  158. don't do that just yet. First, note