Upper Bounds on the Time and Space Complexity of Optimizing Additively Separable Functions Matthew J. Streeter Carnegie Mellon University Pittsburgh, PA.

Slides:



Advertisements
Similar presentations
Estimating Distinct Elements, Optimally
Advertisements

Algorithm Design Techniques
Introduction to Algorithms Quicksort
Problems and Their Classes
PERMUTATION CIRCUITS Presented by Wooyoung Kim, 1/28/2009 CSc 8530 Parallel Algorithms, Spring 2009 Dr. Sushil K. Prasad.
Markov Decision Process
CSC 421: Algorithm Design & Analysis
Greedy Algorithms Amihood Amir Bar-Ilan University.
1 Machine Learning: Lecture 10 Unsupervised Learning (Based on Chapter 9 of Nilsson, N., Introduction to Machine Learning, 1996)
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
Introduction to Algorithms
© The McGraw-Hill Companies, Inc., Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC
Markov Decision Processes
Analysis of Algorithms CS 477/677 Randomizing Quicksort Instructor: George Bebis (Appendix C.2, Appendix C.3) (Chapter 5, Chapter 7)
CSL758 Instructors: Naveen Garg Kavitha Telikepalli Scribe: Manish Singh Vaibhav Rastogi February 7 & 11, 2008.
Updated QuickSort Problem From a given set of n integers, find the missing integer from 0 to n using O(n) queries of type: “what is bit[j]
Date:2011/06/08 吳昕澧 BOA: The Bayesian Optimization Algorithm.
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
Analysis of Algorithms CS 477/677 Instructor: Monica Nicolescu.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
CSE115/ENGR160 Discrete Mathematics 03/03/11 Ming-Hsuan Yang UC Merced 1.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
1 A Novel Binary Particle Swarm Optimization. 2 Binary PSO- One version In this version of PSO, each solution in the population is a binary string. –Each.
Study Group Randomized Algorithms Jun 7, 2003 Jun 14, 2003.
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
The Complexity of Algorithms and the Lower Bounds of Problems
Chapter 2: Algorithm Discovery and Design
Induction and recursion
CHAPTER 7: SORTING & SEARCHING Introduction to Computer Science Using Ruby (c) Ophir Frieder at al 2012.
Genetic Algorithm.
Efficient Model Selection for Support Vector Machines
Chapter 11 Limitations of Algorithm Power. Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples:
Discrete Structures Lecture 11: Algorithms Miss, Yanyan,Ji United International College Thanks to Professor Michael Hvidsten.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
Order Statistics The ith order statistic in a set of n elements is the ith smallest element The minimum is thus the 1st order statistic The maximum is.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 19: Searching and Sorting Algorithms.
Chapter 19: Searching and Sorting Algorithms
Chapter 3 Sec 3.3 With Question/Answer Animations 1.
Chapter 06 (Part I) Functions and an Introduction to Recursion.
The Selection Problem. 2 Median and Order Statistics In this section, we will study algorithms for finding the i th smallest element in a set of n elements.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
1 A method of successive elimination of spurious arguments for effective solution the search- based modelling tasks Oleksandr Samoilenko, Volodymyr Stepashko.
Uri Zwick Tel Aviv University Simple Stochastic Games Mean Payoff Games Parity Games TexPoint fonts used in EMF. Read the TexPoint manual before you delete.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
1 Sorting Algorithms Sections 7.1 to Comparison-Based Sorting Input – 2,3,1,15,11,23,1 Output – 1,1,2,3,11,15,23 Class ‘Animals’ – Sort Objects.
MINING COLOSSAL FREQUENT PATTERNS BY CORE PATTERN FUSION FEIDA ZHU, XIFENG YAN, JIAWEI HAN, PHILIP S. YU, HONG CHENG ICDE07 Advisor: Koh JiaLing Speaker:
Chapter 18: Searching and Sorting Algorithms. Objectives In this chapter, you will: Learn the various search algorithms Implement sequential and binary.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Analysis of Algorithms CS 477/677 Instructor: Monica Nicolescu Lecture 7.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Data Structures Using C++
Chapter 9 sorting. Insertion Sort I The list is assumed to be broken into a sorted portion and an unsorted portion The list is assumed to be broken into.
Sporadic model building for efficiency enhancement of the hierarchical BOA Genetic Programming and Evolvable Machines (2008) 9: Martin Pelikan, Kumara.
Rate Distortion Theory. Introduction The description of an arbitrary real number requires an infinite number of bits, so a finite representation of a.
Clustering Data Streams A presentation by George Toderici.
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Exhaustive search Hill.
Ch03-Algorithms 1. Algorithms What is an algorithm? An algorithm is a finite set of precise instructions for performing a computation or for solving a.
Example 2 You are traveling by a canoe down a river and there are n trading posts along the way. Before starting your journey, you are given for each 1
On the Ability of Graph Coloring Heuristics to Find Substructures in Social Networks David Chalupa By, Tejaswini Nallagatla.
Theory of Computational Complexity Yusuke FURUKAWA Iwama Ito lab M1.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Applied Discrete Mathematics Week 2: Functions and Sequences
Analysis of Algorithms
Randomized Algorithms
CS 2210 Discrete Structures Algorithms and Complexity
Randomized Algorithms
Presentation transcript:

Upper Bounds on the Time and Space Complexity of Optimizing Additively Separable Functions Matthew J. Streeter Carnegie Mellon University Pittsburgh, PA

Outline Introduction Definitions & notation Detecting linkage Algorithm, analysis & performance Conclusions

Introduction An additively separable function f of order k is one that can be expressed as: where each f i depends on at most k characters of s, and each character contributes to at most one f i Studied extensively in EC literature, particularly in relation to competent GAs.

Introduction David Goldberg, The Design of Innovation (p. 51-2) “[W]e would like a procedure that scales polynomially, as O(j b ) with b as small a number as possible (current estimates of b suggest that subquadratic—b≤2—solutions are possible).”

Introduction Previous bound: time O(j 2 ); space O(1) (Munemoto & Goldberg 1999) New bound: time O(j*ln(j)); space O(1)

Definitions & notation s i = ith character of binary string s s[i  c] = a copy of s with s i set to c  f i (s) = f(s[i  (  s i )]) - f(s) = effect on fitness of flipping i th bit (Munemoto & Goldberg 1999)

Definitions & notation Linkage: positions i and j are linked, written  (i, j), if there is some string s such that:  f i (s[j  0])   f i (s[j  1]) Grouping: i and j are grouped, written  (i, j), if i=j or if there is some sequence i 0, i 1,..., i n such that: i 0 = i i n = j  (i m, i m+1 ) for 0  m < n

Definitions & notation Linkage group: a non-empty set g such that if i  g then j  g iff.  (i, j) Linkage group partition: the unique set  f = {g 1, g 2,..., g n } of linkage groups of f.

Example f(s) = s 1 s 2 + s 2 s 3 + s 4 s 5 Linkage:  (1, 2)  (2, 3)  (4, 5)  (2, 1)  (3, 2)  (5, 4) Linkage groups: {1,2,3} and {4,5}, so  f = {{1,2,3}, {4,5}} f is an additively separable function of order 3

Relationship to additively separable functions If  f = {g 1, g 2,..., g n } then f can be written as: where each f i depends only on the positions in g i So f is additively separable of order k = max 1≤i≤n |g i | So once we know  f, we can find the global optimum of f in time O(2 k *j) by local search

Algorithm overview Start with a random string  and the trivial linkage group partition  = {{1}, {2},..., {j}}. Repeatedly perform a randomized test to detect pairs of positions that are linked Every time we find a new link  (i,j), merge i’s and j’s subset to form a new subset g’, and use local search to make  optimal w.r.t. g’ Once  =  f, we will have found a globally optimal string

Detecting linkage: O(j 2 ) approach For fixed i and j, pick a random string s and check if  f i (s[j  0])   f i (s[j  1]). Test requires 4 function evaluations, and is conclusive with probability at least 2 -k. Leads to an algorithm that requires O(2 k *j 2 ) function evaluations. (Munemoto & Goldberg 1999)

Detecting linkage: O(j*ln(j)) approach For fixed i, generate two random strings s and t that have the same character at i, and check whether  f i (s)   f i (t). Suppose  f i (s)   f i (t). Let d be the hamming distance from s to t. –If d=1, call the position that differs j and we have  (i, j) by definition –Otherwise create a string s’ that differs from both s and t in d/2 positions. We must have either  f i (s’)   f i (s) or  f i (s’)   f i (t), so just recurse until we get d=1.

Example f(s) = s 1 s 2 + s 2 s 3 + s 4 s 5 i = 2 Iteration 1 s  f 2 (s) s (1) t (1) s (1) ’ Iteration 2 s  f 2 (s) s (2) t (2) s (2) ’ Iteration 3 s  f 2 (s) s (2) t (2) Conclusion:  (1, 2)

How to use this? Some links are more “obvious” than others Ideally we would like to only discover novel links (those that let us update  ) We would like test to be conclusive with probability at least 2 -k

Discovering novel links Binary search starting at s and t will always return a position j where s and t disagree (s j  t j ) So, when looking for a link from i, just make sure s and t agree on all the positions in whichever subset in  contains i

Probability that test is conclusive Let g be the subset in  that contains i, and let g f be i’s true linkage group (g  g f ) Can show that with probability at least 2 -|g|, will choose an s such that for some t,  f i (t)   f i (s) Because there only |g f | - |g| positions left in t that affect  f i (t), test will be conclusive with probability at least:

Finding  f On each iteration, let i run from 1 to j and perform test for link out of i

Analysis Each conclusive test requires time O(ln(j)) and we do at most j-1 of them, so total time is O(j*ln(j)) Time for local search is O(2 k *j) Only thing left is time for inconclusive tests, each of which is O(1). Need to know the number t of rounds needed to discover the correct  with probability ≥ p

Calculating number of rounds To discover  f it is sufficient that each position participate in 1 conclusive test If this hasn’t happened yet, it happens with probability at least 2 -k This means we get a lower bound by analyzing the following algorithm: for n from 1 to t do: for i from 1 to j do: with probability 2 -k, mark i if all positions are marked, return ‘success’ return ‘failure’

Calculating number of rounds The probability that this algorithm succeeds is p = (1-(1-2 -k ) t )  To succeed with probability p, we must set t  Some calculus shows that this is O(2 k *ln(j))

Performance Near-linear scaling as expected Have solved up to 100,000 bit problems with this algorithm Ran on folded trap functions with k=5, 5 ≤ j ≤ 1000

Limitations Function must be strictly additively separable On any real problem, this algorithm will become an exhaustive search Can start to address this using averaging and thresholding (Munemoto & Goldberg 1999) I believe these limitations can be overcome

Conclusions New upper bounds on time complexity (O(2 k *j*ln(j))) and space complexity (O(1)) of optimizing additively separable functions Algorithm not practical as-is Linkage detection algorithm presented here could be used to construct more powerful competent GAs