  In this work, we describe a self-replication-based mechanism for designing
agents of increasing complexity. We demonstrate the validity of this approach
by solving simple, standard evolutionary computation problems in simulation. In
the context of these simulation results, we describe the fundamental
differences of this approach when compared to traditional approaches. Further,
we highlight the possible advantages of applying this approach to the problem
of designing complex artificial agents, along with the potential drawbacks and
issues to be addressed in the future.
