Daniil Chivilikhin and Vladimir Ulyantsev

Slides:



Advertisements
Similar presentations
Annual International Conference On GIS, GPS AND Remote Sensing.
Advertisements

Yuri R. Tsoy, Vladimir G. Spitsyn, Department of Computer Engineering
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Institute of Intelligent Power Electronics – IPE Page1 Introduction to Basics of Genetic Algorithms Docent Xiao-Zhi Gao Department of Electrical Engineering.
Finite State Machine State Assignment for Area and Power Minimization Aiman H. El-Maleh, Sadiq M. Sait and Faisal N. Khan Department of Computer Engineering.
Evolutionary Algorithms Simon M. Lucas. The basic idea Initialise a random population of individuals repeat { evaluate select vary (e.g. mutate or crossover)
Genetic Algorithms Learning Machines for knowledge discovery.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Genetic Programming.
By Paul Cottrell, BSc, MBA, ABD. Author Complexity Science, Behavioral Finance, Dynamic Hedging, Financial Statistics, Chaos Theory Proprietary Trader.
Genetic Programming on Program Traces as an Inference Engine for Probabilistic Languages Vita Batishcheva, Alexey Potapov
Combining Exact and Metaheuristic Techniques For Learning Extended Finite-State Machines From Test Scenarios and Temporal Properties ICMLA ’14 December.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
Genetic Algorithms and Ant Colony Optimisation
1 Paper Review for ENGG6140 Memetic Algorithms By: Jin Zeng Shaun Wang School of Engineering University of Guelph Mar. 18, 2002.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Inferring Temporal Properties of Finite-State Machines with Genetic Programming GECCO’15 Student Workshop July 11, 2015 Daniil Chivilikhin PhD student.
Chih-Ming Chen, Student Member, IEEE, Ying-ping Chen, Member, IEEE, Tzu-Ching Shen, and John K. Zao, Senior Member, IEEE Evolutionary Computation (CEC),
Reconstruction of Function Block Logic using Metaheuristic Algorithm: Initial Explorations INDIN ’15, Cambridge, UK, July 23, 2015 Daniil Chivilikhin PhD.
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Fuzzy Genetic Algorithm
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
Inferring Automation Logic from Manual Control Scenarios: Implementation in Function Blocks ’15, Helsinki, Finland, August 21, 2015 Daniil Chivilikhin.
Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory.
Effect of Modified Permutation Encoding Mutation in Genetic Algorithm Sandeep Bhowmik Archana Jha Sukriti Sinha Department of Computer Science & Engineering,
DYNAMIC FACILITY LAYOUT : GENETIC ALGORITHM BASED MODEL
Extended Finite-State Machine Inference with Parallel Ant Colony Based Algorithms PPSN’14 September 13, 2014 Daniil Chivilikhin PhD student ITMO.
Extended Finite-State Machine Induction using SAT-Solver Vladimir Ulyantsev, Fedor Tsarev St. Petersburg National.
1 Genetic Algorithms and Ant Colony Optimisation.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
Introduction Metaheuristics: increasingly popular in research and industry mimic natural metaphors to solve complex optimization problems efficient and.
Task Mapping and Partition Allocation for Mixed-Criticality Real-Time Systems Domițian Tămaș-Selicean and Paul Pop Technical University of Denmark.
Organic Evolution and Problem Solving Je-Gun Joung.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
Genetic Algorithm(GA)
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Intelligent Exploration for Genetic Algorithms Using Self-Organizing.
Experience Report: System Log Analysis for Anomaly Detection
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
Genetic Algorithms.
On Routine Evolution of Complex Cellular Automata
Evolution Strategies Evolutionary Programming
Evolutionary Technique for Combinatorial Reverse Auctions
Discrete ABC Based on Similarity for GCP
Chapter 8 Arrays Objectives
Example: Applying EC to the TSP Problem
Artificial Intelligence Project 2 Genetic Algorithms
Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys VGTU, Vilnius, Lithuania.
Finite State Machines Computer theory covers several types of abstract machines, including Finite State Machines.
Advanced Artificial Intelligence Evolutionary Search Algorithm
Artificial Intelligence introduction(2)
Example: Applying EC to the TSP Problem
Artificial Intelligence Chapter 4. Machine Evolution
Example: Applying EC to the TSP Problem
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Implementation of neural gas on Cell Broadband Engine
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Artificial Intelligence Chapter 4. Machine Evolution
Artificial Intelligence CIS 342
Coevolutionary Automated Software Correction
Presentation transcript:

Learning Finite-State Machines: Conserving Fitness Evaluations by Marking Used Transitions Daniil Chivilikhin and Vladimir Ulyantsev National Research University of IT, Mechanics and Optics St. Petersburg, Russia Machine Learning Applications in Software Engineering @ ICMLA’13 December 6, 2013

Motivation: Reliable software Systems with high cost of failure Energy industry Aircraft industry Space industry … We want to have reliable software Testing is not enough Verification is needed Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Introduction (1) Automated software engineering Model-driven development Automata-based programming Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Introduction (2) Finite-state machine Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Finite-State Machine Σ – set of input events Δ – set of output actions δ: S×Σ→S – transition function λ: S×Σ→Δ – actions function Learning FSMs: Conserving Fitness Evaluations

Automata-based programming Design programs with complex behavior as automated-controlled objects Learning FSMs: Conserving Fitness Evaluations

Automata-based programming: advantages Model before programming code, not vice versa Possibility of program verification using Model Checking You can check temporal properties (LTL) Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Issues Hard to build an FSM with desired structure and behavior One of approaches – mutation-based metaheuristics Learning FSMs: Conserving Fitness Evaluations

Mutation-based FSM learning Evolution Strategies (ES) Genetic Algorithms (GA) Mutation-based Ant Colony Optimization (MuACO) All these algorithms use FSM mutations Learning FSMs: Conserving Fitness Evaluations

Mutation-Based Ant Colony Optimization Proposed by the authors of this work in 2012 Based on Ant Colony Optimization Can be thought of as an ES “with memory” No time to go into detail  Learning FSMs: Conserving Fitness Evaluations

Solution representation Transition table   Output table δ Event λ State A T 1 2 z1 z2 z3 Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations FSM Mutations Learning FSMs: Conserving Fitness Evaluations

Fitness evaluation: used transitions Calculated fitness Used transitions Learning FSMs: Conserving Fitness Evaluations

Mutation Mutate this transition Learning FSMs: Conserving Fitness Evaluations

Observation Used transition Compute fitness Mutation Unused transition Fitness has not changed Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Challenge OK, found a way not to calculate fitness of FSMs in some cases Can we design an efficient implementation? Will it make a difference in performance? Limits of applicability? Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Implementation Store an array of transition usage marks for each FSM Mark used transitions during fitness evaluation Copy marks when not calculating fitness Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Experiments: Purpose Determine if transition marking makes a difference in algorithm performance Measure amount of resources used to implement transition marking Learning FSMs: Conserving Fitness Evaluations

Experiments: Algorithms Evolutionary strategy (ES) Genetic algorithm (GA) Mutation-Based Ant Colony Optimization for learning FSMs (MuACOsm) Learning FSMs: Conserving Fitness Evaluations

Experiments: Problems Artificial Ant Problem Learning EFSMs from tests Learning DFA from noisy samples Learning FSMs: Conserving Fitness Evaluations

General experimental setup Tune each algorithm for time ttune Using full factorial design of experiment Run each algorithm with selected parameters Learning FSMs: Conserving Fitness Evaluations

Artificial Ant Problem Toroidal field N×N M pieces of food smax time steps Fixed position of food and the ant Goal – build an FSM, such that the ant will eat all food in K steps Field example: John Muir Trail Learning FSMs: Conserving Fitness Evaluations

Artificial Ant: Fitness function nfood – number of eaten food pieces smax – max number of allotted steps slast – number of used steps eaten food f used time steps Learning FSMs: Conserving Fitness Evaluations

Success rate

Improvement in success rate

Mean fitness

ES median time

GA median time

MuACO median time

ES Fitness

GA Fitness

MuACO Fitness

MuACO fitness evaluations

Ratio of lazy evaluations

Statistical Significance ANOVA test Fitness distributions significantly different for ES and MuACOsm Insignificant for GA Learning FSMs: Conserving Fitness Evaluations

Learning Extended Finite-State Machines from tests (1) Learning FSMs: Conserving Fitness Evaluations

Learning Extended Finite-State Machines from tests (2) Input data: Number of states C and sets Σ and Δ Set of test examples T Ti =<input sequence Ij, output sequence Oj> NP-hard problem: build an EFSM with C states compliant with tests T Learning FSMs: Conserving Fitness Evaluations

Learning EFSMs: Fitness function Pass inputs to EFSM, record outputs Compare generated outputs with references Fitness = string similarity measure (edit distance) Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Experimental setup Generate random EFSM with C states Generate set of tests of total length C×150 Learn EFSM from tests Experiment for each C repeated 100 times Run until perfect fitness Learning FSMs: Conserving Fitness Evaluations

Success rate

Mean fitness

Fitness evaluations

Learning FSMs: Conserving Fitness Evaluations Conclusion Developed approach Applicable to all FSM learning algorithms that use mutations Allows to explore more FSMs with the same number of fitness evaluations Effectively improves performance Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Future work Explore more ways of using domain knowledge in FSM learning algorithms Learning FSMs: Conserving Fitness Evaluations

Learning FSMs: Conserving Fitness Evaluations Acknowledgements University ITMO research project 610455 Ministry of Education and Science of Russian Federation in the framework of the federal program “Scientific and scientific-pedagogical personnel of innovative Russia in 2009-2013” (contract 16.740.11.0455, agreement 14.B37.21.0397) Learning FSMs: Conserving Fitness Evaluations

Thank you for your attention! Learning FSMs: Conserving Fitness Evaluations by Marking Used Transitions Daniil Chivilikhin Vladimir Ulyantsev {chivdan,ulyantsev}@rain.ifmo.ru This presentation online: TBD!!! Learning FSMs: Conserving Fitness Evaluations