Scheduling every job is hard for constant processing times and unit weights
Lax470956.Theorem2 · concepts/Lax470956/Theorem2.lean · lax-470956
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Deciding whether every job of an interval scheduling instance can be scheduled is NP-hard, and remains so on instances in which every processing time is at most and every weight is .
The bound on the processing times is absolute: it does not grow with the instance. So the problem is para-NP-hard for the parameter , and no algorithm running in time can exist for any function unless . Together with the third theorem, which is fixed-parameter tractable for , this shows that neither half of that combined parameter can be dropped.
The reduction is from -satisfiability. It gives each variable two machines, one for each truth value, and each clause three; each occurrence of a variable in a clause becomes a unit job flanked by two jobs filling the rest of a fixed window of length , and each variable becomes one job spanning that whole window. The bounded number of occurrences of a variable is what keeps the window, and with it every processing time, bounded by a constant.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax470956.Exact34Encoding |
| 2 | import Lax470956.PolynomialReduction |
| 3 | import Lax470956.SatVariant |
| 4 | import Lax470956.SchedulingProblems |
| 5 | |
| 6 | /-! |
| 7 | --- |
| 8 | title: Scheduling every job is hard for constant processing times and unit weights |
| 9 | type: theorem |
| 10 | --- |
| 11 | Deciding whether every job of an interval scheduling instance can be scheduled is |
| 12 | NP-hard, and remains so on instances in which every processing time is at most and |
| 13 | every weight is . |
| 14 | |
| 15 | The bound on the processing times is absolute: it does not grow with the instance. So the |
| 16 | problem is para-NP-hard for the parameter , and no algorithm running in |
| 17 | time can exist for any function unless |
| 18 | . Together with the third theorem, which is fixed-parameter |
| 19 | tractable for , this shows that neither half of that combined parameter can |
| 20 | be dropped. |
| 21 | |
| 22 | The reduction is from -satisfiability. It gives each variable two machines, |
| 23 | one for each truth value, and each clause three; each occurrence of a variable in a |
| 24 | clause becomes a unit job flanked by two jobs filling the rest of a fixed window of |
| 25 | length , and each variable becomes one job spanning that whole window. The bounded |
| 26 | number of occurrences of a variable is what keeps the window, and with it every |
| 27 | processing time, bounded by a constant. |
| 28 | |
| 29 | # Formalization notes |
| 30 | |
| 31 | Three separate statements, because they are three assertions with different content and |
| 32 | different costs to establish. |
| 33 | |
| 34 | The first is the reduction itself, the paper's result: a polynomial-time |
| 35 | map on words sending satisfiable formulas exactly to schedulable instances, all of them |
| 36 | in the bounded slice. It is stated on the word RAM, where a program can be written and |
| 37 | its running time counted. |
| 38 | |
| 39 | The other two are the hardness conclusions. Each follows from the reduction together |
| 40 | with the NP-hardness of -satisfiability, and each is stated against the |
| 41 | classical Turing-machine notion of NP, since that is what a claim of NP-hardness means. |
| 42 | They are separate because they are reached differently: the reduction is a statement |
| 43 | about one map, while a hardness claim quantifies over every language in NP and composes |
| 44 | the reduction with the hardness of the problem it starts from. |
| 45 | |
| 46 | Nothing beyond ordinary work stands between the three. Polynomial-time computability on |
| 47 | the two machine models is interchangeable, and polynomial-time maps compose, so a |
| 48 | reduction certified on either model transports to the other and can be chained with a |
| 49 | cited hardness result. The only input this submission does not supply is that hardness |
| 50 | result itself. |
| 51 | -/ |
| 52 | |
| 53 | namespace Lax470956.Theorem2 |
| 54 | |
| 55 | open Lax470956.Scheduling Lax470956.NPHardness Lax470956.PolynomialReduction |
| 56 | |
| 57 | /-- The words encoding an instance in which every processing time is at most `25` and |
| 58 | every weight is `1`. -/ |
| 59 | def BoundedSlice (y : List ℕ) : Prop := |
| 60 | ∃ I : Instance, InstanceEncoding.EncodesInstance y I ∧ |
| 61 | I.pmax ≤ 25 ∧ ∀ j, I.w j = 1 |
| 62 | |
| 63 | /-- **Construction 2.** `(3,4)`-satisfiability reduces in polynomial time to |
| 64 | scheduling every job, by a reduction whose every output has processing times at most |
| 65 | `25` and unit weights. -/ |
| 66 | axiom sat34_polyReducesOn_allSchedulable : |
| 67 | PolyReducesOn Exact34Encoding.Satisfiable |
| 68 | {y | ∃ I, InstanceEncoding.EncodesInstance y I ∧ I.AllSchedulable} |
| 69 | BoundedSlice |
| 70 | |
| 71 | /-- **Theorem 2.** Deciding whether every job can be scheduled is NP-hard. -/ |
| 72 | axiom npHard_allSchedulable : NPHard Instance.AllSchedulable |
| 73 | |
| 74 | /-- **Theorem 2, on the bounded slice.** Deciding whether every job can be scheduled is |
| 75 | NP-hard already on instances whose processing times are at most `25` and whose weights |
| 76 | are all `1` — so the problem is para-NP-hard for the parameter `p_max`. -/ |
| 77 | axiom npHardOn_allSchedulable_pmax_le : |
| 78 | NPHardOn Instance.AllSchedulable |
| 79 | fun I => I.pmax ≤ 25 ∧ ∀ j, I.w j = 1 |
| 80 | |
| 81 | end Lax470956.Theorem2 |
| 82 |
Formalization notes
Three separate statements, because they are three assertions with different content and different costs to establish.
The first is the reduction itself, the paper's result: a polynomial-time map on words sending satisfiable formulas exactly to schedulable instances, all of them in the bounded slice. It is stated on the word RAM, where a program can be written and its running time counted.
The other two are the hardness conclusions. Each follows from the reduction together with the NP-hardness of -satisfiability, and each is stated against the classical Turing-machine notion of NP, since that is what a claim of NP-hardness means. They are separate because they are reached differently: the reduction is a statement about one map, while a hardness claim quantifies over every language in NP and composes the reduction with the hardness of the problem it starts from.
Nothing beyond ordinary work stands between the three. Polynomial-time computability on the two machine models is interchangeable, and polynomial-time maps compose, so a reduction certified on either model transports to the other and can be chained with a cited hardness result. The only input this submission does not supply is that hardness result itself.
Builds on
Used by
none
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments