A Nondeterministic Machine
What does it mean for a machine to "guess perfectly" — and why that strange idea is at the heart of the entire P vs NP problem.
What does it mean for a machine to "guess perfectly" — and why that strange idea is at the heart of the entire P vs NP problem.
What does it actually mean for a problem to be "verifiable fast"? This post builds the formal definition of NP from the ground up, using the Rubik's Cube, Sudoku, and the strange but satisfying idea of a certificate.
What does it actually mean for a problem to be "solvable fast"? This post builds the formal definition of the complexity class P from the ground up — using sorting, binary search, and the contrast between polynomial and exponential growth.
Why O(2^n) isn't just slow. It's practically impossible. And what a chessboard grain of wheat teaches us about the limits of computation.
The gap between finding an answer and checking one feels obvious the moment you see it. This post asks why that obvious gap is also the deepest open question in all of computer science.
The notation that looks like alien syntax but turns out to be one of the simplest and most important ideas in computer science — explained from scratch, with no formal proofs required.
We have built every piece separately. Now we put them together and ask the question that has haunted mathematics and computer science for over fifty years.
The story of a $1,000,000 question that has stumped every mathematician and computer scientist alive — and why one student decided to document the journey of understanding it.
Before we can talk about fast or slow algorithms, we need to agree on what computation even means — and that meaning comes from a deceptively simple thought experiment invented in 1936.
The word sounds intimidating. The definition is surprisingly close to something you already know — but with one twist that changes everything.