ANN: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 16: Line 16:


== Sprite Engine/Experiment Library ==
== Sprite Engine/Experiment Library ==
The experiment library will most likely be based on [[OLPCGames]] to allow ANN control of on-screen sprites within the experiments. These sprites will (eventually) be configured based on plain text files and image.
The experiment library will most likely be based on [[OLPCGames]] to allow ANN control of on-screen sprites within the experiments. These sprites will be configured based on plain text files and image. This will provide teachers and advanced students the ability to define their own experiments.


= Experiment ideas =
= Experiment ideas =

Revision as of 01:12, 31 March 2008

Introduction

Mock-up of the ANN designing gui
Mock-up of the ANN experiment gui

ANN is an activity where children can design, build, and test artificial neural networks (ANNs) [1]. Each 'experiment' will have a particular task ranging in difficulty from switching on and off a light to controlling a paddle in a game of pong. Children will design and build an ANN that they can then test in a simulated environment. If you have any comments, please contact me at bjgraham@udel.edu

Rationale

The study of artificial neural networks (ANNs) in it's simplest form is the examination of how interconnected groups of relatively simple units can solve computational problems. ANNs provide a framework to think about and study how the brain and nervous system functions and interacts with the environment. Providing children with the tools necessary to learn about and explore ANNs will provide them with experience in problem solving, creative thinking, logic, experimentation, and introduce them to the fields of artificial intelligence and neuroscience.

Development plans

ANN will be programmed in Python using pyGtk for the gui and possibly OLPCGames for the experiments. This activity was inspired by the Bug Brain application [2]

ANN simulation engine

The ANN library will be developed from scratch and will contain implementations of binary-thresholding units and adapting synapses. Additionally, the library will contain input and output adapters that will allow variables within the experiments to interface with the ANN units.

Sprite Engine/Experiment Library

The experiment library will most likely be based on OLPCGames to allow ANN control of on-screen sprites within the experiments. These sprites will be configured based on plain text files and image. This will provide teachers and advanced students the ability to define their own experiments.

Experiment ideas

  • Turn on a light whenever a switch is pulled
  • Turn on a light when two switches are pulled (and logic)
  • Turn on a light when one or more of two switches is/are pulled (or logic)
  • Turn on a light when only one of two switches is pulled (xor logic)

Phase 1 plans

  • Develop the core ANN simulation engine
  • Design and build the gui for ANN creation/editing
  • Develop the sprite engine possibly based on OLPCGames for ANN testing
  • Design and construct an initial subset of experiments ranging in difficulty

Ideas for the future (or if all goes well this summer)

  • Make the experiment configuration extensible so that teachers and advanced students can make their own
  • Allow collaborative editing of ANN and sharing of ANNs and experiments over the mesh network
  • Create input/output adapters for the microphone, speakers, camera, and keyboard to allow physical interaction with the ANNs