Using Genetic Algorithms to Solve the Box Stacking Problem

Size: px
Start display at page:

Download "Using Genetic Algorithms to Solve the Box Stacking Problem"

Transcription

1 Using Genetic Algorithms to Solve the Box Stacking Problem Jenniffer Estrada, Kris Lee, Ryan Edgar October 7th, 2010 Abstract The box stacking or strip stacking problem is exceedingly difficult to solve using conventional methods due to the size of the solution space. An alternative to conventional methods is to use a genetic algorithm. Genetic algorithms search the solution space using the concepts of evolution. The core of the problem relies on how the boxes are stacked. In this problem, a left to right bottom up minimum stacking algorithm was implemented. Using this algorithm with a sequential cross-over and mutation functions yielded good results. For a known object set the algorithm obtained the best stacking of objects. The effect of different parameter values on the obtained solution was also explored. The parameters were varied individually and included the probability of cross-over and mutation, population size and terminating condition. In the end, the algorithm obtained the best results by using the ideal for each of the four parameters that were varied. Introduction A genetic algorithm is a type of search algorithm that emulates the process of natural selection. In general, a genetic algorithm will begin with an initial population and, from this base population, generate a new population from the individuals from the initial population which had the best fitness. Genetic algorithms emulate reproduction and evolutionary mutation. For reproduction, a crossover technique is used in which the genotype of two parent individuals is combined to obtain two new individuals which are included in the population. Mutation, as in evolution, acts on the genotype of a single individual and creates a new genotype which replaces the original in the population. The mission of crossover and mutation is to introduce variations into the population which can be evaluated in hopes of finding the best individual. This process is repeated until a terminating condition is meet. Quite often, these algorithms prove to be useful for optimization or classification problems. Problem Statement One application of genetic algorithms is solving a box stacking or container loading problem. In this problem set, there is a set of objects which must be packed into a given space, or container. The objective is to find the optimum loading such that all the objects fit and occupy the least amount of space. In some situations the stipulation is that the objects must fit into a given space. In others the objective might be to load as many objects as possible. And in yet other formulations of the problem the mission is to find an arrangement that must use all the objects and occupies the least amount of space. This final variation is the one which is to be examined in more detail. The problem states that there is a set of predefined fixed rectangular objects which must be stacked in a strip. The 1

2 strip is two dimensional and has a fixed width. The height of the strip is allowed to go to infinity or has high as the stacking requires. Thus, the objective is to minimize the height of the strip. This variation of the container loading problem was solved using the Genetic Algorithm MATLAB toolbox. Genetic Algorithm Implementation The Genetic Algorithms Toolbox in MATLAB was developed by Prof. Michael G. Kay at North Carolina State University and is available to the public. The toolbox contains a variety of concepts used in genetic algorithms and several demonstration scripts. A combination of altered scripts from Kay s toolbox and our own implementations of certain aspects of genetic algorithms were used to address the two dimensional stacking problem. The alterations were used to address conflicts that arose from the specific constraints of the 2-D packing problem, such as cross-over when two elements cannot be repeated. Representing an Individual Individuals are represented using a string of alternating indexes and boolean rotation values. The indexes are into the static list of objects. The boolean rotation values indicate whether the object should be stacked as is, a value of zero, or rotated 90 degrees, a value of one. An individual is therefore composed of an array of 2 N where N is the number of objects. The array below is an individual in which there are five objects to be stacked. Population Initialization {1, 0, 3, 0, 5, 1, 2, 1, 4, 0} Given a population size P and a number of objects N, we generate a population of P individuals, each of who will be a 2 N row vector. This is done by taking the list S = {1,..., N} and randomly choosing a value, say m, and then randomly choosing either a 1 or a 0, say 1. This indicates the the first object in our individual is the mth object from the original list and it has been rotated by 90 degrees. This process is repeated until S is empty. Once S is empty, we have our first individual, hence we repeat this process to generate P 1 more individuals. For an example of an output, if we have 5 objects and want to generate a population of size 5, running the code yields: {5, 0, 3, 0, 4, 1, 1, 0, 2, 0} {4, 1, 5, 1, 1, 0, 3, 1, 2, 1} {1, 0, 5, 0, 2, 0, 3, 1, 4, 0} {1, 1, 3, 1, 4, 0, 5, 1, 2, 1} {5, 0, 3, 0, 4, 1, 2, 0, 1, 0} Fitness Function For an individual, we will use the amount of empty space left after packing as a means of determining our fitness. By empty space, we mean the amount of area that is not occupied by an object after packing. Note that if there is no empty space, this means that the objects were packed 2

3 perfectly into the strip. However, there are collection of objects such that, no matter how they are packed into the strip, will never yield an empty space of zero. For example, if we have N objects where the first N 1 objects perfectly pack into the square 20 20, then we will always have a positive empty space value for any orderings or rotations of the objects. To compute the empty space value of a given individual, we calculate STRIP WIDTH h - LEAST AREA where STRIP WIDTH is a global variable that contains the width of the strip we are placing the objects, LEAST AREA is a global variable that contains the sum of the areas of the objects we are packing, and h is the height of the tallest point of the objects after they have been packed. Hence, to calculate the amount of empty space, we need to devise a method to calculate h. In order to calculate h, we need to pack the objects as they are listed in the individual. We will pack objects by first placing the first object in the bottom left corner of the strip. Then we place objects to the right of each other until we can place no more objects in the strip. To recap, our first step is to as place as many objects as possible next to each other on the bottom of the strip. We then search for the minimum height of the packed objects and stack as many objects next to each other on top of this minimum height. If we could not pack anything into the space, we increment the minimum height by one, thus giving us either the same minimum or a new one. After this, we search for the minimum height again and repeat. This is repeated until either we run out of objects, or the minimum height is the same as the maximum height. In the event that the minimum matches the maximum, this means that either we have completely packed the area with objects or the current object cannot be place in between any of the objects that have already been packed. Thus, we pack objects next to each starting from the left side of the strip at the tallest point of the already packed objects. This process is carried out until there are no more objects to pack. During this process, we keep track of the tallest point of the already packed objects. Hence, once the process has ended, we will have calculated our h. Now that we have calculated our h, we can calculate the empty space of a given individual. Since the Genetic Algorithm Toolbox is designed to find a maximum of a fitness function, we cannot just use the empty space of an individual. This is because the smaller the empty space, the better we have packed the objects. In order to correct for this, we need to find a value from which we can subtract the empty space of an individual. Hence, if this difference maximizes, then it must be that the empty space of the individual minimized. The value we will use is what we will call the worst empty space. This value represents the empty space left by packing the object on top of each other, rotated so that their height is greater than or equal to their width, starting from the bottom left corner. We calculate this value by evaluating STRIP WIDTH WORST HEIGHT- LEAST AREA, where WORST HEIGHT is a global variable that contains the sum of the heights of the objects, after they have been rotated so that their height is greater than or equal to their width. Using this value, we can now define our fitness function for an individual: f(individual) = STRIP WIDTH WORST HEIGHT LEAST AREA (STRIP WIDTH h LEAST AREA) = STRIP WIDTH (WORST HEIGHT h). Thus, to calculate the fitness of an individual, we need only compute WORST HEIGHT and h. 3

4 For an example of how this entire process is carried out, suppose that we have the following objects {2, 4} {3, 2} {1, 2} {2, 3} and are trying to pack these objects as best we can in a strip that had a width of 5. In other words, STRIP WIDTH = 5. Moreover, note that WORST HEIGHT = = 12. We will find the fitness of the individual {1, 0, 3, 1, 2, 0, 4, 1}. Note that this individual says to pack the objects in the following order: the first object, the third object rotated by 90 degrees, the second object, and the fourth object rotated by 90 degrees. We will now pack these four objects into our strip. To keep track of this process, we will represent the strip as a row vector of length 5 where the entries indicate the current height of the objects packed in the strip. We start out as follows: {0, 0, 0, 0, 0}. This represents the empty strip with no objects placed in it. The first object to be place is the first object with no rotation. We place this object in the bottom left corner. Upon doing so, our strip vector now looks like this: {4, 4, 0, 0, 0}. Next, we see if we can place next object in our individual next to this one. The next object to be place is the third object rotated by 90 degrees. This object has width 2 and height 1, so it does fit. Hence our strip vector is now: {4, 4, 1, 1, 0}. We have now reached the point where we can no longer put any objects in the strip. Thus, we need to search for the minimum height of the already packed objects and see if there is room to place the next object in our individual. We find that the minimum is 0 and we only have room for an object of width one. The next object we need to place is the second object, which has a width of 3. Thus, this object cannot fit, so we increment the height at the fifth entry of the strip vector: {4, 4, 1, 1, 1}. We do this to signify that that 1-by-1 area cannot be occupied by an object, i.e. it has already been packed.. In addition, this is done so that now when we search for the minimum height of the currently packed items, we will find either the same index or a different one. For example, when we now search for a minimum, we will find that it is 1 and that it first occurs at the third index of our strip vector. We see now that we can pack our next object, thus we update the strip vector: {4, 4, 3, 3, 3}. Note that we have packed our object to the edge of the strip, i.e. we cannot put the last object next to this one. Again, we find the minimum of the currently packed objects. We find that it is 3 and first occurs at the third index of our strip vector. The last object to pack is fourth object rotated by 90 degrees. It has width 3 and height 2, thus it can be packed into this location. Our strip vector now looks like this: {4, 4, 5, 5, 5}. 4

5 We have packed all of the object, thus we find the maximum of the strip vector, which is 5. This is our h value. We can now calculate the fitness of our individual: f ({1, 0, 3, 1, 2, 0, 4, 1}) = STRIP WIDTH (WORST HEIGHT h) Hence, the fitness value of our individual is 35. Selection = 5 (12 5) = 35. The selection was performed using a linear rank algorithm. This means the selection pressure can be provided as an input and from that a probability that each individual of the population is determined. The probability the i th individual is selected is given by α + β i where α and β are constants provided by the equations below. α = [ ] 2 N m (N+1) 2 N(N 1) 2(m 1) β = N(N 1) The individuals were ordered from least fit to most fit where the last individual is the most fit. Once ordered, a probability was assigned to each using the linear rank formula. Finally, individuals were selected using a strategy in which a random number R was selected from (0, 1) and if i 1 α + β j < R < j=1 i α + β j for i > 1 or 0 < R < α + β for i = 1 then the i th individual is selected. Cross-Over Since each individual is a sequence in which order matters the standard cross-over cannot be performed. When dealing with ordered sequences a sequential single point cross-over can be used. In this algorithm, a random location is chosen between 1 and N, where N is the number of objects. This location dictates the number of index-rotation pairs which are taken from the beginning of each parent and placed immediately in the corresponding child. The remainder of each child is filled using the elements from the other parent. This process is performed by starting at the beginning of the second parent and copying pairs on to the end of the child if and only if the pair does not already exist in the child. Example If a random location of 3 is chosen with N = 5 then the following will be the result for a cross-over between two parents, p 1 and p 2, generating two children, c 1 and c 2. j=1 p 1 = {1, 0, 3, 0, 5, 1, 2, 1, 4, 0} p 2 = {2, 1, 1, 1, 3, 0, 4, 1, 5, 0} c 1 = {1, 0, 3, 0, 5, 1, 2, 1, 4, 1} c 2 = {2, 1, 1, 1, 3, 0, 5, 1, 4, 0} 5

6 Mutation The mutation algorithm takes in as arguments the parent string and generates randomly an option of either interchanging two elements or flipping the orientation of one of the elements within the sequence. Example If an operation of swapping two object positions (Ops = 1) with N = 5, is randomly chosen, then the following will be the result of one parent, p 1, generating one mutation, m 1. p 1 = {1, 0, 3, 0, 5, 1, 2, 1, 4, 0} m 1 = {1, 0, 2, 0, 5, 1, 3, 1, 4, 0} It is clearly visible that the mutation has occurred, in the swapping of the second and fourth element in the parent p 1 to create m 1. The indexes ranging from 1 to N are references to a pair of dimensions corresponding to the length and width of the particular element, constrained to odd index values within the sequence. If an operation of flipping the orientation of one element (Ops = 2) within the sequence is chosen randomly with N = 5, then the following will be the one parent, p 1, and resulting mutation, m 1. p 1 = {1, 0, 3, 0, 5, 1, 2, 1, 4, 0} m 1 = {1, 0, 3, 1, 5, 1, 2, 1, 4, 0} The binary bit, representing the orientation is bounded to only take on even indexes within the range of 0 to N within the sequence, is randomly chosen. Suppose the orientation of the second element in the sequence is flipped, then the value of 0 is switched to 1, or vice-versa. The value of 0 corresponds to the original orientation of the object as it was initially entered into the program. The algorithm allows for only one orientation of exactly one element to be flipped per mutation. Terminating Condition Deciding when to terminate the genetic algorithm is based on two decision statements. The first being if an ideal solution is reached, and the second being if the maximum number of generations is reached. If the objects do not fit perfectly in the strip, meaning wasted space will never reach zero, the maximum number of generations decision is used to terminate. This introduces inefficiencies because there could be many generations performed in which the population changes little or not at all. Even with this defect it is one of the simpler terminating conditions in both theory and implementation. Alternately, it is possible to terminate upon receiving an ideal solution because in the cases where the objects will fit perfectly into the strip with a certain height the wasted space will be zero. This means that as the individuals approach zero the results are getting better and better. Testing Once the genetic algorithm was implemented, it was used to evaluate several sets of objects. The objects were stored in the files objects#.txt where # was 1 through 5. For each file, the algorithm 6

7 searched for the minimum height. During the testing several parameters were varied: population size (n), crossover probability (P c ), mutation probability (P m ) and maximum number of generations (g). Each of these parameters were varied separately from the others. This resulted in a decreased testing time. The fixed values for non-varying parameters were n = 20, P c =.5, P m =.5 and g = 200. During the testing for each parameter the following sets were used for testing. n { } P c { } P m { } g { } All results were stored in comma separated value files which were later combined into a single results file. A condensed version of this file is included at the end of the report. As a final test the best value for each parameter was selected and a trial for each object set was run using those parameter values. Set N P c P m g Height Instead of performing 20 trials of the genetic 2 trials were performed due to the extended execution time of the genetic algorithm with the specified parameters. Results When the parameters (population size, probability of cross-over and mutation, and the maximum number of generations) were individually manipulated, the genetic algorithm seems to have the solution centered over the maximum, although it does have a small spread. In order to clearly demonstrate the performance of the genetic algorithm, lets benchmark our implementation against a known solution with the first set. Knowing the optimum dimensions of the 20x11, the best packing height is 11. The mean and variance of the first set with varying parameters was calculated and shown in the table below: Table 1: Variable Manipulation for Set 1 Population Cross-Over Mutation Max. Generations Mean Variance Table 1 clearly shows that the parameter variations produce a solution within the neighborhood of the optimum height of 11, with a reasonably small variance. 7

8 Even when each parameter that resulted in the best solution was picked and the combination was tested together in one run, the algorithm didn t consistently find the optimum solution. The first set with all the parameters that found the optimum, did find the optimum height of 11. This was not the case for the other sets. For example, the second set found the optimum at 21 on the multiple trials varying parameters while the run in which all the parameters that individually resulted in the optimum combined, found the optimum at 22. Conclusion Due to the stochastic nature of the genetic algorithm, the search for the optimum result is strongly dependent on how many times the algorithm is ran and what answer is good enough. Computational time was significantly affected with certain parameters such as population size and maximum number of generations. In conclusion, the genetic algorithm has a trade-off of getting the best answer with a cost of resources, such as computational time or money. 8

Geometric Semantic Genetic Programming ~ Theory & Practice ~

Geometric Semantic Genetic Programming ~ Theory & Practice ~ Geometric Semantic Genetic Programming ~ Theory & Practice ~ Alberto Moraglio University of Exeter 25 April 2017 Poznan, Poland 2 Contents Evolutionary Algorithms & Genetic Programming Geometric Genetic

More information

Mutations for Permutations

Mutations for Permutations Mutations for Permutations Insert mutation: Pick two allele values at random Move the second to follow the first, shifting the rest along to accommodate Note: this preserves most of the order and adjacency

More information

Genetic Algorithms. Kang Zheng Karl Schober

Genetic Algorithms. Kang Zheng Karl Schober Genetic Algorithms Kang Zheng Karl Schober Genetic algorithm What is Genetic algorithm? A genetic algorithm (or GA) is a search technique used in computing to find true or approximate solutions to optimization

More information

implementing the breadth-first search algorithm implementing the depth-first search algorithm

implementing the breadth-first search algorithm implementing the depth-first search algorithm Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm

More information

Planning and Search. Genetic algorithms. Genetic algorithms 1

Planning and Search. Genetic algorithms. Genetic algorithms 1 Planning and Search Genetic algorithms Genetic algorithms 1 Outline Genetic algorithms Representing states (individuals, or chromosomes) Genetic operations (mutation, crossover) Example Genetic algorithms

More information

CS5401 FS2015 Exam 1 Key

CS5401 FS2015 Exam 1 Key CS5401 FS2015 Exam 1 Key This is a closed-book, closed-notes exam. The only items you are allowed to use are writing implements. Mark each sheet of paper you use with your name and the string cs5401fs2015

More information

MATLAB Based Optimization Techniques and Parallel Computing

MATLAB Based Optimization Techniques and Parallel Computing MATLAB Based Optimization Techniques and Parallel Computing Bratislava June 4, 2009 2009 The MathWorks, Inc. Jörg-M. Sautter Application Engineer The MathWorks Agenda Introduction Local and Smooth Optimization

More information

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES 6.1 INTRODUCTION The exploration of applications of ANN for image classification has yielded satisfactory results. But, the scope for improving

More information

Multi-objective Optimization

Multi-objective Optimization Some introductory figures from : Deb Kalyanmoy, Multi-Objective Optimization using Evolutionary Algorithms, Wiley 2001 Multi-objective Optimization Implementation of Constrained GA Based on NSGA-II Optimization

More information

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you? Gurjit Randhawa Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you? This would be nice! Can it be done? A blind generate

More information

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland March 19, 2014

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17 01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are

More information

The Genetic Algorithm for finding the maxima of single-variable functions

The Genetic Algorithm for finding the maxima of single-variable functions Research Inventy: International Journal Of Engineering And Science Vol.4, Issue 3(March 2014), PP 46-54 Issn (e): 2278-4721, Issn (p):2319-6483, www.researchinventy.com The Genetic Algorithm for finding

More information

Neural Network Weight Selection Using Genetic Algorithms

Neural Network Weight Selection Using Genetic Algorithms Neural Network Weight Selection Using Genetic Algorithms David Montana presented by: Carl Fink, Hongyi Chen, Jack Cheng, Xinglong Li, Bruce Lin, Chongjie Zhang April 12, 2005 1 Neural Networks Neural networks

More information

A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices

A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices Yaser Alkhalifah Roger L. Wainwright Department of Mathematical Department of Mathematical and Computer Sciences and Computer

More information

Chapter 14 Global Search Algorithms

Chapter 14 Global Search Algorithms Chapter 14 Global Search Algorithms An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Introduction We discuss various search methods that attempts to search throughout the entire feasible set.

More information

Literature Review On Implementing Binary Knapsack problem

Literature Review On Implementing Binary Knapsack problem Literature Review On Implementing Binary Knapsack problem Ms. Niyati Raj, Prof. Jahnavi Vitthalpura PG student Department of Information Technology, L.D. College of Engineering, Ahmedabad, India Assistant

More information

Escaping Local Optima: Genetic Algorithm

Escaping Local Optima: Genetic Algorithm Artificial Intelligence Escaping Local Optima: Genetic Algorithm Dae-Won Kim School of Computer Science & Engineering Chung-Ang University We re trying to escape local optima To achieve this, we have learned

More information

GENETIC ALGORITHM with Hands-On exercise

GENETIC ALGORITHM with Hands-On exercise GENETIC ALGORITHM with Hands-On exercise Adopted From Lecture by Michael Negnevitsky, Electrical Engineering & Computer Science University of Tasmania 1 Objective To understand the processes ie. GAs Basic

More information

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS Gabriela Ochoa http://www.cs.stir.ac.uk/~goc/ OUTLINE Optimisation problems Optimisation & search Two Examples The knapsack problem

More information

Problem Set 6 Solutions

Problem Set 6 Solutions Introduction to Algorithms October 29, 2001 Massachusetts Institute of Technology 6.046J/18.410J Singapore-MIT Alliance SMA5503 Professors Erik Demaine, Lee Wee Sun, and Charles E. Leiserson Handout 24

More information

A Genetic Algorithm for Minimum Tetrahedralization of a Convex Polyhedron

A Genetic Algorithm for Minimum Tetrahedralization of a Convex Polyhedron A Genetic Algorithm for Minimum Tetrahedralization of a Convex Polyhedron Kiat-Choong Chen Ian Hsieh Cao An Wang Abstract A minimum tetrahedralization of a convex polyhedron is a partition of the convex

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

Catalan Numbers. Table 1: Balanced Parentheses

Catalan Numbers. Table 1: Balanced Parentheses Catalan Numbers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 00 We begin with a set of problems that will be shown to be completely equivalent. The solution to each problem

More information

Genetic Algorithms for Vision and Pattern Recognition

Genetic Algorithms for Vision and Pattern Recognition Genetic Algorithms for Vision and Pattern Recognition Faiz Ul Wahab 11/8/2014 1 Objective To solve for optimization of computer vision problems using genetic algorithms 11/8/2014 2 Timeline Problem: Computer

More information

EVOLVING LEGO. Exploring the impact of alternative encodings on the performance of evolutionary algorithms. 1. Introduction

EVOLVING LEGO. Exploring the impact of alternative encodings on the performance of evolutionary algorithms. 1. Introduction N. Gu, S. Watanabe, H. Erhan, M. Hank Haeusler, W. Huang, R. Sosa (eds.), Rethinking Comprehensive Design: Speculative Counterculture, Proceedings of the 19th International Conference on Computer- Aided

More information

Lecture 6: Genetic Algorithm. An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved

Lecture 6: Genetic Algorithm. An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved Lecture 6: Genetic Algorithm An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved Lec06/1 Search and optimization again Given a problem, the set of all possible

More information

1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is:

1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is: CS 124 Section #8 Hashing, Skip Lists 3/20/17 1 Probability Review Expectation (weighted average): the expectation of a random quantity X is: x= x P (X = x) For each value x that X can take on, we look

More information

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism in Artificial Life VIII, Standish, Abbass, Bedau (eds)(mit Press) 2002. pp 182 185 1 Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism Shengxiang Yang Department of Mathematics and Computer

More information

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell Introduction to Genetic Algorithms Based on Chapter 10 of Marsland Chapter 9 of Mitchell Genetic Algorithms - History Pioneered by John Holland in the 1970s Became popular in the late 1980s Based on ideas

More information

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter Review: Final Exam Model for a Learning Step Learner initially Environm ent Teacher Compare s pe c ia l Information Control Correct Learning criteria Feedback changed Learner after Learning Learning by

More information

3.6.2 Generating admissible heuristics from relaxed problems

3.6.2 Generating admissible heuristics from relaxed problems 3.6.2 Generating admissible heuristics from relaxed problems To come up with heuristic functions one can study relaxed problems from which some restrictions of the original problem have been removed The

More information

Genetic programming. Lecture Genetic Programming. LISP as a GP language. LISP structure. S-expressions

Genetic programming. Lecture Genetic Programming. LISP as a GP language. LISP structure. S-expressions Genetic programming Lecture Genetic Programming CIS 412 Artificial Intelligence Umass, Dartmouth One of the central problems in computer science is how to make computers solve problems without being explicitly

More information

Genetic Algorithms. Genetic Algorithms

Genetic Algorithms. Genetic Algorithms A biological analogy for optimization problems Bit encoding, models as strings Reproduction and mutation -> natural selection Pseudo-code for a simple genetic algorithm The goal of genetic algorithms (GA):

More information

Evolutionary Algorithms

Evolutionary Algorithms Evolutionary Algorithms Proposal for a programming project for INF431, Spring 2014 version 14-02-19+23:09 Benjamin Doerr, LIX, Ecole Polytechnique Difficulty * *** 1 Synopsis This project deals with the

More information

Genetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II

Genetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II Genetic Algorithms Genetic Algorithms Iterative method for doing optimization Inspiration from biology General idea (see Pang or Wikipedia for more details): Create a collection of organisms/individuals

More information

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP Wael Raef Alkhayri Fahed Al duwairi High School Aljabereyah, Kuwait Suhail Sami Owais Applied Science Private University Amman,

More information

Network Routing Protocol using Genetic Algorithms

Network Routing Protocol using Genetic Algorithms International Journal of Electrical & Computer Sciences IJECS-IJENS Vol:0 No:02 40 Network Routing Protocol using Genetic Algorithms Gihan Nagib and Wahied G. Ali Abstract This paper aims to develop a

More information

Regression Test Case Prioritization using Genetic Algorithm

Regression Test Case Prioritization using Genetic Algorithm 9International Journal of Current Trends in Engineering & Research (IJCTER) e-issn 2455 1392 Volume 2 Issue 8, August 2016 pp. 9 16 Scientific Journal Impact Factor : 3.468 http://www.ijcter.com Regression

More information

Bulgarian Math Olympiads with a Challenge Twist

Bulgarian Math Olympiads with a Challenge Twist Bulgarian Math Olympiads with a Challenge Twist by Zvezdelina Stankova Berkeley Math Circle Beginners Group September 0, 03 Tasks throughout this session. Harder versions of problems from last time appear

More information

4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING

4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING 4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING 4.1.2 ALGORITHMS ALGORITHM An Algorithm is a procedure or formula for solving a problem. It is a step-by-step set of operations to be performed. It is almost

More information

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search A JOB-SHOP SCHEDULING PROBLEM (JSSP) USING GENETIC ALGORITHM (GA) Mahanim Omar, Adam Baharum, Yahya Abu Hasan School of Mathematical Sciences, Universiti Sains Malaysia 11800 Penang, Malaysia Tel: (+)

More information

Evolutionary Linkage Creation between Information Sources in P2P Networks

Evolutionary Linkage Creation between Information Sources in P2P Networks Noname manuscript No. (will be inserted by the editor) Evolutionary Linkage Creation between Information Sources in P2P Networks Kei Ohnishi Mario Köppen Kaori Yoshida Received: date / Accepted: date Abstract

More information

Two Efficient Algorithms for VLSI Floorplanning. Chris Holmes Peter Sassone

Two Efficient Algorithms for VLSI Floorplanning. Chris Holmes Peter Sassone Two Efficient Algorithms for VLSI Floorplanning Chris Holmes Peter Sassone ECE 8823A July 26, 2002 1 Table of Contents 1. Introduction 2. Traditional Annealing 3. Enhanced Annealing 4. Contiguous Placement

More information

Uninformed Search Methods. Informed Search Methods. Midterm Exam 3/13/18. Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall

Uninformed Search Methods. Informed Search Methods. Midterm Exam 3/13/18. Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall Midterm Exam Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall Covers topics through Decision Trees and Random Forests (does not include constraint satisfaction) Closed book 8.5 x 11 sheet with notes

More information

Midterm Examination CS540-2: Introduction to Artificial Intelligence

Midterm Examination CS540-2: Introduction to Artificial Intelligence Midterm Examination CS540-2: Introduction to Artificial Intelligence March 15, 2018 LAST NAME: FIRST NAME: Problem Score Max Score 1 12 2 13 3 9 4 11 5 8 6 13 7 9 8 16 9 9 Total 100 Question 1. [12] Search

More information

Spring 2007 Midterm Exam

Spring 2007 Midterm Exam 15-381 Spring 2007 Midterm Exam Spring 2007 March 8 Name: Andrew ID: This is an open-book, open-notes examination. You have 80 minutes to complete this examination. Unless explicitly requested, we do not

More information

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS 6.1 Introduction Gradient-based algorithms have some weaknesses relative to engineering optimization. Specifically, it is difficult to use gradient-based algorithms

More information

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS Jim Gasvoda and Qin Ding Department of Computer Science, Pennsylvania State University at Harrisburg, Middletown, PA 17057, USA {jmg289, qding}@psu.edu

More information

Network Reconfiguration for Loss Reduction in Electrical Distribution System Using Genetic Algorithm

Network Reconfiguration for Loss Reduction in Electrical Distribution System Using Genetic Algorithm Network Reconfiguration for Loss Reduction in Electrical Distribution System Using Genetic Algorithm S. A. Nagy*, I. S. Ibrahim, M. K. Ahmed*, A. S. Adail and S. Soliman Hot Labs Center, Atomic Energy

More information

Balanced Binary Search Trees. Victor Gao

Balanced Binary Search Trees. Victor Gao Balanced Binary Search Trees Victor Gao OUTLINE Binary Heap Revisited BST Revisited Balanced Binary Search Trees Rotation Treap Splay Tree BINARY HEAP: REVIEW A binary heap is a complete binary tree such

More information

Chapter 4: Trees. 4.2 For node B :

Chapter 4: Trees. 4.2 For node B : Chapter : Trees. (a) A. (b) G, H, I, L, M, and K.. For node B : (a) A. (b) D and E. (c) C. (d). (e).... There are N nodes. Each node has two pointers, so there are N pointers. Each node but the root has

More information

Automata Construct with Genetic Algorithm

Automata Construct with Genetic Algorithm Automata Construct with Genetic Algorithm Vít Fábera Department of Informatics and Telecommunication, Faculty of Transportation Sciences, Czech Technical University, Konviktská 2, Praha, Czech Republic,

More information

6.001 Notes: Section 6.1

6.001 Notes: Section 6.1 6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of

More information

OVERVIEW & RECAP COLE OTT MILESTONE WRITEUP GENERALIZABLE IMAGE ANALOGIES FOCUS

OVERVIEW & RECAP COLE OTT MILESTONE WRITEUP GENERALIZABLE IMAGE ANALOGIES FOCUS COLE OTT MILESTONE WRITEUP GENERALIZABLE IMAGE ANALOGIES OVERVIEW & RECAP FOCUS The goal of my project is to use existing image analogies research in order to learn filters between images. SIMPLIFYING

More information

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms Topological Machining Fixture Layout Synthesis Using Genetic Algorithms Necmettin Kaya Uludag University, Mechanical Eng. Department, Bursa, Turkey Ferruh Öztürk Uludag University, Mechanical Eng. Department,

More information

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Evolutionary Computation Algorithms for Cryptanalysis: A Study Evolutionary Computation Algorithms for Cryptanalysis: A Study Poonam Garg Information Technology and Management Dept. Institute of Management Technology Ghaziabad, India pgarg@imt.edu Abstract The cryptanalysis

More information

FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard

FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 The data of the problem is of 2GB and the hard disk is of 1GB capacity, to solve this problem we should Use better data structures

More information

Lecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays)

Lecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays) Lecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays) In this lecture, you will: Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of

More information

Genetic Algorithms Variations and Implementation Issues

Genetic Algorithms Variations and Implementation Issues Genetic Algorithms Variations and Implementation Issues CS 431 Advanced Topics in AI Classic Genetic Algorithms GAs as proposed by Holland had the following properties: Randomly generated population Binary

More information

CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

More information

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization J.Venkatesh 1, B.Chiranjeevulu 2 1 PG Student, Dept. of ECE, Viswanadha Institute of Technology And Management,

More information

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM Journal of Al-Nahrain University Vol.10(2), December, 2007, pp.172-177 Science GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM * Azhar W. Hammad, ** Dr. Ban N. Thannoon Al-Nahrain

More information

SIMULATION APPROACH OF CUTTING TOOL MOVEMENT USING ARTIFICIAL INTELLIGENCE METHOD

SIMULATION APPROACH OF CUTTING TOOL MOVEMENT USING ARTIFICIAL INTELLIGENCE METHOD Journal of Engineering Science and Technology Special Issue on 4th International Technical Conference 2014, June (2015) 35-44 School of Engineering, Taylor s University SIMULATION APPROACH OF CUTTING TOOL

More information

Genetic Algorithm for Seismic Velocity Picking

Genetic Algorithm for Seismic Velocity Picking Proceedings of International Joint Conference on Neural Networks, Dallas, Texas, USA, August 4-9, 2013 Genetic Algorithm for Seismic Velocity Picking Kou-Yuan Huang, Kai-Ju Chen, and Jia-Rong Yang Abstract

More information

Genetic Algorithms. Chapter 3

Genetic Algorithms. Chapter 3 Chapter 3 1 Contents of this Chapter 2 Introductory example. Representation of individuals: Binary, integer, real-valued, and permutation. Mutation operator. Mutation for binary, integer, real-valued,

More information

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing 1. Introduction 2. Cutting and Packing Problems 3. Optimisation Techniques 4. Automated Packing Techniques 5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing 6.

More information

Algorithm Design (4) Metaheuristics

Algorithm Design (4) Metaheuristics Algorithm Design (4) Metaheuristics Takashi Chikayama School of Engineering The University of Tokyo Formalization of Constraint Optimization Minimize (or maximize) the objective function f(x 0,, x n )

More information

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface. Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on

More information

Optimization of Noisy Fitness Functions by means of Genetic Algorithms using History of Search with Test of Estimation

Optimization of Noisy Fitness Functions by means of Genetic Algorithms using History of Search with Test of Estimation Optimization of Noisy Fitness Functions by means of Genetic Algorithms using History of Search with Test of Estimation Yasuhito Sano and Hajime Kita 2 Interdisciplinary Graduate School of Science and Engineering,

More information

ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length

ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length SOFTWARE PRACTICE AND EXPERIENCE, VOL. 23(11), 1267 1283 (NOVEMBER 1993) ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length faris n. abuali and roger l. wainwright

More information

How Santa Fe Ants Evolve

How Santa Fe Ants Evolve How Santa Fe Ants Evolve Dominic Wilson, Devinder Kaur, Abstract The Santa Fe Ant model problem has been extensively used to investigate, test and evaluate evolutionary computing systems and methods over

More information

Classification of Optimization Problems and the Place of Calculus of Variations in it

Classification of Optimization Problems and the Place of Calculus of Variations in it Lecture 1 Classification of Optimization Problems and the Place of Calculus of Variations in it ME256 Indian Institute of Science G. K. Ananthasuresh Professor, Mechanical Engineering, Indian Institute

More information

Evolutionary Computation

Evolutionary Computation Evolutionary Computation Lecture 9 Mul+- Objec+ve Evolu+onary Algorithms 1 Multi-objective optimization problem: minimize F(X) = ( f 1 (x),..., f m (x)) The objective functions may be conflicting or incommensurable.

More information

Parallelizing SAT Solver With specific application on solving Sudoku Puzzles

Parallelizing SAT Solver With specific application on solving Sudoku Puzzles 6.338 Applied Parallel Computing Final Report Parallelizing SAT Solver With specific application on solving Sudoku Puzzles Hank Huang May 13, 2009 This project was focused on parallelizing a SAT solver

More information

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2 Hybridization EVOLUTIONARY COMPUTING Hybrid Evolutionary Algorithms hybridization of an EA with local search techniques (commonly called memetic algorithms) EA+LS=MA constructive heuristics exact methods

More information

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover J. Garen 1 1. Department of Economics, University of Osnabrück, Katharinenstraße 3,

More information

Advanced Search Genetic algorithm

Advanced Search Genetic algorithm Advanced Search Genetic algorithm Yingyu Liang yliang@cs.wisc.edu Computer Sciences Department University of Wisconsin, Madison [Based on slides from Jerry Zhu, Andrew Moore http://www.cs.cmu.edu/~awm/tutorials

More information

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA The Binary Genetic Algorithm Universidad de los Andes-CODENSA 1. Genetic Algorithms: Natural Selection on a Computer Figure 1 shows the analogy between biological i l evolution and a binary GA. Both start

More information

Introduction to Optimization

Introduction to Optimization Introduction to Optimization Approximation Algorithms and Heuristics November 21, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Exercise: The Knapsack

More information

Subset sum problem and dynamic programming

Subset sum problem and dynamic programming Lecture Notes: Dynamic programming We will discuss the subset sum problem (introduced last time), and introduce the main idea of dynamic programming. We illustrate it further using a variant of the so-called

More information

Let the dynamic table support the operations TABLE-INSERT and TABLE-DELETE It is convenient to use the load factor ( )

Let the dynamic table support the operations TABLE-INSERT and TABLE-DELETE It is convenient to use the load factor ( ) 17.4 Dynamic tables Let us now study the problem of dynamically expanding and contracting a table We show that the amortized cost of insertion/ deletion is only (1) Though the actual cost of an operation

More information

Encoding Techniques in Genetic Algorithms

Encoding Techniques in Genetic Algorithms Encoding Techniques in Genetic Algorithms Debasis Samanta Indian Institute of Technology Kharagpur dsamanta@iitkgp.ac.in 01.03.2016 Debasis Samanta (IIT Kharagpur) Soft Computing Applications 01.03.2016

More information

Optimization Methods in Management Science

Optimization Methods in Management Science Problem Set Rules: Optimization Methods in Management Science MIT 15.053, Spring 2013 Problem Set 6, Due: Thursday April 11th, 2013 1. Each student should hand in an individual problem set. 2. Discussing

More information

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague. Evolutionary Algorithms: Lecture 4 Jiří Kubaĺık Department of Cybernetics, CTU Prague http://labe.felk.cvut.cz/~posik/xe33scp/ pmulti-objective Optimization :: Many real-world problems involve multiple

More information

Introduction to Optimization

Introduction to Optimization Introduction to Optimization Approximation Algorithms and Heuristics November 6, 2015 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff INRIA Lille Nord Europe 2 Exercise: The Knapsack Problem

More information

Introduction to Genetic Algorithms

Introduction to Genetic Algorithms Advanced Topics in Image Analysis and Machine Learning Introduction to Genetic Algorithms Week 3 Faculty of Information Science and Engineering Ritsumeikan University Today s class outline Genetic Algorithms

More information

COUPLING TRNSYS AND MATLAB FOR GENETIC ALGORITHM OPTIMIZATION IN SUSTAINABLE BUILDING DESIGN

COUPLING TRNSYS AND MATLAB FOR GENETIC ALGORITHM OPTIMIZATION IN SUSTAINABLE BUILDING DESIGN COUPLING TRNSYS AND MATLAB FOR GENETIC ALGORITHM OPTIMIZATION IN SUSTAINABLE BUILDING DESIGN Marcus Jones Vienna University of Technology, Vienna, Austria ABSTRACT Incorporating energy efficient features

More information

Massively Parallel Approximation Algorithms for the Knapsack Problem

Massively Parallel Approximation Algorithms for the Knapsack Problem Massively Parallel Approximation Algorithms for the Knapsack Problem Zhenkuang He Rochester Institute of Technology Department of Computer Science zxh3909@g.rit.edu Committee: Chair: Prof. Alan Kaminsky

More information

AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS

AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS Emre Alpman Graduate Research Assistant Aerospace Engineering Department Pennstate University University Park, PA, 6802 Abstract A new methodology

More information

Lecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman

Lecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman Lecture 4 3B1B Optimization Michaelmas 2017 A. Zisserman Convexity Robust cost functions Optimizing non-convex functions grid search branch and bound simulated annealing evolutionary optimization The Optimization

More information

UNIT 4 Branch and Bound

UNIT 4 Branch and Bound UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees

More information

Practical 4: The Integrate & Fire neuron

Practical 4: The Integrate & Fire neuron Practical 4: The Integrate & Fire neuron 2014 version by Mark van Rossum 2018 version by Matthias Hennig and Theoklitos Amvrosiadis 16th October 2018 1 Introduction to MATLAB basics You can start MATLAB

More information

ECE 242 Data Structures and Algorithms. Trees IV. Lecture 21. Prof.

ECE 242 Data Structures and Algorithms.  Trees IV. Lecture 21. Prof. ECE 22 Data Structures and Algorithms http://www.ecs.umass.edu/~polizzi/teaching/ece22/ Trees IV Lecture 2 Prof. Eric Polizzi Summary previous lectures Implementations BST 5 5 7 null 8 null null 7 null

More information

Midterm Examination CS 540-2: Introduction to Artificial Intelligence

Midterm Examination CS 540-2: Introduction to Artificial Intelligence Midterm Examination CS 54-2: Introduction to Artificial Intelligence March 9, 217 LAST NAME: FIRST NAME: Problem Score Max Score 1 15 2 17 3 12 4 6 5 12 6 14 7 15 8 9 Total 1 1 of 1 Question 1. [15] State

More information

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation

More information

An Evolutionary Approximation to Contrastive Divergence in Convolutional Restricted Boltzmann Machines

An Evolutionary Approximation to Contrastive Divergence in Convolutional Restricted Boltzmann Machines Wright State University CORE Scholar Browse all Theses and Dissertations Theses and Dissertations 2014 An Evolutionary Approximation to Contrastive Divergence in Convolutional Restricted Boltzmann Machines

More information

Introduction to Homogeneous coordinates

Introduction to Homogeneous coordinates Last class we considered smooth translations and rotations of the camera coordinate system and the resulting motions of points in the image projection plane. These two transformations were expressed mathematically

More information

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2 Chapter 5 A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2 Graph Matching has attracted the exploration of applying new computing paradigms because of the large number of applications

More information

2. A Bernoulli distribution has the following likelihood function for a data set D: N 1 N 1 + N 0

2. A Bernoulli distribution has the following likelihood function for a data set D: N 1 N 1 + N 0 Machine Learning Fall 2015 Homework 1 Homework must be submitted electronically following the instructions on the course homepage. Make sure to explain you reasoning or show your derivations. Except for

More information