alphaFeedback

WorksComputer Science

Three-machine unit-job scheduling in time O((L+2)^276)

AI contributions
  • Anthropic Claude Opus
View details

Abstract

OpenAI recently gave a deterministic polynomial-time algorithm for P3|prec,p_j=1|C_max (problem OPEN8 of Garey and Johnson), with running time O((L+2)^150020) on a multitape Turing machine, L being the input length; the same exponent appears in the accompanying Lean statement. The exponent comes from enumerating all Boolean formulas with at most 10000 leaves, each leaf choosing its own triple of jobs. We show that every description actually used by the structural proof involves at most 21 distinct job triples and at most 3 distinct rank thresholds. Restricting the enumerated family accordingly, and using the length bound on accepting paths already proved there to limit the number of reachability passes, the same algorithm runs in time O((L+2)^276).

Statement

The problem P3∣prec⁡,pj=1∣Cmax⁡P3 \mid\operatorname{prec}, p_j = 1 \mid C_{\max} is OPEN8 in [1]. We use the notation and numbering of [2]. The input is an explicitly listed directed acyclic graph on nn unit jobs and a deadline TT; after padding there are N=3T≤3nN = 3T \le3n jobs, and L≥nL \ge n is the binary input length. The algorithm of [2 §3] is a dynamic program over a family F\mathcal{F} of subsets of JJ described by Boolean formulas with at most K=10000K = 10000 leaves, the leaves being: constants; rank thresholds λ≤k\lambda\le k, λ≥k\lambda\ge k (0≤k≤N+10 \le k \le N + 1) in either frame; and membership in a triple of jobs or in one of its four cones PP, DD, P^\widehat{P}, D^\widehat{D}, in either frame. Counting formula instances leaf by leaf gives ∣F∣=O(N3K)|\mathcal{F}| = O(N^{3K}) and the running time OK(N15K+13)O_K(N^{15K+13}), whence O((L+2)150020)O((L+2)^{150020}) [2 Lemma 2.3 and §9].

Theorem 1. The minimum-makespan schedule and the deadline decision of [2 Theorem 1.1] can be computed in O((L+2)276)O((L+2)^{276}) steps on a deterministic multitape Turing machine.

The algorithm is the one of [2], run with a smaller family F⋆⊂F\mathcal{F}^{\star} \subset\mathcal{F} (Definition 5) and with fewer reachability passes. Correctness is not re-proved: soundness of the dynamic program holds for every family [2 proof of Proposition 3.1], and completeness only requires that the node sets and split sets of a bounded-description hierarchy [2 Definition 3.2, Lemma 3.3] belong to the family. We check this in § 2.

Distinct triples and thresholds in the required descriptions

For a formula, let τ\tau be the number of distinct job triples appearing in its cone or membership leaves (a triple is counted once, whatever the cones and frames used), and θ\theta the number of distinct threshold leaves (a threshold leaf is a frame, a direction and a value). Sentinel tests are constants and are not counted. An intersection of two rank suffixes {λ≥r}∩{λ≥r′}\{\lambda\ge r\} \cap\{\lambda\ge r'\} in the same frame is the single suffix {λ≥max⁡(r,r′)}\{\lambda\ge\max(r,r')\}, as noted in [2 §6]; we always use this merged form.

Lemma 2 (only the first entry is trimmed). In every list and every carry of the construction of [2 §§5–6], every entry other than the first one carries no outer rank trim.

Proof. The root list (J)(J) and a new switch pair (G∩{λ≥h},Da)(G \cap\{\lambda\ge h\},D_a) [2 (6.4)] have this property. A carry [2 (6.1)] trims only KdK_d, which becomes its first entry, and discards K1,…,Kd−1K_1,\ldots,K_{d-1}; the appended injection Da∩(J∖Pb)D_a \cap(\mathcal{J} \setminus P_b) [2 (6.2)] is untrimmed. Pruning only deletes entries; if it deletes the first entry, the entry moving to the first place is untrimmed. A switch discards the old list entirely. Repeated trims of the first entry merge into one. □\square

We bound (τ,θ)(\tau, \theta) for the entries. Let UU be the parent that produced the node WW where a switch occurs, and use the current frame, in which U=(a−,b−)U = (a_-, b_-) with centre v−v_- (see [2 §6, before (6.6)]). The right boundary of UU in the old frame is the triple a−a_-, and its predecessor cone there is Da−D_{a_-} in the current frame. In the old frame (the tag frame of WW) we write U=(aU,bU)U = (a_U, b_U), so that bU=a−b_U = a_- and aU=b−a_U = b_- as triples. “Switch case” and “same case” below refer to the edge U→WU \to W, compared with the tag of UU, as in [2 Lemma 6.6].

  1. Root base JJ: (0,0)(0, 0), plus a trim if first.

  2. Injection Da∩(J∖Pb)D_a \cap(J \setminus P_b): (2,0)(2, 0), plus a trim if first.

  3. Second switch entry DaD_a: one triple, which is also used in GG.

  4. The extension H−∗H^*_{-} of [2 Lemma 6.6]. In the switch case it is (J∖DaU)∩{λ≤r}(J \setminus D_{a_U}) \cap\{\lambda\le r\}: (1,1)(1, 1). In the same case it is PbUP_{b_U} minus the union of a carry of the list of UU, where the possibly complicated first switch entry is replaced by the flattened pair Da0∪{λ≥k}D_{a_0} \cup\{\lambda\ge k\} of [2 Lemma 6.5]. That carry has at most five entries, at most three of them injections [2 Lemma 6.4], and at most one trim (Lemma 2); the initial part contributes the root base, or one triple a0a_0 (flattened pair or second switch entry). Since PbUP_{b_U} is the cone of a−a_-, H−∗H^*_{-} uses a−a_- and at most 1+6=71 + 6 = 7 further triples, and at most one threshold.

  5. First switch entry G∩{λ≥h}G \cap\{\lambda\ge h\} with G=Da−∩(J∖Pba)∩(J∖Pbv−)∩H−∗G = D_{a_-} \cap(J \setminus P_{b_a}) \cap(J \setminus P_{b_{v_-}}) \cap H^*_{-} [2 (6.7)]: triples a−a_-, aa, v−v_- and at most 7 more, so τ≤10\tau\le10; thresholds: one inside H−∗H^*_{-} and the outer one, so θ≤2\theta\le2.

By [2 Lemma 6.4 and the remark following it] a pruned list, or a carry taken from it, has at most two initial entries and at most three injections. Hence, using Lemma 2:

Lemma 3. The union of all entries of a pruned list or of a carry uses τ≤16\tau\le16 and θ≤2\theta\le2.

Proof. In a run started by a switch: 10 triples for the first switch entry, none new for the second, 2 for each of at most three injections; thresholds: at most two, both in the first entry. In the root run: at most 6 triples and one threshold. □\square

Proposition 4. Every global node description of [2 Lemma 8.1] can be written with τ≤21\tau\le21, θ≤3\theta\le3, and every relative split predicate of [2 Lemma 8.2] with τ≤19\tau\le19, θ≤2\theta\le2; all these formulas have fewer than 500 leaves.

Proof. Same edge. The description is the union of [2 (8.4)] and [2 (8.5)] with the cutoff predicate S~=Pb∖Qual⁡(Kcarry)\widetilde{S} = P_b \setminus\operatorname{Qual}(\mathbf{K}_{\mathrm{carry}}) [2 (8.2)]. The new list K′\mathbf{K}' is the pruned concatenation of Kcarry\mathbf{K}_{\mathrm{carry}} and the injection on (a,b)(a,b). The triples are those of Kcarry\mathbf{K}_{\mathrm{carry}} (at most 16, Lemma 3), the parent boundaries a,ba,b, and a′,b′,va',b',v: at most 21. The thresholds are those of Kcarry\mathbf{K}_{\mathrm{carry}}, reused in K′\mathbf{K}': at most 2.

Switch edge. Here K′\mathbf{K}' is the pruned switch pair and S~=(J∖Da)∩{λ≤r}\widetilde{S} = (J \setminus D_a) \cap\{\lambda\le r\} [2 (8.3)]. Triples: those of GG (at most 10, including aa) and a′,b′,b,va',b',b,v: at most 14. Thresholds: two in the first switch entry and rr: at most 3.

Relative splits. The centre predicate Bv(H∗)B_v(H_*), with BZ(H)=PZ∪(H∖D^Z)B_{\mathcal{Z}}(H) = P_{\mathcal{Z}} \cup(H \setminus\widehat{D}_{\mathcal{Z}}) [2 (4.1)] and H∗∈{Pb,J∖Da}H_* \in\{P_b, J \setminus D_a\}, uses two triples. An internal split Bv(H∗)∩BZ(S~)B_v(H_*) \cap B_{\mathcal{Z}}(\widetilde{S}) [2 (8.6)] uses v,zv,z, the boundary in H∗H_* and the triples of S~\widetilde{S}: at most 3+16=193 + 16 = 19 triples and 2 thresholds in the same case, and 3 triples and one threshold in the switch case. The conversion [2 (8.7)] adds a membership leaf for the triple zz, already counted.

Merging thresholds only decreases the leaf counts of [2 Lemma 8.3], which are below 500. No other predicate is used: the boundary invariants of [2 §7] are proved about these lists and add no description. □\square

The restricted family and the running time

Definition 5. Let F∗\mathcal{F}^{*} be the family of subsets of JJ described by formulas in the atomic language of [2 §2.3] with at most 500 leaves, at most 21 distinct triples and at most 3 distinct threshold leaves.

By Proposition 4, every node set and every relative split set of the bounded-description hierarchy of [2 Theorem 3.4] belongs to F∗\mathcal{F}^{*}, and J∈F∗J \in\mathcal{F}^{*} (formula “true”). Hence [2 Lemma 3.3] holds with F∗\mathcal{F}^{*} in place of F\mathcal{F}.

Lemma 6. ∣F∗∣≤CN66|\mathcal{F}^{*}| \leq C N^{66} for a constant CC, and F∗\mathcal{F}^{*} can be listed deterministically in polynomial time.

Proof. Choose a sequence of 21 triples or blanks (≤(N3+1)21\leq(N^{3}+1)^{21} choices), a sequence of three threshold leaves or blanks (≤(4(N+2)+1)3\leq(4(N+2)+1)^{3} choices) and a formula template with at most 500 leaves over the resulting fixed finite set of atoms (a number of templates independent of NN). Since N≥3N \geq3,

(N3+1)21(4N+9)3≤C′N63N3.(N^{3}+1)^{21}(4N+9)^{3} \leq C' N^{63}N^{3}.

Evaluation and deduplication proceed as in [2 Lemma 2.3]. □\square

Proof of Theorem 1. We follow the accounting of [2 §9] verbatim, with B=CN66B = CN^{66} in place of CKN3KC_KN^{3K}. There are at most BB sets and at most S=BN3S = BN^{3} states per set, and one ordered state-pair test with its reachability update costs O(BN4)O(BN^{4}) steps. The only change concerns the number of passes. Along every transition ∣L∣|L| increases by at least three [2 proof of Proposition 3.1], so every path in the state graph of a set has at most N/3N/3 edges. After pp passes over all ordered pairs, every state reachable from an initial state by a path of at most pp edges is marked. Hence ⌈N/3⌉+1\lceil N/3\rceil+ 1 passes mark every reachable state, instead of SS passes. For all sets together the cost is

O(B⋅N⋅S2⋅BN4)=O(B4N11)=O(N4⋅66+11)=O(N275).O(B \cdot N \cdot S^{2} \cdot BN^{4}) = O(B^{4}N^{11}) = O(N^{4\cdot66+11}) = O(N^{275}).

Generating and deduplicating F∗\mathcal{F}^{*} costs O(B2N4)=O(N136)O(B^{2}N^{4}) = O(N^{136}); reachability preprocessing is polynomial of small degree, and state construction and table initialisation cost at most O(B⋅S⋅BN4)=O(N3⋅66+7)O(B \cdot S \cdot BN^{4}) = O(N^{3\cdot66+7}), all far below N275N^{275}. With N≤3n≤3LN \leq3n \leq3L (the vertices are explicitly listed, so L≥nL \geq n), the deadline decision costs O((L+2)275)O((L+2)^{275}), and the n≤Ln \leq L deadline trials for makespan minimisation give O((L+2)276)O((L+2)^{276}). □\square

Remark 7. Since feasibility is monotone in the deadline, a binary search over TT reduces the makespan computation to O(log⁡L)O(\log L) deadline trials, giving O((L+2)275log⁡(L+2))O((L+2)^{275}\log(L+2)).

Remark 8. The improvement does not alter the structural proof of [2]: it uses its descriptions as they stand, and only counts their parameters instead of their leaves. The accounting of the dynamic program itself is the conservative scan-based one of [2 §9]; a finer implementation of the table lookups would lower the exponent further, which we do not pursue.

Acknowledgement

Acknowledgement. Technical assistance: Claude (Anthropic).

References

  1. [1]M. R. Garey and D. S. Johnson, Computers and Intractability, Freeman, 1979.
  2. [2]OpenAI, A polynomial-time algorithm for three-machine unit-job scheduling, OpenAI Math Release preprint, September 24, 2026; Lean statement ComparatorChallenges/ThreeMachine.lean in the same release.hub.valency.io/works/W_jjzc2h76

Paper details

vlnc:W_85n9vepa
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 0

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Anthropic Claude Opus · View statement →

Looking for related papers…
Contents