3.7.19 · D4 · HinglishAlgorithm Paradigms

ExercisesRandomized algorithms — Las Vegas, Monte Carlo

2,544 words12 min read↑ Read in English

3.7.19 · D4 · Coding › Algorithm Paradigms › Randomized algorithms — Las Vegas, Monte Carlo

Kuch bhi compute karne se pehle, ek symbol jo hum baar baar use karenge:


Level 1 — Recognition

L1.1 — Class ka naam batao

Problem. Ek algorithm array ko random coin flips se shuffle karti hai, phir ek sort run karti hai jo hamesha fully sorted array return karti hai, lekin comparisons ki number har run mein alag hoti hai. Kya yeh Las Vegas hai ya Monte Carlo? Batao kaun si quantity random hai aur kaun si guaranteed hai.

Recall Solution

Las Vegas. Answer (sorted array) har run mein guaranteed correct hai; running time (comparison count) random quantity hai. Rule: Las Vegas = hamesha correct, time random.

L1.2 — Class ka naam phir se batao

Problem. Ek primality test fixed 40 rounds run karta hai aur "prime" ya "composite" output deta hai. Kuch composite inputs ke liye yeh galat "prime" answer de sakta hai. Isse classify karo aur batao kaun si side (agar koi ho) safe hai.

Recall Solution

Monte Carlo, one-sided error. Time fixed hai (40 rounds); answer galat ho sakta hai. Ek true prime ko kabhi galat composite nahi kaha jaata, isliye "composite" outputs hamesha safe hain — sirf "prime" hi error ho sakta hai. Monte Carlo = fixed time, answer risky.


Level 2 — Application

L2.1 — Retry loop ke expected trials

Problem. Ek Las Vegas subroutine ka har independent attempt probability se succeed karta hai. Pehli success se pehle aap kitne attempts expect karte ho?

Recall Solution

Pehli success tak trials ka count geometric hota hai, isliye (parent note mein memoryless self-reference se derive kiya gaya hai). Tum 5 attempts expect karte ho.

L2.2 — Confidence amplification

Problem. Ek Monte Carlo test har run mein zyaada se zyaada probability se galat hai, aur runs independent hain. Isse baar run karo aur sirf tab accept karo jab har run agree kare. Error probability ka upper bound kya hai?

Recall Solution

Hum tabhi fail karte hain jab saare runs simultaneously galat hon. YEH KYUN multiply hoti hai "sab galat" ki probability? Kyunki runs independent hain — ek run ke coins doosre run ke baare mein kuch nahi batate. Independent events ke liye product rule (dekho Probability and Expectation) kehta hai jab independent hon; isse saare runs mein chain karke milta hai . Isliye

L2.3 — Target error ke liye kitne runs chahiye?

Problem. Per-run error ke saath, kitne independent runs total error guarantee karte hain?

Recall Solution

Hume chahiye . Log lete hain (log exponent ko multiplier mein badal deta hai taaki hum iske liye solve kar sakein): Upar round karo: . Check: . ✓


Level 3 — Analysis

L3.1 — Markov cut-off (Las Vegas → Monte Carlo)

Problem. Ek Las Vegas algorithm ka expected time ms hai. Tum isse ms ke budget ke baad cut off kar dete ho aur agar unfinished ho toh ek guess output karte ho. Markov's inequality use karke, probability bound karo ki guess ki zaroorat pad sakti hai (yaani run budget se zyaada ho gaya).

Recall Solution

Markov's Inequality: kisi non-negative quantity aur kisi bhi ke liye, . YEH TOOL KYUN? Yeh ek aisa bound hai jo sirf mean ke baare mein jaanta ho tab bhi kaam karta hai — perfect jab hum sirf jaante hain. Yahan budget hai, isliye : Cut-off zyaada se zyaada 20% time fire karta hai, isliye resulting Monte Carlo algorithm itni hi baar galat hota hai (yeh maanke ki guess hamesha galat hai — ek worst case).

L3.2 — QuickSort pair-comparison probability

Problem. Randomized QuickSort mein, rank aur ke do elements consider karo (sorted positions). Kya probability hai ki unhe kabhi compare kiya jaayega? Phir usse evaluate karo.

Recall Solution

Do ranks compare hote hain iff unme se ek rank aur ke beech waale poore elements ke block mein pehla pivot choose kiya jaata hai. KYUN? Agar koi beech wala element pehle pivot banta hai, toh woh aur ko alag partitions mein split kar deta hai aur woh phir kabhi nahi milte; sirf agar ya lead kare tab hi compare hote hain. elements mein se har ek equally likely hai pehla hone ka, aur unme se ( aur ) favourable hain:

L3.3 — Ek chhote array mein expected comparisons

Problem. Randomized QuickSort ko distinct elements pe run karo. use karke comparisons ka exact expected number compute karo.

Recall Solution

Ranks tak jaate hain. Har pair jahan ho aur uska gap list karo:

pair
(1,2) 2
(2,3) 2
(3,4) 2
(1,3) 3
(2,4) 3
(1,4) 4

Sum: Expected comparisons .


Level 4 — Synthesis

L4.1 — Target failure ke liye Karger repetitions

Problem. nodes wale graph ke liye, Karger's contraction ka ek run true min-cut probability se dhundh leta hai. Kitne runs se probability ki saare runs miss ho jaayein se neeche aa jaaye? Rounded-up integer do aur verify karo.

Recall Solution

Single-run success . Independent runs multiply hote hain, isliye use karte hain (KYUN: yeh ek ugly product ko ek clean exponential mein badal deta hai jise hum invert kar sakein): . Force : Upar round karo: clean-bound requirement hai. Lekin humne actual product banana tha; integers test karne par, pehle se kaam karta hai jabki nahi karta. Isliye exact threshold hai, aur clean exponential bound ka ek safe (thoda conservative) over-estimate hai — dono failure ko se neeche laate hain.

L4.2 — Two-sided error ke liye majority vote chahiye

Problem. Ek Monte Carlo algorithm mein two-sided error hai: har independent run probability se correct hai. Tum isse baar run karte ho aur majority answer lete ho. Probability kya hai ki majority correct hai? (Runs correct bit independently ke saath dete hain.)

Recall Solution

Pehle precondition: majority voting tabhi help karta hai jab per-run success probability ho. KYUN? Har run ek biased coin hai jo "correct" land karta hai prob ke saath; majority in coins ki democracy hai. Agar toh correct answer typical outcome hai, isliye zyaada runs uske liye evidence pile up karte hain aur reliability ki taraf badhti hai. Agar toh galat answer typical hai, aur zyaada runs tumhe zyaada confidently galat bana denge — voting ulta pad jaata hai. Yahan hai, isliye hum safe hain.

Majority correct hai iff mein se kam se kam runs correct hain. Maano = correct ki sankhya; binomial hai ke saath (KYUN binomial: independent yes/no trials, har "yes" same probability ke saath). Hume chahiye : Term by term compute karo:

Sum . Majority voting ne reliability se badhaakar lagbhag 89.6% kar di. Kyunki yeh Chernoff Bounds regime hai, zyaada runs isse exponentially ki taraf le jaate hain.


Level 5 — Mastery

L5.1 — Design & prove: Monte Carlo → Las Vegas with a verifier

Problem. Tumhare paas ek Monte Carlo algorithm hai jo fixed time mein candidate answer return karta hai aur har run mein probability se correct hai. Tumhare paas ek verifier bhi hai jo kisi bhi candidate ko time mein check karta hai aur kabhi jhooth nahi bolta. Ek Las Vegas algorithm design karo, prove karo ki woh hamesha correct hai, aur ke terms mein uska expected running time compute karo.

Recall Solution

Construction. Loop: run karo (cost ), phir uske output par run karo (cost ). Agar "correct" kahe, woh answer output karo aur roko; warna repeat karo.

Hamesha correct? Hum sirf woh answer output karte hain jise ne certify kiya ho, aur kabhi jhooth nahi bolta. Isliye output guaranteed correct hai — yeh Las Vegas ki defining property hai. Randomness ab poori tarah kitne loops run karte hain, usme hai. ✓

Expected time. Har loop cost karta hai aur prob se succeed karta hai (verifier pass karta hai). Pehli success tak loops ki sankhya geometric hai mean ke saath (parent-note derivation). Linearity se, ke saath: — average mein teen loops.

L5.2 — Design & prove: one-sided test ko kisi bhi tak bias karo

Problem. Primality Testing ek one-sided Monte Carlo test ke zariye composite ko "prime" galat kahe probability per round se, aur kabhi bhi true prime ko galat classify nahi karta. Tumhe error guarantee karni hai. Minimal rounds batao, bound prove karo, aur explain karo ki "agar kabhi 'composite' aaye toh woh answer lo" kyun valid hai.

Recall Solution

Rule. independent rounds run karo. Agar KISI round ka output "composite" ho, toh answer composite do (certain, kyunki ek true prime kabhi witness trigger nahi karta). Agar saare "prime" kahein, toh answer prime do.

Error bound. Sirf ek hi possible mistake hai — composite ko "prime" kehna — jiske liye saare rounds witness miss karen — probability independence se. Force karo : Upar round karo: rounds. Check karo . ✓

"Composite short-circuit" kyun valid hai. One-sidedness ka matlab hai witness proof hai: ek baar bhi compositeness dekhna irrefutable hai, isliye ek bhi "composite" hamesha correct hota hai — koi vote nahi chahiye. Sirf all-"prime" verdict mein residual doubt hota hai, aur woh exactly term hai jise humne bound kiya.


Recall Self-test recap (cloze)

Las Vegas answer guarantee karta hai aur running time randomize karta hai. Monte Carlo running time guarantee karta hai aur answer randomize karta hai. Geometric mean trials to first success ::: Boosting one-sided error after runs ::: Run-count ke liye rounding direction ::: hamesha upar (ceiling) Two-sided error aggregation ::: majority vote (Chernoff); one-sided ::: jaise hi certain answer aaye le lo