This paper describes Algorithm::Evolutionary (A::E), a Perl module released under an open source license and designed for the exploration and exploitation of evolutionary algorithms. We describe the design decisions taken to enhance flexibility, how performance was improved by using several implementation tweaks, and what kind of design patterns were applied for its development. This work also tries to dispel the myth of low performance of scripting languages by comparing it with a state-of-the-art library (ECJ) written in Java. Besides, we are interested in assessing its efficiency in several possible evolutionary settings, finding out what kind of behavior we can expect, and what can be done to improve it. Applications already written using A::E are also described, along with how it can be used to create new operators. Finally, some conclusions are drawn from the design experience.
URL de trackback de esta historia http://blojj.blogalia.com//trackbacks/64678