Determining task optimal modular robot assembly configurations | Synapse