Coder Social home page Coder Social logo

mincutalgo's Introduction

Min-Cut Algorithm

An implementation of Karger's Min-Cut Algorithm and Karger-Stein Algorithm.

The example is from the open course on Coursera named Algorithms: Design and Analysis, Part 1 by Prof. Tim Roughgarden

It may have some difference compared with the assignment online, please check the algorithm carefully.

About the algorithm:

The goal of the algorithm is to find a global min-cut in a graph in polynomial time. The graph is undirected and allows parallel edges. The algorithm chooses an edge randomly and contracts it. The procedure is performed recursively until two nodes remain.

Reference:

  • Karger, David R. "Global min-cuts in RNC, and other ramifications of a simple min-out algorithm." Proceedings of the fourth annual ACM-SIAM Symposium on Discrete algorithms. Society for Industrial and Applied Mathematics, 1993.

  • Stoer, Mechthild, and Frank Wagner. "A simple min-cut algorithm." Journal of the ACM (JACM) 44.4 (1997): 585-591.

  • Karger, David R., and Clifford Stein. "A new approach to the minimum cut problem." Journal of the ACM (JACM) 43.4 (1996): 601-640.

  • Karger, David R., and Debmalya Panigrahi. "A near-linear time algorithm for constructing a cactus representation of minimum cuts." Proceedings of the twentieth Annual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics, 2009.

mincutalgo's People

Contributors

cshjin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mincutalgo's Issues

Line 42 is incorrect

Should compare FastMinCut(graph_1) and FastMinCut(graph_2), rather than graph_1 and graph_2

Add a new version to this algorithm according to a recent paper on that

Paper: Karger, David R., and Debmalya Panigrahi. "A near-linear time algorithm for constructing a cactus representation of minimum cuts." Proceedings of the twentieth Annual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics, 2009.

Abs:
We present an ร•(m) (near-linear) time Monte Carlo algorithm for constructing the cactus data structure, a useful representation of all the global minimum edge cuts of an undirected graph. Our algorithm represents a fundamental improvement over the best previous (quadratic time) algorithms: because there can be quadratically many min-cuts, our algorithm must avoid looking at all min-cuts during the construction, but nonetheless builds a data structure representing them all. Our result closes the gap between the (near-linear) time required to find a single min-cut and that for (implicitly) finding all the min-cuts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.