skip to content

Why does a clique of mutually conflicting jobs put a floor under the number of slots a schedule needs?

level: seniorimportance: should knowfreq 38%

answer

  1. mutual conflict forces distinct slots
  2. a floor, not the answer
  3. clique of size k needs k
  4. five-job ring beats its floor
  5. clique number at most chromatic number

basics

~20 s

In a clique every job conflicts with every other, so no two may share a slot and k mutually conflicting jobs force k distinct slots. The size of the largest clique is therefore a lower bound on the chromatic number.

solid answer

~40 s

A **clique** is a set of vertices that are pairwise adjacent. In a conflict graph that means every job in the set clashes with every other, so a valid colouring must give all of them different colours — a clique of size k needs k slots on its own, and the rest of the graph can only add to that. Writing the largest clique size as the **clique number**, this gives `ω(G) ≤ χ(G)`. Its value is as a certificate: exhibit seven mutually conflicting jobs and you have proved that no scheduler, however clever, gets below seven. The bound is a floor, not the answer — a ring of five jobs has no mutual triple yet needs three slots, so a colouring can sit strictly above the clique number.

go deeper

for a junior

Remember the one-line reason: inside a mutually conflicting group nobody can share, so k such jobs cost k slots.

for a middle

Explain the direction of the inequality and show a case where it is strict, such as a five-job ring with no mutual triple needing three slots.

for a senior

Use it as a certificate in review: bracket the schedule between a clique you can exhibit and a colouring you have run, and say what closing the gap would cost.

for a principal

Decide when the bracket is tight enough to stop. A proven floor turns an open-ended optimisation into a bounded one and lets you spend the remaining budget on the conflict model instead.

## What a clique forces A **clique** is a set of vertices in which every pair is joined by an edge. Read on a conflict graph, it is a group of jobs that all clash with one another. A proper colouring must give different colours to the two ends of every edge, and inside a clique every pair is an edge, so all k members must carry k distinct colours. No colouring of the whole graph can do better on that subset, and the whole graph needs at least as many colours as any of its parts. Hence, with `ω(G)` for the size of the largest clique — the **clique number** — and `χ(G)` for the chromatic number: `ω(G) ≤ χ(G)` That inequality has a direction and it is worth saying aloud, because reversing it is the standard mistake. A clique certifies a **minimum**; it never caps the number of colours. ## Why a floor is worth having The chromatic number is defined as a minimum over all assignments, so a colouring you have in hand proves only an upper bound. Pair it with a clique and you bracket the truth: - A schedule using 9 slots proves `χ ≤ 9`. - Seven jobs that all clash prove `χ ≥ 7`. - The answer is somewhere in `7 … 9`, and if you find either an 8-job clique or an 8-slot schedule the bracket narrows. - When floor meets ceiling — a k-clique and a k-slot schedule — you have a **proof of optimality** that needs no further search. That last point is the real payoff in a design review. A clique is a short, checkable artefact: anyone can verify that the named jobs pairwise conflict. It converts "we could not do better" into "nobody can do better". ## The floor is not always reached Take five jobs arranged in a ring, each clashing only with its two ring neighbours. No three of them are mutually conflicting, so the clique number is 2. Yet two slots are impossible: alternate around the ring and, because the length is odd, the fifth job ends up adjacent to jobs in both slots at the closing edge. Three slots suffice. So `ω = 2` while `χ = 3`, and the floor is strictly below the truth. The gap can be far worse. There are graphs with **no three mutually conflicting jobs at all** whose chromatic number is arbitrarily large — the obstruction to colouring is a global structure, not a local group. That is why "find the biggest clique" is a lower-bound tactic and never a method for computing the answer. | conflict graph | clique number | fewest slots | |---|---|---| | four jobs all clashing | 4 | 4 | | ring of five jobs | 2 | 3 | | one hub job clashing with many isolated jobs | 2 | 2 | | any graph split into two clash-free families | 2 | 2 | | overlapping reservations on one timeline | busiest instant | busiest instant | ## Squeezing the true value between two bounds Combining with the greedy ceiling from the busiest vertex gives the sandwich every practitioner works inside: `ω(G) ≤ χ(G) ≤ Δ(G) + 1` Both ends can be loose at once, and improving either is real work: raising the floor means finding a larger mutually conflicting group, lowering the ceiling means finding a better assignment. Some structured families close the sandwich by themselves — conflicts derived from intervals on a line, and any graph whose jobs split into two clash-free families, always have the clique number as their exact answer. Those are the families where "count the worst mutual clash" is not just a bound but the answer, and recognising that your conflicts have that structure is worth more than any amount of colouring effort. ## Practical reading - When someone proposes a target slot count, look for a clique that already exceeds it before debating the algorithm. - When the floor and your schedule agree, stop optimising; the remaining levers are in the model, not the colouring. - When the floor sits far below your schedule, the gap is genuinely ambiguous: the truth may be near either end, and only a better colouring or a larger clique resolves which. - Never present the clique number as the answer. It is the half of the answer you can prove cheaply.

  • Give a conflict graph whose largest mutual-clash group is two but which still needs three slots.
    Five jobs in a ring, each clashing only with its two neighbours. No three of them clash mutually, so the clique number is two. Alternating two slots around an odd-length ring fails at the closing edge, where the last job meets jobs in both slots, so a third slot is forced.
  • Your clique bound says 6 and your schedule uses 11. What do you do next?
    Treat it as a bracket and attack both ends. Hunt for a larger mutually conflicting group to raise the floor, and try other vertex orderings or a restructured assignment to lower the ceiling. Either result narrows the range, and if the two ever meet you have proved optimality and can stop.
  • Does a large clique also tell you anything about an upper bound?
    No, and assuming so is the classic inversion. A clique constrains only from below: it says at least that many slots are required. A graph containing a 3-clique may need three slots or three hundred, depending on the structure around it.

saying these in an interview costs you the question

  • Says the largest mutual-conflict group equals the slot count
  • Uses a clique as an upper bound on the number of colours
  • Claims a graph without a triangle always needs two slots
  • Thinks a clique must be checked against every job in the graph
  • Believes finding a bigger clique makes the colouring cheaper to compute