A multi-agent system is divided into groups forming sub-populations of agents. These groups of agents are evolving simultaneously with the aim of searching for all the local extrema of a given function with complex landscape. Mathematically, this multi-agent system is represented by a multi-population genetic algorithm (MPGA). Each population contains a set of agents that are binary coded chromosomes undergoing evolution with mutation and crossover. A migration operator is used to control the exchange of chromosomes between different populations. Since the location of the extrema for the given function f is defined by the condition of vanishing first derivative, we define the fitness of a chromosome as a monotonically decreasing function of the absolute value of the differential df. To evaluate the performance of our multi-agent system in mapping out the landscape, we introduce two measures: the cover degree, which is the percentage of the extrema found, and the precision, which is the average fitness of the last generation among all the groups. A good landscape mapping algorithm will maximize both the cover degree and the precision. Numerical experiments were performed on a set of benchmark functions. We observe a general feature similar to the "uncertainty relation" in physics, in which the cover degree increases and precision decreases as the strength of migration decreases. Our results on benchmark functions show that MPGA provides a good tool for landscape mapping. Application of our method to map out complex landscape of functions that cannot be written down explicitly, such as protein folding, is suggested.