1 An Interactive Distributed Evolutionary Algorithm (IDEA) for Design Gerry Dozier Brian Carnahan Cheryl Seals Lois-Ann Kuntz Ser-Geon Fu Dept. of Computer Science & Software Engineering Auburn University Auburn, AL 36849-5347 email: gvdozier@eng.auburn.edu sealscd@eng.auburn.edu fuserge@eng.auburn.edu Dept. of Industrial Systems Engineering Auburn University Auburn, AL 36849-5347 email: carnahan@eng.auburn.edu Dept. of Psychology University of Maine at Machias 9 O'Brien Avenue Machias, ME 04654-1397 email: lkuntz@maine.edu Abstract - Evolutionary computation (EC) has been successfully applied to a wide range of design prob- lems. There has also been an abundant amount of work in applying interactive ECs in the design of dis- plays, robot behavior, bitmaps, etc. In the EC litera- ture, one can also see a number of successful design applications of distributed ECs. However, to date, there has been no research in the area of interactive distributed ECs. In this paper, we present an interac- tive distributed evolutionary algorithm (IDEA) for the design of simple emoticons. We will discuss two ways that our IDEA is currently being used including the areas of EC education and Human Factors.. 1.0 Introduction The area of Evolutionary Computation (EC) has seen the emergence of two powerful paradigms: interactive evolu- tionary computation (IEC) (Takagi 2001) and distributed evolutionary computation (DEC) (Brown et al.. 1989, Beld- ing 1995, De Jong & Sarma 1995, Tanese 1989, Potter et al.. 1995, Dozier 2003). An IEC is an EC that replaces one or more of the evolutionary processes of selection, procrea- tion, and/or evaluation with a human (Takagi 2001). IECs have been successfully applied to a wide range of problems such as the design of displays, robot behavior engineering, bitmaps, etc. DECs typically fall into one of three catego- ries: function-based (Brown et al.. 1989), domain-based (Belding 1995, De Jong & Sarma 1995, Tanese 1989), or variable-based (Potter et al.. 1995). Function-based DECs distribute tasks (or functions) of the evolutionary process (selection, procreation, evaluation) among k processors in order to speed-up the processing time of a single EC. Domain-based DECs distribute a population of P can- didate solutions (CSs) among k processors. There are two types of DBDECs: coarse-grained and fine-grained. In coarse-grained domain-based DECs, k sub-populations of P/k CSs are maintained. Thus, k ECs are executed in paral- lel. Periodically, a user-specified number CSs of each sub- population are allowed to migrate to other sub-populations. Fine-grained domain-based DECs usually assign one CS to each processor. The sub-populations or demes overlap as CSs are only allowed to mate and compete for survival within their geographical neighborhoods. In variable-based DECs, the structure representing CSs is distributed. Let V represent the variables that form CSs of a problem. Variable-based DECs, distribute |V|/k vari- ables among k processors. Each processor uses an EC to evolve a population of P partial CSs. Despite the success of IECs and DECs, to date, there has been no research in the area of interactive distributed ECs. In this paper, we present an interactive distributed evolutionary algorithm (IDEA) that is used to evolve sim- ple emoticons. In this paper, we will also discuss a variety of ways that our IDEA is currently being used in the areas of EC education and Human Factors. 2.0 An IDEA for Emoticon Design IDEA is a web-based client/server application that allows a number of users to interactively (and asynchronously) de- sign emoticons. Figure 2 provides a high level view of IDEA. In IDEA, candidate emoticons are exchanged between users through the use of meme space which is simply an array of user selected emoticons. In Figure 3, a pseudo-code version of an IDEA client application is provided. An IDEA client works as follows. Initially, nine candidate emoticons are randomly generated and presented to the user. The user is then al- lowed to select an emoticon, e, that they prefer best as well as select the type of mutation, o, that they think would lead to set of more suitable emoticons. The selected emoticon, e, is then sent to the server to be added to meme space and a randomly selected emoticon from meme space, m, is then sent to the client.