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
- Clone & set up –
git clone … && python -m venv venv && pip install -r requirements.txt. - Run –
python main.pylaunches a PyQt5 window where you can interact with the squid. - 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.
- Customization – the Brain Designer wiki page explains how to add or delete neurons and behaviours; pre‑made brain configs live in
custom_brains/. - Sharing – saved brain files can be exported and uploaded to the
SQUID‑EXCHANGEbranch 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 (
guiandheadless). - 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