Skip to content
Robert J Calin-Jageman edited this page Feb 27, 2018 · 5 revisions

Cartoon Network is a very simple simulator for exploring neural circuits. We know lots about the cellular/molecular properties of neurons. And we also know lots about the gross anatomy of the brain, it's systematic organization, etc. But connecting how these levels are connected remains mysterious. Obviously, neurons form circuits, and these circuits generate complex behaviors and rhythms while incorporating feedback from the outside world. But how does this happen? How do neural networks do things? The goal of this simulation is to help you develop an intuitive sense of the answer to this question. Thus, this simulator does not delve into the many complexities of real neurons. Nor, on the other hand, does it simulate many thousands of neurons in the way deep learning neural networks are used to process images and other complex stimuli. Instead, this simulation focuses on the capabilities of very small sets of neurons and emphasizes a cartoonish interface that makes exploration accessible to students of nearly any age.

How does it work?

Download cartoon_network.jar to a Java-enabled computer of your choice.

For PC:

Download the file from here. Launch the jar file (usually just a double-click) and the simulation opens.

For OsX (Mac):

Download this zip file. Then unzip the file. In the unzipped files find cartoon_network.jar. Right click and choose Open (launching this way first will usually allow the file to run; otherwise check your security settings).

First commands

To start, type 'a' to enter add mode. Then click around the screen to add neurons. Next, type 'x' to enter excite mode. Clicking a neuron will now excite it, potentially to threshold when it will fire an action potential and release neuro-transmitter. Next--explore! Find out how to rotate, stretch, shrink, and move neurons, how to change their transmitters, and how to arrange them into interesting circuits. If you have a Finch robot, plug it in and type 'c' to connect it--this enables you to connect inputs and outputs of the Finch to the neurons in your simulation.

Some challenges:

  • Can you make a neural circuit that, once activated, stays active permanently? If so, can you add another input that can silence the circuit from its active state? Some believe that simple circuits like this could help support working memory. What qualities of the neurons make it easier/harder to sustain activity?
  • Can you make a neural circuit that oscillates from on states to off states? These types of circuits could be important to the many rhythmic outputs of motor systems: walking, breathing, heart-beats, circadian rhythms, etc. What aspects of the circuit and the neuron control the oscillations?
  • Can you make a circuit that is only active when two or more inputs are active? When either of two inputs are active?
  • If you have a Finch, can you make a circuit that enables it to follow a light source? Then try adding in the behavior of running away from high temperatures.
  • Can you make the Finch sing? Can you use an oscillating circuit to make it sing periodically?

Digging deeper

This project is written in Java using the Greenfoot gaming platform.

To modify the code:

  • Download and install Greenfoot
  • Checkout the source code
  • Open project.greenfoot to open the project in Greenfoot
  • You'll be able to run the simulation and edit the source code
  • If you want to make your own distributable jar file, click the share button, then export as a jar file ** Due to an error in Greenfoot, it does not package up the Finch libraries into the exported jar file, so what you get will work but will no longer connect to a Finch ** Download the Finch Greenfoot Demo from the Birdbrains website. Open its jar file. Copy the directory structure from that jar file into your newly created jar file, but without over-writing. This will bundle up the needed libraries and produce a distributable jar file that works with the Finch robot.