A computational model of systems memory consolidation and reconsolidation (Helfer & Shultz 2019)

 Download zip file 
Help downloading and running models
A neural-network framework for modeling systems memory consolidation and reconsolidation.
1 . Helfer P, Shultz TR (2019) A computational model of systems memory consolidation and reconsolidation. Hippocampus [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Connectionist Network; Synapse;
Brain Region(s)/Organism: Hippocampus; Neocortex;
Cell Type(s): Abstract integrate-and-fire neuron;
Gap Junctions:
Receptor(s): AMPA;
Transmitter(s): Glutamate;
Simulation Environment: C or C++ program;
Model Concept(s): Memory; Synaptic Plasticity;
Implementer(s): Helfer, Peter [peter.helfer at mail.mcgill.ca];
Search NeuronDB for information about:  AMPA; Glutamate;
#ifndef NS_LAYER_HH
#define NS_LAYER_HH

#include <vector>
#include <string>
#include <functional>

using std::vector;
using std::string;

#include "NsPattern.hh"

#include "NsUnit.hh"

class NsLayer {
    NsLayer(const string &id, const string &type);
    void makePattern(const string &patId);
    void setPattern(const string &patId);
    void setPattern(const NsPattern &pat);
    void clearPatterns();
    const string &setRandomPattern();
    void clear();
    void randomize();
    void computeNewActivations();
    void applyNewActivations();
    void adjustInhibition();
    void setFrozen(bool state);
    void lesion();
    void maintain();
    uint getNumActive() const;
    static void printScoreHdr();
    uint getNumHits(const string &targetId) const;
    static void printNumActiveHdr();
    void printNumActive() const;
    void printState() const;
    void printGrid(const string &tag, const string &targetId) const;

    void saveInhibition() { savedInhibition = inhibition; }
    void restoreInhibition() { inhibition = savedInhibition; }

    string toStr(uint iLvl = 0, const string &iStr = "   ") const;
    const string id;
    const string type;
    const uint width;
    const uint height;
    const double k;
    const double minInhibition;
    const double maxInhibition;
    const double initInhibition;
    const double inhibIncr;
    double inhibition;
    double savedInhibition;
    bool isClamped;
    bool isFrozen;
    bool isLesioned;
    vector<NsUnit *> units;
    bool orthogonalPatterns;
    uint nextPatternUnit;
    unordered_map<string, NsPattern> definedPatterns;
    vector<string> definedPatternIds;
    bool printPatterns;