Abstract.A major challenge in system biology is the automatic inference of gene regulation network topology-an instance of reverse engineering-based on limited local data whose collection is costly and slow. Reverse engineering implies the reconstruction of a hidden system based only on input and output data sets generated by the target system. Here we present a generalized evolutionary algorithm that can reverse engineer a hidden network based solely on input supplied to the network and the output obtained, using a minimal number of tests of the physical system. The algorithm has two stages: the first stage evolves a system hypothesis, and the second stage evolves a new experiment that should be carried out on the target system in order to extract the most information. We present the general algorithm, which we call the estimation-exploration algorithm, and demonstrate it both for the inference of gene regulatory networks without the need to perform expensive and disruptive knockout studies, and the inference of morphological properties of a robot without extensive physical testing.