interactive evolutionary computation as we have seen in this course, ec is a powerful search...

23
Interactive Evolutionary Interactive Evolutionary Computation Computation As we have seen in this course, EC As we have seen in this course, EC is a powerful search paradigm. is a powerful search paradigm. As long as the user is able to As long as the user is able to develop an adequate evaluation develop an adequate evaluation function, the ECs studied so far function, the ECs studied so far will perform well. will perform well. However, what happens when on However, what happens when on cannot develop an evaluation cannot develop an evaluation function that is an accurate function that is an accurate closed-form mathematical equation? closed-form mathematical equation?

Upload: joshua-lamb

Post on 18-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Interactive Evolutionary Interactive Evolutionary ComputationComputation

As we have seen in this course, EC is As we have seen in this course, EC is a powerful search paradigm.a powerful search paradigm.

As long as the user is able to develop As long as the user is able to develop an adequate evaluation function, the an adequate evaluation function, the ECs studied so far will perform well.ECs studied so far will perform well.

However, what happens when on However, what happens when on cannot develop an evaluation cannot develop an evaluation function that is an accurate closed-function that is an accurate closed-form mathematical equation?form mathematical equation?

Interactive Evolutionary Interactive Evolutionary ComputationComputation

Interactive Evolutionary Computation Interactive Evolutionary Computation (IEC) is a welcomed alternative (IEC) is a welcomed alternative when:when:• An accurate evaluation function is An accurate evaluation function is

difficult to develop, and difficult to develop, and • The user has an idea of what a good The user has an idea of what a good

solution may look like. solution may look like.

Interactive Evolutionary Interactive Evolutionary ComputationComputation

IECs have been used for wide variety of IECs have been used for wide variety of applications including applications including [Takagi, H. (2001). “Interactive Evolutionary [Takagi, H. (2001). “Interactive Evolutionary Computaton: Fusion of the Capabilities of EC Optimization and Human Evaluation”, Computaton: Fusion of the Capabilities of EC Optimization and Human Evaluation”,

Proceedings of the IEEEProceedings of the IEEE, pp. 1275-1296, Vol. 89, No. 9, September, IEEE Press], pp. 1275-1296, Vol. 89, No. 9, September, IEEE Press]::• Graphic Art, Computer Graphics, Animation,Graphic Art, Computer Graphics, Animation,• Music,Music,• Editorial Design,Editorial Design,• Industrial Design,Industrial Design,• Face Image Generation,Face Image Generation,• Speech Processing,Speech Processing,• Hearing Aid Adaptation,Hearing Aid Adaptation,• Database Retrieval,Database Retrieval,• Data MiningData Mining• Image Processing,Image Processing,• Robotics,Robotics,• etcetc

Interactive Evolutionary Interactive Evolutionary ComputationComputation

Not all IECs are the same. There Not all IECs are the same. There seems to be a continuum.seems to be a continuum.

EC Intensive Human Interaction Intensive

Human/EC

Collaborative

Kennedy,

Externalized

Particle Swarm

Takagi, Lund, etc

Parmee

Interactive Evolutionary Interactive Evolutionary ComputationComputation

IECs are not just limited to human IECs are not just limited to human evaluation.evaluation.

Human evaluation functions are used to Human evaluation functions are used to provide a fitness for individuals being provide a fitness for individuals being evolved.evolved.

Instead using human evaluation, human Instead using human evaluation, human selection (algorithms) can be used.selection (algorithms) can be used.

Also, human guided procreation has been Also, human guided procreation has been used in IECs as well.used in IECs as well.

Interactive Evolutionary Interactive Evolutionary Computation ExamplesComputation Examples

Interactive Evolutionary Interactive Evolutionary Computation ExamplesComputation Examples

Brian Carnahan’s IGA for Anthropomorphic Brian Carnahan’s IGA for Anthropomorphic Design (Overcome by Fumes)Design (Overcome by Fumes)

Interactive Distributed Evolutionary Interactive Distributed Evolutionary Algorithms (IDEAs)Algorithms (IDEAs)

Interactive Evolutionary Interactive Evolutionary ComputationComputation has been shown to be a has been shown to be a very powerful technique for solving very powerful technique for solving design problems where the fitness design problems where the fitness function cannot be expressed as a function cannot be expressed as a closed form mathematical equation.closed form mathematical equation.

Research in the area of Research in the area of Distributed Distributed and Parallel Evolutionary and Parallel Evolutionary ComputationComputation has been successfully has been successfully used to speed up the evolutionary used to speed up the evolutionary search. search.

Interactive Distributed Evolutionary Interactive Distributed Evolutionary Algorithms (IDEAs)Algorithms (IDEAs)

Therefore, interactive distributed Therefore, interactive distributed evolutionary computation (IDEC) holds a evolutionary computation (IDEC) holds a great deal of promise because:great deal of promise because:• Multiple users should be able to design Multiple users should be able to design

artifacts more quickly than a single user artifacts more quickly than a single user (reducing user fatigue),(reducing user fatigue),

• Artifacts developed by multiple users will have Artifacts developed by multiple users will have a wider range of acceptance,a wider range of acceptance,

• By observing how humans interactively solve By observing how humans interactively solve problems, we may gain a better understanding problems, we may gain a better understanding (heuristics?) of how to develop ‘intelligent’ ECs.(heuristics?) of how to develop ‘intelligent’ ECs.

Interactive Distributed Evolutionary Interactive Distributed Evolutionary Algorithms (IDEAs)Algorithms (IDEAs)

An IDEA for Emoticon DesignAn IDEA for Emoticon DesignProcedure IDEA_Client{Procedure IDEA_Client{ t = 0;t = 0; Initialize Pop(t) Initialize Pop(t) // Randomly Generate 9 Emoticons;// Randomly Generate 9 Emoticons; Present Pop(t) to User;Present Pop(t) to User; While (Not Done)While (Not Done) {{ Allow_User_to_Select_An_Emoticon(Allow_User_to_Select_An_Emoticon(ee);); Allow_User_to_Select_A_Mutation_Op(o);Allow_User_to_Select_A_Mutation_Op(o);

Send_to_Meme_Space(Send_to_Meme_Space(ee);); Receive_From_Meme_Space(Receive_From_Meme_Space(mm););

Parents(t) = {e, m};Parents(t) = {e, m}; Offspring(t) = {Create_4_Mutants(Offspring(t) = {Create_4_Mutants(ee,o);,o); Create_3_Recombinants(Create_3_Recombinants(ee,,mm,o);} ,o);}

Pop(t+1) = Parents(t) Pop(t+1) = Parents(t) Offspring(t); Offspring(t); t = t + 1;t = t + 1; }}}}

An IDEA for Emoticon DesignAn IDEA for Emoticon Design http://iis.cse.eng.auburn.edu/~gvdozier/IDEA-1.htmlhttp://iis.cse.eng.auburn.edu/~gvdozier/IDEA-1.html

An IDEA for Emoticon DesignAn IDEA for Emoticon Design

Representation of a Candidate EmoticonRepresentation of a Candidate Emoticon

ExperimentsExperiments

For a proof of concept we conduct 3 For a proof of concept we conduct 3 simple experiments (where Meme Space simple experiments (where Meme Space = 2.5 x # of Networked Users) := 2.5 x # of Networked Users) :

• Smiley FaceSmiley Face

• AngerAnger

• Hand-In-GearHand-In-Gear

ResultsResults

ResultsResults: Smiley Face: Smiley Face

Which is the Best Which is the Best Smiley Face?Smiley Face?

ResultsResults: Anger: Anger

Which of these is Which of these is the Best Anger the Best Anger Emoticon?Emoticon?

ResultsResults: Hand-In-Gear: Hand-In-Gear

Which of these is Which of these is the Best Hand-In-the Best Hand-In-Gear EmoticonGear Emoticon

ConclusionsConclusions

Our results show that IDEA can be Our results show that IDEA can be used to allow multiple users to used to allow multiple users to interactively design emoticons.interactively design emoticons.

Using C4.5, the emoticons can be Using C4.5, the emoticons can be separated into two groups. The separated into two groups. The differences between the two groups differences between the two groups are statistically significant.are statistically significant.

DiscussionDiscussion: Why Use an IDEA ?: Why Use an IDEA ? Not All Designers are the SameNot All Designers are the Same

• StartersStarters• Middle RelieversMiddle Relievers• Relievers (Finishers)Relievers (Finishers)

Not All Designers Work at the Same PaceNot All Designers Work at the Same Pace Not All Designers Have the Same GiftsNot All Designers Have the Same Gifts

• Some designers may be better critics (selectors)Some designers may be better critics (selectors)• Some designers may be more skilled with the Some designers may be more skilled with the

evolutionary operatorsevolutionary operators Exploits Design Team DiversityExploits Design Team Diversity Meme Space:Meme Space:

• Allows a form of Evolutionary BacktrackingAllows a form of Evolutionary Backtracking• Allows more universal ideas to survive longerAllows more universal ideas to survive longer

IDEA QuestionsIDEA Questions

Some questions concerning the use Some questions concerning the use of IDEAs are as follows:of IDEAs are as follows:• Given a design team of N users what is Given a design team of N users what is

the most effective meme space size?the most effective meme space size?• How do we make sure that faster users How do we make sure that faster users

don’t overrun the meme space?don’t overrun the meme space?• What is the best composition for a What is the best composition for a

design team?design team?

Some Questions (cont.)Some Questions (cont.)

• How many designs should one receive How many designs should one receive from meme space on a given from meme space on a given generation?generation?

• How does this number change over the How does this number change over the evolutionary process?evolutionary process?

• Should meme space designs be crossed Should meme space designs be crossed with user selected images? with user selected images?

Some Questions (cont.)Some Questions (cont.)

• Should the amount of crossover change Should the amount of crossover change over the evolutionary process?over the evolutionary process?

• How can we detect and reduce user How can we detect and reduce user fatigue and frustration?fatigue and frustration?