Two reasons to do simulate
There are two reasons to use simulation: One is from a necessity coming from the fact that the time allowed for the designer (human or the agent itself if it is a self-improving artifact) to test is restricted while the time required for executing in real world might be over the life time of the creator/observer. In such case, it is necessary to accelerate the time to examine the resulted future picture. This idea is implemented in Homer in which Homer has two types of agent time, absolute and relative agent time. The other reason of doing simulation, more general reason than the first one, is from benefit based on practical point of view. Simulating the output of designed plan is a lot cheaper and faster, comparing with performing real execution, and it can be tried a number of times repeatedly if the observer like until finding out an optimal solution. Therefore time and energy will be saved a lot, otherwise wasted during trial and error doing real execution.