M ko p(n) steps tak run karo. Tape kabhi bhi cell p(n) se aage nahi jaati. Toh poora run ek grid hai:
cell 0
cell 1
...
cell p(n)
time 0
...
...
time 1
...
...
...
time p(n)
Ek (p(n)+1)×(p(n)+1)tableau. Har cell mein ek tape symbol hota hai, saath mein hum mark karte hain kahan head hai aur M kis state mein hai. Yeh step kyun?M ka poora behaviour is finite grid mein capture ho jaata hai — finite ⇒ finitely many Boolean variables se encode ho sakta hai.
Har tableau position (i,j) aur har possible content s (ek tape symbol, ya "head yahan state q mein hai") ke liye define karo
xi,j,s=TRUE⟺cell (i,j) has content s.Kyun? Yeh dual coding hai: ek physical configuration ↔ ek truth assignment. Variables ki sankhya =O(p(n)2)⋅(constant alphabet)= polynomial. ✔
Moves ke liye 2×3 window kyun? Turing head ek step mein sirf apne neeche wale cell aur uske neighbours ko affect karta hai. Toh legality ek local property hai: agar har chhota window locally legal hai, toh poora run legal hai. Yahi locality formula size ko polynomial rakhti hai.
"X is NP-complete" ke liye kya do cheezein prove karni hain? → X∈ NP aurX NP-hard hai.
B ko NP-hard prove karne ki direction? → known NPC A≤pB (Ase B mein reduce karo).
Cook's reduction mein Boolean variables kya encode karte hain? → har time step par har tableau cell ka content.
Move-clause sirf 2×3 window par kyun hai? → head changes local hote hain, toh legality locally checkable hai.
SAT ∈ NP — certificate kya hai? → ek truth assignment; ϕ evaluate karke verify karo.
NP ka matlab aur definition kya hai
Nondeterministic Polynomial — "yes" instances ka ek certificate poly time mein verifiable hota hai.
NP-complete ki definition
Ek problem jo NP mein bhi hai aur NP-hard bhi.
NP-hard ki definition
NP ka har problem usmein polynomial time mein reduce hota hai (NP ke sabse mushkil ke barabar).
Cook's theorem batao
SAT (Boolean satisfiability) NP-complete hai.
SAT ko NP-complete prove karne ke do parts
(1) SAT ∈ NP via ek assignment evaluate karke; (2) SAT is NP-hard by NP ke har language ko SAT mein reduce karke.
Cook's reduction ka core idea
Ek nondeterministic TM ke accepting computation tableau ko ek Boolean formula ke roop mein encode karo jo satisfiable ho tabhi jab machine accept kare.
Cook's proof mein variables x_{i,j,s} ka matlab
Tableau ka cell (i,j) time i par, position j par content s contain karta hai (true/false).
Cook's formula mein chaar clause groups
cell (exactly one content), start (sahi initial row), accept (koi accepting state appear ho), move (har 2×3 window ek legal transition hai).
Move-clauses local windows par kyun hain
TM head ek step mein sirf ek cell aur uske neighbours ko affect karta hai, toh legality ek local property hai.
A ≤_p B ka matlab
Poly-time f aisa ki x∈A ⟺ f(x)∈B; B kam se kam A jitna mushkil hai.
B ko NP-hard prove karne ke liye kis direction mein reduce karo
Ek known NP-complete A ko B MEIN reduce karo (A ≤_p B), ulta nahi.
B ko SAT mein reduce karna hardness ke liye kyun galat hai
Yeh sirf dikhata hai B SAT se zyada mushkil nahi, yeh nahi ki B hard hai.
3 vertices ka ek triangle (ek literal per), har clause se ≤1 choose karne ko force karta hai.
Reduction 3-SAT ≤_p IS: consistency edges
Complementary literals x aur ¬x ke beech edges taaki contradictory choices forbidden ho.
3-SAT ≤_p IS mein target size k kya hai
k = clauses ki sankhya m.
Kya P ⊆ NP hai
Haan — jo bhi poly time mein solvable hai woh trivially poly time mein verifiable bhi hai.
≤_p transitivity kyun matter karta hai
Yeh nayi NP-completeness proofs ko ek anchor (SAT) se chain karne deta hai instead of NP ke poore ko re-reduce karne ke.
Recall Feynman: 12-saal ke bacche ko samjhao
Socho ek giant lock factory hazaaron alag-alag tricky locks (mushkil puzzles) banati hai. Cook ne ek special master key (SAT) dhundhi jo factory ke saare locks khol sakti hai. Toh agar aap kabhi is master key ko super-fast copy karne ka tarika invent karo, toh turant saare locks khul jaate hain. Aur yeh prove karne ke liye ki koi nayi lock bhi super-tricky hai, bas dikhao "yeh nayi lock master key jaisi act kar sakti hai" — matlab woh bhi tricky hai. Master key banane ki trick thi ki ek guessing-robot ke puzzle solve karne ke poore step-by-step diary ko ek giant true/false riddle ke roop mein likhna: riddle tabhi solve hota hai jab robot jeet sakta hai.