3.7.19 · D5 · HinglishAlgorithm Paradigms

Question bankRandomized algorithms — Las Vegas, Monte Carlo

2,167 words10 min read↑ Read in English

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


True ya false — justify karo

Las Vegas algorithm kabhi kabhi galat answer de sakta hai.
False. Las Vegas mein randomness sirf running time mein hoti hai; output hamesha correct hota hai. Agar galat ho sakta hai, toh woh Monte Carlo hai.
Monte Carlo algorithm ki running time random aur unpredictable hoti hai.
False. Iski running time design se bounded/fixed hoti hai — yahi woh cheez hai jo tum possibly-wrong answer accept karke khareedto ho. Las Vegas ka mirror image.
Randomized QuickSort Las Vegas hai.
True. Output har run par fully sorted array hota hai; sirf comparisons ki sankhya random hoti hai. Hamesha correct, time variable ⇒ Las Vegas.
Miller–Rabin primality Las Vegas hai kyunki yeh randomized hai.
False. Yeh har round mein fixed time mein chalta hai lekin galti se ek composite ko "prime" bol sakta hai. Galat answer possible hai ⇒ Monte Carlo, Las Vegas nahi.
Las Vegas retry loop ke liye, jisme per-trial success probability hai, expected number of trials hi hota hai.
False. Yeh hai, jahan random trial count hai. Chhota matlab zyada expected trials, toh expectation ke ghatne par badhni chahiye — badhta hai, nahi badhta. dekhne ke liye: probability se hum trial par succeed karte hain (cost ); probability se hum ek trial waste karte hain aur dobara shuru karte hain, toh , jo solve hoke deta hai. Dekho Probability and Expectation.
Ek one-sided Monte Carlo test ko baar repeat karne se error ki tarah neeche aata hai, jahan per-run error probability hai.
True, sirf "risky" answer ke liye. Independent runs multiply hote hain, toh baar simultaneously galat hone ki probability hoti hai, jo mein exponentially shrink karti hai.
Randomized QuickSort ka worst case ek specific bad input (jaise sorted array) se trigger hota hai.
False. Random pivots ke saath, expectation mein koi bhi input bura nahi hota. case ke liye ek unlucky coin sequence chahiye, jise adversary control nahi kar sakta. Dekho QuickSort.
Karger ke min-cut mein two-sided error hai, toh yeh true minimum se chhota cut return kar sakta hai.
False. Yeh graph ka ek actual cut report karta hai, jo true minimum se neeche kabhi nahi ja sakta. Error one-sided hai — yeh sirf aisa cut return karta hai jo bahut bada hota hai. Dekho Min-Cut and Max-Flow.
Tum hamesha ek Monte Carlo algorithm ko Las Vegas mein convert kar sakte ho.
False. Sirf tab jab tum ek answer ko cheaply verify kar sako. Saste check ke bina tum nahi jaante kab retry karna band karo, toh correctness guarantee nahi kar sakte.
Las Vegas algorithm ko ek time budget par cut off karne se ek Monte Carlo algorithm milta hai.
True. Maano run ki (random) running time hai aur uska expected value. Time fixed ho jaati hai (budget) aur agar khatam nahi hua toh answer ab ek guess ho sakta hai. Markov's Inequality overrun ko bound karta hai: , toh ka budget at most probability se overrun karta hai.
Two-sided-error Monte Carlo run ke liye jo baar repeat kiya gaya ho, last run ka answer lena ek valid boosting strategy hai.
False. Last run kisi bhi doosre run se zyada reliable nahi hai. Tumhe majority vote lena hoga, jiski error Chernoff Bounds se bounded hoti hai.
Karger ke algorithm ka ek lucky run ek unlucky baad ke run se "spoil" ho sakta hai.
False. Kyunki har reported cut genuine hota hai, sabhi runs mein sabse chhota cut rakhna safe hai: ek correct run minimum ko hamesha ke liye pin kar deta hai, aur baad ke runs sirf equal-ya-bade cuts propose kar sakte hain.

Error dhundho

"Miller–Rabin galti se ek prime number ko composite declare kar sakta hai."
Galat. Ek true prime ka koi compositeness witness nahi hota, toh "composite" outputs hamesha correct hote hain. Sirf "probably prime" galat ho sakta hai — error one-sided doosri taraf hai.
"Kyunki randomized QuickSort randomness use karta hai, iski expected time is par depend karti hai ki input kitna adversarial hai."
Galat. Random pivots expectation ko har input par banate hain. Adversary input control karta hai lekin coins nahi, toh koi bhi input expectation mein doosre se bura nahi hota.
"Las Vegas algorithm ki confidence boost karne ke liye, ise baar run karo aur majority vote lo."
Galat. Las Vegas pehle se hamesha correct hota hai — boost karne ke liye kuch nahi hai. Boosting (voting / repeating) ek Monte Carlo technique hai.
" solve nahi ho sakti kyunki dono taraf appear karta hai."
Galat. Yahan pehli success tak trials ki expected number hai. Self-reference hi ise solvable banata hai: memorylessness ka matlab hai ki failure ke baad remaining expectation phir se hai, ek linear equation deta hai .
"Confidence amplification ke liye humein chahiye (jahan target error bound hai), toh ."
Galat. solve karne ke liye logarithms chahiye: . Dependence logarithmic hai, isliye itne kam runs error ko khatam kar dete hain.
"Karger per run approximately probability se succeed karta hai, toh thode runs kaafi hain."
Galat. Ek single run ki success probability sirf hoti hai — bahut chhoti. Failure ko se neeche laane ke liye tumhe runs chahiye.
"Two-sided error ke saath, baar run karke majority lena safe hai."
Galat. Even ke saath votes exactly aadhe-aadhe split ho sakte hain, koi strict majority nahi rehti. Odd use karo, ya ek deterministic tie-break rule fix karo; tabhi majority vote well-defined hota hai.

Why questions

Randomness ek worst-case adversary ko defeat kyun karta hai?
Ek deterministic algorithm ka ek fixed response hota hai, toh adversary woh ek input design kar sakta hai jo uski cost maximize kare. Random choices unpredictable hoti hain, guaranteed bad cases ko sirf unlikely ones mein badal deti hain.
Las Vegas loop mein retries ki sankhya geometrically distributed kyun hoti hai?
Har trial success probability ke saath ek independent success/failure coin flip hota hai. Pehli success tak trial count by definition geometric hota hai, jo deta hai.
Boosting karte waqt independent error probabilities multiply kyun hote hain?
Independence ka matlab hai events ki joint probability unki probabilities ka product hoti hai. Har galat run ki probability hoti hai (per-run error), toh baar simultaneously galat hone ki probability hoti hai.
Karger ke analysis mein bound kyun aata hai?
Yeh awkward product — jahan independent contraction runs ki sankhya hai — ko ek clean exponential mein convert karta hai, jise jaise target se compare karna aasaan hai.
QuickSort mein linearity of expectation per-pair comparison probabilities kyun add kar sakti hai jabki comparisons dependent hain?
Linearity of expectation dependence ki parwah kiye bina hamesha hold karti hai: hamesha. Toh hum har pair ki chhoti probability unke correlations suljhaye bina sum karte hain. Dekho Probability and Expectation.
Ek two-sided Monte Carlo algorithm majority voting kyun use karta hai, na ki one-sided error ke liye use ki jaane wali "trust any certain answer" trick?
Two-sided error ke saath koi certain answer nahi hota — dono outputs galat ho sakte hain. Sirf statistical majority truth ki taraf concentrate hota hai, aur Chernoff Bounds batata hai kitni jaldi.
Even number of majority-vote runs ko special care kyun chahiye?
Even ke saath votes exactly aadhe mein split ho sakte hain, koi strict majority nahi rehti. Clean -style guarantees ek decisive majority assume karti hain, toh ya toh odd use karo ya ek fixed tie-break rule add karo.

Edge cases

Jab ho toh Las Vegas retry loop ka kya hota hai?
: expected running time blow up ho jaati hai. Algorithm correct rehta hai (yeh kabhi jhooth nahi bolta), lekin effectively kabhi khatam nahi ho sakta.
Jab ho (har trial succeed karta hai) toh Las Vegas retry loop ka kya hota hai?
: loop pehle hi trial par hamesha succeed karta hai. Yahan randomness degenerate hai — yeh ek ordinary one-shot deterministic step ki tarah behave karta hai.
Boosting ke baad error kya hoti hai jab (per-run error zero hai)?
kisi bhi ke liye: ek single run pehle se errorless hai. Yeh degenerate "actually randomized nahi" case hai — koi boosting ki zaroorat nahi.
Agar ho (single run hamesha galat ho) toh kya?
sabhi ke liye: boosting kuch nahi karta. Repetition ek aisi test ko fix nahi kar sakta jo kabhi sahi nahi hoti — tumhe fundamentally better algorithm chahiye.
Amplification formula ke liye, agar target error ho toh kya?
Tab deta hai , yaani zero runs kaafi hain — tumhe itni baar galat hone ki already permission thi. Formula sahi kehta hai "kuch mat karo."
Karger ki success probability par kya karti hai?
Yeh ke barabar hoti hai: ek 2-node graph already contracted hai, toh single crossing set certainty ke saath min-cut hai. Formula sabse chhote case par gracefully degrade karta hai.
Agar ek Monte Carlo algorithm ki runtime inputs ke beech thodi vary karti hai, toh kya ab yeh Las Vegas hai?
Nahi. Monte Carlo ko define karta hai yeh ki answer galat ho sakta hai. Sirf input-dependent (lekin bounded, non-random) runtime correctness ko affect nahi karta, toh yeh Monte Carlo rehta hai.
Kya koi algorithm hamesha correct aur hamesha bounded-time dono ho sakta hai?
Haan — woh bas ek ordinary deterministic (ya zero-error, fixed-time) algorithm hai. Las Vegas time guarantee relax karta hai; Monte Carlo correctness guarantee relax karta hai. Dono ko relax na karna tumhe plain deterministic algorithm deta hai.

Recall Page band karne se pehle self-test karo

Mirror-image structure ::: Las Vegas = hamesha correct, random time (measure = ). Monte Carlo = fixed time, shayad galat (measure = error prob). One-sided vs two-sided boosting ::: One-sided → certain answer par trust karo agar kabhi bhi aaye (error ). Two-sided → majority vote (Chernoff), odd ke saath ya tie-break rule ke saath. Adversary ki asli limit ::: Woh input chunata hai, coins kabhi nahi — toh random pivots har input ko expectation mein equally good banate hain.