Representation and Evolution of Lego-based Assemblies Maxim Peysakhov, Vlada Galinskaya, William C. Regli ( Drexel University) Authors: {umpeysak, uvgalins,

Slides:



Advertisements
Similar presentations
CS6800 Advanced Theory of Computation
Advertisements

1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
Institute of Intelligent Power Electronics – IPE Page1 Introduction to Basics of Genetic Algorithms Docent Xiao-Zhi Gao Department of Electrical Engineering.
Evolutionary Synthesis of MEMS Design Ningning Zhou, Alice Agogino, Bo Zhu, Kris Pister*, Raffi Kamalian Department of Mechanical Engineering, *Department.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Object Recognition Using Genetic Algorithms CS773C Advanced Machine Intelligence Applications Spring 2008: Object Recognition.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
A simple EA and Common Search Operators Temi avanzati di Intelligenza Artificiale - Lecture 2 Prof. Vincenzo Cutello Department of Mathematics and Computer.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Introduction to Genetic Algorithms Max Peysakhov.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Coordinative Behavior in Evolutionary Multi-agent System by Genetic Algorithm Chuan-Kang Ting – Page: 1 International Graduate School of Dynamic Intelligent.
Khaled Rasheed Computer Science Dept. University of Georgia
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Genetic Programming.
Unit 2: Engineering Design Process
1. Optimization and its necessity. Classes of optimizations problems. Evolutionary optimization. –Historical overview. –How it works?! Several Applications.
Prepared by Barış GÖKÇE 1.  Search Methods  Evolutionary Algorithms (EA)  Characteristics of EAs  Genetic Programming (GP)  Evolutionary Programming.
Genetic Algorithm.
Evolutionary Intelligence
1 An Overview of Evolutionary Computation 조 성 배 연세대학교 컴퓨터과학과.
Evolutionary Algorithms BIOL/CMSC 361: Emergence Lecture 4/03/08.
Introduction to Genetic Algorithms and Evolutionary Computation
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
Genetic algorithms Prof Kang Li
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Optimal resource assignment to maximize multistate network reliability for a computer network Yi-Kuei Lin, Cheng-Ta Yeh Advisor : Professor Frank Y. S.
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Genetic Algorithms Introduction Advanced. Simple Genetic Algorithms: Introduction What is it? In a Nutshell References The Pseudo Code Illustrations Applications.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
How to apply Genetic Algorithms Successfully Prabhas Chongstitvatana Chulalongkorn University 4 February 2013.
Artificial Intelligence Chapter 4. Machine Evolution.
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Edge Assembly Crossover
Representation and Evolution Assemblies of Lego-based.
Robot Intelligence Technology Lab. Generalized game of life YongDuk Kim.
Innovative and Unconventional Approach Toward Analytical Cadastre – based on Genetic Algorithms Anna Shnaidman Mapping and Geo-Information Engineering.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
1 Representation and Evolution of Lego-based Assemblies Maxim Peysakhov William C. Regli ( Drexel University) Authors: {umpeysak,
Selection and Recombination Temi avanzati di Intelligenza Artificiale - Lecture 4 Prof. Vincenzo Cutello Department of Mathematics and Computer Science.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Genetic Algorithms. Solution Search in Problem Space.
Lego Robots Evolution. Examples of the basic elements which can be handled by the LEGO grammar.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
Presented By: Farid, Alidoust Vahid, Akbari 18 th May IAUT University – Faculty.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Intelligent Exploration for Genetic Algorithms Using Self-Organizing.
Chapter 14 Genetic Algorithms.
Introduction to Genetic Algorithm (GA)
Representation and Evolution of Lego-based Assemblies
Artificial Intelligence Chapter 4. Machine Evolution
Artificial Intelligence Chapter 4. Machine Evolution
Boltzmann Machine (BM) (§6.4)
Searching for solutions: Genetic Algorithms
Artificial Intelligence CIS 342
Beyond Classical Search
Coevolutionary Automated Software Correction
Presentation transcript:

Representation and Evolution of Lego-based Assemblies Maxim Peysakhov, Vlada Galinskaya, William C. Regli ( Drexel University) Authors: {umpeysak, uvgalins, Geometric and Intelligent Computing Lab Department of Math. and Computer Science Korman Computing Center Drexel University Philadelphia, PA (215) Contacts:

Outline Outline. Project goals. Project statement. Background. Genetic Algorithms. Previous work on Lego and GA. Approach. Formulation. Representation. Encoding Operators. System overview. Examples. 10 by 10 by 10 Pillars Limitations. Conclusions. Contributions. Future work. Acknowledgments. Bibliography.

Project goals To develop a tool to evolve Lego structures with pre-defined characteristics. In order to achieve it we needed: Find a way to represent a Lego assembly precisely and unambiguously. Encode the Lego assembly as a chromosome. Adapt genetic operators for this type of chromosome. Develop the system which performs Genetic optimization on Lego structures.

The main contribution of this research is in the application of the GA to the practical task of Lego design generation. Innovations: We adapted labeled mechanical assembly graph a representation to a Lego designs. We developed a graph grammar to define valid combinations of the nodes and edges precisely and unambiguously. Project statement

Background: About Genetic Algorithms In the 1950’s and 1960’s computer scientists started to study the evolutionary optimization systems. Genetic Algorithms were one of them. Genetic Algorithms (GA) operate on the set (population) of candidate solutions (individuals are also called chromosomes). Chromosomes are the strings or arrays of genes (a gene is the smallest building block of the solution). Each iteration of the search is called a generation. The idea was to evolve a solution of high quality from the population of candidate solutions. Skip this slide, you know it

Evaluate Chromosomes Mutate Chromosomes Select Chromosomes Crossover Chromosomes Initialization Data Initial Population Evaluated Population Candidate Next Generation Next Generation Best solution found so fare Background: Architecture of the Genetic Algorithm Skip this slide, you know it

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 pp , They used: Networks of torque propagation to model the behavior of the Lego structure under stress. Assembly tree representation of the Lego structures. According to authors this representation is one of the limitations of their work. We tried to address this limitation by utilizing assembly Graph representation of the Lego Structures. Genetic programming operators.

We are considering a limited number of blocks with well-defined connection capabilities modeled from a set of Lego Mindstorms robot kits. Lego represents a sufficiently complex, multi-disciplinary design domain that includes a wide 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 Approach: Problem Formulation

A graph grammar designed to handle thee-dimensional structures assembled from Lego elements. The grammar vocabulary is {MECHANISM, Module, Connect, Block, Element, Disk, Pole, PegPair, Snap, Insert, TInsert, GTrans, Beam, Brick, Plate, Wheel, Gear, Axle, PozX, PozY, SizeX, SizeY, Len, Diam, Teeth, Hole (, ), [, ], ;} Starting word of the grammar is {MECHANISM}. Terminal words of the grammar are {Snap, Insert, TInsert, GTrans, Beam, Brick, Plate, Battery, Motor, Wheel, Gear, Axle, SizeX, SizeY, Len, PozX, PozY, Diam, Teeth, Hole (, ), [, ], ;}. Terminal words “()[],;” are used only to make sentences easier to read. Terminals PozX, PozY, SizeX, SizeY, Len, Diam, Hole and Teeth are parameters. Approach: Problem Formalization Through Lego Grammar. PozX  {1.. SizeX } PozY  {1.. SizeY } SizeX  {1, 2, 4, 6, 8, 10, 12, 16} SizeY  {1, 2, 4, 6, 8, 10, 12, 16} Len  {1, 2, 4, 6, 8, 10, 12, 16} Hole  {1.. (Len - 1) } Diam  {17, 30, 43} Teeth  {8, 16, 24, 40}

MECHANISM, Module, Element, Block, Disk, Pole, Beam, Brick, Plate, Battery, Motor, Wheel, Gear and Axle are the nodes of the graph grammar.  x  N(G), x  { Block, Disk, Pole, Beam, Brick, Plate, Battery, Motor, Wheel, Gear, Axle} Connect, Snap, Insert, TInsert and GTrans are the edges of the graph grammar.  y  E(G), y  { Snap, Insert, Tinsert, GTrans } Approach: Example of Lego Grammar.

depends on the type of the element. ( For Beam, Brick, and Plate these parameters are the number of pegs on the element in X and Y dimensions.) Approach: Representation of Lego Elements Examples of Lego blocks (left) with labeled nodes (right). Each Lego element is represented by a labeled node n such that n  N(G). The node label contains the type and the parameters of the element. (For now, our program can operate only with 3 types of Lego elements, namely Beam, Brick, and Plate). Number and nature of parameters specified in the label

Approach: Representation of Lego Connections Example of the Peg coordinates and Snap connection. Label contains a Peg-Pair which is used to define the Pair of corresponding pegs in the connection. [(PozX1,PozY1);(PozX2,PozY2)] Each Lego connection is represented by a labeled edge e such that e  E(G). The edge label contains the type and the parameters of the connection. (For now our program can operate only with one type of Lego connection a Snap Fit since this is the only possible connection between Brick, Beam and Plate elements). Snaps are directed edges ( arrows pointing from the Block, which provides pegs to the Block that provides connection surfaces. )

Each Lego structure is represented by directed labeled assembly graph G. Non-empty set N(G) of nodes n, represents Lego elements. Set E(G) of edges e, representing connections and relations between those elements. Approach: Representation of Lego Assemblies Example Lego structure with assembly graph

Approach: Example of an Assembly Graph Example of the assembly graph for the Lego car.

The chromosome is represented by a combination of two data structures: 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” Approach: GA Encoding Scheme Chromosome of the example structure

The initial population is generated at random. First ten nodes of random types are generated with random dimensions. Then, 9 to 13 edges are generated and placed at random subject to the constraint that the resulting structure must be physically feasible. In the future we will look into creating and applying initialization rules to promote exploration of specific areas of the fitness landscape. Approach: Genetic Operator - Initialization

Mutation operator works on the genome array If the gene is to be modified it is: Replaced with a random Lego element of the same type. If some edges became invalid after the element was mutated then these edges are reinitialized at random. Approach: Genetic Operator - Mutation Sample structure with a mutated beam.

Crossover is performed with the help of two genetic operators: cut and splice. The cut operator applied to both chosen chromosomes at independent randomly selected points. Tail parts of the chromosomes spliced with head parts of the other chromosome. Chromosome length can vary during the evolution process. Approach: Genetic Operator - Crossover Head and tail sub-graphs spliced with one random edge. Sample structure after Cut operator was applied at the point 3.

Under-specification results in the disjoint assembly graph. (The nodes of the sub-graph containing the 0-th node are selected to be dominant.) An over-specified chromosome either results in the blocks sharing the same physical space, or are connected by the set of edges, which imply two different locations for the same node. (The node or edge which was assigned the location first is marked as dominant) The submissive sub-graph is not deleted from the chromosome, but is ignored in most calculations. Approach: Handling Over-specified and Under-specified Chromosomes Example of the blocks sharing same physical space (left) and infeasible connection edges (right).

Generally evaluation function was created according to the following form: Where: a i - the properties of the graph we want to maximize b i - the properties of the graph we want to minimize c i - the properties of the graph we want to bring as close as possible to the constant t i P i - the wait function. For most important properties properties of the graph P i = X For less important properties properties of the graph P i = X ½ For least important properties properties of the graph P i = X ¼ Approach: Evaluation Functions ( 1+  P i (a i ) ) ( 1+  P i (b i ) +  P i (|c i - t i |) )

System Overview Our system was extended from sGA originally created by Prof. Stephen Hartley in 1996 and written on the Java programming language. Java3D package and VRML97 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.

Examples: 10 by 10 by 10 Light Structure In this case the goal was to evolve a structure with the size of 10 Lego units in each x-y-z dimension with the minimal weight. Left structure was created at 895 generation and has sizes 10 by 10 by 6.8 Right structure was created at 3367 generation and has sizes 10 by 10 by 10. Both structures among the lightest possible structures that satisfy these parameters that can be created from the set of elements given.

Examples: P illar-Like Dense Structure In this case the goal was to evolve a dense pillar-like structure with the 2 by 4 base and 20, 40 and 60 height. Structures shown where evolved in 5000 generations on average. All of them exactly match desired size and among densest possible structures. Height 20, 40 and 60 from right to left

Snap connection used on Axle nodes (top) Insert connection used on two Beams (bottom) System tends to apply connections to the wrong node types. System not always able to discover a global maximum. Although we used assembly graph to represent Lego structure system tends to evolve structures that can be described by a simple tree or a list. Examples: System Limitations

We introduced our approach, prototype system and initial experimental results toward the evolution of Lego structures. The main research contributions described in this paper are the development of a graph based representation scheme for Lego Assemblies and its encoding as an assembly graph for manipulation and evolution by Genetic Algorithms. Another unique feature of our research is the development of a graph grammar for use in representing Lego assemblies. Although we used it in only to formalize the problem in our documentation we believe that Lego sentences, rather than graph encoded as chromosomes, can bring our system to a new level. Conclusions: Contribution

More types of Lego elements and connection. Introducing kinematic chains and evaluation functions to evaluate them. Creating a mutation operator, which would alter small sub- graphs. More types of crossover operator. Using guided initialization. This would mean introducing absolute rules as well as probabilistic rules and applying them during the generation of the initial population. Conclusions: Future Work and Enhancements

Bibliography 1. P. Bentley (Editor) Evolutionary Design by Computers. Morgan Kaufmann Publishers; ISBN: X; S. C. Chase, Representing designs with logic formulations of spatial relations, Workshop Notes, Visual Reasoning and Interaction in Design, June, D. E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning Addison-Wesley Twenty-two points, plus triple- word-score, plus fifty points for using all my letters. Game's over. I'm outta here.Pub Co; ISBN: ; M. J. Jakiela: Structural Topology Design with Genetic Algorithms, Computer Methods in Applied Mechanics and Engineering, June, M. J. Jakiela, D. Wallace, W. C. Flowers, Design search under probabilistic specifications using genetic algorithms, Computer-Aided Design, V 28, N 5, pp , M. J. Jakiela, J. W. Duda, Generation and classification of structural topologies with genetic algorithm specification, Journal of Mechanical Design, V 119, Number 1, March, pp , M. J. Jakiela, C. D. Chapman, K. Saitou, Genetic algorithms as an approach to configuration and topoly design, Journal of Mechanical Design, V 116, December, E. A. Jones, Genetic design of antennas and electronic circuits, Ph.D. Thesis, Department of Electrical and Computer Engineering Duke University, 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 pp , J. B. Pollack, P. J. Funes, Evolutionary Body Building: Adaptive physical designs for robots. Artificial Life 4, pp , J. B. Pollack, P. J. Funes, Componential Structural Simulator. Brandeis University Department of Computer Science Technical Report CS , J. B. Pollack, R. A. Watson, S. G. Ficici, Embodied Evolution: Embodying an Evolutionary Algorithm in a Population of Robots Congress on Evolutionary Computation. Angeline, Michalewicz, Schoenauer, Yao, Zalzala, eds. IEEE Press, , L. C. Schmidt, H. Shi, S. Kerkar, The "Generation gap": A CSP Approach linking function to form grammar generation, Proceedings of DETC99, 1999 ASME Design Engineering Technical Conference. 14. L. C. Schmidt, H. Shetty, S. C. Chase, A Graph Grammar Approach for structure synthesis of Mechanisms, Journal of Mechanical Design, L. C. Schmidt, J. Cagan, Optimal Configuration Design: An Integrated approach using grammar, Transactions of the ASME, V 120, N 2, March, URL: