  We revisit the planning problem in the blocks world, and we implement a known
heuristic for this task. Importantly, our implementation is biologically
plausible, in the sense that it is carried out exclusively through the spiking
of neurons. Even though much has been accomplished in the blocks world over the
past five decades, we believe that this is the first algorithm of its kind. The
input is a sequence of symbols encoding an initial set of block stacks as well
as a target set, and the output is a sequence of motion commands such as "put
the top block in stack 1 on the table". The program is written in the Assembly
Calculus, a recently proposed computational framework meant to model
computation in the brain by bridging the gap between neural activity and
cognitive function. Its elementary objects are assemblies of neurons (stable
sets of neurons whose simultaneous firing signifies that the subject is
thinking of an object, concept, word, etc.), its commands include project and
merge, and its execution model is based on widely accepted tenets of
neuroscience. A program in this framework essentially sets up a dynamical
system of neurons and synapses that eventually, with high probability,
accomplishes the task. The purpose of this work is to establish empirically
that reasonably large programs in the Assembly Calculus can execute correctly
and reliably; and that rather realistic -- if idealized -- higher cognitive
functions, such as planning in the blocks world, can be implemented
successfully by such programs.
