
3-SAT
3-SAT is a classic decision problem in computer science: given a logical formula in a specific form, the question to be answered is whether there exists an assignment of the variables that satisfies the formula. 3-SAT is considered one of the central examples of problems that appear to become unsolvably hard as input size grows – and therefore plays a key role in theoretical computer science and AI research.
3-SAT is a decision problem: you are given a logical formula, and the only question is “yes or no – does a solution exist?” The formula consists of variables that can be either true or false, and of conditions that must all be satisfied simultaneously. Each of these conditions contains exactly three such variables – hence the three in the name. The special thing about it: nobody knows a fast algorithm that answers this question in general. For small formulas, this isn’t a problem. But as soon as hundreds or thousands of variables come into play, the computational effort explodes.
Why 3-SAT is the heart of complexity theory
3-SAT belongs to a class of problems that computer scientists call NP-complete. This means: every other problem in this class can be translated into 3-SAT. So anyone who finds a fast solution method for 3-SAT automatically solves thousands of other hard problems as well.
These include practically relevant tasks such as scheduling optimization, route planning, or packing goods into containers. All of these problems share the same basic structure: many conditions that must be satisfied simultaneously, but no known fast way to find a solution. 3-SAT is, in a sense, their common denominator.
Whether a fast algorithm for NP-complete problems can ever exist is the most famous open question in computer science – known as the P versus NP problem. It remains unanswered to this day, and the Clay Mathematics Institute has offered a million dollars for its solution.
Structure of a 3-SAT formula
In simplified form, a 3-SAT formula looks like this: “(A or B or not-C) and (not-A or C or D) and …”. Each bracketed group is called a clause and contains exactly three variables. The “and” between the clauses means: all of them must be true at the same time. Within a clause, it is enough for at least one variable to be true.
A solution – computer scientists say: a satisfying assignment – is an assignment of true or false to each variable such that every single clause is satisfied. This sounds simple as long as you have a dozen variables. But with a hundred variables, there are over a trillion possible combinations. Trying them all out is unrealistic even for fast computers.
Modern solvers, so-called SAT solvers, use clever shortcuts: they rule out entire branches of the search space early on as soon as a partial solution already violates a clause. In practice, this works surprisingly well for many real-world formulas – but in the worst case, even this doesn’t help.
3-SAT in AI and everyday life
SAT solvers that solve 3-SAT-like formulas are embedded in many tools that aren’t directly visible. Chip designers use them to check whether a circuit functions correctly under all possible inputs. Software verification programs translate source code into logical formulas and then ask a SAT solver whether an error is computationally possible.
In AI research, 3-SAT appears as a benchmark: random formulas are generated, and one measures how well an algorithm or a neural network copes with them. Some researchers today train AI models to solve SAT formulas – not because that would be the fastest approach, but because it reveals whether a model can learn structured reasoning at all.
When tech news talks about “combinatorial complexity” or states that a problem is “NP-hard,” this assessment is almost always based on a reduction to 3-SAT. The term is therefore not just textbook material, but a concrete tool that computer scientists use to gauge the difficulty of new problems.