Max Flow. Lecture 4. Optimization on graphs. C25 Optimization Hilary 2013 A. Zisserman. Max-flow & min-cut. The augmented path algorithm

Size: px
Start display at page:

Download "Max Flow. Lecture 4. Optimization on graphs. C25 Optimization Hilary 2013 A. Zisserman. Max-flow & min-cut. The augmented path algorithm"

Transcription

1 Lecture 4 C5 Optimization Hilary 03 A. Zisserman Optimization on graphs Max-flow & min-cut The augmented path algorithm Optimization for binary image graphs Applications Max Flow Given: a weighted directed graph with two distinguished nodes: source s, sink (destination) t B reminder Interpret edge weights (all positive) as capacities Goal: Find maximum flow from s to t Flow does not exceed capacity in any edge Flow at every vertex satisfies equilibrium [ flow in equals flow out ] e.g. oil flowing through pipes, internet routing

2 Example 3 cont. B reminder Slide: Robert Sedgewick and Kevin Wayne Example cont. B reminder

3 Max flow example 3 S T max flow is unique = but there may be multiple paths (solutions) that achieve it Matlab LP function linprog for max-flow >> f = [ -; -; 0; 0; 0 ]; >> A = [ e e e 3 e 4 e ]; >> b = [; ; ; 3; ]; >> Aeq = [ >> beq = [ 0; 0 ]; >> lb = zeros(5,); ]; >> x = linprog( f, A, b, Aeq, beq, lb ); 3 e e 4 S e 3 T e e 5 >> Optimization terminated. >> x x = >> flow = - x * f flow =.0

4 Another example 9 / 5/9 / v v 5 4 v v 3/5 3 4/4 Max Flow = 7 The st-mincut Problem An st-cut (S,T) divides the nodes between source and sink 9 The cost of the cut is the sum of costs of all edges going from S to T v v 5 4 The st-min-cut is the cut with lowest cost Each node is either assigned to the source S or sink T The cost of the edge (i, j) is taken if (i S) and (j T) Slides from Pushmeet Kohli

5 The st-mincut Problem An st-cut (S,T) divides the nodes between source and sink 9 The cost of the cut is the sum of costs of all edges going from S to T v v 5 4 The st-min-cut is the cut with lowest cost Each node is either assigned to the source S or sink T = 6 The cost of the edge (i, j) is taken if (i S) and (j T) The st-mincut Problem An st-cut (S,T) divides the nodes between source and sink 9 The cost of the cut is the sum of costs of all edges going from S to T v v 5 4 The st-min-cut is the cut with lowest cost Each node is either assigned to the source S or sink T = 7 The cost of the edge (i, j) is taken if (i S) and (j T)

6 Min-cut\Max-flow Theorem 9 v v 5 4 In every network, the maximum flow equals the cost of the st-mincut Max flow = min cut = 7 Next: the augmented path algorithm for computing the max-flow/min-cut Maxflow Algorithms v v 5 Flow = Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

7 Maxflow Algorithms v v 5 Flow = Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity Maxflow Algorithms - 9 v v 5- Flow = Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

8 Maxflow Algorithms 0 9 v v 3 Flow = 4 Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity Maxflow Algorithms 0 9 v v 3 Flow = 4 Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

9 Maxflow Algorithms 0 9 v v 3 Flow = 4 Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity Maxflow Algorithms 0 5 v v 3 Flow = Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

10 Maxflow Algorithms 0 5 v v 3 Flow = 6 0 Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity Maxflow Algorithms 0 5 v v 3 Flow = 6 0 Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

11 Maxflow Algorithms v v Flow = Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity Maxflow Algorithms v v Flow = Augmenting Path Based Algorithms. Find path from source to sink with positive capacity. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

12 Maxflow Algorithms Flow = 7 Min cut = v v 3 0 v v = 7 Image Graphs many loops very large number of nodes (variables) millions dynamic programming can t be used Consider binary graphs (h = ) pixels

13 Example: noise removal in an image N (i) i j n is the number of pixels in the image, e.g. n = M Graph structure: each vertex is connected to four neighbours noisy data z i = x i + w i where x i {0, } w i N(0, σ ) and φ(x i,x j ) = ( 0 ifxi = x j ifx i 6= x j. 0 i f(x) = X i (z i x i ) +dφ(x i,x i ) Graph cut algorithms Binary optimization: each variable x has one of two possible values f(x) = nx {m i (x i )+ X φ i (x i,x j )} i= j N (i) x i {0, } N (i) is the neighbourhood of node i i The cost function f(x) issub-modularif φ(0, 0) + φ(, ) <= φ(0, ) + φ(, 0) If f(x) is sub-modular, then it can be optimized by the Min-Cut algorithm Complexity of minimization: exhaustive search O( n ) min cut O(n 3 )

14 d = 0 original original plus noise Min x d = 60 original original plus noise Min x n 0 K

15 Optimization using graph cuts Stage : map the cost function f(x) onto a flow network so that a cut of the network corresponds to the cost f(x) Stage : compute the min-cut of the network using an augmented path algorithm Map f(x) onto network flow Construct a network so that a cut corresponds to an assignment of x i m () D Label m () C B Label 0 m (0) m A (0) s n-links w pq = 0 a cut x x t = f(x) = nx {m i (x i )+ X φ i (x i,x j )} i= j N (i)

16 m () D m () C B m (0) m A (0) x x For unary terms only: m () x m (0) (0) m () m (0) () x (0) m () m () cut x =,x = x x m (0) m (0) f(x) =m () + m () () Now, include pair wise term D m () m () C B m (0) m (0) A (0) m () + C - A m () + D - C B+C-A-D x x x x m (0) m (0) x () x 0 A C B D = A + B+C D-C 0 0 -A-D + + C-A C-A 0 D-C 0 0 add C-A if x = add D-C if x = Sub-modular constraint: flows must be positive. So, B+C-A-D >= 0

17 m () m (0) C D A B x x (0) m () + C - A m () + D - C cut B+C-A-D x x x =,x = m (0) m (0) () f(x) =m () + m () + D A m () m (0) C D A B x x (0) m () + C - A m () + D - C cut x =0,x = B+C-A-D x x f(x) = m (0) + m () m (0) m (0) () +D C + B + C A D = m (0) + m () + B A

18 Summary: optimization using graph cuts Stage : map the cost function f(x) onto a flow network so that a cut of the network corresponds to the cost f(x) Stage : compute the min-cut of the network using an augmented path algorithm Applications Optimization of binary image graph using graph-cuts:. Image cut-out and editing. Image quilting 3. Interactive Digital Photo-montage

19 . Image cut-out by binary segmentation Object - white, Background - green/grey Graph G = (V,E) Each vertex corresponds to a pixel Edges define a 4-neighbourhood grid graph Assign a label to each vertex from L = {obj,bkg}

20 Object - white, Background - green/grey Cost of a labelling f : V L Cost of label obj low Graph G = (V,E) Per Vertex Cost Cost of label bkg high Object - white, Background - green/grey Cost of a labelling f : V L Graph G = (V,E) Per Vertex Cost Cost of label obj high UNARY COST Cost of label bkg low

21 Object - white, Background - green/grey Cost of a labelling f : V L Graph G = (V,E) Per Edge Cost Cost of same label low Cost of different labels high Object - white, Background - green/grey Cost of a labelling f : V L Graph G = (V,E) Per Edge Cost Cost of different labels low PAIRWISE COST

22 Object - white, Background - green/grey Graph G = (V,E) Problem: Find the labelling with minimum cost f* N (i) i j f(x) = nx {m i (x i )+ X φ i (x i,x j )} i= j N (i) x i = for foreground pixels, x i = 0 for background m i (x i ) is likelihood that pixel at i is foreground (if x i =),orbackground (if x i = 0 ), e.g. using colour histogram of seed regions φ(x i,x j ) penalizes a change of state: φ i (x i,x j ) = ( 0 ifxi = x j γe β(i i I j ) ifx i 6= x j.

23 Application: foreground/background image segmentation foreground Seed Pixels Background Seed Pixels use seed pixels to learn colour distribution Image editing Available in Microsoft Office

24 Image Quilting Example: Texture Synthesis Goal of Texture Synthesis: create new samples of a given texture Many applications: virtual environments, hole-filling, texturing surfaces

25 block Input texture B B B B B B Random placement of blocks Neighboring blocks constrained by overlap Minimal error boundary cut Algorithm Pick size of block and size of overlap Synthesize blocks in raster order Search input texture for block that satisfies overlap constraints (above and left) Paste new block into resulting texture > use graph cuts to compute minimal error boundary cut Efros & Freeman 00, Kwatra et al. 003

26 Minimal error boundary overlapping blocks vertical boundary _ = overlap error min. error boundary

27 Interactive Digital Photomontage

28 Agarwala et al. 004 Use graph-cuts to quilt images

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

More information

Network Flow I. Lecture 16. 16.1 Overview. 16.2 The Network Flow Problem

Network Flow I. Lecture 16. 16.1 Overview. 16.2 The Network Flow Problem Lecture 6 Network Flow I 6. Overview In these next two lectures we are going to talk about an important algorithmic problem called the Network Flow Problem. Network flow is important because it can be

More information

Proximal mapping via network optimization

Proximal mapping via network optimization L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:

More information

5.1 Bipartite Matching

5.1 Bipartite Matching CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

More information

Lecture 2: The SVM classifier

Lecture 2: The SVM classifier Lecture 2: The SVM classifier C19 Machine Learning Hilary 2015 A. Zisserman Review of linear classifiers Linear separability Perceptron Support Vector Machine (SVM) classifier Wide margin Cost function

More information

Max Flow, Min Cut, and Matchings (Solution)

Max Flow, Min Cut, and Matchings (Solution) Max Flow, Min Cut, and Matchings (Solution) 1. The figure below shows a flow network on which an s-t flow is shown. The capacity of each edge appears as a label next to the edge, and the numbers in boxes

More information

Dynamic Programming and Graph Algorithms in Computer Vision

Dynamic Programming and Graph Algorithms in Computer Vision Dynamic Programming and Graph Algorithms in Computer Vision Pedro F. Felzenszwalb and Ramin Zabih Abstract Optimization is a powerful paradigm for expressing and solving problems in a wide range of areas,

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

More information

Class One: Degree Sequences

Class One: Degree Sequences Class One: Degree Sequences For our purposes a graph is a just a bunch of points, called vertices, together with lines or curves, called edges, joining certain pairs of vertices. Three small examples of

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

Social Media Mining. Graph Essentials

Social Media Mining. Graph Essentials Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

More information

The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/

The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ The Binary Blocking Flow Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Theory vs. Practice In theory, there is no difference between theory and practice.

More information

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P)

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P) Distributed Computing over Communication Networks: Topology (with an excursion to P2P) Some administrative comments... There will be a Skript for this part of the lecture. (Same as slides, except for today...

More information

An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision

An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision In IEEE Transactions on PAMI, Vol. 26, No. 9, pp. 1124-1137, Sept. 2004 p.1 An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision Yuri Boykov and Vladimir Kolmogorov

More information

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010 CS 598CSC: Combinatorial Optimization Lecture date: /4/010 Instructor: Chandra Chekuri Scribe: David Morrison Gomory-Hu Trees (The work in this section closely follows [3]) Let G = (V, E) be an undirected

More information

Linear Programming I

Linear Programming I Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

More information

Automatic Reconstruction of Parametric Building Models from Indoor Point Clouds. CAD/Graphics 2015

Automatic Reconstruction of Parametric Building Models from Indoor Point Clouds. CAD/Graphics 2015 Automatic Reconstruction of Parametric Building Models from Indoor Point Clouds Sebastian Ochmann Richard Vock Raoul Wessel Reinhard Klein University of Bonn, Germany CAD/Graphics 2015 Motivation Digital

More information

Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling 6.854 Advanced Algorithms Lecture 16: 10/11/2006 Lecturer: David Karger Scribe: Kermin Fleming and Chris Crutchfield, based on notes by Wendy Chu and Tudor Leu Minimum cost maximum flow, Minimum cost circulation,

More information

Data Structures and Algorithms Written Examination

Data Structures and Algorithms Written Examination Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where

More information

Solving NP Hard problems in practice lessons from Computer Vision and Computational Biology

Solving NP Hard problems in practice lessons from Computer Vision and Computational Biology Solving NP Hard problems in practice lessons from Computer Vision and Computational Biology Yair Weiss School of Computer Science and Engineering The Hebrew University of Jerusalem www.cs.huji.ac.il/ yweiss

More information

DATA ANALYSIS II. Matrix Algorithms

DATA ANALYSIS II. Matrix Algorithms DATA ANALYSIS II Matrix Algorithms Similarity Matrix Given a dataset D = {x i }, i=1,..,n consisting of n points in R d, let A denote the n n symmetric similarity matrix between the points, given as where

More information

Image Segmentation and Registration

Image Segmentation and Registration Image Segmentation and Registration Dr. Christine Tanner ([email protected]) Computer Vision Laboratory, ETH Zürich Dr. Verena Kaynig, Machine Learning Laboratory, ETH Zürich Outline Segmentation

More information

Linear Programming Problems

Linear Programming Problems Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number

More information

Social and Technological Network Analysis. Lecture 3: Centrality Measures. Dr. Cecilia Mascolo (some material from Lada Adamic s lectures)

Social and Technological Network Analysis. Lecture 3: Centrality Measures. Dr. Cecilia Mascolo (some material from Lada Adamic s lectures) Social and Technological Network Analysis Lecture 3: Centrality Measures Dr. Cecilia Mascolo (some material from Lada Adamic s lectures) In This Lecture We will introduce the concept of centrality and

More information

The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/

The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ The Binary Blocking Flow Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Why this Max-Flow Talk? The result: O(min(n 2/3, m 1/2 )mlog(n 2 /m)log(u))

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information

SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM

SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM ALEX WRIGHT 1. Intoduction A fixed point of a function f from a set X into itself is a point x 0 satisfying f(x 0 ) = x 0. Theorems which establish the

More information

A Practical Scheme for Wireless Network Operation

A Practical Scheme for Wireless Network Operation A Practical Scheme for Wireless Network Operation Radhika Gowaikar, Amir F. Dana, Babak Hassibi, Michelle Effros June 21, 2004 Abstract In many problems in wireline networks, it is known that achieving

More information

Euler Paths and Euler Circuits

Euler Paths and Euler Circuits Euler Paths and Euler Circuits An Euler path is a path that uses every edge of a graph exactly once. An Euler circuit is a circuit that uses every edge of a graph exactly once. An Euler path starts and

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm. Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

More information

Lecture 4: BK inequality 27th August and 6th September, 2007

Lecture 4: BK inequality 27th August and 6th September, 2007 CSL866: Percolation and Random Graphs IIT Delhi Amitabha Bagchi Scribe: Arindam Pal Lecture 4: BK inequality 27th August and 6th September, 2007 4. Preliminaries The FKG inequality allows us to lower bound

More information

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued. Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

Lecture 7: NP-Complete Problems

Lecture 7: NP-Complete Problems IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit

More information

The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

More information

NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness

NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce

More information

Chapter 10: Network Flow Programming

Chapter 10: Network Flow Programming Chapter 10: Network Flow Programming Linear programming, that amazingly useful technique, is about to resurface: many network problems are actually just special forms of linear programs! This includes,

More information

Binary Image Reconstruction

Binary Image Reconstruction A network flow algorithm for reconstructing binary images from discrete X-rays Kees Joost Batenburg Leiden University and CWI, The Netherlands [email protected] Abstract We present a new algorithm

More information

Step 3: Go to Column C. Use the function AVERAGE to calculate the mean values of n = 5. Column C is the column of the means.

Step 3: Go to Column C. Use the function AVERAGE to calculate the mean values of n = 5. Column C is the column of the means. EXAMPLES - SAMPLING DISTRIBUTION EXCEL INSTRUCTIONS This exercise illustrates the process of the sampling distribution as stated in the Central Limit Theorem. Enter the actual data in Column A in MICROSOFT

More information

A Network Flow Approach in Cloud Computing

A Network Flow Approach in Cloud Computing 1 A Network Flow Approach in Cloud Computing Soheil Feizi, Amy Zhang, Muriel Médard RLE at MIT Abstract In this paper, by using network flow principles, we propose algorithms to address various challenges

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

Social Media Mining. Network Measures

Social Media Mining. Network Measures Klout Measures and Metrics 22 Why Do We Need Measures? Who are the central figures (influential individuals) in the network? What interaction patterns are common in friends? Who are the like-minded users

More information

2.3 Convex Constrained Optimization Problems

2.3 Convex Constrained Optimization Problems 42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

More information

Graph Cuts in Vision and Graphics: Theories and Applications

Graph Cuts in Vision and Graphics: Theories and Applications 100 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras Graph Cuts in Vision and Graphics: Theories and Applications Yuri Boykov and Olga Veksler Computer Science, The University of

More information

Graph Mining and Social Network Analysis

Graph Mining and Social Network Analysis Graph Mining and Social Network Analysis Data Mining and Text Mining (UIC 583 @ Politecnico di Milano) References Jiawei Han and Micheline Kamber, "Data Mining: Concepts and Techniques", The Morgan Kaufmann

More information

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina [email protected]

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it Seminar Path planning using Voronoi diagrams and B-Splines Stefano Martina [email protected] 23 may 2016 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING. ----Changsheng Liu 10-30-2014

LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING. ----Changsheng Liu 10-30-2014 LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING ----Changsheng Liu 10-30-2014 Agenda Semi Supervised Learning Topics in Semi Supervised Learning Label Propagation Local and global consistency Graph

More information

BOUNDARY EDGE DOMINATION IN GRAPHS

BOUNDARY EDGE DOMINATION IN GRAPHS BULLETIN OF THE INTERNATIONAL MATHEMATICAL VIRTUAL INSTITUTE ISSN (p) 0-4874, ISSN (o) 0-4955 www.imvibl.org /JOURNALS / BULLETIN Vol. 5(015), 197-04 Former BULLETIN OF THE SOCIETY OF MATHEMATICIANS BANJA

More information

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

More information

Arrangements And Duality

Arrangements And Duality Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

More information

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis M. Vidyasagar Cecil & Ida Green Chair The University of Texas at Dallas Email: [email protected] October 17, 2015 Outline

More information

Equilibrium computation: Part 1

Equilibrium computation: Part 1 Equilibrium computation: Part 1 Nicola Gatti 1 Troels Bjerre Sorensen 2 1 Politecnico di Milano, Italy 2 Duke University, USA Nicola Gatti and Troels Bjerre Sørensen ( Politecnico di Milano, Italy, Equilibrium

More information

Linear Programming Notes V Problem Transformations

Linear Programming Notes V Problem Transformations Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material

More information

Environmental Remote Sensing GEOG 2021

Environmental Remote Sensing GEOG 2021 Environmental Remote Sensing GEOG 2021 Lecture 4 Image classification 2 Purpose categorising data data abstraction / simplification data interpretation mapping for land cover mapping use land cover class

More information

Linear programming and reductions

Linear programming and reductions Chapter 7 Linear programming and reductions Many of the problems for which we want algorithms are optimization tasks: the shortest path, the cheapest spanning tree, the longest increasing subsequence,

More information

Algorithms and Data Structures

Algorithms and Data Structures Algorithms and Data Structures CMPSC 465 LECTURES 20-21 Priority Queues and Binary Heaps Adam Smith S. Raskhodnikova and A. Smith. Based on slides by C. Leiserson and E. Demaine. 1 Trees Rooted Tree: collection

More information

Zeros of Polynomial Functions

Zeros of Polynomial Functions Zeros of Polynomial Functions The Rational Zero Theorem If f (x) = a n x n + a n-1 x n-1 + + a 1 x + a 0 has integer coefficients and p/q (where p/q is reduced) is a rational zero, then p is a factor of

More information

Network Design with Coverage Costs

Network Design with Coverage Costs Network Design with Coverage Costs Siddharth Barman 1 Shuchi Chawla 2 Seeun William Umboh 2 1 Caltech 2 University of Wisconsin-Madison APPROX-RANDOM 2014 Motivation Physical Flow vs Data Flow vs. Commodity

More information

ALGEBRA 2 CRA 2 REVIEW - Chapters 1-6 Answer Section

ALGEBRA 2 CRA 2 REVIEW - Chapters 1-6 Answer Section ALGEBRA 2 CRA 2 REVIEW - Chapters 1-6 Answer Section MULTIPLE CHOICE 1. ANS: C 2. ANS: A 3. ANS: A OBJ: 5-3.1 Using Vertex Form SHORT ANSWER 4. ANS: (x + 6)(x 2 6x + 36) OBJ: 6-4.2 Solving Equations by

More information

Labeling outerplanar graphs with maximum degree three

Labeling outerplanar graphs with maximum degree three Labeling outerplanar graphs with maximum degree three Xiangwen Li 1 and Sanming Zhou 2 1 Department of Mathematics Huazhong Normal University, Wuhan 430079, China 2 Department of Mathematics and Statistics

More information

Introduction to Deep Learning Variational Inference, Mean Field Theory

Introduction to Deep Learning Variational Inference, Mean Field Theory Introduction to Deep Learning Variational Inference, Mean Field Theory 1 Iasonas Kokkinos [email protected] Center for Visual Computing Ecole Centrale Paris Galen Group INRIA-Saclay Lecture 3: recap

More information

NP-Hardness Results Related to PPAD

NP-Hardness Results Related to PPAD NP-Hardness Results Related to PPAD Chuangyin Dang Dept. of Manufacturing Engineering & Engineering Management City University of Hong Kong Kowloon, Hong Kong SAR, China E-Mail: [email protected] Yinyu

More information

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004 Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

More information

Signature Segmentation from Machine Printed Documents using Conditional Random Field

Signature Segmentation from Machine Printed Documents using Conditional Random Field 2011 International Conference on Document Analysis and Recognition Signature Segmentation from Machine Printed Documents using Conditional Random Field Ranju Mandal Computer Vision and Pattern Recognition

More information

Probabilistic Latent Semantic Analysis (plsa)

Probabilistic Latent Semantic Analysis (plsa) Probabilistic Latent Semantic Analysis (plsa) SS 2008 Bayesian Networks Multimedia Computing, Universität Augsburg [email protected] www.multimedia-computing.{de,org} References

More information

Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections

Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections Maximilian Hung, Bohyun B. Kim, Xiling Zhang August 17, 2013 Abstract While current systems already provide

More information

Robert Collins CSE598G. More on Mean-shift. R.Collins, CSE, PSU CSE598G Spring 2006

Robert Collins CSE598G. More on Mean-shift. R.Collins, CSE, PSU CSE598G Spring 2006 More on Mean-shift R.Collins, CSE, PSU Spring 2006 Recall: Kernel Density Estimation Given a set of data samples x i ; i=1...n Convolve with a kernel function H to generate a smooth function f(x) Equivalent

More information

Machine vision systems - 2

Machine vision systems - 2 Machine vision systems Problem definition Image acquisition Image segmentation Connected component analysis Machine vision systems - 1 Problem definition Design a vision system to see a flat world Page

More information

On the effect of forwarding table size on SDN network utilization

On the effect of forwarding table size on SDN network utilization IBM Haifa Research Lab On the effect of forwarding table size on SDN network utilization Rami Cohen IBM Haifa Research Lab Liane Lewin Eytan Yahoo Research, Haifa Seffi Naor CS Technion, Israel Danny Raz

More information

Performance of networks containing both MaxNet and SumNet links

Performance of networks containing both MaxNet and SumNet links Performance of networks containing both MaxNet and SumNet links Lachlan L. H. Andrew and Bartek P. Wydrowski Abstract Both MaxNet and SumNet are distributed congestion control architectures suitable for

More information

COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS

COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS Alexander Burstein Department of Mathematics Howard University Washington, DC 259, USA [email protected] Sergey Kitaev Mathematics

More information

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

More information

How To Solve The Line Connectivity Problem In Polynomatix

How To Solve The Line Connectivity Problem In Polynomatix Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany RALF BORNDÖRFER MARIKA NEUMANN MARC E. PFETSCH The Line Connectivity Problem Supported by the DFG Research

More information

Distributed Structured Prediction for Big Data

Distributed Structured Prediction for Big Data Distributed Structured Prediction for Big Data A. G. Schwing ETH Zurich [email protected] T. Hazan TTI Chicago M. Pollefeys ETH Zurich R. Urtasun TTI Chicago Abstract The biggest limitations of learning

More information

(67902) Topics in Theory and Complexity Nov 2, 2006. Lecture 7

(67902) Topics in Theory and Complexity Nov 2, 2006. Lecture 7 (67902) Topics in Theory and Complexity Nov 2, 2006 Lecturer: Irit Dinur Lecture 7 Scribe: Rani Lekach 1 Lecture overview This Lecture consists of two parts In the first part we will refresh the definition

More information

Lecture 17 : Equivalence and Order Relations DRAFT

Lecture 17 : Equivalence and Order Relations DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

More information

How To Cluster Of Complex Systems

How To Cluster Of Complex Systems Entropy based Graph Clustering: Application to Biological and Social Networks Edward C Kenley Young-Rae Cho Department of Computer Science Baylor University Complex Systems Definition Dynamically evolving

More information

EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27

EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27 EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27 The Problem Given a set of N objects, do any two intersect? Objects could be lines, rectangles, circles, polygons, or other geometric objects Simple to

More information

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

More information

Bandwidth Allocation in a Network Virtualization Environment

Bandwidth Allocation in a Network Virtualization Environment Bandwidth Allocation in a Network Virtualization Environment Juan Felipe Botero [email protected] Xavier Hesselbach [email protected] Department of Telematics Technical University of Catalonia

More information

APPROXIMATION OF FRAME BASED MISSING DATA RECOVERY

APPROXIMATION OF FRAME BASED MISSING DATA RECOVERY APPROXIMATION OF FRAME BASED MISSING DATA RECOVERY JIAN-FENG CAI, ZUOWEI SHEN, AND GUI-BO YE Abstract. Recovering missing data from its partial samples is a fundamental problem in mathematics and it has

More information

Colour Image Segmentation Technique for Screen Printing

Colour Image Segmentation Technique for Screen Printing 60 R.U. Hewage and D.U.J. Sonnadara Department of Physics, University of Colombo, Sri Lanka ABSTRACT Screen-printing is an industry with a large number of applications ranging from printing mobile phone

More information

Lecture 2.1 : The Distributed Bellman-Ford Algorithm. Lecture 2.2 : The Destination Sequenced Distance Vector (DSDV) protocol

Lecture 2.1 : The Distributed Bellman-Ford Algorithm. Lecture 2.2 : The Destination Sequenced Distance Vector (DSDV) protocol Lecture 2 : The DSDV Protocol Lecture 2.1 : The Distributed Bellman-Ford Algorithm Lecture 2.2 : The Destination Sequenced Distance Vector (DSDV) protocol The Routing Problem S S D D The routing problem

More information

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

More information

17.3.1 Follow the Perturbed Leader

17.3.1 Follow the Perturbed Leader CS787: Advanced Algorithms Topic: Online Learning Presenters: David He, Chris Hopman 17.3.1 Follow the Perturbed Leader 17.3.1.1 Prediction Problem Recall the prediction problem that we discussed in class.

More information

Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

More information

3. Evaluate the objective function at each vertex. Put the vertices into a table: Vertex P=3x+2y (0, 0) 0 min (0, 5) 10 (15, 0) 45 (12, 2) 40 Max

3. Evaluate the objective function at each vertex. Put the vertices into a table: Vertex P=3x+2y (0, 0) 0 min (0, 5) 10 (15, 0) 45 (12, 2) 40 Max SOLUTION OF LINEAR PROGRAMMING PROBLEMS THEOREM 1 If a linear programming problem has a solution, then it must occur at a vertex, or corner point, of the feasible set, S, associated with the problem. Furthermore,

More information

8.1 Min Degree Spanning Tree

8.1 Min Degree Spanning Tree CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

More information

Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

More information

Line and Polygon Clipping. Foley & Van Dam, Chapter 3

Line and Polygon Clipping. Foley & Van Dam, Chapter 3 Line and Polygon Clipping Foley & Van Dam, Chapter 3 Topics Viewing Transformation Pipeline in 2D Line and polygon clipping Brute force analytic solution Cohen-Sutherland Line Clipping Algorithm Cyrus-Beck

More information

Proceedings of International Conference on Computer Vision (ICCV), Sydney, Australia, Dec. 2013 p.1. GrabCut in One Cut

Proceedings of International Conference on Computer Vision (ICCV), Sydney, Australia, Dec. 2013 p.1. GrabCut in One Cut Proceedings of International Conference on Computer Vision (ICCV), Sydney, Australia, Dec. 203 p. GrabCut in One Cut Meng Tang Lena Gorelick Olga Veksler Yuri Boykov University of Western Ontario Canada

More information