ViciousSquid/Dosidicus

Raise a neural network as a pet - a transparent cognitive sandbox where a digital squid learns, grows, and rewires itself via Hebbian learning & Neurogenesis

What is Dosidicus?

Dosidicus electronicus is an open‑source, Python‑based simulation that lets you raise a digital pet squid whose brain is a tiny, fully‑transparent neural network. The project is positioned as an educational neuro‑tool and a simulation game: you feed, clean and interact with the squid while watching every neuron fire, every synapse change, and every new neuron appear as it learns.

Core ideas

  • Eight‑neuron starter brain – seven “drives” (hunger, curiosity, etc.) plus a single sensory input. The network grows new neurons only when the existing structure cannot solve a task.
  • Biologically‑inspired learning – Hebbian updates and Spike‑Timing‑Dependent Plasticity (STDP) are implemented in pure NumPy (see src/plasticity.py). Each weight change records what caused it, why it happened and which experience triggered it.
  • Full provenance – the system logs a human‑readable explanation for every synaptic modification and for every newly created neuron, so you can ask questions like “Why did this weight go from 0.31 to 0.47?”.
  • Dual‑memory system – short‑term and long‑term stores let the squid retain experiences over time.
  • Extensible engine (STRINg) – a custom simulation core built from scratch in NumPy, with no TensorFlow/PyTorch dependencies. The same engine powers the GUI, a head‑less trainer, and the test suite.

How you use it

  1. Clone & set up – git clone … && python -m venv venv && pip install -r requirements.txt.
  2. Run – python main.py launches a PyQt5 window where you can interact with the squid.
  3. Docker – pre‑built images are provided for a GUI version (requires X11/WSLg) and a head‑less CLI trainer that can output a trained brain JSON file.
  4. Customization – the Brain Designer wiki page explains how to add or delete neurons and behaviours; pre‑made brain configs live in custom_brains/.
  5. Sharing – saved brain files can be exported and uploaded to the SQUID‑EXCHANGE branch so others can explore your creature’s neural history.

Who might find it useful?

  • Students & hobbyists who want a concrete, visual illustration of how simple spiking‑type learning rules can produce adaptive behaviour.
  • Researchers looking for a lightweight, fully‑observable sandbox to prototype ideas about structural plasticity or credit assignment without the overhead of large deep‑learning frameworks.
  • Game designers interested in emergent AI agents that can be inspected and tweaked.

What the repo contains

  • src/ – the STRINg engine, plasticity algorithms, brain‑designer utilities, UI widgets, and plugin framework.
  • main.py – entry point for the PyQt5 GUI.
  • headless/ – command‑line trainer that runs the same engine without graphics.
  • custom_brains/ – example network configurations.
  • Dockerfiles with two build targets (gui and headless).
  • Extensive wiki (57 pages) covering the manifesto, engine overview, brain design, STDP theory, and changelog.

TL;DR

Dosidicus is a transparent neural‑network sandbox wrapped in a cute virtual‑pet game. It lets you watch a tiny spiking network learn in real time, inspect every weight change, and even grow new neurons, all with a simple Python/NumPy codebase and an optional PyQt5 GUI.


All information above is taken directly from the repository’s README and linked wiki pages.

Related

  • Project
  • Project
  • Project
  • Project
  • Project