Randomized mini-section, Karger algorithm

I am implementing the Karger algorithm. From what I understand, the number of edges between the last two nodes is not always Min Cut. I am having trouble understanding how I can get the minimum cut from this algorithm. I continue to find many things by probability, but it all seems like gibberish for me ...

From what I read, I think I need to run the Karger algorithm on the chart several times. This will give me a high probability of a mine hit success. I think?...

Can someone explain this easier? How to find the number of times to run this algorithm? Is that what I said above, even right?

+4
source share
1 answer

Each time you run the Karger algorithm, it will give you a (semi-random) cut. The likelihood that this cut is a minimal cut is P = 1 / (n^2/2 - n/2)much better than just choosing a cut randomly.

If you run the algorithm once, your probability of getting a minimal reduction will be P, but your probability of not getting it 1 - P. If you run the algorithm twice, then your chances of getting a minimum cut will be (1 - P) * (1 - P), since you will have to skip the minimum cut for the first time and the second time.

This is a little better. Executing the algorithm twice gives us a higher probability of finding the minimum cut.

T , (1 - P)^T, , 1 - (1 - P)^T.

, . (1 1 000 000?) T. .

T = C * (n choose 2) * ln(n), , (1 / n)^C , , C 1. , , node . , .

C, , . , , C = 1 (n choose 2) * ln(n) .

( wikipedia. )

+4

Source: https://habr.com/ru/post/1539849/


All Articles