Coder Social home page Coder Social logo

suvajit790 / edmonds-blossom Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 114 KB

Edmonds' blossom shrinking algorithm for finding best matching in general graphs

License: MIT License

C++ 100.00%
edmonds blossom-shrinking-algorithm vertex graph matching matching-algorithm

edmonds-blossom's Introduction

Edmonds' blossom shrinking algorithm

  • Insert the graph in adjacency matrix formats in a text file
  • Pass the text file through command line argument like
./a.out graph.txt
  • The maximum matching array will be shown as output where if vertex a is matched with vertex b then it will be shown as a[b] b[a] if a vetex v is not matched with any other vertex then v[-1] will be shown.

edmonds-blossom's People

Contributors

suvajit-patra avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

chuichul

edmonds-blossom's Issues

How should we interpret the output result?

For your first graph (in graph.txt), we get this

1 1 0 0 0 0 0 0 0 0 0 
1 1 1 0 0 0 0 0 0 0 0 
0 1 1 1 0 0 0 0 0 0 0 
0 0 1 1 1 0 0 0 0 0 0 
0 0 0 1 1 1 0 0 1 0 0 
0 0 0 0 1 1 1 0 0 0 0 
0 0 0 0 0 1 1 1 0 1 0 
0 0 0 0 0 0 1 1 1 0 0 
0 0 0 0 1 0 0 1 1 0 0 
0 0 0 0 0 0 1 0 0 1 1 
0 0 0 0 0 0 0 0 0 1 1 
0 -> 1
Augmenting Path (0-1)
2 -> 1
2 -> 3
Augmenting Path (2-3)
4 -> 3
4 -> 5
Augmenting Path (4-5)
6 -> 5
6 -> 7
Augmenting Path (6-7)
8 -> 4
8 -> 7
9 -> 6
Augmenting Path (9-6-7-8)
10 -> 9
6 -> 5
6 -> 7
4 -> 3
4 -> 8
Blossom (4,5,6,7,8)
5 -> 4
6 -> 3
2 -> 1
Maximum Matching = 0[1] 1[0] 2[3] 3[2] 4[5] 5[4] 6[9] 7[8] 8[7] 9[6] 10[-1] 

How should we interpret this result, especially the maximum matching? 0[1] and 1[0] is not same? Why does an edge appears two times, and why does 10[-1] appear? What does -1 mean?

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.