GenerateRandomSearch

Round Table Seating Generator

Seating a round table is not shuffling. Two people must sit together, two others must not, and the conditions interact — fixing one often breaks another. There is also a trap peculiar to round tables: the first and last seats are neighbours, so a plan can read perfectly down the list and still put the wrong two people side by side at the join. This solves the conditions properly and checks that join like any other pair.

What this generator does

Searches for a seating order satisfying every condition, treating the table as a genuine circle so the first and last seats count as neighbours. When no arrangement exists it says so, and distinguishes that from having run out of search budget.

How to use this tool

  1. Set how many guests, and how many pairs must sit together or apart.
  2. Generate, and read the order round the table.
  3. Check the last seat against the first — they are neighbours too.
  4. If no arrangement exists, the conditions genuinely conflict and one has to give.

Understanding the controls

How many guests
Between 4 and 14 around a single table. Rotating everybody one seat gives the same arrangement, so one guest is fixed and only genuinely different plans are considered.
Pairs who must sit together
Between 0 and 4. A guest has only two neighbours, so anybody required to sit with three or more people is impossible — which is spotted immediately rather than searched for.
Pairs who must sit apart
Between 0 and 4. These are checked all the way round, including the pair formed where the table closes.
Seed
Any word reproduces exactly the same guests, conditions and arrangement.

Common use cases

  • Seating a dinner party where some guests should not be side by side
  • Wedding top-table arrangements with couples kept together
  • Board or committee seating with working relationships in mind
  • Teaching constraint satisfaction with a problem everybody recognises
  • Setting the same arrangement twice from a seed

How this generator works

The search places guests one seat at a time and abandons a branch as soon as a condition is broken. Two rules do most of the work: anybody owed a neighbour they have not yet been given can only receive them in the very next seat, so that seat is filled rather than searched; and a required neighbour already seated somewhere non-adjacent can never become adjacent, so that branch is dropped at once. Without those, fourteen guests means six billion arrangements and the search would give up on plans that are perfectly possible.

Randomness and fairness

The guests, the conditions and the order in which arrangements are tried are all random. A seed reproduces the same problem and the same answer exactly, and is therefore explicitly not cryptographically secure. Without a seed the browser's cryptographically secure generator is used.

For how randomness is produced across the whole site, see how Generate Random works.

Limitations and good to know

  • One table. Several tables with conditions spanning them is the harder problem covered by the table plan tool.
  • Conditions are about adjacency only — not about who faces whom, or which end of the table anybody sits at.
  • Occasionally the search runs out of budget without proving anything. It says so rather than claiming the conditions conflict.
  • Guests are generic names; the conditions are generated rather than entered.
  • Arrangements are not stored between visits; seed one you want again.

Privacy and your data

The seating and every condition are worked out in your browser. Nothing about the arrangement or your seed is transmitted or kept.