Genetics in EACirc DESCRIPTION OF THE COMPONENTS BASED ON EVOLUTION.

Slides:



Advertisements
Similar presentations
Representing Hypothesis Operators Fitness Function Genetic Programming
Advertisements

Biologically Inspired Computing: Operators for Evolutionary Algorithms
Student : Mateja Saković 3015/2011.  Genetic algorithms are based on evolution and natural selection  Evolution is any change across successive generations.
Genetic Algorithms Yohai Trabelsi. Outline Evolution in the nature Genetic Algorithms and Genetic Programming A simple example for Genetic Algorithms.
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Genetic Algorithms for Real Parameter Optimization Written by Alden H. Wright Department of Computer Science University of Montana Presented by Tony Morelli.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Particle Swarm Optimization (PSO)
Optimizing genetic algorithm strategies for evolving networks Matthew Berryman.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Introduction to Genetic Algorithms Yonatan Shichel.
Fast Evolutionary Optimisation Temi avanzati di Intelligenza Artificiale - Lecture 6 Prof. Vincenzo Cutello Department of Mathematics and Computer Science.
Genetic Algorithm for Variable Selection
What is Neutral? Neutral Changes and Resiliency Terence Soule Department of Computer Science University of Idaho.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
12 August 2015 Chair for Computer Aided Medical Procedures & Augmented Reality Department of Computer Science | Technische Universität München Chair for.
Genetic Programming System for Music Generation With Automated Fitness Raters.
Genetic Programming.
Slides are based on Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming n Evolution.
(2.1) Fundamentals  Terms for magnitudes – logarithms and logarithmic graphs  Digital representations – Binary numbers – Text – Analog information 
Prepared by Barış GÖKÇE 1.  Search Methods  Evolutionary Algorithms (EA)  Characteristics of EAs  Genetic Programming (GP)  Evolutionary Programming.
Evolutionary algorithms
Ranga Rodrigo April 6, 2014 Most of the sides are from the Matlab tutorial. 1.
Evolving a Sigma-Pi Network as a Network Simulator by Justin Basilico.
Genetic Algorithms CS121 Spring 2009 Richard Frankel Stanford University 1.
Integrating Neural Network and Genetic Algorithm to Solve Function Approximation Combined with Optimization Problem Term presentation for CSC7333 Machine.
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
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.
An Iterative Heuristic for State Justification in Sequential Automatic Test Pattern Generation Aiman H. El-MalehSadiq M. SaitSyed Z. Shazli Department.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Genetic Algorithms Genetic algorithms imitate a natural optimization process: natural selection in evolution. Developed by John Holland at the University.
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
Neural and Evolutionary Computing - Lecture 6
Emergent Robustness in Software Systems through Decentralized Adaptation: an Ecologically-Inspired ALife Approach Franck Fleurey, Benoit Baudry, Benoit.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
Kansas State University Department of Computing and Information Sciences CIS 732: Machine Learning and Pattern Recognition Friday, 16 February 2007 William.
Introduction to Chapter 3  Now that we understand the concept of binary numbers, we will study ways of describing how systems using binary logic levels.
Jennifer Campbell November 30,  Problem Statement and Motivation  Analysis of previous work  Simple - competitive strategy  Near optimal deterministic.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Genetic Algorithms Genetic algorithms provide an approach to learning that is based loosely on simulated evolution. Hypotheses are often described by bit.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
MAE 552 Heuristic Optimization Instructor: John Eddy Lecture #12 2/20/02 Evolutionary Algorithms.
1 Ethics of Computing MONT 113G, Spring 2012 Session 1 Digital Circuits, binary Numbers Course webpage:
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Lecture #8 Page 1 Lecture #8 Agenda 1.VHDL : Operators 2.VHDL : Signal Assignments Announcements 1.HW #4 assigned ECE 4110– Sequential Logic Design.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
CIVET seminar Presentation day: Presenter : Park, GilSoon.
Estimation of Distribution Algorithm and Genetic Programming Structure Complexity Lab,Seoul National University KIM KANGIL.
Genetic Algorithm(GA)
Hirophysics.com The Genetic Algorithm vs. Simulated Annealing Charles Barnes PHY 327.
1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Evolutionary Algorithms Jim Whitehead
Evolution strategies and genetic programming
Properties of the Normal Distribution
CS621: Artificial Intelligence
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
EE368 Soft Computing Genetic Algorithms.
Artificial Intelligence CIS 342
Biologically Inspired Computing: Operators for Evolutionary Algorithms
GA.
Presentation transcript:

Genetics in EACirc DESCRIPTION OF THE COMPONENTS BASED ON EVOLUTION

The overall picture o Circuit o The circuit is modified in an evolutionary way o Each circuit is evaluated how well it distinguishes true random data from tested data o The aim is to find such a circuit that is a good distinguisher EvaluateEvolve

Evaluation of a circuit (1) o Use the circuit to compute results for Test Vectors (TV) o TV = reference (true random) + test data (crypto output) o Number: 1 000x (frequently used) – x (optimal) TVs o Configurable in config file o Length (input): size of block of output (typically 16 bytes) o Configurable in config file o Length (output): 1 (typically used) – 4 bytes o Configurable in config file

Evaluation of a circuit (2) o Compute the results for all test vectors o Do it twice: true random data & tested data o You get a number (1 000x – x) of results (1-4 bytes) o Organize the results into categories o Make some resulting values equivalent o Calculate histogram o Evaluate whether the two histograms (random vs. tested) have the same distribution o Final result is a single P-value (float) which is our fitness

Circuit evaluation The result of the circuit evaluation if a single value in the form of a P-value or fitness (1 - P-value) TVs (True Random) 1000 results Histogram: 1000 TVs (Tested Data) 1000 results Histogram: Similar distribution? P-value

Circuit evolution (high level view) o The aim is to get such a circuit that is able to distinguish true random data from tested data o The smaller P-value the better o Circuit evolution o Set – perform a number of evolution steps o Typically 100 steps (configurable in config file) o For each set a new sequence of TVs is generated o After each set remember the P-value (tested with the new TVs) o After a number of generations analyze uniformity of p-values by a KS test o Generations: x – x (configurable in config file) o KS test – test if P-values are uniformly distributed o If KS < 0.01 then the distinguisher WORKS! (and we are happy)

Circuit evolution (high level view) 1 st Set 2 nd Set P-value 0 1 KS Total number of generations

Circuit description First layer Last layer Intermediate layers Input data (test vectors) Output data (results)

Circuit dimensions and arity of nodes o Width of a layer: typically 8 (configurable in config file) o Width of the last layer: typically 1 (must be between 1-4) o Total number of layers: typically 5 (configurable in config file) o Arity of nodes (we talk about node inputs here) o First layer: any number & any localization o Intermediate layers: maximum of 4 inputs (config file) & locality restriction o Last layer: any number & any localization

Nodes Inputs (each 1 byte long) Function + argument Output (1 byte long)

Node types o NOP o CONS: constant o AND o NAND: AND then NEGATION o OR o NOR: OR then NEGATION o NOT o SHIL: left shift o SHIR: right shift o ROTL: left rotation o ROTR: right rotation o EQ: equals o LT: less than o GT: greater then o LEQ: less or equal o GEQ: greater or equal o BSLC: bit selector o READ: read directly input (of circuit, not node) o JVM sim

Node mutation o Probability of mutation of a node o for each node do the following mutation with the probability of 0.05 (config file): 1.Add or remove a connection (within connection restrictions) 2.Change the node function (within restrictions in config file) 3.Change the node argument (no matter if function is using arg) o Result of the mutation is a valid individual

Crossover o Input: 2 circuits (chosen by a selection strategy) o Output: 1 or 2 circuits as a combination of the input circuits o Two types of crossover supported: o Horizontal (not used) o Vertical (typically used) o Nodes carry their connectors through the crossover

Circuit crossover - vertical

Circuit initialization o First layer o Connections: link each node with an input o Functions: XOR (+ random argument) o Intermediate layers o Connections: 0-4 (random, within the locality restrictions) o Functions and arguments: random o Last layer o Connections: 0-all (random) o Functions and arguments: random

Evolution o Currently used typical parameters o Population: 1 o Replacement size: 1 o Probability of crossover: 0 o Probability of mutation: 0.05 o The same for connections, functions and arguments

Genetics

Parent selection o Roulette selection strategy (typically used) o Take the candidates and spread them in the 0-1 interval o The better fitness of the candidate the larger section of the interval it occupies (not linear scale!) o Generate a random float from 0-1 interval o The candidate occupying the section with the random float wins

Replacement

EACirc