Tech Report
Understanding Evolutionary Computing: A hands on approach
Evolutionary computing is the study of robust search algorithms based on the principles of evolution. An Evolutionary Algorithm (EA) searches a problem space in order to find possible solutions to a given problem. This paper is intended to highlight the advantages of using software visualization techniques in evolutionary computing: Firstly it describes how a high-dimensional problem space can be represented in two (or more) dimensions, suitable for visualization; secondly it introduces how EA designers can use this visualization to explore their algorithm's search behavior in the problem space; and thirdly, it explores how this "hands on" approach can be extended to the evolutionary process, in order to improve an algorithm's performance.