The structure hiding underneath
Every seating plan contains a graph. Nobody draws it that way — they draw it as a room with circles on it, or a spreadsheet with names in cells — but the structure is there regardless: a set of nodes (guests) and a set of edges (the relationships between them that matter for sitting). Some edges are positive: these two people belong together, or at least can tolerate any combination. Some edges are negative: these two people cannot share a table. Whether you write those edges down or carry them in your head makes an enormous difference to whether the plan is tractable or merely opinionated.
The reason to think in graph terms is not academic. It is that a graph makes the constraints legible. Once you can see them written as a list — "A cannot sit near B," "C and D must stay together," "E needs to be within sight of the exit" — you can check them for contradictions before you move a single name. You can also see, immediately, which guest is attached to the most negative edges. That guest is the problem to solve first. Everything else is arrangement.

Start, then, with the constraint list. Go through the guest list and write down every relationship that carries a seating implication. Separated parents who cannot share a table. A recently divorced couple who have both been invited out of diplomatic necessity. The uncle whose behaviour at the last family occasion was the reason two other families left early. The two friends who have a falling-out so fresh that nobody is quite sure if it's over. Write the names, write the constraint, write its direction: is it mutual (neither can sit near the other), or asymmetric (one doesn't know there's a problem, so only one placement is at risk)?
The aunt who touches everything
In practice, one node in the graph always has more edges than any other. Call her the aunt, call him the difficult guest — every plan has one. The mistake is to place everyone else first and then try to find a seat for the high-constraint guest at the end, by which point there may not be one. The unsatisfiable edge is the forbidden edge that connects two guests who must, by every other constraint in the plan, end up at the same table. The time to find that collision is before the room is set.

Place the high-constraint nodes first. If the aunt cannot sit near the groom's mother, cannot sit near the cousin she argued with at the christening, and cannot sit near the table where the dancing line of sight means she'll spend the evening commentating — then she has already constrained where she can possibly go before any other name has been placed. Work outward from her. Once she has a table, every negative edge she carries becomes a table the other person cannot be on, and that propagates outward through the plan like a wave. Do it at the start and the wave is manageable. Do it at the end and you are rebuilding.
The flip side of the negative edge is the required cluster: the connected components — the groups that must stay together because they know only each other, or because one of them has a mobility need and the other is their support, or because separating them would cause more distress than the seating arrangement is worth. A family with young children, an elderly guest and their carer, a contingent of international friends who speak limited English and will spend the night lost if they're scattered — these are not preferences, they're hard constraints in the same sense that a forbidden pairing is. Mark them before you start assigning tables, because they set the minimum table size before any arithmetic of chairs per table is useful.

Counting the solutions, not the seats
The graph framing does one more thing: it tells you how much freedom you actually have. A plan with forty constraints across eighty guests is not the same problem as one with six constraints across the same eighty. The heavily constrained plan has far fewer valid arrangements — possibly only a handful. A lightly constrained plan has thousands, and almost any arrangement will do. Knowing which kind of problem you have tells you how carefully to check your work.
In graph theory, a complete solution to the seating problem is essentially a partition of the node set into groups, where no forbidden edge appears within a group and all required clusters stay intact. The number of such partitions is not infinite; for a real wedding with real constraints it is usually a very small number. For the most constrained guest, it may be a number in single figures. That is why the common experience of seating planning — "we've tried everything and we can't make it work" — is not an exaggeration. Sometimes the constraint set genuinely has no solution, and the only move is to relax one of the constraints, which means a human conversation about which one.
That conversation is worth having early. If two constraints cannot be simultaneously satisfied — if placing the aunt far from the groom's mother puts her next to the cousin, without exception — then someone has to decide which relationship takes priority. The plan cannot make that decision. The plan can only surface the fact that a decision is required.
The practical technique is to write the constraint list, put it in order of strictness from hardest to softest, and then work through placements from the top of the list downward. When a conflict appears, you've found the real trade-off. You haven't found a flaw in your method; you've found a fact about the people.
Knowing which kind of problem you have tells you how carefully to check your work.
What the graph doesn't do
The graph tells you which arrangements are valid. It doesn't tell you which are good. A plan where the aunt is placed in a technically valid position — no forbidden edge is violated — but where she's alone at a corner table with three guests she has no connection to is valid and miserable. The positive edges matter too: the friendships and shared histories that make a table cohesive rather than merely adjacent.

Once the hard constraints are satisfied, the remaining work is optimisation within the valid space: grouping people who will genuinely enjoy each other's company, balancing tables so no single one carries all the energy or all the quietness, giving the shy guest someone they know within reach. Plan in pencil is the right description — because the count moves, yes, but also because the arrangement that looks finished on Monday may need to shift on Friday when someone cancels and the table balance breaks. The constraint list is more stable than the seating plan built on top of it. Keep the list current, and rebuilding after a late change is a repair job rather than a restart.
The graph isn't sentiment. It's the skeleton that lets the sentiment stand up.
