Unweighted Bipartite Matching | Network Flow | Graph Theory

Поділитися
Вставка
  • Опубліковано 11 січ 2025

КОМЕНТАРІ • 46

  • @ShortGiant1
    @ShortGiant1 5 років тому +83

    Woah. My brain just expanded a little.

  • @babakmahmoudian4234
    @babakmahmoudian4234 3 роки тому +13

    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!

  • @FallenAngels-m7u
    @FallenAngels-m7u Рік тому +4

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

  • @olae001
    @olae001 Рік тому +1

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

  • @sabeernarula3735
    @sabeernarula3735 2 роки тому +2

    This is the best video on the internet

  • @orbuluh_jp_notes
    @orbuluh_jp_notes 2 роки тому +2

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

  • @chanwoolee303
    @chanwoolee303 6 років тому +2

    Awesome and well made. Worth spreading more.

  • @tricksterloon
    @tricksterloon 2 роки тому +1

    Very good explanation.

  • @akashbhalotia317
    @akashbhalotia317 4 роки тому +4

    Your videos are awesome. Thanks a lot :)

  • @rohitashwanigam
    @rohitashwanigam 6 років тому +4

    Absolutely amazing.!

  • @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

  • @iovistypsanelli7974
    @iovistypsanelli7974 5 років тому +4

    Thank you !!! So well made ! :)

  • @eyasir2047
    @eyasir2047 Рік тому

    Excellent explanation Sir. Thank you

  • @chloekoe1190
    @chloekoe1190 Рік тому

    this is so well explained

  • @ron0studios
    @ron0studios 4 роки тому

    Thanks! This really helped me with foobar!

  • @caspardejong4735
    @caspardejong4735 Рік тому

    Thank you this was extremely helpful!

  • @puneetkumarsingh1484
    @puneetkumarsingh1484 3 роки тому

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

  • @DarkLordAli95
    @DarkLordAli95 5 років тому +3

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

  • @boohoo334
    @boohoo334 5 років тому +2

    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 5 років тому +1

      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 5 років тому +3

      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.

  • @JemEklery
    @JemEklery 3 роки тому

    Keep it up, good work!

  •  5 років тому +4

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

  • @alicja4506
    @alicja4506 3 роки тому

    Great video! Thank you so much!

  • @TheSalaho1
    @TheSalaho1 3 роки тому +2

    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?

  • @sidddddddoo7
    @sidddddddoo7 2 роки тому

    This wo so good! Thanks.

  • @pedronogueiracoutinho2971
    @pedronogueiracoutinho2971 3 роки тому

    Great video!

  • @59sharmanalin
    @59sharmanalin 3 роки тому +1

    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)?

  • @Venkat2811
    @Venkat2811 5 років тому +1

    Awesome ! Thank you !

  • @SanghoBose5
    @SanghoBose5 5 років тому

    thank you for making the video :)

  • @ron0studios
    @ron0studios 4 роки тому

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

  • @abhinav4279_
    @abhinav4279_ 4 роки тому

    Enlightened 😌

  • @tiruarthanari3039
    @tiruarthanari3039 2 місяці тому

    Am I allowed to use these videos n my UA-cam on an advanced topic?

  • @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.

  • @ts-ny6mx
    @ts-ny6mx 4 роки тому +1

    Genius!

  • @_schnelli4800
    @_schnelli4800 2 роки тому

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

  • @WhyAnkurGautam
    @WhyAnkurGautam 3 роки тому +1

    Wow Thanks so much

  • @kushagrakasliwal3930
    @kushagrakasliwal3930 Місяць тому +1

    amazing

  • @NoamBB1001
    @NoamBB1001 11 місяців тому

    excellent!

  • @UndercoverDog
    @UndercoverDog 6 місяців тому +1

    Thx

  • @Uniquethinker1729-v5u
    @Uniquethinker1729-v5u 5 років тому +1

    GOOD ONE

  • @loranceluo2497
    @loranceluo2497 5 років тому +1

    You are awesome

  • @poojagiri9884
    @poojagiri9884 4 роки тому

    Nice but bit difficult for a beginner