A self-replicating automaton capable of being programmed to construct a wide range of objects in addition to a replica of itself may be termed a self-replicating programmable constructing automaton (SRPC). An open problem in the field of self-replication is the design of a physical SRPC made from simple parts taken from a small set and using for its supply of parts (from which to construct things) a disorganized collection of parts distributed in a random fashion in its environment. A machine capable of doing this will need to contain a subsystem capable of taking an unknown part from its environment and determining which kind of part it is. The architecture of a discriminating subsystem of this kind is of course highly dependant on the pre...