<p>We investigate properties of the bijective Burrows-Wheeler transform (BBWT). We show that for any string <i>w</i>, a bidirectional macro scheme of size <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\( O ( r_B{} )\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>O</mi> <mo stretchy="false">(</mo> <msub> <mi>r</mi> <mi>B</mi> </msub> <mrow /> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> can be induced from the BBWT of <i>w</i>, where <InlineEquation ID="IEq2"> <EquationSource Format="TEX">\( r_B{} \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mi>r</mi> <mi>B</mi> </msub> <mrow /> </mrow> </math></EquationSource> </InlineEquation> is the number of maximal same-symbol runs in the BBWT. We also show that <InlineEquation ID="IEq3"> <EquationSource Format="TEX">\( r_B{} = O ( z \, \log ^{ 2 }\, n ) \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mi>r</mi> <mi>B</mi> </msub> <mrow /> <mo>=</mo> <mi>O</mi> <mrow> <mo stretchy="false">(</mo> <mi>z</mi> <mspace width="0.166667em" /> <msup> <mo>log</mo> <mn>2</mn> </msup> <mspace width="0.166667em" /> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>, where <i>n</i> is the length of <i>w</i> and <i>z</i> is the number of Lempel-Ziv 77 factors of <i>w</i>. Then, we show a separation between BBWT and BWT by a family of strings with <InlineEquation ID="IEq4"> <EquationSource Format="TEX">\( r_B{} = \Omega ( \log \, n ) \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mi>r</mi> <mi>B</mi> </msub> <mrow /> <mo>=</mo> <mi mathvariant="normal">Ω</mi> <mrow> <mo stretchy="false">(</mo> <mo>log</mo> <mspace width="0.166667em" /> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> but having only <InlineEquation ID="IEq5"> <EquationSource Format="TEX">\( r= 2 \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>r</mi> <mo>=</mo> <mn>2</mn> </mrow> </math></EquationSource> </InlineEquation>, where <InlineEquation ID="IEq6"> <EquationSource Format="TEX">\({r}\)</EquationSource> <EquationSource Format="MATHML"><math> <mi>r</mi> </math></EquationSource> </InlineEquation> is the maximal same-symbol runs in the standard Burrows–Wheeler transform (BWT). However, we observe that the smallest <InlineEquation ID="IEq7"> <EquationSource Format="TEX">\( r_B{} \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mi>r</mi> <mi>B</mi> </msub> <mrow /> </mrow> </math></EquationSource> </InlineEquation> among all cyclic rotations of <i>w</i> is always at most <InlineEquation ID="IEq8"> <EquationSource Format="TEX">\( r{} \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>r</mi> <mrow /> </mrow> </math></EquationSource> </InlineEquation>. While computing an optimal rotation yielding the smallest <InlineEquation ID="IEq9"> <EquationSource Format="TEX">\( r_B\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi>r</mi> <mi>B</mi> </msub> </math></EquationSource> </InlineEquation> in <InlineEquation ID="IEq10"> <EquationSource Format="TEX">\( o ( n ^ {2} ) \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>o</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> time remains an open problem, we show how to compute the Lyndon factorizations – a component for computing BBWT – of all cyclic rotations in <i>O</i>(<i>n</i>) time using right and left Lyndon trees. We also show that the optimal rotations can be computed in <InlineEquation ID="IEq11"> <EquationSource Format="TEX">\( \tilde{O} (nh) \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mover accent="true"> <mi>O</mi> <mo stretchy="false">~</mo> </mover> <mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mi>h</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> time, where <i>h</i> is the (maximum) height of the two Lyndon trees which can vary from <InlineEquation ID="IEq12"> <EquationSource Format="TEX">\( \log \, n \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mo>log</mo> <mspace width="0.166667em" /> <mi>n</mi> </mrow> </math></EquationSource> </InlineEquation> to <i>n</i>. Furthermore, we conjecture that we can transform two strings having the same Parikh vector to each other by BBWT and rotation operations, and prove this conjecture for the case of binary alphabets and permutations.</p>

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

Bijective BWT Based Compression Schemes

  • Golnaz Badkobeh,
  • Hideo Bannai,
  • Tomohiro I,
  • Dominik Köppl

摘要

We investigate properties of the bijective Burrows-Wheeler transform (BBWT). We show that for any string w, a bidirectional macro scheme of size \( O ( r_B{} )\) O ( r B ) can be induced from the BBWT of w, where \( r_B{} \) r B is the number of maximal same-symbol runs in the BBWT. We also show that \( r_B{} = O ( z \, \log ^{ 2 }\, n ) \) r B = O ( z log 2 n ) , where n is the length of w and z is the number of Lempel-Ziv 77 factors of w. Then, we show a separation between BBWT and BWT by a family of strings with \( r_B{} = \Omega ( \log \, n ) \) r B = Ω ( log n ) but having only \( r= 2 \) r = 2 , where \({r}\) r is the maximal same-symbol runs in the standard Burrows–Wheeler transform (BWT). However, we observe that the smallest \( r_B{} \) r B among all cyclic rotations of w is always at most \( r{} \) r . While computing an optimal rotation yielding the smallest \( r_B\) r B in \( o ( n ^ {2} ) \) o ( n 2 ) time remains an open problem, we show how to compute the Lyndon factorizations – a component for computing BBWT – of all cyclic rotations in O(n) time using right and left Lyndon trees. We also show that the optimal rotations can be computed in \( \tilde{O} (nh) \) O ~ ( n h ) time, where h is the (maximum) height of the two Lyndon trees which can vary from \( \log \, n \) log n to n. Furthermore, we conjecture that we can transform two strings having the same Parikh vector to each other by BBWT and rotation operations, and prove this conjecture for the case of binary alphabets and permutations.