Intuition The ONE core idea
A machine that can "guess" (an NFA, exploring many paths at once) can be simulated by a machine that never guesses (a DFA) — you just make the honest machine carry a set naming every possibility the guesser could be exploring right now. This whole topic is nothing but bookkeeping that set , one letter of input at a time.
Before you can read the parent note, you must own every symbol it throws at you. Below, each item is built in order: plain words → the picture → why the topic needs it. Nothing later uses anything not defined earlier.
A state is one situation a machine can be in — draw it as a circle with a name inside, like q 0 .
The picture: a labelled dot ●. The machine is always "sitting on" exactly one dot (for a DFA) or possibly several dots at once (for an NFA).
Why the topic needs it: the entire construction is about which dots the machine could be sitting on . If you don't picture states as dots you sit on, "set of states" means nothing.
Σ
Σ (Greek capital "sigma") is the fixed box of allowed input letters , e.g. Σ = { a , b } . A string is any sequence of these letters, like aab .
The picture: a small tray holding tiles a b . The machine reads these tiles left to right, one at a time.
Why the topic needs it: every transition is "on reading letter a …". The DFA we build must give an answer for each letter in Σ — no letter left undefined.
Σ never contains ε
The blank/empty move ε (next item) is not a letter of the alphabet. You never read ε from the input tape; it is a silent internal move.
ε — the "free" move
ε (Greek "epsilon") means the empty string — reading nothing . An ==ε -transition== is an edge the machine may cross without consuming any input letter .
The picture: a dotted arrow between two dots labelled ε . Crossing it costs you no tile from the tray — it is a free teleport .
Why the topic needs it: because the NFA can silently slide along these free edges before and after every real letter, the DFA must chase all such slides. This is the whole reason ECLOSE (item 9) exists.
Definition Transition function
δ
δ (Greek "delta") is the rulebook : given "you are on this dot, you read this letter, where do you go?" We write δ ( q , a ) = the answer.
The picture: a solid arrow from dot q to another dot, labelled with the letter a .
Why the topic needs it: δ is the machine. Converting NFA→DFA is really rewriting one rulebook (δ N ) into another (δ D ).
This is the heart of why the topic is hard, so it gets its own figure.
Definition DFA vs NFA transition, precisely
In a DFA , δ D ( q , a ) gives back exactly one dot. Deterministic = "no choice, one road out per letter."
In an NFA , δ N ( q , a ) gives back a set of dots — maybe zero, one, or many. Non-deterministic = "may fork onto several roads, or hit a dead end."
Why the topic needs it: an NFA on { q 1 , q 3 } reading a might land on { q 2 , q 3 , q 5 } — a set . A DFA cannot sit on a set of dots. The fix (the topic's big idea): invent a new single dot whose NAME is that set .
The construction lives entirely in the language of sets. Four symbols carry it.
A set is an unordered collection with no duplicates, written { q 0 , q 1 } . The picture: a bag holding some dots.
q ∈ S means "dot q is inside bag S ."
S ∪ T (union ) = pour both bags together, keep one of each. Picture: two bags emptied into one.
∅ = the empty bag (no dots at all).
S ∩ T (intersection ) = the dots that are in both bags at once.
Why the topic needs each:
∪ appears in MOVE: gather next-dots from every current dot.
∅ is the DFA's dead/trap state (no dots alive → reject forever).
∩ appears in the accept test S ∩ F = ∅ ("does the bag touch a final dot?").
P ( Q )
P ( Q ) (script "P" of Q ) is the set of ALL possible bags you can make from the dots in Q — including the empty bag ∅ and the full bag Q itself.
The picture: if Q = { q 0 , q 1 } , then P ( Q ) lists ∅ , { q 0 } , { q 1 } , { q 0 , q 1 } — four bags.
Why the topic needs it: DFA states are exactly the bags in P ( Q ) . This is why the construction is called the subset (powerset) construction , and why it always terminates: there are only 2 n possible DFA states, a finite number. See Power Set and Subsets .
Definition Start and final
q 0 = the single dot the machine begins on (a little arrow ► points into it from nowhere).
F = the bag of accepting/final dots (drawn as double circles ◎). If the machine finishes on a final dot, the string is accepted .
Why the topic needs it: the DFA's start becomes ECLOSE ({ q 0 }) (item 9), and a DFA bag is accepting iff it touches F : S ∩ F = ∅ .
Everything above now assembles into the two operations the parent note runs.
Take every dot in bag S , follow one real a -arrow from each, and pour all the destinations into one bag:
MOVE ( S , a ) = ⋃ q ∈ S δ N ( q , a ) .
Picture: fan out one solid step from the whole cloud of dots.
Starting from bag S , follow free ε -arrows as far as you can (in any number of hops), adding every dot you reach — and keep S itself.
Picture: let the cloud "leak" along every dotted edge until it can leak no more.
Why this order: you can only cross an ε -edge after arriving somewhere by the real letter. Closing before but not after is the parent note's Mistake 2 .
Alphabet Sigma = input letters
ECLOSE = leak on free edges
NFA gives a SET, DFA gives one dot
Sets: union intersect empty
MOVE = union of next dots
Power set = all bags, size two power n
Start dot and final dots F
DFA with same language as NFA
Test yourself — cover the right side and answer aloud.
A "state" pictured as? A labelled circle/dot the machine sits on.
Σ means?The fixed alphabet — the box of allowed input letters; never contains ε .
ε -transition means?A free move between dots that reads no input letter.
δ ( q , a ) answers what question?"On dot q , reading a , where do I go?"
Key DFA-vs-NFA difference? DFA's δ returns exactly one dot; NFA's returns a set of dots.
q ∈ S means?Dot q is inside bag S .
S ∪ T means?Pour both bags together (union), keeping one of each dot.
S ∩ T = ∅ means?The two bags share at least one dot.
∅ is used as which DFA state?The dead/trap state — no live dots, rejects forever.
P ( Q ) is?The set of all subsets (bags) of Q .
Why at most 2 n DFA states? Each of n dots is either in or out of a bag — 2 n possible bags.
MOVE( S , a ) computes? The union of δ N ( q , a ) over all q ∈ S — real one-letter step.
ECLOSE( S ) computes? All dots reachable from S via ε -edges, S included.
Correct order in δ D ? MOVE first, then ECLOSE: ECLOSE ( MOVE ( S , a )) .
A DFA bag is accepting when? It touches a final dot: S ∩ F = ∅ .