<p>In this paper, we introduce a directed variant of the classical <span>Bandwidth</span>problem and study it from the view-point of moderately exponential time algorithms, both exactly and approximately. Motivated by the definitions of the directed variants of the classical <span>Cutwidth</span> and <span>Pathwidth</span> problems, we define <span>Digraph Bandwidth</span> as follows. Given a digraph <InlineEquation ID="IEq4"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq4.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="21" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{D}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">D</mi> </mrow> </math></EquationSource> </InlineEquation> and an ordering <InlineEquation ID="IEq5"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq5.gif" Format="GIF" Height="10" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\sigma }\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">σ</mi> </mrow> </math></EquationSource> </InlineEquation> of its vertices, the <i>digraph bandwidth</i> of <InlineEquation ID="IEq6"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq6.gif" Format="GIF" Height="10" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\sigma }\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">σ</mi> </mrow> </math></EquationSource> </InlineEquation> with respect to <InlineEquation ID="IEq7"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq7.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="21" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{D}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">D</mi> </mrow> </math></EquationSource> </InlineEquation> is equal to the maximum value of <InlineEquation ID="IEq8"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq8.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="100" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\sigma (v)}-\varvec{\sigma (u)}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">σ</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">v</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> <mo>-</mo> <mrow> <mi mathvariant="bold-italic">σ</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">u</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> over all arcs <InlineEquation ID="IEq9"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq9.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="48" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{(u,v)}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">u</mi> <mo mathvariant="bold">,</mo> <mi mathvariant="bold-italic">v</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> of <InlineEquation ID="IEq10"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq10.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="21" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{D}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">D</mi> </mrow> </math></EquationSource> </InlineEquation> going forward along <InlineEquation ID="IEq11"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq11.gif" Format="GIF" Height="10" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\sigma }\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">σ</mi> </mrow> </math></EquationSource> </InlineEquation> (that is, when <InlineEquation ID="IEq12"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq12.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="102" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\sigma (u)} &lt; \varvec{\sigma (v)}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">σ</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">u</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> <mo>&lt;</mo> <mrow> <mi mathvariant="bold-italic">σ</mi> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">v</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>). The <span>Digraph Bandwidth</span> problem takes as input a digraph <InlineEquation ID="IEq13"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq13.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="21" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{D}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">D</mi> </mrow> </math></EquationSource> </InlineEquation> and asks to output an ordering with the minimum digraph bandwidth. The undirected <span>Bandwidth</span>easily reduces to <span>Digraph Bandwidth</span> and thus, it immediately implies that <span>Digraph Bandwidth</span> is <Emphasis FontCategory="SansSerif">NP</Emphasis>-hard. While an <InlineEquation ID="IEq14"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq14.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="57" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\mathcal {O}}^{\star }\varvec{(n!)}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo>⋆</mo> </msup> <mrow> <mo mathvariant="bold" stretchy="false">(</mo> <mi mathvariant="bold-italic">n</mi> <mo mathvariant="bold">!</mo> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> time algorithm for the problem is trivial, the goal of this paper is to design algorithms for <span>Digraph Bandwidth</span> which have running times of the form <InlineEquation ID="IEq15"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq15.gif" Format="GIF" Height="18" Rendition="HTML" Resolution="72" Type="Linedraw" Width="42" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{2}^{\varvec{\mathcal {O}(n)}}\)</EquationSource> <EquationSource Format="MATHML"><math> <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">n</mi> <mo mathvariant="bold" stretchy="false">)</mo> </mrow> </msup> </math></EquationSource> </InlineEquation>. In particular, we obtain the following results. Here, <InlineEquation ID="IEq16"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq16.gif" Format="GIF" Height="10" Rendition="HTML" Resolution="72" Type="Linedraw" Width="16" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{n}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </math></EquationSource> </InlineEquation> and <InlineEquation ID="IEq17"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq17.gif" Format="GIF" Height="10" Rendition="HTML" Resolution="72" Type="Linedraw" Width="21" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{m}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">m</mi> </mrow> </math></EquationSource> </InlineEquation> denote the number of vertices and arcs of the input digraph <InlineEquation ID="IEq18"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq18.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="21" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{D}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">D</mi> </mrow> </math></EquationSource> </InlineEquation>, respectively.<UnorderedList Mark="Bullet"> <ItemContent> <p><span>Digraph Bandwidth</span> can be solved in <InlineEquation ID="IEq19"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq19.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="90" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\mathcal {O}}^\star (\varvec{3}^{\varvec{n}} \cdot \varvec{2}^{\varvec{m}})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo>⋆</mo> </msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mn mathvariant="bold">3</mn> </mrow> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </msup> <mo>·</mo> <msup> <mrow> <mn mathvariant="bold">2</mn> </mrow> <mrow> <mi mathvariant="bold-italic">m</mi> </mrow> </msup> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> time. This result implies a <InlineEquation ID="IEq20"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq20.gif" Format="GIF" Height="18" Rendition="HTML" Resolution="72" Type="Linedraw" Width="40" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{2}^{\varvec{\mathcal {O}}(\varvec{n})}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mn mathvariant="bold">2</mn> </mrow> <mrow> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo stretchy="false">(</mo> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> <mo stretchy="false">)</mo> </mrow> </msup> </math></EquationSource> </InlineEquation> time algorithm on sparse graphs, such as graphs of bounded average degree (planar graphs).</p> </ItemContent> <ItemContent> <p>Let <InlineEquation ID="IEq21"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq21.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="20" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{G}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">G</mi> </mrow> </math></EquationSource> </InlineEquation> be the underlying undirected graph of the input digraph. If the treewidth of <InlineEquation ID="IEq22"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq22.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="20" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{G}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">G</mi> </mrow> </math></EquationSource> </InlineEquation> is at most <InlineEquation ID="IEq23"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq23.gif" Format="GIF" Height="13" Rendition="HTML" Resolution="72" Type="Linedraw" Width="12" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{t}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">t</mi> </mrow> </math></EquationSource> </InlineEquation>, then <span>Digraph Bandwidth</span> can be solved in time <InlineEquation ID="IEq24"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq24.gif" Format="GIF" Height="21" Rendition="HTML" Resolution="72" Type="Linedraw" Width="124" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\mathcal {O}}^\star (\varvec{2}^{\varvec{n} + (\varvec{t}+\varvec{2})\, \varvec{\log }\, \varvec{n}})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo>⋆</mo> </msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mn mathvariant="bold">2</mn> </mrow> <mrow> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> <mo>+</mo> <mo stretchy="false">(</mo> <mrow> <mi mathvariant="bold-italic">t</mi> </mrow> <mo>+</mo> <mrow> <mn mathvariant="bold">2</mn> </mrow> <mo stretchy="false">)</mo> <mspace width="0.166667em" /> <mrow> <mo mathvariant="bold">log</mo> </mrow> <mspace width="0.166667em" /> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </mrow> </msup> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>. This result implies a <InlineEquation ID="IEq25"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq25.gif" Format="GIF" Height="17" Rendition="HTML" Resolution="72" Type="Linedraw" Width="98" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{2}^{\varvec{n}+\varvec{\mathcal {O}}(\sqrt{\varvec{n}}\, \varvec{\log }\, \varvec{n})}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mn mathvariant="bold">2</mn> </mrow> <mrow> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> <mo>+</mo> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo stretchy="false">(</mo> <msqrt> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </msqrt> <mspace width="0.166667em" /> <mrow> <mo mathvariant="bold">log</mo> </mrow> <mspace width="0.166667em" /> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> <mo stretchy="false">)</mo> </mrow> </msup> </math></EquationSource> </InlineEquation> algorithm, for directed planar graphs and, in general, for the class of digraphs whose underlying undirected graph excludes some fixed graph <InlineEquation ID="IEq26"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq26.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="22" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{H}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">H</mi> </mrow> </math></EquationSource> </InlineEquation> as a minor.</p> </ItemContent> <ItemContent> <p><span>Digraph Bandwidth</span> can be solved in <InlineEquation ID="IEq27"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq27.gif" Format="GIF" Height="21" Rendition="HTML" Resolution="72" Type="Linedraw" Width="286" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\min } \{ \varvec{\mathcal {O}}^{\star }(\varvec{4}^{\varvec{n}} \cdot \varvec{b}^{\varvec{n}}), \varvec{\mathcal {O}}^{\star }(\varvec{4}^{\varvec{n}} \cdot \varvec{2}^{\varvec{b}\, \varvec{\log }\, \varvec{b}\, \varvec{\log }\, \varvec{n}})\}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mo mathvariant="bold" movablelimits="true">min</mo> </mrow> <mo stretchy="false">{</mo> <msup> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo>⋆</mo> </msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mn mathvariant="bold">4</mn> </mrow> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </msup> <mo>·</mo> <msup> <mrow> <mi mathvariant="bold-italic">b</mi> </mrow> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </msup> <mo stretchy="false">)</mo> </mrow> <mo>,</mo> <msup> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo>⋆</mo> </msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mn mathvariant="bold">4</mn> </mrow> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </msup> <mo>·</mo> <msup> <mrow> <mn mathvariant="bold">2</mn> </mrow> <mrow> <mrow> <mi mathvariant="bold-italic">b</mi> </mrow> <mspace width="0.166667em" /> <mrow> <mo mathvariant="bold">log</mo> </mrow> <mspace width="0.166667em" /> <mrow> <mi mathvariant="bold-italic">b</mi> </mrow> <mspace width="0.166667em" /> <mrow> <mo mathvariant="bold">log</mo> </mrow> <mspace width="0.166667em" /> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </mrow> </msup> <mo stretchy="false">)</mo> </mrow> <mo stretchy="false">}</mo> </mrow> </math></EquationSource> </InlineEquation> time, where <InlineEquation ID="IEq28"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq28.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="14" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{b}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">b</mi> </mrow> </math></EquationSource> </InlineEquation> denotes the optimal digraph bandwidth of <InlineEquation ID="IEq29"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq29.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="21" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{D}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold-italic">D</mi> </mrow> </math></EquationSource> </InlineEquation>. This allow us to deduce a <InlineEquation ID="IEq30"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq30.gif" Format="GIF" Height="18" Rendition="HTML" Resolution="72" Type="Linedraw" Width="40" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{2}^{\varvec{\mathcal {O}}(\varvec{n})}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mn mathvariant="bold">2</mn> </mrow> <mrow> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo stretchy="false">(</mo> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> <mo stretchy="false">)</mo> </mrow> </msup> </math></EquationSource> </InlineEquation> algorithm in many cases, for example when <InlineEquation ID="IEq31"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq31.gif" Format="GIF" Height="23" Rendition="HTML" Resolution="72" Type="Linedraw" Width="70" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{b} \le \frac{\varvec{n}}{\varvec{\log }^{\varvec{2}}\,\varvec{n}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">b</mi> </mrow> <mo>≤</mo> <mfrac> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> <mrow> <msup> <mrow> <mo mathvariant="bold">log</mo> </mrow> <mrow> <mn mathvariant="bold">2</mn> </mrow> </msup> <mspace width="0.166667em" /> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </mrow> </mfrac> </mrow> </math></EquationSource> </InlineEquation>.</p> </ItemContent> <ItemContent> <p>Finally, we give a <i>(Single) Exponential Time Approximation Scheme</i> for <span>Digraph Bandwidth</span>. In particular, we show that for any fixed real <InlineEquation ID="IEq32"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq32.gif" Format="GIF" Height="13" Rendition="HTML" Resolution="72" Type="Linedraw" Width="42" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\epsilon } &gt; \varvec{0}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi mathvariant="bold-italic">ϵ</mi> </mrow> <mo>&gt;</mo> <mrow> <mn mathvariant="bold">0</mn> </mrow> </mrow> </math></EquationSource> </InlineEquation>, we can find an ordering whose digraph bandwidth is at most <InlineEquation ID="IEq33"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq33.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="52" /> </InlineMediaObject> <EquationSource Format="TEX">\((\varvec{1}+\varvec{\epsilon })\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mo stretchy="false">(</mo> <mrow> <mn mathvariant="bold">1</mn> </mrow> <mo>+</mo> <mrow> <mi mathvariant="bold-italic">ϵ</mi> </mrow> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> times the optimal digraph bandwidth, in time <InlineEquation ID="IEq34"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="224_2024_10202_Article_IEq34.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="129" /> </InlineMediaObject> <EquationSource Format="TEX">\(\varvec{\mathcal {O}}^{{\star }}(\varvec{4}^{\varvec{n}} \cdot (\lceil \varvec{4}/{\varvec{\epsilon }} \rceil )^n)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mrow> <mi mathvariant="bold-script">O</mi> </mrow> <mo>⋆</mo> </msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mn mathvariant="bold">4</mn> </mrow> <mrow> <mi mathvariant="bold-italic">n</mi> </mrow> </msup> <mo>·</mo> <msup> <mrow> <mo stretchy="false">(</mo> <mrow> <mo>⌈</mo> <mrow> <mn mathvariant="bold">4</mn> </mrow> <mo stretchy="false">/</mo> <mrow> <mi mathvariant="bold-italic">ϵ</mi> </mrow> <mo>⌉</mo> </mrow> <mo stretchy="false">)</mo> </mrow> <mi>n</mi> </msup> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>.</p> </ItemContent> </UnorderedList></p>

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

Exact and Approximate Digraph Bandwidth

  • Pallavi Jain,
  • Lawqueen Kanesh,
  • Willian Lochet,
  • Saket Saurabh,
  • Roohani Sharma

摘要

In this paper, we introduce a directed variant of the classical Bandwidthproblem and study it from the view-point of moderately exponential time algorithms, both exactly and approximately. Motivated by the definitions of the directed variants of the classical Cutwidth and Pathwidth problems, we define Digraph Bandwidth as follows. Given a digraph \(\varvec{D}\) D and an ordering \(\varvec{\sigma }\) σ of its vertices, the digraph bandwidth of \(\varvec{\sigma }\) σ with respect to \(\varvec{D}\) D is equal to the maximum value of \(\varvec{\sigma (v)}-\varvec{\sigma (u)}\) σ ( v ) - σ ( u ) over all arcs \(\varvec{(u,v)}\) ( u , v ) of \(\varvec{D}\) D going forward along \(\varvec{\sigma }\) σ (that is, when \(\varvec{\sigma (u)} < \varvec{\sigma (v)}\) σ ( u ) < σ ( v ) ). The Digraph Bandwidth problem takes as input a digraph \(\varvec{D}\) D and asks to output an ordering with the minimum digraph bandwidth. The undirected Bandwidtheasily reduces to Digraph Bandwidth and thus, it immediately implies that Digraph Bandwidth is NP-hard. While an \(\varvec{\mathcal {O}}^{\star }\varvec{(n!)}\) O ( n ! ) time algorithm for the problem is trivial, the goal of this paper is to design algorithms for Digraph Bandwidth which have running times of the form \(\varvec{2}^{\varvec{\mathcal {O}(n)}}\) 2 O ( n ) . In particular, we obtain the following results. Here, \(\varvec{n}\) n and \(\varvec{m}\) m denote the number of vertices and arcs of the input digraph \(\varvec{D}\) D , respectively.

Digraph Bandwidth can be solved in \(\varvec{\mathcal {O}}^\star (\varvec{3}^{\varvec{n}} \cdot \varvec{2}^{\varvec{m}})\) O ( 3 n · 2 m ) time. This result implies a \(\varvec{2}^{\varvec{\mathcal {O}}(\varvec{n})}\) 2 O ( n ) time algorithm on sparse graphs, such as graphs of bounded average degree (planar graphs).

Let \(\varvec{G}\) G be the underlying undirected graph of the input digraph. If the treewidth of \(\varvec{G}\) G is at most \(\varvec{t}\) t , then Digraph Bandwidth can be solved in time \(\varvec{\mathcal {O}}^\star (\varvec{2}^{\varvec{n} + (\varvec{t}+\varvec{2})\, \varvec{\log }\, \varvec{n}})\) O ( 2 n + ( t + 2 ) log n ) . This result implies a \(\varvec{2}^{\varvec{n}+\varvec{\mathcal {O}}(\sqrt{\varvec{n}}\, \varvec{\log }\, \varvec{n})}\) 2 n + O ( n log n ) algorithm, for directed planar graphs and, in general, for the class of digraphs whose underlying undirected graph excludes some fixed graph \(\varvec{H}\) H as a minor.

Digraph Bandwidth can be solved in \(\varvec{\min } \{ \varvec{\mathcal {O}}^{\star }(\varvec{4}^{\varvec{n}} \cdot \varvec{b}^{\varvec{n}}), \varvec{\mathcal {O}}^{\star }(\varvec{4}^{\varvec{n}} \cdot \varvec{2}^{\varvec{b}\, \varvec{\log }\, \varvec{b}\, \varvec{\log }\, \varvec{n}})\}\) min { O ( 4 n · b n ) , O ( 4 n · 2 b log b log n ) } time, where \(\varvec{b}\) b denotes the optimal digraph bandwidth of \(\varvec{D}\) D . This allow us to deduce a \(\varvec{2}^{\varvec{\mathcal {O}}(\varvec{n})}\) 2 O ( n ) algorithm in many cases, for example when \(\varvec{b} \le \frac{\varvec{n}}{\varvec{\log }^{\varvec{2}}\,\varvec{n}}\) b n log 2 n .

Finally, we give a (Single) Exponential Time Approximation Scheme for Digraph Bandwidth. In particular, we show that for any fixed real \(\varvec{\epsilon } > \varvec{0}\) ϵ > 0 , we can find an ordering whose digraph bandwidth is at most \((\varvec{1}+\varvec{\epsilon })\) ( 1 + ϵ ) times the optimal digraph bandwidth, in time \(\varvec{\mathcal {O}}^{{\star }}(\varvec{4}^{\varvec{n}} \cdot (\lceil \varvec{4}/{\varvec{\epsilon }} \rceil )^n)\) O ( 4 n · ( 4 / ϵ ) n ) .