1. A computer-implemented method for storing an encoded percept in a long-term memory, comprising: initializing the long-term memory, wherein the long-term memory includes a set of hard-locations, a weight matrix, and an activation function; receiving a percept, wherein the percept comprises a sub-graph of a neural network excited by an input stimulus; encoding the percept as a bit pattern; generating a variable length entry in the set of hard locations storing the encoded percept as a hard location in the set of hard locations; and generating an entry in the weight matrix corresponding to the encoded percept.