<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On Representations of Ternary Order Relations in Numeric Strings</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jinil Kim</string-name>
          <email>jikim@theory.snu.ac.kr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Amihood Amir</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Joong Chae Na</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kunsoo Park</string-name>
          <email>kpark@theory.snu.ac.kr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jeong Seop Sim</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dep. of Computer Science and Engineering, Sejong University</institution>
          ,
          <country country="KR">Korea</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dep. of Computer Science and Engineering, Seoul National University</institution>
          ,
          <country country="KR">Korea</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Dep. of Computer and Information Engineering, Inha University</institution>
          ,
          <country country="KR">Korea</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Department of Computer Science, Bar-Ilan University</institution>
          ,
          <country country="IL">Israel</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Johns Hopkins University</institution>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>46</fpage>
      <lpage>52</lpage>
      <abstract>
        <p>Order-preserving matching is a string matching problem of two numeric strings where the relative orders of consecutive substrings are matched instead of the characters themselves. The order relation between two characters is a ternary relation (&gt;, &lt;, =) rather than a binary relation (&gt;, &lt;), but it was not suciently studied in previous works [5, 7, 1]. In this paper, we extend the representations of order relations by Kim et al. [5] to ternary order relations, and prove the equivalence of those representations. The extended prefix representation takes log m + 1 bits per character, while the nearest neighbor representation takes 2 log m bits per character. With our extensions, the time complexities of order-preserving matching in binary order relations can be achieved in ternary order relations as well.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Order-preserving matching is a string matching problem of two numeric strings
where the relative orders of substrings are matched instead of the characters
themselves. It has many practical applications such as stock price analysis and musical
melody matching. The study on this field was introduced by Kubica et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
and Kim et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] where Kubica et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] defined order relations by order
isomorphism of two strings, while Kim et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] defined them explicitly by the sequence
Copyright c by the paper’s authors. Copying permitted only for private and academic purposes.
of rank values (which they called the natural representation). Recently, variants
of order-preserving matching have been studied such as order-preserving sux
trees [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], approximate matching with k mismatches [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and a Boyer-Moore type
algorithm [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        An order relation between two characters is a ternary relation (&gt;, &lt;, =) rather
than a binary relation (&gt;, &lt;), but the representations of order relations were not
suciently studied for ternary order relations. Kim et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] considered only binary
order relations by assuming that all the characters in a string are distinct, while
Kubica et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] considered ternary order relations but their match condition on
equal characters was faulty and it was fixed later by Cho et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. As there
was no integrated study on the relationship between the representations of order
relations, previous works [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ] individually handled the cumbersome details of
ternary order relations on their own works.
      </p>
      <p>
        The number of order relations on a sequence of n elements is n! in binary order
relations, but it is the ordered Bell number [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] in ternary order relations. The
ordered Bell number is the solution of the recurrence f (n) = 1 + Pjn=11 nj f (n j),
which is exponentially greater than n!. The representations of order relations
should be extended for ternary order relations, which might incur some space
overhead on the representations.
      </p>
      <p>
        In this paper, we extend the representations of order relations by Kim et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
to ternary order relations, and prove the equivalence of those representations.
With the extended prefix representation, order-preserving matching can be done
in O(n log m) time, and the representation of order relations takes (log m + 1)-bit
per character. With the nearest neighbor representation, the matching can be done
in O(n + m log m), but the representation takes (2 log m)-bit per character. The
nearest neighbor representation is suitable for the single pattern matching while
the extended prefix representation is space-ecient and can be useful in
orderpreserving multiple pattern matching [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and order-preserving sux trees [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
2
      </p>
      <p>
        Problem Formulation
Let ⌃ denote the set of numbers such that a comparison of two numbers can be
done in constant time, and let ⌃ ⇤ denote the set of strings over the alphabet ⌃. For
a string x 2 ⌃ ⇤ , let |x| denote the length of x. A string x is described by a sequence
of characters (x[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], x[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], ..., x[|x|]). Let a substring x[i..j] be (x[i], x[i + 1], ..., x[j])
and a prefix xi be x[1..i]. For a character c 2 ⌃, let rankx(c) = 1 + |{i : x[i] &lt;
c for 1  i  | x|}|, and let existx(c) be 1 if c exists in x, and 0 otherwise. Let
ex-rankx(c) = (rankx(c), existx(c)). For any boolean condition cond, let (cond)
be 1 if cond is true, 0 otherwise.
      </p>
      <p>
        Order Isomorphism [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] For two strings x and y of length n, x and y are
orderisomorphic if 8 i, j 2 [1..n], x[i]  x[j] , y[i]  y[j].
      </p>
      <p>Order isomorphism implicitly deals with ternary order relations because each of
ternary order relations (&gt;, &lt;, =) can be checked by variants of the proposition in
Definition 2 (changing i and j, taking the contrapositive, or both). For example,
if x[i] &gt; x[j], then y[i] &gt; y[j] by the contrapositive of x[i]  x[j] ( y[i]  y[j]. If
x[i] = x[j], then y[i] = y[j] by x[i]  x[j] ) y[i]  y[j] and x[j]  x[i] ) y[j]  y[i].</p>
      <p>
        The definition of order isomorphism looks simple, but it is somewhat
complicated to handle in practice. The number of the order relations involved in checking
order isomorphism of two strings of length n is O(n2), hence it has an inherent
quadratic term if the definition is used directly for order-preserving matching.
Natural Representation [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] For a string x of length
ural representation of the order relations is defined
(rankx(x[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), rankx(x[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]), ..., rankx(x[n])).
      </p>
      <p>n,
as</p>
      <p>the
N at(x)
nat=</p>
      <p>In the natural representation, ternary order relations are explicitly stated in
terms of ranks. For example, x[i] &gt; x[j] if and only if N at(x)[i] &gt; N at(x)[j], and
x[i] = x[j] if and only if N at(x)[i] = N at(x)[j]. That is, the order relations of two
strings coincide if and only if N at(x) = N at(y). The comparison of two natural
representations takes O(n) time if the natural representations are given.</p>
      <p>These two definitions are equivalent because the natural representations of two
strings are identical if and only if they are order-isomorphic. We adopt the natural
representation throughout this paper because the definition itself and subsequent
analysis are more intuitive.</p>
      <p>
        Order-Preserving Matching [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] Given a text T [1..n] 2 ⌃ ⇤ and a pattern
P [1..m] 2 ⌃ ⇤ , P matches T at position i if N at(P ) = N at(T [i m + 1..i]).
Orderpreserving matching is the problem of finding all positions of T matched with P .
Equivalent Representation For any two representations R1(·) and R2(·), R1 is
equivalent to R2 if R1(x) = R1(y) , R2(x) = R2(y) for any two strings x, y.
      </p>
      <p>
        For KMP-based algorithms [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], the length of matches is incrementally increased
when the next character of the text matches that of the pattern. Such a match
operation is formalized by the match condition as follows.
      </p>
      <p>Match Condition A match condition of a representation R(·) is a boolean
function M atch(x, y, R(x), t + 1) such that N at(xt+1) = N at(yt+1) holds if and only
if N at(xt) = N at(yt) and M atch(x, y, R(x), t + 1) where x, y 2 ⌃ ⇤ , |x| = |y| and
t 2 [1..|x| 1].
3</p>
      <p>
        Prefix Representation
Prefix Representation [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] For a string x, the prefix representation of the order
relations is defined as P re(x) = (rankx1 (x[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), rankx2 (x[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]), ..., rankx|x| (x[|x|])).
      </p>
      <p>
        The prefix representation has an ambiguity between di↵erent strings in ternary
order relations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. For example, when x = (10, 30, 20), and y = (10, 20, 20), the
prefix representations of both x and y are (1, 2, 2). The ambiguity is resolved in
the extended prefix representation.
Ex-pre(x7)
N N (x7)
N at(x7)
Ex-pre(x8)
N N (x8)
N at(x8)
Extended Prefix Representation For a string x, the extended prefix
representation is defined as Ex-pre(x) = (ex-rankx1 (x[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), ex-rank(x2[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]),
..., ex-rank(x|x|[|x|])).
      </p>
      <p>For any t 2
Ex-pre(xt+1).</p>
      <p>[1..|x|</p>
      <p>1], N at(xt+1) can be computed from N at(xt) and
Lemma 3.1 (Representation Conversion) Given N at(xt) and Ex-pre(xt+1),
where a = N at(xt)[i] and ✓dc◆ = Ex-pre(xt+1)[t + 1].</p>
      <p>
        An example of Lemma 3.1 is shown in Figure 1 for x =
(30, 10, 50, 20, 30, 20, 25, 20). Let’s consider when t + 1 = 7. For i = 1, we
have N at(x6)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] = a = 4 and Ex-pre(x7)[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] = ✓dc◆ = ✓40◆. Since a = c and d = 0,
we have N at(x7)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] = a + 1 = 5. For i = 2, ✓c◆ is the same as for i = 1, and we
d
have N at(x6)[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] = a = 1. Since a &lt; c, N at(x7)[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] = a = 1. Let’s consider the next
step when t + 1 = 8. For i = 4, we have N at(x7)[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] = a = 2 and ✓dc◆ = ✓21◆. As
a = c and d = 1, N at(x8)[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] = a = 2.
      </p>
      <p>Theorem 3.2 Ex-pre(·) is equivalent to N at(·).</p>
      <p>Theorem 3.3 (Match Condition) Given x, y and t, the condition
Ex-pre(xt+1)[t + 1] = Ex-pre(yt+1)[t + 1] is a match condition of Ex-pre(·).
4</p>
      <p>
        Nearest Neighbor Representation
Let LM axx[i] = j if x[j] = max{x[k] : x[k]  x[i] for 1  k  i 1}, or 1
such j. Let LM inx[i] = j if x[j] = min{x[k] : x[k] x[i] for 1  k  i
if no
1}, or
1 if no such j. If there are multiple j’s for LM axx[i] or LM inx[i], we choose the
rightmost one. In Figure 1, LM axx[8] = 6 since x[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is the rightmost one among
the maximum values which are less than or equal to x[8] in x[1..7]. Similarly,
LM inx[8] = 6.
      </p>
      <p>
        Nearest Neighbor Representation [
        <xref ref-type="bibr" rid="ref1 ref5 ref7">5, 7, 1</xref>
        ] For a string x, the nearest
neighbor representation can be defined as
      </p>
      <p>N N (x) = ✓LLMMainxxx[[11]]◆✓LLMMainxxx[[22]]◆ · · · ✓LLMMainxxx[[||xx||]]◆</p>
      <p>
        For convenience, let x[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] = 1 , x[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] = 1 , N at(x)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] = 0 and
N at(x)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] = |x| + 1 for any string x. Then, N at(x)[LM axx[i]]  N at(x)[i] 
N at(x)[LM inx[i]] holds for any i 2 [1..|x|] even when LM axx[i] = 1 or
LM inx[i] = 1 .
      </p>
      <p>Lemma 4.1 (Representation Conversion) Given N at(xt) and N N (xt+1),
where a = N at(xt)[i], ✓dc◆ = N N (xt+1)[t + 1], e = N at(xt)[c] and f = N at(xt)[d].</p>
      <p>
        An example of Lemma 4.1 is shown in Figure 1 for x =
(30, 10, 50, 20, 30, 20, 25, 20). Let us consider when t + 1 = 7. For i = 1, we
have N at(x6)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] = a = 4, N N (x7)[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] = ✓dc◆ = ✓65◆, e = 2 and f = 4. Since a = f
and e 6= f , we get N at(x7)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] = a + 1 = 5. For i = 2, ✓dc◆, e and f are the same
as for i = 1, and we have a = 1. Since a &lt; e, we have N at(x7)[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] = a = 1. For
i = 3, we have a = 6 and a &gt; f , and thus N at(x7)[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] = a + 1 = 7. For i = 4, we
have a = 2. Since a = e and e 6= f , we get N at(x7)[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] = a = 2. For i = 7, we get
N at(x7)[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] = f = 4 since i = t + 1. Consider the next step when t + 1 = 8. For
i = 4, we have a = 2, N N (x8)[8] = ✓dc◆ = ✓21◆, e = 2 and f = 2. Since a = e = f ,
we get N at(x8)[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] = a = 2.
      </p>
      <p>Theorem 4.2 N N (·) is equivalent to N at(·).</p>
      <p>
        A naive match condition of the nearest neighbor representation is N N (xt+1)[t +
1] = N N (yt+1)[t + 1] as that of the extended prefix representation in Theorem 3.3,
which requires computing the nearest neighbor representations of both x and y.
Kubica et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] proposed an ecient match condition for ternary order relations
which can be checked in constant time when the nearest neighbor representation
of x is given, but it was faulty. Cho et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] presented a modified match condition
in ternary order relations, which can produce an O(n + m log m) algorithm as in
binary order relations.
Theorem 4.3 (Match Condition of Nearest Neighbor Representation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ])
Given x, y and t, the condition (y[c] &lt; y[t + 1] &lt; y[d]) _ (y[t + 1] = y[c] = y[d]) is
a match condition of N N (·) where ✓dc◆ = N N (xt+1)[t + 1].
      </p>
      <p>
        We can generalize order-preserving matching algorithms in binary order
relations [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] to ternary order relations using the representations above. For single
pattern matching, we can obtain an O(n log m) algorithm with the extended prefix
representation, and an O(n + m log m) algorithm with the nearest neighbor
representation, both of which are consistent with the results in [
        <xref ref-type="bibr" rid="ref1 ref5 ref7">5, 7, 1</xref>
        ]. For multiple
pattern matching, we can obtain an O((n + m) log m) algorithm in ternary order
relations using the extended prefix representation.
      </p>
      <p>Acknowledgements
The work of Jinil Kim and Kunsoo Park was supported by Next-Generation
Information Computing Development Program through the National Research Foundation of
Korea (NRF) funded by the Ministry of Science, ICT &amp; Future Planning (2011-0029924).
Amihood Amir was partly supported by NSF grant CCR-09-04581, ISF grant 347/09,
and BSF grant 2008217. Joong Chae Na was supported by the IT R&amp;D program of
MKE/KEIT [10038768, The Development of Supercomputing System for the Genome
Analysis], and by Basic Science Research Program through the National Research
Foundation of Korea (NRF) funded by the Ministry of Science, ICT &amp; Future
Planning (2011-0007860). Jeong Seop Sim was supported by the National Research
Foundation of Korea (NRF) grant funded by the Korea government (MSIP) (No.
2012R1A2A2A01014892), and by the Industrial Strategic technology development
program (10041971, Development of Power Ecient High-Performance
Multimedia Contents Service Technology using Context-Adapting Distributed Transcoding)
funded by the Ministry of Knowledge Economy (MKE, Korea).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Cho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Na</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Park</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Sim</surname>
          </string-name>
          .
          <article-title>Fast order-preserving pattern matching</article-title>
          .
          <source>In COCOA</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Crochemore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Iliopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kociumaka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kubica</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Langiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. P.</given-names>
            <surname>Pissis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Radoszewski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Rytter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Walen</surname>
          </string-name>
          .
          <article-title>Order-preserving incomplete sux trees and order-preserving indexes</article-title>
          .
          <source>In SPIRE</source>
          , pages
          <fpage>84</fpage>
          -
          <lpage>95</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Gawrychowski</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Uznanski</surname>
          </string-name>
          .
          <article-title>Order-preserving pattern matching with k mismatches</article-title>
          .
          <source>CoRR, abs/1309.6453</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O. A.</given-names>
            <surname>Gross</surname>
          </string-name>
          .
          <article-title>Preferential arrangements</article-title>
          .
          <source>The American Mathematical Monthly</source>
          ,
          <volume>69</volume>
          :
          <fpage>4</fpage>
          -
          <lpage>8</lpage>
          ,
          <year>1962</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Eades</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Fleischer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.-H.</given-names>
            <surname>Hong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Iliopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Park</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Puglisi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Tokuyama</surname>
          </string-name>
          .
          <article-title>Order-preserving matching</article-title>
          . To appear in Theor.
          <source>Comput. Sci.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Knuth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. H. M.</given-names>
            <surname>Jr.</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V. R.</given-names>
            <surname>Pratt</surname>
          </string-name>
          .
          <article-title>Fast pattern matching in strings</article-title>
          .
          <source>SIAM J. Comput.</source>
          ,
          <volume>6</volume>
          (
          <issue>2</issue>
          ):
          <fpage>323</fpage>
          -
          <lpage>350</lpage>
          ,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kubica</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kulczynski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Radoszewski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Rytter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Walen</surname>
          </string-name>
          .
          <article-title>A linear time algorithm for consecutive permutation pattern matching</article-title>
          .
          <source>Inf</source>
          . Process. Lett.,
          <volume>113</volume>
          (
          <issue>12</issue>
          ):
          <fpage>430</fpage>
          -
          <lpage>433</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>