SenseLab Home ModelDB Home

Polychronization: Computation With Spikes (Izhikevich 2005)
Accession: 115968
"We present a minimal spiking network that can polychronize, that is, exhibit reproducible time-locked but not synchronous firing patterns with millisecond precision, as in synfire braids. The network consists of cortical spiking neurons with axonal conduction delays and spiketiming- dependent plasticity (STDP); a ready-to-use MATLAB code is included. It exhibits sleeplike oscillations, gamma (40 Hz) rhythms, conversion of firing rates to spike timings, and other interesting regimes. ... To our surprise, the number of coexisting polychronous groups far exceeds the number of neurons in the network, resulting in an unprecedented memory capacity of the system. ..."
Reference: Izhikevich EM (2005) Polychronization: Computation with Spikes Neural Comput 18:245-282 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type:  Network;
Brain Region(s)/Organism:  Neocortex;
Cell Type(s):   
Channel(s):   
Gap Junctions:  
Receptor(s):  
Gene(s):  
Transmitter(s):  
Simulation Environment:  MATLAB (web link to model); C or C++ program (web link to model);
Model Concept(s):  Activity Patterns; Temporal Pattern Generation; Spatio-temporal Activity Patterns; Simplified Models; STDP;
Implementer(s):  Izhikevich, Eugene [eugene.izhikevich at nsi.edu];
Model files (located externally to ModelDB) Help downloading and running models
Polychronization: Computation With Spikes

Polychronization: Computation With Spikes

Neural Computation (2006) 18:245-282

Eugene M. Izhikevich

The Neurosciences Institute,
10640 John Jay Hopkins Drive,
San Diego, CA, 92121.

Abstract. We present a minimal spiking network that can polychronize, i.e., exhibit reproducible time-locked but not synchronous firing patterns with millisecond precision, as in synfire braids. The network consists of cortical spiking neurons with axonal conduction delays and spike-timing-dependent plasticity (STDP); a ready-to-use MATLAB program and C++ program code is included. It exhibits sleep-like oscillations, gamma (40 Hz) rhythms, conversion of firing rates to spike-timings, and other interesting regimes. Due to the interplay between the delays and STDP, the spiking neurons spontaneously self-organize into groups and generate patterns of stereotypical polychronous activity. To our surprise, the number of co-existing polychronous groups far exceeds the number of neurons in the network, resulting in an unprecedented memory capacity of the system. We speculate on the significance of polychrony to the theory of neuronal group selection (TNGS, Neural Darwinism), cognitive neural computations, binding and gamma rhythm, mechanisms of attention, and consciousness as "attention to memories".

Full text in PDF file,

Files for simulation

Simulation files as in the original article:

  • spnet.m - MATLAB program to simulate the dynamics of spiking network with delays and STDP
  • spnet.cpp - C program to simulate the dynamics of spiking network with delays and STDP

Simulation files to explore polychronous groups:

  • spnet1.m - the same as above except the initialization procedure does not allow for multiple synapses between any pair of neurons
  • polygroup.m - MATLAB file that finds a polychronous group starting with specified anchor neurons
  • polychron.m - MATLAB file that tries various anchor neurons and calls polygroup.m.
  • poly_spnet.cpp - C program that combines all of the above MATLAB functionality

To find polychronous groups, first run spnet1.m for sufficiently long period of time and then save the workspace in a file, e.g., write 'save 18000'. Then, use this file name in the program polychron.m to find all groups. Uncomment the line that shuffles excitatory->excitatory connections and run polychron.m again to see how many groups are expected by chance.

For example, the program spnet1.m was run for 18000 seconds and the workspace was saved in the file 18000.mat. Then, polychron.m found 1973 groups (only 211 for shuffled synapses). Using less stringent requirement for groups (i.e., setting min_group_path=6 in polychron.m) results in 6071 groups.

Note: The MATLAB and C programs are similar but not equivalent. MATLAB program misses some of the groups.

The quickest way to start is to download polychron.m, polygroup.m, and 18000.mat into the same folder. Then, run polychron.m and enjoy the show.

Correspondence to Eugene Izhikevich

[home] [research] [publications] [cv]

ModelDB Home  SenseLab Home   Help
Questions, comments, problems? Email the ModelDB Administrator
How to cite ModelDB
This site is Copyright 2012 Shepherd Lab, Yale University