A traffic light controller is, as a whole system, sequential — it cycles through states over time, and "what state comes next" depends on history (specifically, a timer), not just current inputs. That puts the overall controller outside what a K-map can handle, exactly as covered in Combinational vs. Sequential Logic. But one specific part of it — deciding which lights are on for a given state — genuinely is combinational, and is worth designing properly rather than hand-waving.
Splitting the sequential from the combinational
A typical 4-phase controller has a 2-bit state register (holding which of 4 phases is currently active) driven by a timer and some sequencing logic — that part is sequential, needs flip-flops, and is genuinely out of scope for this site. What isn't sequential: given the current state, which lights should be lit right now. That's a pure function of the 2-bit state — no memory needed to compute it — which makes it a K-map problem like any other.
The four states
| State | NS light | EW light |
|---|---|---|
| 00 | Green | Red |
| 01 | Yellow | Red |
| 10 | Red | Green |
| 11 | Red | Yellow |
The combinational output logic, minimized
Each of the six output signals (three colors per direction) is a function of just the 2-bit state, S1S0:
Notice NS-Red and EW-Red both collapse to single-literal expressions (S1 and S1′) — each covers two of the four states at once, which is exactly the kind of larger grouping a K-map is built to find, the same way the binary decoder pattern shows up whenever an output activates for more than one input code.
Why this split matters
Treating the whole controller as "one big circuit" would miss that only part of it benefits from K-map minimization at all — the state-holding, timer-driven sequencing genuinely needs different design techniques (state diagrams, flip-flops), while the output decoding shown here is a clean, ordinary combinational problem that would be solved incorrectly by trying to force sequential design techniques onto it, or missed entirely by assuming the whole system is "too sequential" for a K-map to help anywhere.
Verify the output logic directly: try state-based combinational problems on the 2-variable solver.