1. A simulator that simulates behaviors of a plurality of agents existing in a virtual space by distributed processing that uses a plurality of calculators communicable with one another, wherein at least two of the calculators are accessible to a space allocation storage that stores, as space allocation information, a division range of each of divided spaces in the virtual space, and a calculator to which processing related to an agent existing in each of the divided spaces is allocated, at least two of the calculators comprising: an allocation change candidate space extracting part that refers to the space allocation storage so as to extract, as an allocation change candidate space, a divided space to be a candidate for an allocation change from among divided spaces whose one or more adjacent spaces are allocated to another of the calculators; a communication amount estimating part that calculates an amount of communication or an amount of change in communication to be generated between the calculator targeted for the allocation and another of the calculators when the allocation change candidate space is allocated to a calculator targeted for the allocation, based on the number of agents existing in the allocation change candidate space and an adjacent divided space thereof; and a space allocation change judging part that determines whether or not to allocate the allocation change candidate space to the calculator targeted for the allocation, based on the amount of communication or the amount of change in communication calculated in the communication amount estimating part.