Based mostly on Dr. Richard Spillman class on Alternative Computing in

Slides:



Advertisements
Similar presentations
CS6800 Advanced Theory of Computation
Advertisements

Give qualifications of instructors: DAP
Finite State Machine Chapter 10 RTL Hardware Design by P. Chu.
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Cellular Automata (Reading: Chapter 10, Complexity: A Guided Tour)
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Cellular Automata III Based mostly on lectures by Dr. Richard Spillman.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Genetic Algorithms and Their Applications John Paxton Montana State University August 14, 2003.
Sublinear time algorithms Ronitt Rubinfeld Blavatnik School of Computer Science Tel Aviv University TexPoint fonts used in EMF. Read the TexPoint manual.
Cellular Automata III Based mostly on lectures by Dr. Richard Spillman.
Homework Your task is to design a regular structure such as Kronecker Lattice or Shannon Lattice using modern Quantum Dot Cellular Automata technology.
Simulation Models as a Research Method Professor Alexander Settles.
Cellular Automata Based mostly on Dr. Richard Spillman class on Alternative Computing in Summer 2000.
Genetic Algorithm Genetic Algorithms (GA) apply an evolutionary approach to inductive learning. GA has been successfully applied to problems that are difficult.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Lectures on Cellular Automata Continued Modified and upgraded slides of Martijn Schut Vrij Universiteit Amsterdam Lubomir Ivanov Department.
A New Kind of Science Chapter 3 Matthew Ziegler CS 851 – Bio-Inspired Computing.
Nawaf M Albadia Introduction. Components. Behavior & Characteristics. Classes & Rules. Grid Dimensions. Evolving Cellular Automata using Genetic.
Generating Random Numbers in Hardware. Two types of random numbers used in computing: --”true” random numbers: ++generated from a physical source (e.g.,
Genetic Programming.
Some Useful Circuits Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Evolutionary algorithms
Genetic Algorithm.
A Genetic Algorithms Approach to Feature Subset Selection Problem by Hasan Doğu TAŞKIRAN CS 550 – Machine Learning Workshop Department of Computer Engineering.
Discovery of Cellular Automata Rules Using Cases Ken-ichi Maeda Chiaki Sakama Wakayama University Discovery Science 2003, Oct.17.
Efficient Model Selection for Support Vector Machines
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Foundations of Computer Science Computing …it is all about Data Representation, Storage, Processing, and Communication of Data 10/4/20151CS 112 – Foundations.
Governor’s School for the Sciences Mathematics Day 13.
CS 484 – Artificial Intelligence1 Announcements Lab 4 due today, November 8 Homework 8 due Tuesday, November 13 ½ to 1 page description of final project.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay2 The D FlipFlop A 1-bit register is called a D flipflop. When.
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
Trajectories and attractor basins as a behavioral description and evaluation criteria for artificial EvoDevo systems Stefano Nichele – October 14, 2009.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Course material – G. Tempesti Course material will generally be available the day before the lecture Includes.
1 Cellular Automata and Applications Ajith Abraham Telephone Number: (918) WWW:
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
Introduction to Lattice Simulations. Cellular Automata What are Cellular Automata or CA? A cellular automata is a discrete model used to study a range.
Cellular Automata Spatio-Temporal Information for Society Münster, 2014.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
George F Luger ARTIFICIAL INTELLIGENCE 5th edition Structures and Strategies for Complex Problem Solving Machine Learning: Social and Emergent Luger: Artificial.
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Soft Computing A Gentle introduction Richard P. Simpson.
Cellular Automata based Edge Detection. Cellular Automata Definition A discrete mathematical system characterized by local interaction and an inherently.
Important Components, Blocks and Methodologies. To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers.
Niloy Ganguly Biplab K Sikdar P Pal Chaudhuri Presented by Niloy Ganguly Indian Institute of Social Welfare and Business Management. Calcutta
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.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay 2 The D FlipFlop The RS flipflop stores one bit of information.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
Cellular Automata Introduction  Cellular Automata originally devised in the late 1940s by Stan Ulam (a mathematician) and John von Neumann.  Originally.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
CS851 – Biological Computing February 6, 2003 Nathanael Paul Randomness in Cellular Automata.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
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.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
1 1 2 What is a Cellular Automaton? A one-dimensional cellular automaton (CA) consists of two things: a row of "cells" and a set of "rules". Each of.
Spatio-Temporal Information for Society Münster, 2014
An Overview of Evolutionary Cellular Automata Computation
A Gentle introduction Richard P. Simpson
Presentation transcript:

Based mostly on Dr. Richard Spillman class on Alternative Computing in Cellular Automata Based mostly on Dr. Richard Spillman class on Alternative Computing in Summer 2000

Overview Cellular Automata Quantum Evolutionary DNA

Review Binary Logic Multiple-Valued Logic Reversible Logic Automata - Finite State Machines Cellular Automata Introduction to Hardware Evolution Reconfigurable Computing Hardware Evolution Details

Idea – Genetic Algorithms A cyclic pattern of life The Evolutionary Process: Selection Parents Population Crossover Mutation Offspring Replacement

Review – Cellular Automata Cellular Automata consist of: An n-dimensional array of simple cells Each cell may in any one of k-states At each tick of the clock a cell will change its state based on the states of the cells in a local neighborhood The three main components of a Cellular Automata are: The array dimension The neighborhood structure The transition rule Synchronous!!

OUTLINE Some Properties of CA Cellular Automata Rules Genetic Algorithms and Cellular Automata - their relations and possible extensions What an advanced class!

Sipper Rules for Cellular Automata Moshe Sipper defines three principles of cellular computing Simplicity: the basic processing element, the cell, is simple Vast Parallelism: Cellular computing can involve 105 or more cells Locality: all interactions take place on a purely local basis, a cell can communicate with a few other cells Cellular Computing = simplicity + vast parallelism + locality

Advantages of CAs Cellular Automata offer many advantages over standard computing architecture including: Implementation: CAs require very few wires Scalability: It is easy to upgrade a CA by adding additional cells Robustness: CAs continue to perform even when a cell is faulty because the local connectivity property helps to contain the error Example of hypercube and Intel parallel processors

Applications of CAs CAs have been (or could be) used to solve a wide range of computing problems including: Image Processing: Each cell correspond to an image pixel and the transition rule describe the nature of the processing task Random Number Generation: CAs can generate large sequences of random numbers NP-Complete Problems: CAs can address some of the more difficult problems in computer science

Possible Homeworks on CAs Image Processing: 1. Design Cellular Architectures for various Edge Detection algorithms. 2. Design a Cellular Architecture for thinning. 3. Design a CA for finding a contour based on exoring. Random Number Generation: 1. Design a controlled random number generator with smaller aliasing rate than the architecture discussed in class (a linear counter based on shift register and EXOR gates). NP-Complete Problems: 1. Design a CA for arbitrary NP-complete problem, such as graph coloring or satisfiability.

Another example of Cellular Automata Rules: legal rules of Wolfram The transition rules define the operation of a cellular automata For a 1-d binary CA with a 3-neighborhood (the right and left cells) there are 256 possible rules These rules are divided into “legal” and “illegal” classes Legal rules must allow an initial state of all 0’s to remain at all 0’s Legal rules must be reflection symmetric 100 and 001 have identical values 110 and 011 have identical values There are only 32 legal rules This is also done by Wolfram but different rule characterization than previously discussed here

The performance of rules are studied in two ways: How to study the behavior of One-Dimensional Rules? Other work of Wolfram The performance of rules are studied in two ways: 1. By their impact on a CA with an initial state of a single 1 cell 2. By their impact on a CA with a random initial state Wolfram has determined the behavior of all 32 legal rules, starting with an initial state of a single 1 cell

Example: cyclicity of Phenotype a b c Y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 Consider rule 18: 0 1 0 0 1 0 0 0 We start from a single alive cell Identical

One area of study: Rule Comparison on initial conditions One method of comparing different CA rules involves looking at the behavior of the rule on two similar initial conditions Does the rule produce similar patterns or does it produce completely different patterns? A convenient measure of distance between binary cellular automata configurations is the “Hamming Distance” It’s the number bits which differ between two binary strings 1 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 x x x x = 4

Example One - the same rule on different initial data Consider Rule 90: 000 001 010 011 100 101 110 111 0 1 0 1 1 0 1 0 Hamming Distance 1 1 1 2 1 2 1 4 1 1 2 1 4 1 4 Rule 90

Example Two Now try Rule 126: Hamming Distance 1 1 1 1 1 3 1 4 1 1 7 1 000 001 010 011 100 101 110 111 0 1 1 1 1 1 1 0 Hamming Distance 1 1 1 1 1 3 1 4 1 1 7 1 4 1 8 Complex rules (like 126) are more sensitive to the initial condition than simple rules (like 90) Averaged over more examples

Possible Homeworks 1. Perform Wolfram-like analysis of rules for two-dimensional CAs. 2. a) Find Complex rules for 2D CA (like an equivalent of rule 126 in 1D CAs) b) and show that they are are more sensitive to the initial condition than simple rules (like rule 90 in 1D CAs) 3. Can we link the “sensitivity” to the “interestingness” defined by us in the project?

Two Dimensional CAs Two-dimensional cellular automata seem to model many physical processes such as: Crystal growth Diffusion systems Turbulent flow patterns Like 1-d systems, 2-d CAs have transition rules: A von Neumann neighborhood rule looks like: qi,j(t+1) = f[qi,j(t),qi+1,j(t),qi-1,j(t), qi,j-1(t), qi,j+1(t)] Observe that sometimes the cell itself is included to the neighborhood in definitions and sometimes it is not.

How many 2-d Rules for various types and sizes of neighborhoods? The number of possible 2-d rules is quite large making a study of each individual rule impossible. For example: There are 232 or about 4 x 109 von Neumann rules There are 2512 or about 10154 Moore rules However, some observations can be made Some rules produce regular patterns Some rules produce structures with dendritic boundaries Some rules produce slow growing patterns which tend to be circular 35 = 32

Example 2-d binary von Neumann Cellular Automata with a mod 2 sum rule (only exoring) Start the array with a seed (a few 1’s) We are interested in the sequence of patterns produced by this rule as compared to other rules

Example: majority 1-d binary, 3-input function majority We want to change to all zeros if there is more zeros than ones globally and to all ones if there is more ones than zeros globally. This is a global problem but we want to use local rules. This may work only statistically for long arrays. 1-d binary, 3-input function majority As we see, r=1-neighborhood does not work. As we see, r=6-neighborhood does work in this case, but we can always create a longer array, so is not a general solution.

Some Links of GA and CA: Can we develop rules for density classification task using GA? A genetic algorithm could be used to find a rule which produces targeted behavior in a CA A useful test problem for emergent computation is the density-classification task PROBLEM FORMULATION: if the initial configuration (IC) of cell states has a majority of 1’s then it should go to the fixed-point configuration of all 1’s in M steps, otherwise it should produce the fixed-point configuration of all 0’s in M steps. Observe that this is a global problem this is called the pc = 1/2 task if p0 is the density of 1’s in the IC then the all 1’s configuration should occur when p0 > pc OPEN PROBLEM: Is there a CA rule that will produce this behavior? Intuition: With only local information this is hard

Density-classification task. Work of M. Mitchell Example GA Work at Santa Fe Institute by Mitchell, et. al. Initial attempts GOAL: Search for a r=3 CA rule to perform the pc = 1/2 task Use a CA with N=149 cells What rules were found?

Problem Representation for GA GA for the density-classification task Problem Representation for GA The GA rule structure consisted of the output bits of the rule table in binary order The r=3 neighborhood of a 1-d CA consists of the 3 cells on each side of the target cell bit 0 is the rule for the 0 0 0 0 0 0 0 neighborhood, bit 1 is the output rule for the 0 0 0 0 0 0 1 neighborhood, Etc. we have 27 bit combinations on 7 positions chromosome size is 128 = 27 bits

GA for the density-classification task Fitness function Each rule in the population was run on a sample of hundred ICs (initial conditions) randomly chosen each CA was run until it arrives at a fixed point or for a maximum of M = 2N steps fitness was the fraction of ICs which produced the correct final behavior A different sample was selected at each generation the random sample was biased to insure that the density of 1’s varied from 0 to 1

GA for the density-classification task Parent Selection The population size was set at one hundred The CAs were ranked in order of fitness The top 20% (elite rules) were passed to the next generation without modification. Elitism The remaining 80% of the new population were produced using crossover between parents randomly selected from the elite rules

GA for the density-classification task Crossover/Mutation Single point crossover was used the offspring from each crossover were each mutated at exactly two randomly chosen positions Explain all these choices if not clear

GA for the density-classification task Results Each GA ran for a maximum of one hundred generations While no general rule was discovered, the GA did find rules that worked on about 75% of the ICs Your possible homework. Create majority function rules for various neighborhoods and see what will happen in simulation of your 1-D CA

Similar Other CA-related Homeworks Possible CA Focus You could look at the behavior of several rules in a 1-d or 2-d system Find patterns Compare the rules on the basis of there impact on small changes in the initial conditions Build a GA to generate a CA Look into the connection between artificial life and cellular automata

Possible Homeworks 1. Create and specify CA with 3D rules. How to implement them in know FPGAs? 2. Discuss such issues in von Neumann rules versus Moore rules 3. Build cells of CAs using Quantum Dot technology Off to work! Remember Final Exam Remember Homework-Project on GA and CA