This research pursues three topics in parallel computation. The first is the relationship between special-purpose and general-purpose systems. Specifically, the identification of "useful" primitives to be implemented by a fixed interconnection and the emulation of one interconnection by another. The second area is the study of strategies for problem partitioning, since fixed-size interconnections will be used to solve variable-size problems. The last area is the study of matching algorithms and architectures in particular for applications such as computational geometry and computer vision.