Visual walkthrough — Randomized algorithms — Las Vegas, Monte Carlo
3.7.19 · D2· Coding › Algorithm Paradigms › Randomized algorithms — Las Vegas, Monte Carlo
Koi bhi symbol aane se pehle, yeh raha plain-English cast of characters. Hum inse dobara milenge, dheerey dheerey, ek drawing ke saath.
- Ek trial = ek attempt (dice ka ek roll, ek random pivot, ek random base).
- Success = attempt kaam kar gaya. Yeh ek fixed chance se hota hai, jise hum kahenge, har baar.
- = trials ki count jeet wali trial tak, including us jeet wali trial ko. Yeh count khud random hai.
- = ki average value agar tum poora process ek million baar replay karo. Yahi ek number hai jo poora page compute karta hai; end tak hum dikhayenge ki yeh ke barabar hai.
Step 1 — "Probability " actually kaisa dikhta hai?
KYA. Hum ek number fix karte hain, ek fraction jahan — ek single trial ke succeed hone ki chance. (Hum jaanbujhkar ko exclude karte hain, ek aisi attempt jo kabhi nahi jeet sakti, aur Step 7 mein us forbidden case ko revisit karte hain; hum ko allow karte hain, ek pakki jeet.) Baaki sab kuch is ek dial par build hota hai.
KYUN. Har retry-style randomized algorithm "attempt, maybe fail, repeat" mein simmer ho jaata hai. Time ke baare mein reason karne ke liye, hume pehle ek attempt ke baare mein saaf tarike se reason karna hoga. Agar hum ek single coin picture nahi kar sakte, toh hum hazaar coin picture nahi kar sakte.
PICTURE. Neeche, lambaai ki ek horizontal bar (certainty ka poora hissa) split ki gayi hai: blue part hai (success), gray part hai (failure). Ek trial = bar par ek dart phenk do; blue mein land karo toh kaam ho gaya.

Step 2 — Trials stack karna: count geometric shape kyun follow karta hai
KYA. Ab hum trials ek ke baad ek run karte hain aur jaise hi ek succeed hoti hai ruk jaate hain. Humne jitni trials use ki hain woh hai. Hum poochhte hain: ki kitni likely hai? ? ?
KYUN. ko average karne ke liye hume yeh jaanna hoga ki iski probability kaise spread out hai — har possible value kitni likely hai. Us spread ka ek naam hai, geometric distribution, aur iski shape poori derivation ka engine hai.
PICTURE. Neeche har bar ek scenario hai. matlab "abhi jeet": chance . matlab "fail, phir jeet": dart ko miss karna chahiye (gray, chance ) aur phir hit karna chahiye (blue, chance ), toh . Har extra failure ek aur gray se multiply ho jaati hai.

Step 3 — "Expected value" ka matlab, compute karne se pehle
KYA. un saari bars ka balance point hai — woh value jahan endless replays par average ho jaata. Yeh ek weighted average hai: har possible (for ) ko iski likelihood se weight kiya gaya hai.
KYUN. Hume formula se pehle meaning pin karni hogi, warna algebra sirf symbol-pushing hai. Poori backing ke liye Probability and Expectation dekho: — "har outcome ko uski chance se multiply karke add karo."
PICTURE. Step 2 ki shrinking bars ko socho jaise positions par see-saw par rakhe weights. Neeche triangular pivot wahan baitha hai jahan see-saw balance karta hai. Us pivot ki position hi hai.

Step 4 — Memoryless trick: kyun hum poore future ko ek mein fold kar sakte hain
KYA. Ek infinite series sum karne ki jagah, hum kuch almost magical notice karte hain: ek failure ke baad, process apne hi beginning ki perfect copy hai. Dice ko miss yaad nahi hai.
KYUN. Yeh self-similarity hume ek chhoti si equation likhne deti hai jo khud ko reference karti hai — ek infinite sum ki jagah ek line. Yeh derivation ka dil hai aur woh step hai jise zyaadatar log skip kar dete hain.
PICTURE. Ek flowchart: start → ek trial karo. Blue arrow (chance ): "done, cost ." Gray arrow (chance ): ek identical start par wapas loop — aur wahan se expected extra work phir exactly (yani ) hai, kyunki situation ke baare mein kuch nahi badla.

Step 5 — Self-referential equation likhna aur solve karna
KYA. Hum flowchart ko algebra mein badal kar ke liye solve karte hain (yaad karo sirf hai).
KYUN. Flowchart ki har branch contribute karti hai (uski probability) (trials mein uski cost). Dono branches ko sum karna ek unknown mein ek equation deta hai — saaf tarike se solvable.
PICTURE. Wohi do arrows, ab har ek average mein jo contribute karta hai usse tag kiya gaya.

Do branches:
Term by term: winning branch par hum sirf current trial () pay karte hain; failing branch par hum current trial () aur ek fresh expected wait (loop-back) face karte hain. Ab expand karo:
collapse hokar ho jaata hai (Step 1 ki poori bar ke do pieces):
terms ko saath laao — yeh unknown ko isolate karta hai:
Step 6 — Picture ke against sanity-check: kya see-saw balance karta hai?
KYA. Hum formula ko dial ke dono ends par test karte hain aur confirm karte hain ki yeh Step 3 ke pivot picture se match karta hai.
KYUN. Ek formula jise tum sanity-check nahi kar sakte woh formula hai jis par tum trust nahi karte. Extreme plug in karna hume instantly bata deta hai ki algebra sane hai ya nahi.
PICTURE. Ek saath do see-saws. Left: , bars gently decay karti hain, pivot par baitha hai. Right: , bars slowly decay karti hain, pivot tak right slide karta hai. Chhota ⇒ far bars zyada heavy ⇒ pivot aur bahar — exactly wahi jo predict karta hai.

- . Ek fair coin: average mein heads dekhne ke liye do flips. Gut feeling se match karta hai. ✅
- . Right-hand pivot se match karta hai. ✅
Step 7 — Woh edge cases jo formula quietly chhupaata hai
KYA. Hum boundaries aur probe karte hain, aur forbidden .
KYUN. The Contract: reader ko kabhi aisa scenario nahi milna chahiye jise hum skip kar gaye. Ek denominator chillata hai "zero ke paas kya hota hai?" — hume jawab dena hai.
PICTURE. ka ek curve ke against plot kiya gaya: ke paas yeh par flatten ho jaata hai; ke roop mein yeh infinity tak rocket karta hai (red mein vertical asymptote).

| Case | Matlab | |
|---|---|---|
| (hamesha jeetna) | Ek trial, guaranteed. Sensible floor. | |
| (almost kabhi nahi jeetna) | Wait without bound grow karti hai. Red asymptote. | |
| (kabhi nahi jeetna) | undefined | Loop kabhi halt nahi hota — expectation infinite hai. Formula sahi hi se divide karne se mana karta hai. |
Ek-picture summary
Har idea, ek frame mein: split bar (Step 1) shrinking geometric bars ko feed karti hai (Step 2), jo ek pivot par balance karti hain (Step 3); memoryless loop (Step 4) ek one-line equation ban jaata hai (Step 5) jiska solution (Step 6) blow-up curve trace karta hai (Step 7).
Recall Feynman retelling — aise bolo jaise kisi dost ko explain karo
Tum kuch aisa try karte rehte ho jo mein se ek baar kaam karta hai. Poochho "average mein kitni tries?" Pehli try chance se jeetti hai; agar flop ho jaata hai — aur ek random trial apne flops kabhi yaad nahi rakhta — tum waapis wahan ho jahan se shuru kiya, dobara wahi average wait face karte hue. Toh average equal hai "ek try pakki, plus (chance tum fail hue) times (poora average phir se)." Woh sentence hi equation hai. Solve karo aur failure part peel away ho jaata hai, baar kar, toh average hai. Check karo: ek fair coin, , flips deta hai — obviously sach. ko zero ki taraf push karo aur wait infinity tak explode karta hai, jo exactly ek rare event ki danger hai. Woh single number hi reason hai ki Las Vegas retry loops fast kyun hain jab success common ho aur hopeless jab yeh vanishingly rare ho.
Recall Quick self-test
Sabse bada probability bar hamesha kyun hota hai? ::: Kyunki har extra trial se multiply hoti hai, toh bars sirf shrink kar sakti hain — koi middle hump nahi. Equation kahan se aati hai? ::: Memoryless property: ek failure ke baad expected remaining trials phir hai, toh failing branch cost karti hai. kya hai jab ? ::: trials. formula kyun tod deta hai? ::: Loop kabhi succeed nahi hota, , aur undefined hai.
Related tools jo is exact bound ko reuse karte hain: Primality Testing, Min-Cut and Max-Flow, aur tail-refinements Markov's Inequality aur Chernoff Bounds mein.