Presenter: Randy Hunt Presenter: Vitaliy Krestnikov

Slides:



Advertisements
Similar presentations
CS6800 Advanced Theory of Computation
Advertisements

Exact and heuristics algorithms
A GENETIC ALGORITHM APPROACH TO SPACE LAYOUT PLANNING OPTIMIZATION Hoda Homayouni.
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.
COMP 578 Genetic Algorithms for Data Mining Keith C.C. Chan Department of Computing The Hong Kong Polytechnic University.
Genetic Algorithm for Variable Selection
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Algorithm.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
Genetic Algorithms Introduction Advanced. Simple Genetic Algorithms: Introduction What is it? In a Nutshell References The Pseudo Code Illustrations Applications.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Neural Networks And Its Applications By Dr. Surya Chitra.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Agenda  INTRODUCTION  GENETIC ALGORITHMS  GENETIC ALGORITHMS FOR EXPLORING QUERY SPACE  SYSTEM ARCHITECTURE  THE EFFECT OF DIFFERENT MUTATION RATES.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
Genetic Algorithm(GA)
GENETIC ALGORITHM By Siti Rohajawati. Definition Genetic algorithms are sets of computational procedures that conceptually follow steps inspired by the.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Genetic (Evolutionary) Algorithms CEE 6410 David Rosenberg “Natural Selection or the Survival of the Fittest.” -- Charles Darwin.
July 6, 2016Knowledge-Based System, Lecturer # 09 1 Knowledge Based System Lecture #09 Dr. Md. Hasanuzzaman Assistant Professor Department of Computer.
Genetic Algorithm (Knapsack Problem)
Introduction to Genetic Algorithms
Using GA’s to Solve Problems
Chapter 14 Genetic Algorithms.
Genetic Algorithms.
Genetic Algorithms.
Evolution Strategies Evolutionary Programming
Bulgarian Academy of Sciences
Balancing of Parallel Two-Sided Assembly Lines via a GA based Approach
A Comparison of Simulated Annealing and Genetic Algorithm Approaches for Cultivation Model Identification Olympia Roeva.
CSC 380: Design and Analysis of Algorithms
Artificial Intelligence Project 2 Genetic Algorithms
An evolutionary approach to solving complex problems

Comparing Genetic Algorithm and Guided Local Search Methods
CS621: Artificial Intelligence
Modified Crossover Operator Approach for Evolutionary Optimization
Optimization and Learning via Genetic Programming
Genetic Algorithms CSCI-2300 Introduction to Algorithms
○ Hisashi Shimosaka (Doshisha University)
EE368 Soft Computing Genetic Algorithms.
Boltzmann Machine (BM) (§6.4)
Searching for solutions: Genetic Algorithms
A Gentle introduction Richard P. Simpson
Introduction to Genetic Algorithm and Some Experience Sharing
Artificial Intelligence CIS 342
Steady state Selection
CSC 380: Design and Analysis of Algorithms
Presentation transcript:

Presentation on the article: Identifying effective software metrics using genetic algorithms Presenter: Randy Hunt Presenter: Vitaliy Krestnikov Date: April 27, 2009 course: comp 589 9/23/2018

Introduction Team Leaders commonly use software metrics as a measure of the overall quality of the design and the eventual implementation of systems. The ability to predict the quality of a software object from a set of software metrics is in essence a problem of classification. 9/23/2018

Classification Take a set of objects with known features (software metrics) Combine them with group labels (quality rankings) And you get a classifier that can predict the quality of new objects using only the computed metrics 9/23/2018

Software Metrics Software metrics are used to quantitatively map a set of numerical values, such as the number of lines of code in a file or the number of methods in a class, to a subjective measure of quality, in terms of the apparent complexity, maintainability and usability. Not all metrics provide the same classification power though, but different combination can yield results that certain people are looking for. 9/23/2018

Proposition This article proposes using a genetic algorithm feature selection procedure to indicate the optimal metrics used in the classification process. To test this proposal, software produced by Evident was used. 9/23/2018

Software Metrics All 338 software objects in EvIdent were subjectively labeled by an experienced software architect in terms of maintainability. Ranked each Java class as low, medium-low, medium or high. High represents easy to modify. Low represents difficult to modify. 9/23/2018

Software Metrics There were 16 different software metrics used. LOC, SLC, CLC, WLC, RCC, RCS, SMC, MET, ANL, CAN, AE, ALC, ASC, ASL, ACC. AEC 9/23/2018

The Genetic Algorithm 9/23/2018

Genetic Algorithm step 1: initialize population Population of Genes: Each chromosome is a software metric Chromo-somes: gene #1 gene #2 gene #3 gene #4 gene #5 T Y P L O C S W R SMC ME ANL CAN AIE … 1 9/23/2018

2. Begin the algorithm* for creating offspring for generation N, starting with generation 1 * The algorithm is shown on the following slides 9/23/2018

3. Calculate fitness by LDA* 4. Select pair based on fitness * LDA is explained later in this presentation Chromo-somes: gene #1 gene #2 gene #3 gene #4 gene #5 T Y P L O C S W R SMC ME ANL CAN AIE … 1 Fitness (LDA %) 44 63 37 67 50 9/23/2018

5. Produce child gene by swapping bits starting from the randomly-picked crossover point Chromo-somes: gene #2 gene #4 crossover T Y P L O C S W R SMC ME ANL CAN AIE … 1 * 9/23/2018

6. mutate each child bit where a random probability number exceeds the control parameter * Control parameter should be small (e.g. 10%) Chromo-somes: Crossover mutated T Y P L O C S W R SMC ME ANL CAN AIE … 1 9/23/2018

7. Insert child into population; replacing the least fit gene Chromo-somes: gene #1 gene #2 child gene #4 gene #5 T Y P L O C S W R SMC ME ANL CAN AIE … 1 Fitness (LDA %) 44 63 N/A 67 50 9/23/2018

8. Return to step 3 and repeat this process until one generation has reproduced. * There is a control parameter, the number of elite genes (those which survive to the next generation) which determines when one generation is complete. 9/23/2018

9. Return to step 2 and repeat for the next generation, until N generations have reproduced. * There is a control parameter, the number of generations, which determines when this loop terminates. 9/23/2018

Control parameters for the GA Number of genes in the population Number of generations Percent of elite genes (those that survive to the next generation) * The probability of mutations * In the previous example, we have a very small population and only one reproduction was demonstrated. There are many reproductions per generation. 9/23/2018

Control parameters for the GA Number of genes in the population Number of generations Percent of elite genes (those that survive to the next generation) * The probability of mutations * In the previous example, we have a very small population and only one reproduction was demonstrated. There are many reproductions per generation. 9/23/2018

Linear Discriminate Analysis (LDA) 9/23/2018

Computing “Fitness” using LDA Java object: Zoo Quality ranking: low SW metrics: TYP: 1, LOC:539, SLC: 401, CLC: 138, Etc. Java object: Bar Quality ranking: low SW metrics: TYP: 1, LOC:539, SLC: 401, CLC: 138, Etc. Objective Function using LDA Fitness Value Java object: Foo Quality ranking: high SW metrics: TYP: 1, LOC:539, SLC: 401, CLC: 138, Etc. * This shows computing fitness for only one gene (set of SW metrics) 9/23/2018

SW metric (“known feature”): Group: High max Group: Low Group: Medium SW metric (“known feature”): LOC Group: medium-low 1 2 3 4 SW Metric (“known feature”):TYP * In reality, we can have up to 16 dimensions (only 2 shown here) 9/23/2018

Aspects of LDA function logic For a point on the previous graph, the LDA algorithm will allocate it to the group based on: the greatest probability distribution The prior probability (for the last SW object processed, presumably) is also a factor 9/23/2018

Results 9/23/2018

Top 5 These are the 6 metrics that were common to the top 5 genes. SLC WLC RCC AE ASL ACC 9/23/2018

Conclusion The GA metrics appear to indicate that code that is easy to read along with comments help developers understand the purpose of the code. 9/23/2018