The hearse with the weird odor slowed to a stop before the entrance. The sound of pebbles could be heard bouncing on the ceiling. There were footsteps coming from the corridor, and there seemed to be someone sawing next door. The door knob to the room rattled slightly, and the faucet in the bathroom kept dripping even though it had been screwed shut. There was a rubber ball that rolled on its own underneath the bed. Wet footsteps started to surface one after another on the floor. At 3 am, Chen Ge held a cleaver in his hand as he hid beside the room heater. The call he was trying to make was finally answered. "Landlord, is this what you meant by 'the house can be a little crowded at night'‽"
e of a problem that we don’t know how to solve in polynomial time. In this problem, the input is a boolean circuit: a collection of and, or, and not gates connected by wires. We will assume that there are no loo** in the circuit (so no delay lines or flip-flo**). The input to the circuit is a set of m boolean (true/false) values x1, . . . , xm. The output is a single boolean value. Given specific input values, we can calculate the output in polynomial (actually, linear ) time using depth-first-search and evaluating the output of each gate in constant time. The circuit satisfiability problem asks, given a circuit, whether there is an input that makes the circuit output True, or conversely, whether the circuit always outputs False. Nobody knows how to solve this problem faster than just trying all 2 m possible inp