Unweighted Bipartite Matching | Network Flow | Graph Theory

What is and how to solve the unweighted bipartite graph matching problem
Support me by purchasing the full graph theory course on Udemy which includes additional problems, exercises and quizzes not available on KZread:
www.udemy.com/course/graph-th...
Next video: • Bipartite Matching | M...
Previous video: • Max Flow Ford Fulkerso...
Algorithms repository:
github.com/williamfiset/algor...
Video slides:
github.com/williamfiset/Algor...
Personal website:
www.williamfiset.com
Audio intro/outro composed by Richard Saney (rnsaney@gmail.com)

Пікірлер: 42

  • @ShortGiant1
    @ShortGiant14 жыл бұрын

    Woah. My brain just expanded a little.

  • @patcoder1287

    @patcoder1287

    4 жыл бұрын

    Cuz he's basically explaining how your brain works

  • @babakmahmoudian4234
    @babakmahmoudian42342 жыл бұрын

    Thank you! This is extremely helpful. I was going to spend the next couple of days learning about Max flow and Bipartite matching; never could've imagined learning so much in less than an hour!

  • @orbuluh_jp_notes
    @orbuluh_jp_notes Жыл бұрын

    Thanks so much for all the series ... it's amazing. And how you link every piece together is really clear.

  • @olae001
    @olae0016 ай бұрын

    I'm having a course of Algorithms and Datastructures atm, and your videos are extremely helpful, thank you so much!

  • @chanwoolee303
    @chanwoolee3035 жыл бұрын

    Awesome and well made. Worth spreading more.

  • @rohitashwanigam
    @rohitashwanigam5 жыл бұрын

    Absolutely amazing.!

  • @akashbhalotia317
    @akashbhalotia3174 жыл бұрын

    Your videos are awesome. Thanks a lot :)

  • @alicja4506
    @alicja45063 жыл бұрын

    Great video! Thank you so much!

  • @iovistypsanelli7974
    @iovistypsanelli79745 жыл бұрын

    Thank you !!! So well made ! :)

  • @caspardejong4735
    @caspardejong47358 ай бұрын

    Thank you this was extremely helpful!

  • @eyasir2047
    @eyasir20477 ай бұрын

    Excellent explanation Sir. Thank you

  • @ron0studios
    @ron0studios3 жыл бұрын

    Thanks! This really helped me with foobar!

  • @Venkat2811
    @Venkat28115 жыл бұрын

    Awesome ! Thank you !

  • @Nikhil-ov6sm
    @Nikhil-ov6sm Жыл бұрын

    "Thank you so much for watching this video". No, THANK YOU for making these wonderful tutorials, amazed by this one.

  • @SparkSplashTV
    @SparkSplashTV Жыл бұрын

    Very good explanation.

  • @chloekoe1190
    @chloekoe1190 Жыл бұрын

    this is so well explained

  • @JemEklery
    @JemEklery3 жыл бұрын

    Keep it up, good work!

  • @SanghoBose5
    @SanghoBose54 жыл бұрын

    thank you for making the video :)

  • @sidddddddoo7
    @sidddddddoo7 Жыл бұрын

    This wo so good! Thanks.

  • @sabeernarula3735
    @sabeernarula3735 Жыл бұрын

    This is the best video on the internet

  • 5 жыл бұрын

    Awesome!! Now I got it, cheers :D I tried to go to your website, however it is down :(

  • @pedronogueiracoutinho2971
    @pedronogueiracoutinho29712 жыл бұрын

    Great video!

  • @NoamBB1001
    @NoamBB10014 ай бұрын

    excellent!

  • @TheSalaho1
    @TheSalaho13 жыл бұрын

    Sir thanks for sharing the lesson, I have a question how can I limit the matchers dynamically, meaning if I want to match stock buyers to brokers each buyer have a volume ask N and a number x of brokers he's willing to work with, how this can be modeled?

  • @abhinav4279_
    @abhinav4279_3 жыл бұрын

    Enlightened 😌

  • @ts-ny6mx
    @ts-ny6mx3 жыл бұрын

    Genius!

  • @WhyAnkurGautam
    @WhyAnkurGautam2 жыл бұрын

    Wow Thanks so much

  • @ron0studios
    @ron0studios3 жыл бұрын

    Could you try and explain the edmond Blossom algorithm for unweighted graphs?

  • @madhukiranattivilli2321
    @madhukiranattivilli2321 Жыл бұрын

    Hey William Fiset : @4:05 -- "weighted, directed, non-bipartite graph" -- min cost perfect match I've implemented the dynamic programming solution for this Felt nice :) I'd to implement this as part of solving the Christofides algo that provides "approximate polynomial solution" to the "exponential" Traveling Salesman Problem Please write your thoughts on this, if any Madhukiran

  • @loranceluo2497
    @loranceluo24974 жыл бұрын

    You are awesome

  • @shriharikulkarni3986
    @shriharikulkarni3986 Жыл бұрын

    Hi William, Is bipartite graph a connected graph ? In a graph of n independent nodes with no edges at all, we can color them with only 1 color.

  • @59sharmanalin
    @59sharmanalin3 жыл бұрын

    Great video, but if we do greedy approach based on count of books each guy wants and start with minimum, we can solve it easily it O(n^2)?

  • @puneetkumarsingh1484
    @puneetkumarsingh14842 жыл бұрын

    From 2:50, So when are we going to poke around other boxes? Eagerly waiting for those.

  • @vamshivoggu5940
    @vamshivoggu59405 жыл бұрын

    GOOD ONE

  • @user-lb1fl7sh8m

    @user-lb1fl7sh8m

    5 жыл бұрын

    excellent one

  • @boohoo334
    @boohoo3344 жыл бұрын

    Ok but what do you in a certain scenario(where all capacities are 0,1) with the 2nd person(top to bottom) and the 4th person, they both lead to book 3 but book 3 should only be assigned to the 4th right. Well, if you were to traverse the algorithm using a DFS it would start at the 1st person then go to the 2nd book and augment, and then to the 2nd person it would skip the 2nd book since capacity == 0 and would go down to the 3rd book and augment that entire path. However, the 4th person needs to be assigned to the third book but the capacity of the book is already filled. You could think of removing the flow from that line and set the edge from 2nd person to 3rd book to visited, so that it won't visit it again and on next iteration it would skip to the 4th book, and the 4th person can be assigned the book. But I could only see a case where it can be possible to set a new flow path from the 4th person to the 3rd after a For loop break where the conditional is that an edge needs to have a capacity >0 and not be visited. However, even if there was some logic after a for loop break to reset a path, that logic would apply to every person since eventually they won't have valid edges too. Could someone help me even a little with this, because it's really preventing me from seeing how the case with (0,1) capacity edges will work in code, or maybe I should go look at more flow algorithms.

  • @rachitsingh8040

    @rachitsingh8040

    4 жыл бұрын

    I've the same doubt. Based on my understanding, second person (from the bottom) will not have any book assigned to it when max capacity is 1 and last person will be assigned to the 4th book not the 5th book. Did you understand as to where are we making a mistake? Do reply if you figure out. Thanks!

  • @boohoo334

    @boohoo334

    4 жыл бұрын

    Rachit Singh Yeah I guess it would be that way, maybe the video was really just a pure visual tutorial to give some general knowledge on the idea of the topic, which perhaps works completely differently in code. . I've watched the graph theory algorithms video on FreeCodeCamp and there was a video with the Ford Fulkersons flow algorithm, and in this video William stated that this should work with any flow algorithm but technically, when you compare how the computer chooses what edges go to which and how the DFS searched nodes, the Ford Fulkerson would not work here unless there was a way to slightly modify it so that the 4th could be reassigned to the third book, which I cannot see how that can be done in an effective way. If we augment the flow on the condition that any edge's capacity is 1 then that would automatically set the 2nd person book assignment to the 3rd book, which is what got me confused. However, it could work with a book with a capacity higher with 1, everyone could get a book using the flow algorithm I mentioned efficiently.

  • @DarkLordAli95
    @DarkLordAli954 жыл бұрын

    really great videos, but I recommend watching them at 1.5x playback speed :D

  • @_schnelli4800
    @_schnelli48002 жыл бұрын

    If I watched this before my assignment would have been much easier

  • @poojagiri9884
    @poojagiri98843 жыл бұрын

    Nice but bit difficult for a beginner