<p>We study the following <span>Independent Stable Set</span> problem. Let <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\(\varvec{G}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">G</mi> </mrow> </math></EquationSource> </InlineEquation> be an undirected graph and <InlineEquation ID="IEq2"> <EquationSource Format="TEX">\(\varvec{\mathcal {M}} \varvec{=} \varvec{(V(G),} \varvec{\mathcal {I})}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-script">M</mi> </mrow> <mrow> <mo mathvariant="bold">=</mo> </mrow> <mrow> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">V</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">G</mi> <mo mathvariant="bold" stretchy="false">)</mo> <mo mathvariant="bold">,</mo> </mrow> <mrow> <mi mathvariant="bold-script">I</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> be a matroid whose elements are the vertices of <InlineEquation ID="IEq3"> <EquationSource Format="TEX">\(\varvec{G}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">G</mi> </mrow> </math></EquationSource> </InlineEquation>. For an integer <InlineEquation ID="IEq4"> <EquationSource Format="TEX">\(\varvec{k}\varvec{\ge } \varvec{1}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">k</mi> </mrow> <mrow> <mo mathvariant="bold">≥</mo> </mrow> <mrow> <mn mathvariant="bold">1</mn> </mrow> </mrow> </math></EquationSource> </InlineEquation>, the task is to decide whether <InlineEquation ID="IEq5"> <EquationSource Format="TEX">\(\varvec{G}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">G</mi> </mrow> </math></EquationSource> </InlineEquation> contains a set <InlineEquation ID="IEq6"> <EquationSource Format="TEX">\(\varvec{S}\varvec{\subseteq } \varvec{V(G)}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">S</mi> </mrow> <mrow> <mo mathvariant="bold">⊆</mo> </mrow> <mrow> <mi mathvariant="bold-italic">V</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">G</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> of size at least <InlineEquation ID="IEq7"> <EquationSource Format="TEX">\(\varvec{k}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">k</mi> </mrow> </math></EquationSource> </InlineEquation> which is independent (stable) in <InlineEquation ID="IEq8"> <EquationSource Format="TEX">\(\varvec{G}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">G</mi> </mrow> </math></EquationSource> </InlineEquation> and independent in <InlineEquation ID="IEq9"> <EquationSource Format="TEX">\(\varvec{\mathcal {M}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-script">M</mi> </mrow> </math></EquationSource> </InlineEquation>. This problem generalizes several well-studied algorithmic problems, including <span>Rainbow Independent Set</span>, <span>Rainbow Matching</span>, and <span>Bipartite Matching with Separation</span>. We show that when the matroid <InlineEquation ID="IEq10"> <EquationSource Format="TEX">\(\varvec{\mathcal {M}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-script">M</mi> </mrow> </math></EquationSource> </InlineEquation> is represented by an independence oracle, then for any computable function <InlineEquation ID="IEq11"> <EquationSource Format="TEX">\(\varvec{f}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">f</mi> </mrow> </math></EquationSource> </InlineEquation>, no algorithm can solve <span>Independent Stable Set</span> using <InlineEquation ID="IEq12"> <EquationSource Format="TEX">\(\varvec{f(k)} \varvec{\cdot } \varvec{n}^{\varvec{o(k)}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">f</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">k</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> <mrow> <mo mathvariant="bold">·</mo> </mrow> <msup> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> <mrow> <mi mathvariant="bold-italic">o</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">k</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </msup> </mrow> </math></EquationSource> </InlineEquation> calls to the oracle. On the other hand, when the graph <InlineEquation ID="IEq13"> <EquationSource Format="TEX">\(\varvec{G}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">G</mi> </mrow> </math></EquationSource> </InlineEquation> is of degeneracy <InlineEquation ID="IEq14"> <EquationSource Format="TEX">\(\varvec{d}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">d</mi> </mrow> </math></EquationSource> </InlineEquation>, then the problem is solvable in time <InlineEquation ID="IEq15"> <EquationSource Format="TEX">\(\varvec{\mathcal {O}}\varvec{((d+1)}^{\varvec{k}} \varvec{\cdot } \varvec{n)}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <msup> <mrow> <mo mathvariant="bold" stretchy="false">(</mo> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">d</mi> <mo mathvariant="bold">+</mo> <mn mathvariant="bold">1</mn> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> <mrow> <mi mathvariant="bold-italic">k</mi> </mrow> </msup> <mrow> <mo mathvariant="bold">·</mo> </mrow> <mrow> <mi mathvariant="bold-italic">n</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>, and hence is <b>FPT</b> parameterized by <InlineEquation ID="IEq16"> <EquationSource Format="TEX">\(\varvec{d} \varvec{+} \varvec{k}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">d</mi> </mrow> <mrow> <mo mathvariant="bold">+</mo> </mrow> <mrow> <mi mathvariant="bold-italic">k</mi> </mrow> </mrow> </math></EquationSource> </InlineEquation>. Moreover, when the degeneracy <InlineEquation ID="IEq17"> <EquationSource Format="TEX">\(\varvec{d}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">d</mi> </mrow> </math></EquationSource> </InlineEquation> is a constant (which is not a part of the input), the problem admits a kernel polynomial in <InlineEquation ID="IEq18"> <EquationSource Format="TEX">\(\varvec{k}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">k</mi> </mrow> </math></EquationSource> </InlineEquation>. More precisely, we prove that for every integer <InlineEquation ID="IEq19"> <EquationSource Format="TEX">\(\varvec{d}\varvec{\ge } \varvec{0}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">d</mi> </mrow> <mrow> <mo mathvariant="bold">≥</mo> </mrow> <mrow> <mn mathvariant="bold">0</mn> </mrow> </mrow> </math></EquationSource> </InlineEquation>, the problem admits a kernelization algorithm that in time <InlineEquation ID="IEq20"> <EquationSource Format="TEX">\(\varvec{n}^{\varvec{\mathcal {O}(d)}}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> <mrow> <mi mathvariant="bold-script">O</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">d</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </msup> </math></EquationSource> </InlineEquation> outputs an equivalent framework with a graph on <InlineEquation ID="IEq21"> <EquationSource Format="TEX">\(\varvec{dk}^{\varvec{\mathcal {O}(d)}}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mi mathvariant="bold-italic">dk</mi> </mrow> <mrow> <mi mathvariant="bold-script">O</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">d</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </msup> </math></EquationSource> </InlineEquation> vertices. A lower bound complements this when <InlineEquation ID="IEq22"> <EquationSource Format="TEX">\(\varvec{d}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">d</mi> </mrow> </math></EquationSource> </InlineEquation> is part of the input: <span>Independent Stable Set</span> does not admit a polynomial kernel when parameterized by <InlineEquation ID="IEq23"> <EquationSource Format="TEX">\(\varvec{k} \varvec{+} \varvec{d}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">k</mi> </mrow> <mrow> <mo mathvariant="bold">+</mo> </mrow> <mrow> <mi mathvariant="bold-italic">d</mi> </mrow> </mrow> </math></EquationSource> </InlineEquation> unless <InlineEquation ID="IEq24"> <EquationSource Format="TEX">\(\varvec{{{\,\textrm{NP}\,}}} \varvec{\subseteq } \varvec{{{\,\textrm{coNP}\,}}}\varvec{/} {\textbf {poly}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mrow> <mspace width="0.166667em" /> <mtext>NP</mtext> <mspace width="0.166667em" /> </mrow> </mrow> <mrow> <mo mathvariant="bold">⊆</mo> </mrow> <mrow> <mrow> <mspace width="0.166667em" /> <mtext>coNP</mtext> <mspace width="0.166667em" /> </mrow> </mrow> <mrow> <mo mathvariant="bold" stretchy="false">/</mo> </mrow> <mi mathvariant="bold">poly</mi> </mrow> </math></EquationSource> </InlineEquation>. This lower bound holds even when <InlineEquation ID="IEq25"> <EquationSource Format="TEX">\(\varvec{\mathcal {M}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-script">M</mi> </mrow> </math></EquationSource> </InlineEquation> is a partition matroid. Another set of results concerns the scenario when the graph <InlineEquation ID="IEq26"> <EquationSource Format="TEX">\(\varvec{G}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">G</mi> </mrow> </math></EquationSource> </InlineEquation> is chordal. In this case, our computational lower bound excludes an <b>FPT</b> algorithm when the input matroid is given by its independence oracle. However, we demonstrate that <span>Independent Stable Set</span> can be solved in <InlineEquation ID="IEq27"> <EquationSource Format="TEX">\(\varvec{2}^{\varvec{\mathcal {O}(k)}}\varvec{\cdot } \varvec{\Vert \mathcal {M}\Vert }^{\varvec{\mathcal {O}(1)}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mrow> <mn mathvariant="bold">2</mn> </mrow> <mrow> <mi mathvariant="bold-script">O</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">k</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </msup> <mrow> <mo mathvariant="bold">·</mo> </mrow> <msup> <mrow> <mo mathvariant="bold" stretchy="false">‖</mo> <mi mathvariant="bold-script">M</mi> <mo mathvariant="bold" stretchy="false">‖</mo> </mrow> <mrow> <mi mathvariant="bold-script">O</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mn mathvariant="bold">1</mn> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </msup> </mrow> </math></EquationSource> </InlineEquation> time when <InlineEquation ID="IEq28"> <EquationSource Format="TEX">\(\varvec{\mathcal {M}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-script">M</mi> </mrow> </math></EquationSource> </InlineEquation> is a linear matroid given by its representation. In the same setting, <span>Independent Stable Set</span> does not have a polynomial kernel when parameterized by <InlineEquation ID="IEq29"> <EquationSource Format="TEX">\(\varvec{k}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">k</mi> </mrow> </math></EquationSource> </InlineEquation> unless <InlineEquation ID="IEq30"> <EquationSource Format="TEX">\(\varvec{{{\,\textrm{NP}\,}}} \varvec{\subseteq } \varvec{{{\,\textrm{coNP}\,}}}\varvec{/} {\textbf {poly}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mrow> <mspace width="0.166667em" /> <mtext>NP</mtext> <mspace width="0.166667em" /> </mrow> </mrow> <mrow> <mo mathvariant="bold">⊆</mo> </mrow> <mrow> <mrow> <mspace width="0.166667em" /> <mtext>coNP</mtext> <mspace width="0.166667em" /> </mrow> </mrow> <mrow> <mo mathvariant="bold" stretchy="false">/</mo> </mrow> <mi mathvariant="bold">poly</mi> </mrow> </math></EquationSource> </InlineEquation>.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Stability in Graphs with Matroid Constraints

  • Fedor V. Fomin,
  • Petr A. Golovach,
  • Tuukka Korhonen,
  • Saket Saurabh

摘要

We study the following Independent Stable Set problem. Let \(\varvec{G}\) G be an undirected graph and \(\varvec{\mathcal {M}} \varvec{=} \varvec{(V(G),} \varvec{\mathcal {I})}\) M = ( V ( G ) , I ) be a matroid whose elements are the vertices of \(\varvec{G}\) G . For an integer \(\varvec{k}\varvec{\ge } \varvec{1}\) k 1 , the task is to decide whether \(\varvec{G}\) G contains a set \(\varvec{S}\varvec{\subseteq } \varvec{V(G)}\) S V ( G ) of size at least \(\varvec{k}\) k which is independent (stable) in \(\varvec{G}\) G and independent in \(\varvec{\mathcal {M}}\) M . This problem generalizes several well-studied algorithmic problems, including Rainbow Independent Set, Rainbow Matching, and Bipartite Matching with Separation. We show that when the matroid \(\varvec{\mathcal {M}}\) M is represented by an independence oracle, then for any computable function \(\varvec{f}\) f , no algorithm can solve Independent Stable Set using \(\varvec{f(k)} \varvec{\cdot } \varvec{n}^{\varvec{o(k)}}\) f ( k ) · n o ( k ) calls to the oracle. On the other hand, when the graph \(\varvec{G}\) G is of degeneracy \(\varvec{d}\) d , then the problem is solvable in time \(\varvec{\mathcal {O}}\varvec{((d+1)}^{\varvec{k}} \varvec{\cdot } \varvec{n)}\) O ( ( d + 1 ) k · n ) , and hence is FPT parameterized by \(\varvec{d} \varvec{+} \varvec{k}\) d + k . Moreover, when the degeneracy \(\varvec{d}\) d is a constant (which is not a part of the input), the problem admits a kernel polynomial in \(\varvec{k}\) k . More precisely, we prove that for every integer \(\varvec{d}\varvec{\ge } \varvec{0}\) d 0 , the problem admits a kernelization algorithm that in time \(\varvec{n}^{\varvec{\mathcal {O}(d)}}\) n O ( d ) outputs an equivalent framework with a graph on \(\varvec{dk}^{\varvec{\mathcal {O}(d)}}\) dk O ( d ) vertices. A lower bound complements this when \(\varvec{d}\) d is part of the input: Independent Stable Set does not admit a polynomial kernel when parameterized by \(\varvec{k} \varvec{+} \varvec{d}\) k + d unless \(\varvec{{{\,\textrm{NP}\,}}} \varvec{\subseteq } \varvec{{{\,\textrm{coNP}\,}}}\varvec{/} {\textbf {poly}}\) NP coNP / poly . This lower bound holds even when \(\varvec{\mathcal {M}}\) M is a partition matroid. Another set of results concerns the scenario when the graph \(\varvec{G}\) G is chordal. In this case, our computational lower bound excludes an FPT algorithm when the input matroid is given by its independence oracle. However, we demonstrate that Independent Stable Set can be solved in \(\varvec{2}^{\varvec{\mathcal {O}(k)}}\varvec{\cdot } \varvec{\Vert \mathcal {M}\Vert }^{\varvec{\mathcal {O}(1)}}\) 2 O ( k ) · M O ( 1 ) time when \(\varvec{\mathcal {M}}\) M is a linear matroid given by its representation. In the same setting, Independent Stable Set does not have a polynomial kernel when parameterized by \(\varvec{k}\) k unless \(\varvec{{{\,\textrm{NP}\,}}} \varvec{\subseteq } \varvec{{{\,\textrm{coNP}\,}}}\varvec{/} {\textbf {poly}}\) NP coNP / poly .