A new Programming Paradigm inspired by Algorithmic Chemistries UPP 2004 September 2004 Wolfgang Banzhaf, Memorial University of Newfoundland, Canada and.

Slides:



Advertisements
Similar presentations
Approaches, Tools, and Applications Islam A. El-Shaarawy Shoubra Faculty of Eng.
Advertisements

Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Institute of Intelligent Power Electronics – IPE Page1 Introduction to Basics of Genetic Algorithms Docent Xiao-Zhi Gao Department of Electrical Engineering.
EvoDebate Statement September 2001 Wolfgang Banzhaf Universität Dortmund, Informatik XI.
Representing programs Goals. Representing programs Primary goals –analysis is easy and effective just a few cases to handle directly link related things.
Genetic Algorithms Learning Machines for knowledge discovery.
Simulation Models as a Research Method Professor Alexander Settles.
Tutorial 1 Temi avanzati di Intelligenza Artificiale - Lecture 3 Prof. Vincenzo Cutello Department of Mathematics and Computer Science University of Catania.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
7/2/2015Intelligent Systems and Soft Computing1 Lecture 9 Evolutionary Computation: Genetic algorithms Introduction, or can evolution be intelligent? Introduction,
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
16 November, 2005 Statistics in HEP, Manchester 1.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Even More Random Number Generators Using Genetic Programming Joe Barker.
Khaled Rasheed Computer Science Dept. University of Georgia
Image Registration of Very Large Images via Genetic Programming Sarit Chicotay Omid E. David Nathan S. Netanyahu CVPR ‘14 Workshop on Registration of Very.
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.
Slides are based on Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming n Evolution.
Artificial Chemistries Autonomic Computer Systems University of Basel Yvonne Mathis.
Artificial Chemistries – A Review Peter Dittrich, Jens Ziegler, and Wolfgang Banzhaf Artificial Life 7: , 2001 Summarized by In-Hee Lee.
By Paul Cottrell, BSc, MBA, ABD. Author Complexity Science, Behavioral Finance, Dynamic Hedging, Financial Statistics, Chaos Theory Proprietary Trader.
Genetic Algorithm.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Neural and Evolutionary Computing - Lecture 7 1 Evolutionary Programming The origins: L. Fogel (1960) – development of methods which generate automatically.
Evolutionary Intelligence
1 Local search and optimization Local search= use single current state and move to neighboring states. Advantages: –Use very little memory –Find often.
1 Evolvability Analysis for Evolutionary Robotics Sung-Bae Cho Yonsei University, Korea.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Different Varieties of Genetic Programming Je-Gun Joung.
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.
Computer Science and Mathematical Basics Chap. 3 발표자 : 김정집.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Fuzzy Genetic Algorithm
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
G ENETIC P ROGRAMMING Ranga Rodrigo March 17,
Artificial Intelligence Chapter 4. Machine Evolution.
Genetic Algorithms ML 9 Kristie Simpson CS536: Advanced Artificial Intelligence Montana State University.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
 Based on observed functioning of human brain.  (Artificial Neural Networks (ANN)  Our view of neural networks is very simplistic.  We view a neural.
Edge Assembly Crossover
8-1 Compilers Compiler A program that translates a high-level language program into machine code High-level languages provide a richer set of instructions.
CITS7212: Computational Intelligence An Overview of Core CI Technologies Lyndon While.
Chapter 9 Genetic Algorithms Evolutionary computation Prototypical GA
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
1 Autonomic Computer Systems Evolutionary Computation Pascal Paysan.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Modelling & Simulation of Semiconductor Devices Lecture 1 & 2 Introduction to Modelling & Simulation.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Presented By: Farid, Alidoust Vahid, Akbari 18 th May IAUT University – Faculty.
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
C++ Programming: From Problem Analysis to Program Design
Evolutionary Algorithms
Artificial Intelligence Chapter 4. Machine Evolution
Genetic Algorithms Artificial Life
Artificial Intelligence Chapter 4. Machine Evolution
Boltzmann Machine (BM) (§6.4)
Presentation transcript:

A new Programming Paradigm inspired by Algorithmic Chemistries UPP 2004 September 2004 Wolfgang Banzhaf, Memorial University of Newfoundland, Canada and Christian Lasarczyk, Universität Dortmund, Germany

W. Banzhaf and C. Lasarczyk2 Overview Conventional Computers The organic realm Artificial Chemistries Genetic Programming GP of an AC

W. Banzhaf and C. Lasarczyk3 Conventional Computers Information stored in bit sequences at memory locations Execution of program through instruction flow in specific sequence (translated into locations via the program counter) Paradigm follows the metaphor of a macroscopic machine: Parts are put together at specific locations in order to work properly Order of construction and locations essential to produce a working machine Space and time are determined rigidly

W. Banzhaf and C. Lasarczyk4 The Organic Realm Molecules interact via reactions of different strength Single reactions are brought about by collisions of molecules, which in turn are generated by Brownian motion Both time and space of events are difficult to predict Sequences and locations of reactions cannot be easily specified Specificity is generated through patterns. 3D key-lock recognition is widely used as means of coordination Space and time cannot be determined rigidly

W. Banzhaf and C. Lasarczyk5 The Organic Realm II Brownian motion as a source of energy and randomness Indeterminism in space and time Natural forces generate key-lock patterns and mechanisms Adaptivity is built-in at lowest level How to achieve function? Quality measure for function: Fitness Artificial Evolution (breeding): Variation and selection

W. Banzhaf and C. Lasarczyk6 Artificial Chemistries as a Tool for Exploration Objects and their interaction In an AC, an arbitray set of objects can be created to interact on terms the researcher defines. The system is then run on a computer and examined in its behavior. An Artificial Chemistry consists of –A set of objects (called molecules) –A set of interaction rules (called reaction or collision rules), and –A definition of the population dynamics Inspired by work on GAMMA and CHAM

W. Banzhaf and C. Lasarczyk7 Principles of Artificial Chemistries Objects / Molecules Characters, numbers, symbol strings, lambda-expressions, binary strings, proof statements, abstract data structures, magnets Reactions Tables of reactions (explicit), string matching rules, lambda-calculus operations, arithmetic operations, term rewriting rules, state transitions (e.g. finite automata), computations (e.g. Turing machine operations) Dynamics Differential equations, explicit simulation, „meta-dynamics“, mixed approaches

W. Banzhaf and C. Lasarczyk8 Principles of Artificial Chemistries (II) An AC is tuple {S, R, A} with S (multi)set of objects (molecules), S = (s1,s2,...sn) R set of rules (reactions) R = (r1,r2,...rk), each of one of the forms r1) a  b r2) a + b  b r3) a  b + c r4) a + b  c + d where a,b,c,d are from S A algorithm driving the system (dynamics)

W. Banzhaf and C. Lasarczyk9 Example: Matrix chemistry (1993) Bit strings are interpreted as operators (binary matrices); Operators generate, in interaction with bit strings new bitstrings (matrix multiplication): Self replicating bit strings or those which produce other that in turn produce them will be dominant in the longer run. Stable organizations appear spontaneously Bit strings Matrices

W. Banzhaf and C. Lasarczyk10 What is Genetic Programming? Induction of computer code by evolutionary means –Darwinian approach –Application of stochastic operators –Population-based Low-level and high-level computer code –Parse trees (Koza) –C-code, JAVA-code –Machine code (AIM) GP useful for other types of algorithms –Neural Networks, circuits –Mathematical Formulae

W. Banzhaf and C. Lasarczyk11 What is Genetic Programming? (II) A Darwinian approach to prgramming: The variation – selection loop –Invalidates probability argument –Appreciates relative performance advantages Diversity Generator Selection Device

W. Banzhaf and C. Lasarczyk12 What is Genetic Programming? (III) A population of programs is subjected to the GP algorithm Programs consist of elements which can be combined –Terminals (variables and constants) and functions –Instructions (having operators and operands) –Nodes and edges of a graph The GP-algorithm uses –Operators for reproduction, mutation and recombination (for the production of program variants) –An evaluation measure –A selection operator

W. Banzhaf and C. Lasarczyk13 How does it work? ? InputOutput Generation of different programs that solve the problem more or less accurately Test of programs on „fitness cases“ Improvement of better solutions

W. Banzhaf and C. Lasarczyk14 Genetic Programming of an AC Choose a particular representation –Multiset of instructions –Let them “react”: Execute an instruction –Data (values in registers) are transformed in multiple ways, depending on which instruction is executed when –If output of an instruction is picked up by another instruction, then a more complex computation is realized –Lock-Key principle: Output register of Instruction_1 is used as input register of Instruction_2 Implementation –Contiguous block of random access memory for technical and practical reasons

W. Banzhaf and C. Lasarczyk15 Evaluation Linear GP –Linear access ACs –Random access

W. Banzhaf and C. Lasarczyk16 Evaluation – Linear GP

W. Banzhaf and C. Lasarczyk17 Evaluation – Algorithmic Chemistry

W. Banzhaf and C. Lasarczyk18 Crossover Genetic Programming –Sequence manipulated by crossover –Bloat Algorithmic Chemistries –Sequence emerged –Inheritance of frequencies

W. Banzhaf and C. Lasarczyk19 Crossover – Linear GP

W. Banzhaf and C. Lasarczyk20 Crossover – Algorithmic Chemistrie

W. Banzhaf and C. Lasarczyk21 Result - Sine Function

W. Banzhaf and C. Lasarczyk22 Result - Thyroid Problem

W. Banzhaf and C. Lasarczyk23 Length & Entropy – Sine Function

W. Banzhaf and C. Lasarczyk24

W. Banzhaf and C. Lasarczyk25 Dataflow

W. Banzhaf and C. Lasarczyk26 Outlook Fuzzy hierarchies Multiprocessor ACs More problems, e.g. Sorting Networks Statistical Evaluation of the Approach

W. Banzhaf and C. Lasarczyk27 Fuzzy Hierarchies Gradual linearization From N(x,  ) to N(x,0) Via:

W. Banzhaf and C. Lasarczyk28 Multiprocessor AC Thyroid problem

W. Banzhaf and C. Lasarczyk29 References Artificial Chemistries – A Review, Artificial Life, 7, 2001, 225 – 275 (by P.Dittrich, J. Ziegler and W. B.) Genetic Programming of an Artificial Chemistry, Proc. of Genetic Programming in Theory and Practice Workshop, Ann Arbor, MI, 2004, Kluwer Academic,

W. Banzhaf and C. Lasarczyk30 Length & Entropy – Thyroid Problem

W. Banzhaf and C. Lasarczyk31 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk32 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk33 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk34 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk35 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk36 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk37 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk38 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk39 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk40 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk41 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk42 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk43 Matrix reactions – Step by step

W. Banzhaf and C. Lasarczyk44 Matrix reactions – Step by step 1 Generation = M Steps