COMS 482: unofficial class blog


Lecture 16: More Network Flow

Posted in Class Notes by Elliott Back on February 28th, 2005. [Del.icio.us]

Ford-Fulkerson Algorithm:

ford_fulkerson(G, s, t, capacity):
    f[e] = 0 for all e
    while there exists an s -> t path in the residual graph
        choose a path p
        f = augment(f, p)
        update residual graph
    Endwhile

augment(f, path):
    c = lowest capacity on path
    for each edge e on path
        if e if a forward edge
            f[e] += c
        if e is a backwards edge
            f[e] -= c
    Endfor

Termination:

Every time we find a path, the flow on s increases by at least 1 each time (assuming integer capacities). There is also a maximum possible flow from s, equal to C = sum( ce ) of e out of s = fout(s). We can find a path at most C times, so the total time = O( C * work to find and update path) = O(m*C).

Application: Bipartite Matching:

A Bipartite Matching is defined as V= X + Y where X & Y = {} and for all edges (a, b) in V, a is in X and b is in Y. Imagine wanting to assign people and tasks. You can create a network flow diagram for this:

Bipartite Matching: Network Flow

Here, we draw an edge between a person and a task iff that person can perform said task. Then, running the flow algorithm will assign 1 person to every task, or find the best possible match. This runs in O(m*n) time, where m is the number of edges and n is the number of vertices.

This entry was posted on Monday, February 28th, 2005 at 4:32 pm and is tagged with , , , , , , , , , , , . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback.

7 Responses to 'Lecture 16: More Network Flow'

  1. Ivan G. said:

    on April 12th, 2005 at 3:47 pm

    “A Bipartite Matching is defined as V= X + Y where X & Y = {} and for all edges (a, b) in V, a is in X and b is in Y.”

    … your shorthand notation for set operations isn’t making any sense - does
    this mean that X and Y are disjoint sets, whose union is V?

    Furthermore this is wrong, since (a,b) cannot be in V (which is a vertex set).
    Perhaps you mean E.

  2. Elliott Bäck said:

    on April 12th, 2005 at 4:16 pm

    I’m using + to mean union and & to mean intersection here, since V and ^ are ugly and the real operators are hard to draw. What this means is V = X union Y, where X and Y are disjoint. Also, you can define an edge in a graph by two endpoint vertices (a, b). All that says is that all edges are between the sets X and Y.

  3. Side effects from zoloft. said:

    on March 18th, 2008 at 9:02 pm

    Zoloft muscular side effects….

    Zoloft common side effects. Zoloft muscular side effects. Zoloft side effects….

  4. Adderall. said:

    on March 23rd, 2008 at 1:51 pm

    Adderall online pharmacy….

    Adderall xr. Kidney pain and adderall. Adderall….

  5. Vegas live poker tournament schedule. said:

    on June 12th, 2008 at 6:09 pm

    Poker tournament director software….

    Wsop poker tournament of champions xbox 360 game. Party poker tournament….

  6. Web hosting. said:

    on June 26th, 2008 at 9:33 am

    Real estate web site hosting….

    Web hosting….

  7. Normison. said:

    on July 5th, 2008 at 4:01 pm

    Normison….

    Normison….

Leave a Reply

Show some love for the far-famed, world-wide, and red-hot desperate WP-Hashcash?

Please take time to enjoy the archives: May 2005 (1) April 2005 (11) March 2005 (11) February 2005 (15) January 2005 (7)

Fresh, related resources:

Supplied by Google Blog Search
  • 100 Helpful Web Tools for Every Kind of Learner
    DrawAnywhere: This online program allows you to create diagrams and flow charts to represent all kinds of information. Best of all, you can log in from anywhere to get access to your diagrams. 16. AjaxSketch: This web-based drawing tool ...
  • Suzanne Somers Biography
    However, Dish Network throws in 40 channels of free Sirius Satellite radio programming. One good thing about this new format of radio is that it is commercial free so you will get to enjoy continuous flow of music without advertisements ...
  • Hospitality and Event Planning Network (HEPN) 30 June 2008
    Invite your friends and colleagues to join the network by sending a blank e-mail to hepn-subscribe@topica.com. If you want to change your e-mail address or not receive the network e-mails any more, send a blank e-mail to ...
  • Monday June 16, 2008
    Lectures in quantum information: Anthony Leggett, Institute for Quantum Computing, ?Prospects for Topological Quantum Computing? continuing June 17, 19, 24, 26, July 3, 8, 10, all at 2:00 pm, Research Advancement Centre, 475 Wes Graham ...