As reviewer of a design that calls shift assignment NP-hard, what evidence do you require before accepting the claim?
answer
- which version was proved?
- check the source of the reduction
- both directions, polynomial cost
- hard or complete, which word?
- general problem versus our instances
basics
~20 sRequire a stated decision version, a named already-complete source problem, a polynomial-time transformation that preserves the answer, and the right word for what was proved. Then check the claim is about the problem the team actually ships.
solid answer
~40 sAsk four questions in order. **Which version?** The document must state a decision version, because that is the object being classified; if the feature ships an optimization, say so and label it NP-hard rather than complete. **From what?** The reduction must start at a problem already established as complete for NP — transitivity carries nothing from an unproven source. **Does the transformation hold up?** It must run in polynomial time and preserve the answer in both directions. **Which word?** If membership was never shown, the document says NP-hard, not NP-complete. Finally, check scope: hardness is about the general problem, so a proof over unrestricted inputs says nothing about a bounded instance family the system actually receives. What the team does next is a separate conversation.
go deeper
Notice that a hardness claim is checkable: someone should be able to point at a decision version and a transformation from a known hard problem.
Be able to run the four checks yourself — version, source, transformation, word — and explain why the transformation must preserve the answer in both directions.
Separate the general claim from the instance family the system receives, and refuse documents that slide from one to the other in a single sentence.
Own the standard of evidence: demand the full argument when the claim stops work or justifies a large change, accept a named resemblance when it only sets expectations, and require the document to state which obligation it discharged.
## Why a hardness claim deserves review at all A hardness claim is load-bearing: it is normally used to stop an argument, because once a feature is agreed to be NP-hard nobody is expected to keep asking for an exact algorithm with a polynomial guarantee. A claim that strong should be checked as carefully as a capacity estimate, and unlike a capacity estimate it is checkable exactly — the obligations are finite and written down. ## The four checks, in order **1. Which problem version was proved?** NP-hardness and NP-completeness are statements about a specific question. "Shift assignment" is not one. The document must contain a decision version — "is there an assignment covering every shift within the eligibility rules and hour caps?" — and if the shipped feature optimizes something, the relationship between the two must be stated. A document with no decision version anywhere has classified nothing. **2. What did the reduction start from?** Hardness transfers by transitivity, and transitivity carries only what was already there. If the source is a problem the author believes is hard, or a problem from a neighbouring paper whose status is not stated, the proof establishes nothing about NP. The source must be a problem already established as complete for NP. **3. Does the transformation actually hold up?** Two properties, both checkable: it runs in polynomial time in the size of the source instance, and it preserves the answer in **both** directions — every yes maps to a yes, and every produced yes comes from a yes. A transformation that only guarantees one direction is the most common technical defect in an internally written proof. **4. Is the word right?** If nobody exhibited a polynomially short certificate and a polynomial-time verifier, the claim is NP-hard. That is not a lesser result for planning purposes — the consequence about polynomial exact algorithms rides on the hardness half — but the document should say the true thing. ## The scope question, which is where reviews go wrong Hardness is a claim about the general problem over unrestricted inputs. A system receives a particular family of instances, and that family is a different mathematical object. So: - If every instance is bounded — a fixed small staff, a fixed planning horizon — the asymptotic claim does not describe it, and the document should not imply that it does. - If the instances always carry structure the general problem lacks, the general result again does not settle the case; the restricted problem needs its own argument. - Conversely, a proof over a *restricted* family is a stronger result than one over the general problem, and worth noticing when it appears. The right sentence is precise about both objects: the general problem is NP-hard, and here is what our instance family looks like. Combining them into "our scheduling is NP-hard, so it is slow" is the step that a reviewer should not let through. ## A review checklist | Check | Accept when | Reject or downgrade when | |---|---|---| | Decision version | Stated explicitly in the document | Only an optimization phrasing appears | | Source problem | Already established as complete for NP | Unproven, invented, or unstated | | Transformation cost | Polynomial in the source instance size | Cost unstated or instance blows up | | Answer preservation | Holds in both directions, argued | Only one direction is argued | | Membership | Certificate and verifier exhibited | Absent — then the word is NP-hard | | Scope | General claim and instance family kept separate | Asymptotic claim asserted about our inputs | ## What the accepted claim does and does not settle Accepted, the claim settles one thing: there is no exact algorithm with a polynomial guarantee unless P equals NP, so a plan that depends on finding one is not a plan. It does **not** establish a proven exponential lower bound, it does not say today's instances are expensive, and it does not by itself choose what the team builds instead — that decision is a separate discussion with its own evidence. ## The judgment call a lead actually owns The open part is the standard of proof to require, and it is a real trade-off. Demanding a written, checked reduction for every claim is expensive and often unnecessary when the feature is transparently a rephrasing of a catalogued problem. Accepting the label on the strength of resemblance is cheap and occasionally wrong, usually because the feature has a constraint the catalogued problem does not, and that constraint is exactly what makes the real instances tractable. A workable rule: require the full argument when the claim is being used to *stop* work or to justify a large change, and accept a named resemblance plus a stated decision version when it is being used only to set expectations — and in both cases insist that the document says which of the two obligations it actually discharged.
- The reduction preserves yes answers but nobody argued the other direction. Why does that matter?Because without it the produced instance can be a yes when the original was a no, so a solver for the target answers a different question. The transformation has to preserve the answer in both directions for the target's difficulty to say anything about the source.
- The feature only ever sees a handful of staff and one week of shifts. Does the hardness claim still apply?It applies to the general problem, which is not what that system solves. A bounded instance family is a different object and needs its own argument; the document should keep the two claims in separate sentences rather than presenting the asymptotic result as a fact about production inputs.
- The document proves hardness but the team wants to say NP-complete. What is the cheapest way to earn the word?Write the verifier: state the decision version, give the certificate — a full assignment — argue it is polynomially short, and show the check of every rule runs in polynomial time. That is usually a paragraph, and it is the whole membership obligation.
saying these in an interview costs you the question
- Accepts the label without asking which version was proved
- Treats hardness of the general problem as a fact about our inputs
- Accepts a reduction starting from a problem nobody proved complete
- Reads the accepted claim as a proven exponential lower bound
- Uses hard and complete interchangeably in the same document