Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 1 A self-stabilizing algorithm for the maximum flow.

Slides:



Advertisements
Similar presentations
Maximum flow Main goals of the lecture:
Advertisements

Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
Self-Stabilization in Distributed Systems Barath Raghavan Vikas Motwani Debashis Panigrahi.
Chapter 6 Maximum Flow Problems Flows and Cuts Augmenting Path Algorithm.
MS&E 211 Minimum Cost Flow LP Ashish Goel. Minimum Cost Flow (MCF) Need to ship some good from “supply” nodes to “demand” nodes over a network – Example:
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Self Stabilization 1.
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
1 Maximum Flow Networks Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘capacity’ u ij. Goal: Determine the maximum amount.
Chapter 7 Maximum Flows: Polynomial Algorithms
CS138A Network Flows Peter Schröder. CS138A Flow Networks Definitions a flow network G=(V,E) is a directed graph in which each edge (u,v)
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 4 Tuesday, 2/19/02 Graph Algorithms: Part 2 Network.
1 Maximum flow problems. 2 - Introduction of: network, max-flow problem capacity, flow - Ford-Fulkerson method pseudo code, residual networks, augmenting.
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
LSRP: Local Stabilization in Shortest Path Routing Anish Arora Hongwei Zhang.
CS294, YelickSelf Stabilizing, p1 CS Self-Stabilizing Systems
Graph-Cut Algorithm with Application to Computer Vision Presented by Yongsub Lim Applied Algorithm Laboratory.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2004 Lecture 5 Wednesday, 10/6/04 Graph Algorithms: Part 2.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
MAX FLOW CS302, Spring 2013 David Kauchak. Admin.
Distributed Asynchronous Bellman-Ford Algorithm
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
Max Flow – Min Cut Problem. Directed Graph Applications Shortest Path Problem (Shortest path from one point to another) Max Flow problems (Maximum material.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
Fault Management in Mobile Ad-Hoc Networks by Tridib Mukherjee.
CS 542: Topics in Distributed Systems Self-Stabilization.
Chapter 7 May 3 Ford-Fulkerson algorithm Step-by-step walk through of an example Worst-case number of augmentations Edmunds-Karp modification Time complexity.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Data Structures & Algorithms Network Flow Richard Newman based on book by R. Sedgewick.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Superstabilizing Protocols for Dynamic Distributed Systems Authors: Shlomi Dolev, Ted Herman Presented by: Vikas Motwani CSE 291: Wireless Sensor Networks.
1 Network Flow CSC401 – Analysis of Algorithms Chapter 8 Network Flow Objectives: Flow networks –Flow –Cut Maximum flow –Augmenting path –Maximum flow.
Fall 2003Maximum Flow1 w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
ITEC452 Distributed Computing Lecture 15 Self-stabilization Hwajung Lee.
CSE 421 Algorithms Richard Anderson Lecture 21 Shortest Paths and Network Flow.
1 Maximum Flows CONTENTS Introduction to Maximum Flows (Section 6.1) Introduction to Minimum Cuts (Section 6.1) Applications of Maximum Flows (Section.
Network Topology Single-level Diversity Coding System (DCS) An information source is encoded by a number of encoders. There are a number of decoders, each.
Preflow Push Algorithm M. Amber Hassaan. Preflow Push Algorithm2 Max Flow Problem Given a graph with “Source” and “Sink” nodes we want to compute:  The.
Ford-Fulkerson Recap.
Network Flow What is a network? Flow network and flows
Max-flow, Min-cut Network flow.
Vineet Mittal Should more be added here Committee Members:
Lectures on Network Flows
Max-flow, Min-cut Network flow.
Network Flow 2016/04/12.
Instructor: Shengyu Zhang
Edmonds-Karp Algorithm
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Student: Fang Hui Supervisor: Teo Yong Meng
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 21 Network Flow
EMIS 8374 Shortest Path Problems: Introduction Updated 9 February 2008
Flow Networks and Bipartite Matching
Primal-Dual Algorithm
Algorithms (2IL15) – Lecture 7
Lecture 21 Network Flow, Part 1
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Introduction to Maximum Flows
Richard Anderson Lecture 22 Network Flow
Lecture 21 Network Flow, Part 1
Maximum Flow Neil Tang 4/8/2008
Richard Anderson Lecture 20 Shortest Paths and Network Flow
Introduction to Maximum Flows
Richard Anderson Lecture 22 Network Flow
Presentation transcript:

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 1 A self-stabilizing algorithm for the maximum flow problem Presented By Niranjan Sukumar Ghosh, Arobinda Gupta and Sriram V. Pemmaraju 6 th May 2004

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 2 Paper Outline Introduction to maximum flow problem Model of computation Maximum flow algorithm for acyclic graphs Proof of correctness Experimental Evaluation Conclusion – Failure Model, Algorithm for arbitrary graph

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 3 Algorithms for Max Flow Sequential Algorithms –Ford and Fulkerson : Picks augmented paths arbitrarily –Edmonds and Karp : Use BFS to construct augmented paths –Goldmerg and Tarjan : Works in localized manner - O(ne log(n 2 /e)) Parallel Algorithms –Shiloach and Vishkin : O(n 2 logn) using O(n) processors Distributed Algorithms –Based mainly on the Glodmerg and Tarjan Self-Stabilized Algorithms –Distributed Algorithms Fault Tolerant Adjust to dynamic changes in the network topology

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 4 Self-Stabilization Introduced by Dijkstra [1974] S is self-stabilizing with respect to predicate P if it satisfies the following two properties: –Closure: P is closed under the execution of S. –Convergence: Starting from an arbitrary global state, S is guaranteed to reach a global state satisfying P within a finite number of state transitions Failure Model : Transient Failure –An event that may the change the state of the system, but not its behavior

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 5 Preliminaries Skew Symmetry Capacity Constraint Residual Graph Residual Capacity Feasible flow Max-flow, Min-cut theorem These terms are used in the same context

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 6 Model of Computation Each node i in G corresponds to a process called process i that executes a program asynchronously Each edge (i, j) corresponds to a bidirectional link b/w process i and process j Process i local variables can be read by its neighbors but written only by process i Program Model (expressed using guarded commands [Dijkstra 1975])

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 7 Maximum Flow Algorithm for Acyclic Graphs G is a acyclic digraph For each edge (i,j), f(i,j): current flow from node i to node j Both process i and process j can read from and write into the variable f(i,j) Each node i contains a single variable d(i): length of the shortest path form s to i in the residual graph G f D(i): [0…n]

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 8 Key Idea… For any node i, –Demand(i) = O f (i) – I f (i) Demand(t) = Infinity Each node i tries to restore the flow conservation constraint demand(i)=0 by –Reducing its inflow if demand(i) < 0 –Increasing its inflow and or reducing its outflow if demand(i) > 0 Each node with positive demand attempts to pull flow via a shortest path from s to itself in G f Use BFS to keep track of shortest paths from s to all nodes in G f

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 9 Notation Distinguished Nodes  Node s remains idle with d(s) = 0  Node t executes the same program as other processes with demand(t) = INFINITY i b c a y x Residual Graph d = 5 d = 3 d = 4 d = 5 IN(i) = {a, b, c} D(i) = {4, 5, 6}

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 10 Algorithm S1: Each node i, computes its d-value by examining the values d(j) for all (j,i)=E f. d(i) = min{D[i], n} S2: If demand(i)<0, then total flow along incoming edges in G is reduced irrespective of d- values S3: if demand(i)>0 and d(i)<n, then i pulls flow along an incoming edges (j,i)=E f and d(j)=d(i)-1 S4: if demand(i) and d(i)=n, then there is no path from s to i in G f and it reduces the outflow.

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 11 Algorithm Assumption: f(i,j) never exceeds C(i,j) - New action (A5) that appropriately reduces the flow on an incident edge that has flow in excess of capacity

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 12 Example Node: a Guard: S2 Node: b Guard: S1 Node: t Guard: S3 Node: b Guard: S3 C(s,a) = C(b,t) = 2 C(a,b) = 1

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 13 Example … Node: a Guard: S3 Node: b Guard: S1 Node: b Guard: S4 Node: t Guard: S1 C(s,a) = C(b,t) = 2 C(a,b) = 1

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 14 Results

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 15 Contribution of this paper First distributed self-stabilizing algorithm for max-flow Inherently tolerant to transient faults Automatically adjust to topology changes –Arbitrary addition or deletion of edges –Addition and deletion of nodes provided that #nodes in the network is bounded –Arbitrary changes in the capacities of the edges Requires O(n 2 ) in average case settings

Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 16 Thank You ….