Interval scheduling is fixed-parameter tractable for the machines and the largest processing time
Lax470956.Theorem3 · concepts/Lax470956/Theorem3.lean · lax-470956
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Interval scheduling with eligible machine sets is fixed-parameter tractable for the combined parameter . There are one word RAM program and one constant such that, at every word length, on every decision instance whose encoding fits into words, the program halts within
instructions and writes if a feasible schedule of weight exists and if none does.
The algorithm sweeps the time axis. At each point it records, for every machine, how much longer that machine stays busy (a vector of numbers, each at most ) and the best weight achieving that configuration. A preprocessing step first discards all but a bounded number of jobs per starting time, so the number of jobs alive at any moment, and hence the number of reachable configurations, is bounded by a function of the parameter alone.
Together with the first theorem, which rules out fixed-parameter tractability for alone unless , and the second, which rules it out for alone unless , this locates the problem: the combined parameter is tractable and neither half of it is.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax470956.SchedulingProblems |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Interval scheduling is fixed-parameter tractable for the machines and the largest processing time |
| 6 | type: theorem |
| 7 | --- |
| 8 | Interval scheduling with eligible machine sets is fixed-parameter tractable for the |
| 9 | combined parameter . There are one word RAM program and one constant |
| 10 | such that, at every word length, on every decision instance whose encoding fits into |
| 11 | words, the program halts within |
| 12 | |
| 13 | instructions and writes if a feasible schedule of weight exists and if none |
| 14 | does. |
| 15 | |
| 16 | The algorithm sweeps the time axis. At each point it records, for every machine, how much |
| 17 | longer that machine stays busy (a vector of numbers, each at most ) and the |
| 18 | best weight achieving that configuration. A preprocessing step first discards all but a |
| 19 | bounded number of jobs per starting time, so the number of jobs alive at any moment, and |
| 20 | hence the number of reachable configurations, is bounded by a function of the parameter alone. |
| 21 | |
| 22 | Together with the first theorem, which rules out fixed-parameter tractability for |
| 23 | alone unless , and the second, which rules it out for |
| 24 | alone unless , this locates the problem: the |
| 25 | combined parameter is tractable and neither half of it is. |
| 26 | |
| 27 | # Formalization notes |
| 28 | |
| 29 | Two statements are made. The first gives the running time explicitly, with the dependence on |
| 30 | the parameter written out, for the words that leave room for the algorithm's table. The second |
| 31 | is `FPT` from `ParameterizedComplexity`, for every word whose entries fit. |
| 32 | |
| 33 | The first statement's domain has a second clause beyond `Fits`. `Fits` says that the entries |
| 34 | of the instance are words, which is needed because deadlines and weights are not bounded by the |
| 35 | length of the word. The second clause says that is a word. The |
| 36 | algorithm's table is indexed by machine configurations, there are of them, and |
| 37 | a machine with cells cannot address a larger table, so without the clause the claimed |
| 38 | time would not be achievable. |
| 39 | |
| 40 | `FPT` has no such clause, so the second statement is not a weakening of the first. The |
| 41 | program compares the word's length with the table: when the word is at least as long as the |
| 42 | table, the table fits, since every admissible word fits with room for a multiple of its |
| 43 | length; when the word is shorter than the table, its length is bounded by a function of the |
| 44 | parameter, and the program tries every schedule instead. The function of the parameter is |
| 45 | then much larger than . |
| 46 | |
| 47 | The program and the constant are quantified before the word length, so one program serves |
| 48 | every word length that admits its input. A program chosen after the word length could hide an |
| 49 | unbounded amount of information in its literals and would be a family of programs, not an |
| 50 | algorithm. |
| 51 | |
| 52 | The theorem is stated for the decision problem with a threshold rather than for the |
| 53 | optimization problem. The algorithm computes the optimum and the comparison is one further |
| 54 | instruction; the decision version has the same shape as the two hardness theorems. |
| 55 | -/ |
| 56 | |
| 57 | namespace Lax470956.Theorem3 |
| 58 | |
| 59 | open Lax808846.Ram Lax808846.RamComputes |
| 60 | open Lax470956.InstanceEncoding Lax470956.SchedulingProblems Lax470956.ParameterizedComplexity |
| 61 | |
| 62 | open Classical in |
| 63 | /-- **Theorem 3.** One word RAM program decides interval scheduling with eligible machine |
| 64 | sets within `c * (m * p_max + 1) ^ (2 * m) * (m + 1) * (|x| + 1)` instructions, at every |
| 65 | word length admitting the instance and a table indexed by machine configurations. |
| 66 | |
| 67 | The paper states the bound as `O((m · p_max)^{2m} · m · n)`. Written with an explicit |
| 68 | constant, the product needs the `+1`s: with no machines, or with no jobs, `(m · p_max)^{2m} · m` |
| 69 | is zero, and no program answers in zero instructions. Apart from those terms, the bound differs |
| 70 | from the paper's in measuring the input by `|x|` instead of `n`. -/ |
| 71 | axiom fptTime_byMachinesAndPmax : |
| 72 | ∃ (prog : Program) (c : ℕ), ∀ w : ℕ, |
| 73 | ComputesInTime w prog |
| 74 | {x | x ∈ DecisionInstances ∧ Fits c w x ∧ |
| 75 | c * (machineCount x * pmaxOf x + 1) ^ (2 * machineCount x) ≤ 2 ^ w} |
| 76 | (fun x => if byMachinesAndPmax.Yes x then [1] else [0]) |
| 77 | (fun x => c * (machineCount x * pmaxOf x + 1) ^ (2 * machineCount x) * |
| 78 | (machineCount x + 1) * (x.length + 1)) |
| 79 | |
| 80 | /-- **Theorem 3**, in the general form: the problem parameterized by `m + p_max` is |
| 81 | fixed-parameter tractable. |
| 82 | |
| 83 | It does not follow from the explicit bound by weakening the function of the parameter, |
| 84 | because `FPT` asks for an answer on every word whose entries fit, and there the table need not |
| 85 | be addressable. Where it is not, the proof tries every schedule, and the function of the |
| 86 | parameter is much larger than `(m · p_max)^{2m}`. -/ |
| 87 | axiom fpt_byMachinesAndPmax : FPT byMachinesAndPmax |
| 88 | |
| 89 | end Lax470956.Theorem3 |
| 90 |
Formalization notes
Two statements are made. The first gives the running time explicitly, with the dependence on the parameter written out, for the words that leave room for the algorithm's table. The second is from , for every word whose entries fit.
The first statement's domain has a second clause beyond . says that the entries of the instance are words, which is needed because deadlines and weights are not bounded by the length of the word. The second clause says that is a word. The algorithm's table is indexed by machine configurations, there are of them, and a machine with cells cannot address a larger table, so without the clause the claimed time would not be achievable.
has no such clause, so the second statement is not a weakening of the first. The program compares the word's length with the table: when the word is at least as long as the table, the table fits, since every admissible word fits with room for a multiple of its length; when the word is shorter than the table, its length is bounded by a function of the parameter, and the program tries every schedule instead. The function of the parameter is then much larger than .
The program and the constant are quantified before the word length, so one program serves every word length that admits its input. A program chosen after the word length could hide an unbounded amount of information in its literals and would be a family of programs, not an algorithm.
The theorem is stated for the decision problem with a threshold rather than for the optimization problem. The algorithm computes the optimum and the comparison is one further instruction; the decision version has the same shape as the two hardness theorems.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments