Installation ============ The simulator has been tested on a couple of UNIX/Linux systems and on Windows with cygwin. It requires something equivalent to g++ for compilation, lex and yacc to generate the parser of the language file and Tcl/Tk for the result viewer look.tcl. Get the file coco06.zip. Then unzip, which creates the subdirectory coco06/ with the simulator in it. Type ./make in coco06/, which creates the executable cococo (and also prae.exe as a pre-processor). Program call ============ Start the program in coco04/ with the following call: ./cococo -file v/mylanguagefile Eg. mylanguagefile = HopfieldContinuous. Make sure a directory for the activations and weights exists (in the examples, this is: /tmp/coco/). This will start the program with it reading the language file v/mylanguagefile. The program will allocate memory for the network you defined, it will run the activation and training algorithm over and over again, as you have described in your language file. Start the ``GUI'', an image file viewer, like: ./look.tcl a w 0 1 Make sure to start this after the first weight- and activation-files have been written out. The arguments "a" means display activation files, "w" means display weights. The numbers specify the areas from which to collect these files. In the window, click the left mouse button or Return to reload the files, right mouse button to quit. Further reading =============== See the file README.ps which is the same as README.pdf or docu/handbook.pdf Background ========== With this neural net simulator, you edit your own network and training algorithm using a built-in ``batch''-language. In this language, you specify every detail of your algorithm. You can extend the language by adding and compiling to the simulator your own functions written in C. A variety of networks with connectionist neurons can be programmed, in particular if neuronal updates are local. This simulator was developed to bridge the gap between pure C-code that becomes messy over time and simulators (such as SNNS) which restrict the user too much. It is meant as a scheme to organize new C-code that piles up during development. New versions are not compatible with older ones, sorry. The need for it arose from testing new neural network learning algorithms with different architectures, in order to explain cortico-cortical connections (hence the name). See the publication: Emergence of modularity within one sheet of intrinsically active stochastic neurons. C. Weber and K. Obermayer. Proc. ICONIP, 732-737 (2000). Content ======= Currently, the following files are supplied, addressing the following papers: - v/HopfieldContinuous This addresses no paper in particular, but such a network is used in: "Self-Organization of Orientation Maps, Lateral Connections, and Dynamic Receptive Fields in the Primary Visual Cortex" C. Weber, In: Proc. ICANN, 1147-52, (2001). Such a network also constitutes the lateral, predictive weights in the following: - v/CortexDocking v/CortexDocking_analyze v/flowfield.tcl The first produces, the latter analyze, the toy example weights of: "A hybrid generative and predictive model of the motor cortex" Cornelius Weber, Stefan Wermter and Mark Elshaw Neural Networks, 19 (4), 339-353 (2006). - v/SigmaPi_1dim This creates Fig.6a) of: "A Self-Organizing Map of Sigma-Pi Units", C. Weber and S. Wermter, Neurocomputing (2006/7, in press). - v/Vert_Horiz_Saccades This creates Fig.5 of: "A possible representation of reward in the learning of saccades" C. Weber and J. Triesch, Proc. Epigenetic Robotics, pp. 153-60 (2006). Correspondence ============== Dr. Cornelius Weber, Room 0.318, Frankfurt Institute for Advanced Studies, Johann Wolfgang Goethe University, Max-von-Laue Str. 1, 60438 Frankfurt am Main, Germany. Tel: +49 69 798 47536, Fax: +49 69 798 47611. WWW: http://fias.uni-frankfurt.de/~cweber/ Email: c.weber@fias.uni-frankfurt.de