Representation and Evolution of Legobased Assemblies Authors Maxim
Representation and Evolution of Lego-based Assemblies Authors: Maxim Peysakhov Advisor: William C. Regli (Drexel University) Contacts: {umpeysak, regli}@mcs. drexel. edu Geometric and Intelligent Computing Lab Department of Math. and Computer Science Korman Computing Center Drexel University Philadelphia, PA 19104 (215) 895 -6827 http: //edge. mcs. drexel. edu/GICL/ 1
Project Objectives Use GAs to generate Lego assemblies. • Represent Lego assemblies precisely and unambiguously • Encode assemblies as a chromosomes • Adapt genetic operators to Lego domain • Perform Genetic optimization on Lego structures 2
Background: Previous Work on Using GA to Generate Lego Designs Previous work in this field was done by J. B. Pollack and P. J. Funes, and described at J. B. Pollack, P. J. Funes “Computer Evolution of Buildable Objects. ” Fourth European Conference on Artificial Life, P. Husbands and I. Harvey, eds. , MIT Press 1997. pp 358 -367, 1997. They used: • Networks of torque propagation to model the behavior of the Lego structure under stress • Assembly tree representation of the Lego structures • Genetic programming operators 3
Approach: Problem Formulation • We are considering a set of blocks from a Lego Mindstorms robot kits • Lego represents a complex design domain that includes a variety of realistic engineering constraints • The domain is sufficiently discrete as to be tractable • Many tools for simulation and testing are readily available Example of a simple Lego mechanism 4
Approach: Problem Formalization. A grammar designed to handle theedimensional structures assembled from Lego elements: • Context-free. • Graph grammar. • Parameterized. 5
Approach: Representation of Lego Assemblies • Structure is represented by directed labeled assembly graph G • Set N(G) of nodes n, represents elements. (The node label contains the type and the parameters of the element) • Set E(G) of edges e, represents connections. (The edge label contains the type and the parameters of the connection) Example Lego structure with assembly graph 6
Approach: Example of an Assembly Graph Example of the assembly graph for the Lego car. 7
Approach: GA Encoding Scheme The chromosome is represented by: • array containing all nodes N(G) called Genome • adjacency hash table containing all edges E(G) Key value of the hash table is used to represent function of the graph G, and defines the position and direction of an edge: • Key "1>3" means that the edge is located between nodes 1 and 3 and is directed to node number 3 • Key "1>3" is equivalent to key "3<1” Chromosome of the example 8 structure
Approach: Genetic Operators • Initial population is random • Mutation operator replaces selected element with a random Lego element of the same type Sample structure with a mutated beam. • Crossover is performed with the help of two genetic operators: cut and splice • Evaluation function was created according to the following form: Sample structure after Cut. ( 1+ Pi(ai) ) ( 1+ Pi(bi) + Pi(|ci - ti|) ) Sample structure after Splice.
Approach: Handling Over-specified and Under -specified Chromosomes • Under-specification => disjoint assembly graph • An over-specified chromosome => • blocks sharing the same physical space • edges that imply two different locations for the same node • The submissive sub-graph is not deleted from the chromosome, but is ignored in most calculations. Example of the blocks sharing same physical space (left) and infeasible connection edges (right).
System Overview Our system was extended from s. GA originally created by Stephen Hartley in 1996 and written on the Java programming language. (http: //www. mcs. drexel. edu/~shartley/Conc. Prog. Java/GA/Simple) Java 3 D package and VRML 97 were used in order to create a visualizer to monitor Lego structures as they evolve. The system supports: • One-point crossover • Proportional, rank, universal stochastic sampling, sigma scaling, and Boltzman selection techniques • Elitism • And allows input of the mutation and crossover rates and the population size 11
Examples: 10 x 10 Light Structure Goal: evolve a structure size of 10 Lego units in each x-y-z dimension and minimal weight. • Left structure: created at 895 th generation, size 10 x 6. 8 • Right structure: created at 3367 th generation, size 10 x 10. Both structures among the lightest possible structures that satisfy these parameters that can be created from the set of elements given. 12
Examples: Pillar-Like Dense Structure • Goal: evolve a dense pillar-like structure with a 2 by 4 base and 20, 40 and 60 units height • All of them exactly match desired size and among densest possible structures Height 20, 40 and 60 from right to left 13
Conclusions. Future Work and Enhancements: • More types of Lego elements and connections • Using guided and/or seeded initialization • Improving a mutation operator • Promote generation of modules ‘organs’ via modified crossover operator Contribution: We introduced our approach, prototype system and initial experimental results toward the evolution of Lego structures: • Graph based representation scheme for Lego Assemblies • Graph grammar for use in representing Lego assemblies 14
Using Graph Grammars and Genetic Algorithms to Represent and Evolve Lego Assemblies Authors: Maxim Peysakhov, Vlada Galinskaya William C. Regli (Drexel University) Contacts: {umpeysak, uvgalins, regli}@mcs. drexel. edu Geometric and Intelligent Computing Lab Department of Math. and Computer Science Korman Computing Center Drexel University Philadelphia, PA 19104 (215) 895 -6827 http: //edge. mcs. drexel. edu/GICL/
- Slides: 15