Toward the Computer-Automated Design of Sophisticated Systems by Enabling Structural Organization Gregory S. Hornby Adaptive Control & Evolvable Systems.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

OOP - Object Oriented Programming Object Oriented Programming is an approach to programming that was developed to make large programs easier to manage.
Software Engineering and Design Principles Chapter 1.
Date:2011/06/08 吳昕澧 BOA: The Bayesian Optimization Algorithm.
CHAPTER 3 COLLECTIONS Abstract Data Types. 2 A data type consists of a set of values or elements, called its domain, and a set of operators acting on.
CS 584. A Parallel Programming Model We need abstractions to make it simple. The programming model needs to fit our parallel machine model. Abstractions.
TESTING LOOPS ● Simple Loops ● Nested Loops ● Concatenated Loops ● Unstructured Loops.
Overview CS113, Fall 2000 Gene Itkis. The Promise Heavy Fast-paced Challenging Rewarding.
Worlds Within Worlds Co-evolving designers and critics Bio-inspired design processes Gregory Hornby, UC Santa Cruz Jordan Pollack, Brandeis University.
A Data Locality Optimizing Algorithm based on A Data Locality Optimizing Algorithm by Michael E. Wolf and Monica S. Lam.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
1. Optimization and its necessity. Classes of optimizations problems. Evolutionary optimization. –Historical overview. –How it works?! Several Applications.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Programming Concepts Jacques Tiberghien office : Mobile :
The Evolution of the Object Model OOAD. The Evolution of the Object Model software engineering trends observed The shift in focus from programming-in-the-small.
Extending the Scope of Learning Objects with XML Bill Tait COLMSCT Associate Teaching Fellow The Open University ALT-C Conference Sep 2007.
A Scalable Self-organizing Map Algorithm for Textual Classification: A Neural Network Approach to Thesaurus Generation Dmitri G. Roussinov Department of.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
GATree: Genetically Evolved Decision Trees 전자전기컴퓨터공학과 데이터베이스 연구실 G 김태종.
Agenda Introduction Overview of White-box testing Basis path testing
Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters Hung-chih Yang(Yahoo!), Ali Dasdan(Yahoo!), Ruey-Lung Hsiao(UCLA), D. Stott Parker(UCLA)
1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: Course goals:
GENETIC ALGORITHMS FOR THE UNSUPERVISED CLASSIFICATION OF SATELLITE IMAGES Ankush Khandelwal( ) Vaibhav Kedia( )
Neural and Evolutionary Computing - Lecture 9 1 Evolutionary Neural Networks Design  Motivation  Evolutionary training  Evolutionary design of the architecture.
Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory.
A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada INESC-ID.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Parallelization of likelihood functions for data analysis Alfio Lazzaro CERN openlab Forum on Concurrent Programming Models and Frameworks.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Relation. Combining Relations Because relations from A to B are subsets of A x B, two relations from A to B can be combined in any way two sets can be.
Basic Scheme February 8, 2007 Compound expressions Rules of evaluation Creating procedures by capturing common patterns.
OOP (Object Oriented Programming) Lecture 1. Why a new paradigm is needed? Complexity Five attributes of complex systems –Frequently, complexity takes.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 A self-organizing map for adaptive processing of structured.
1/33 Basic Scheme February 8, 2007 Compound expressions Rules of evaluation Creating procedures by capturing common patterns.
1 Data Structures CSCI 132, Spring 2014 Lecture 1 Big Ideas in Data Structures Course website:
Introduction to the Computer Graphics Anton V. Kudinov, Assistant professor of Computer Engineering Department.
제 6 주. 응용 -2: Graphics Evolving L-systems to Generate Virtual Creatures G.S. Hornby and J.B. Pollack, Computers & Graphics, vol. 25, pp. 1041~1048, 2001.
Bayesian Optimization Algorithm, Decision Graphs, and Occam’s Razor Martin Pelikan, David E. Goldberg, and Kumara Sastry IlliGAL Report No May.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
CAD for VLSI Ramakrishna Lecture#2.
Principles in the Evolutionary Design of Digital Circuits J. F. Miller, D. Job, and V. K. Vassilev Genetic Programming and Evolvable Machines.
Product Geometric Crossover Alberto Moraglio and Riccardo Poli Abstract Geometric crossover is a representation-independent definition of crossover based.
G5AIAI Introduction to AI
Page 1 Renzo Angles and Claudio Gutierrez University of Chile ACM Computing Surveys, 2008 Survey of Graph Database Models.
MANAGING COMPLEXITY Lecture OO01 Introduction to Object-oriented Analysis and Design Abstract Data Types.
Introduction to Object Oriented Programming Lecture-3.
LThe C++ programming language Department of Information Engineering INFORMATION TECHNOLOGY dr. László Dudás 4./0. lThe object oriented view of the world.
Guarding Against Premature Convergence while Accelerating Evolutionary Search July 9, 2010 Josh C. Bongard Morphology, Evolutionary and Cognition Laboratory.
제 9 주. 응용 -4: Robotics Artificial Life and Real Robots R.A. Brooks, Proc. European Conference on Artificial Life, pp. 3~10, 1992 학습목표 시뮬레이션 로봇과 실제 로봇을.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Computing & Information Sciences Kansas State University Lecture 42 of 42 CIS 732 Machine Learning & Pattern Recognition Lecture 42 of 42 Genetic Programming.
Introduction toData structures and Algorithms
OOP - Object Oriented Programming
“<Fill in your definition here.>”
Algorithms and Problem Solving
Basic Scheme February 8, 2007 Compound expressions Rules of evaluation
DDC 2423 DATA STRUCTURE Main text:
Lecture 2 of Computer Science II
Designing Software for Ease of Extension and Contraction
VISUAL BASIC.
CMPT 733, SPRING 2016 Jiannan Wang
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Introduction to Data Structure
CHAPTER I. of EVOLUTIONARY ROBOTICS Stefano Nolfi and Dario Floreano
Introduction to the Lab
CMPT 733, SPRING 2017 Jiannan Wang
GOBLAN A Graphical Object Language
Presentation transcript:

Toward the Computer-Automated Design of Sophisticated Systems by Enabling Structural Organization Gregory S. Hornby Adaptive Control & Evolvable Systems Group University of California Santa Cruz NASA Ames Research Center

Ames Research Center Introduction Computer-automated design (CAD) systems have produced simple designs, such as: How to scale to produce entire complex systems? –Look to Engineering and Natural systems for inspiration. Both produce things with the characteristics of: –Modularity, Regularity & Hierarchy (MR&H). –=> structural organization. To improve scalability of CAD systems, they must also be able to produce designs with structural organization (MR&H). Evolved gait for Sony’s AIBO. Over 20,000 sold: Evolved X-band antenna for NASA’s ST5 mission. Three are in space:

Ames Research Center Why Representation? A CAD system consists of: –Search Algorithm (SA) for exploring the design space. –Representation for encoding designs. –Fitness/cost Function for scoring designs. Which part of a CAD system is responsible for MR&H? – Should be independent of the fitness function. – SA is limited to what can be encoded. – Consequently dependent on the Representation.

Ames Research Center Achieving Scalable Representations To improve structural organization of CAD systems: –Definitions of MR&H. –Metrics for measuring (and clearly defining) MR&H. These definitions and metrics are based on the properties of representations. Representations are a kind of programming language and thus have the fundamental properties of: –Combination: eg. Strings, Trees, Graphs. –Control Flow: Conditionals, Iteration. –Abstraction: Labels, Parameters, Recursion.

Ames Research Center Metrics for MR&H We define MR&H by giving metrics for them: Modularity: a module is an encapsulated group of elements that can be manipulated together. –Measured by counting # of labeled procedures and iterative loops. Regularity: amount of reuse. –Measured as: (size of design) / (size of design encoding). –In AIC terms: (size of string) / (size of string encoding) Hierarchy: Levels of nested modules. –The Hierarchy of an encoding is maximum depth of nested modules.

Ames Research Center The 5 Representations We compare 5 different representations by enabling different combinations of MR&H: Modularity(M): –Just Abstraction. Reuse(R): –Iteration, recursion. Hierarchy(H): –Nested procedures and iterative loops. None: a tree of construction operators, no features. M: modularity thru labeled procedures, no reuse. MR: modularity & reuse. Iteration & abstraction but no nested loops or proc calls. MH: modularity & hierarchy. Abstraction, and nested abstraction but no recursion. MRH: modularity, reuse & hierarchy. Nested iteration and recursive abstraction enabled.

Ames Research Center Example Encoding with MRH Genotype:Intermediate phenotype: Graphical version:

Ames Research Center Evolved Tables Table fitness = height*surface*volume / material

Ames Research Center Evolution in Action Evolving tables: fitness = height*surface area*stability/material. No MRH enabled: MRH enabled:

Ames Research Center Comparing Complexity Measures

Ames Research Center Comparing Complexity Measures None: MR&H: Fit:25mil, AIC:4999, M:0, R:1, H:1 Fit:60mil, AIC:495, M:34, R:10, H:9

Ames Research Center Using MR&H for a Single # Measure of Structural Organization… NoneMMHMRMRH Fitness (*10^6) MRH (len of vector) M*R*H M*R*H Assem M*R*H AIC

Ames Research Center Conclusion Hypothesis: To improve scalability need modularity, regularity and hierarchy (MR&H). MR&H are enabled in the representation by combination, control-flow & abstraction. Defined metrics for MR&H. Compared representations with different combinations of MR&H enabled: –Best performance came with all of MR&H enabled. –Measuring MR&H gives more intuitive value of complexity (structural organization) than AIC, or other measures. Future improvements in scalability may come from adding other features of programming languages (objects?).