Robot Paintings Evolved Using Simulated Robots EvoMUSART ‘06 Gary R. Greenfield University of Richmond, USA
Outline • Motivation • Background • S-Robots • Evolutionary Framework • Assessment Parameters • Evolved S-Robot Paintings • On Autonomous Evaluation • Conclusions
Motivation “Artistic talent is far from a magic indefinable essence, possessed by a few and jinxed by deconstruction. Rather it can be thought of as an adaptive system, consisting of a particular updating scheme and low level local rules or techniques, which have been arrived at through an evolutionary process.” -- Katie Bentley, GA’02 Generative Art Conference, Exploring aesthetic pattern formation, pp. 201-213.
J. McCormack: EvoMUSART ‘05 • Open Problem #3: “To create EMA systems that produce art recognized by humans for its artisticcontribution (as opposed to any purely technical fetish or fascination).” • Open Problem #5: “To create artificial ecosystems where agents create and recognize their own creativity.” • My Observation: To recognize their creative efforts agents must be able to evaluate their creative efforts.
Background -- V. Ramos and F. Almeida (2000), Artificial ant colonies in digital image habitats – a mass behavior effect study on pattern recognition. -- L. Moura and H. Pereira (2002), Artistic Swarm Robots (ArtSBot). -- N. Monmarche et al (2003), Interactive evolution of ant colony paintings. -- G. Greenfield (2005), Evolutionary methods for ant colony paintings.
S-Robot Design • Loosely modeled after Khepera robots (Binary valued) proximity sensor (Tristimulus) color sensor
S-Robot Specifications • Center position (rx, ry). • Unit vector direction heading (dx, dy). • Three forward proximity sensors, and one rear proximity sensor, sensitive to a radial distance of 20 units. • Forward “field of vision” -90 deg. to +90 deg. • Rear “field of vision” -60 deg. to +60 deg. • All proximity sensors are binary valued. • Center-mounted tristimulus color sensor. • Two center mounted “pens” which, when working in tandem, make a mark five units wide.
S-Robot Commands • MOV <arg> -- move <arg> units • SWI <arg> -- swivel <arg> degrees • SPD <arg> -- set speed <arg> micro-units per time step • SNP <arg> -- sense proximity by updating values of the proximity vector • SNC <arg> -- sense color by updating values of the color vector • PUP <arg> -- pen #<arg> up • PDN <arg> -- pen #<arg> down Notes: Discrete event simulation determines number of time steps needed when trying to complete a move or when trying to complete a swivel.
S-Robot “On-Board” Controller • Queues a command sequence then sleeps until sequence is executed. Sequences can include “motifs”. if (sensed red component == target value) qzigzag(q); /* schedule “zigzag” motif */ q.put(SWI), q.put(-55); else q.put(SWI), q.put(20); q.put(PDN), q.put(P1); q.put(SPD), q.put(750); q.put(MOV), q.put(12); q.put(SWI), q.put(-10); q.put(PUP), q.put(P1) q.put(SNC), q.put(0);
Evolutionary Framework • GOAL: Using two hand-crafted controllers, evolve starting positions (sx, sy), where 0 < sx, sy < L, and initial true compass headings d, where -180 < d < 180, for either TWO or FOUR S-Robots. • Grid Side Length: L = 200. • Number of time steps: T = 150,000. • Population Size: P = 16. • Number of Generations: G = 30. • Replacement: P/2 individuals using P/4 “breeding pairs”. • Recombination: One-point crossover. • Mutation: Non-elitest (!) point mutation. • Culling Interval: Every I = 5 generations.
Assessment Parameters • Np – the number of squares of the grid that were painted. • Nb – the number of times an S-Robot reacted in response to a forward proximity bit set, but rear proximity bit clear. • Ns – the number of an S-Robot reacted in response to a forward proximity bit set and rear proximity bit set. • Nc – the number of times an S-Robot found a desired color through color sensing.
Evolved S-Robot Paintings • Fitness F = Np + 1000Nb + 100Ns using two Type A controllers which do NOT make use of the SNC color sense command.
Fitness F = Np, again using two Type A controllers which do NOT make use of the SNC color sense command. • Generations 10, 20, and 30:
Fitness F = Np -100Ns +1000Nc, using two Type A controllers which do NOT make use of the SNC color sense command. • Generations 5, 10, and 15:
Using Type A and B Controllers • Fitness F = Np-Nb+100Ns+1000Nc. • Generations 0, 15, and 20.
Generations 10, 20, and 30 after changing one of the selected motifs.
Fitness F = Nb*Nc, which selects for tightly coupled following behavior. • Generations 0, 10, and 20.
Fitness F = Nb*Nc + Np*Ns, which again selects for following behavior but also tries to increase canvas coverage. • Generations 5, 15, and 30.
On Autonomous Evaluation • S-Robots maintain a history of their previous starting positions and headings. • S-Robots maintain their current Nb, Nc, and Ns values. • After T time steps, an elected S-Robot “sweeps” the canvas to calcuate Np. • By sharing data, each S-Robot calculates the fitness F. • By comparing with previous saved fitness values S-Robots decides which saved genomes to recombine for the next generation. • Via a PRNG new genomes are self-generated and S-Robots re-position and re-orient themselves for the next generation’s painting.
Conclusions • Fitness functions can induce aesthetics for evolved S-Robot paintings. • S-Robots can collectively evaluate their own creative efforts. • S-Robot behaviors that (indirectly) influence aesthetics can be evolved.
Thank-you! http://www.mathcs.richmond.edu/~ggreenfi/ email@example.com …. Questions?