<?xml version="1.0" encoding="UTF-8"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-07-23T20:02:56Z</responseDate>
  <request identifier="3355" metadataPrefix="oai_dc" verb="GetRecord">https://drops.dagstuhl.de/oai</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:drops-oai.dagstuhl.de:3355</identifier>
        <datestamp>2024-03-06T10:34:07Z</datestamp>
        <setSpec>ddc:004</setSpec>
        <setSpec>open_access</setSpec>
      </header>
      <metadata>
        <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
          <dc:title>Optimal Packed String Matching</dc:title>
          <dc:creator>Ben-Kiki, Oren</dc:creator>
          <dc:creator>Bille, Philip</dc:creator>
          <dc:creator>Breslauer, Dany</dc:creator>
          <dc:creator>Gasieniec, Leszek</dc:creator>
          <dc:creator>Grossi, Roberto</dc:creator>
          <dc:creator>Weimann, Oren</dc:creator>
          <dc:subject>String matching</dc:subject>
          <dc:subject>bit parallelism</dc:subject>
          <dc:subject>real time</dc:subject>
          <dc:subject>space efficiency</dc:subject>
          <dc:description>In the packed string matching problem, each machine word accomodates&#13;
alpha characters, thus an n-character text occupies n/alpha memory&#13;
words.  We extend the Crochemore-Perrin constant-space O(n)-time&#13;
string matching algorithm to run in optimal O(n/alpha) time and even&#13;
in real-time, achieving a factor alpha speedup over traditional&#13;
algorithms that examine each character individually.  Our solution can&#13;
be efficiently implemented, unlike prior theoretical packed string&#13;
matching work.  We adapt the standard RAM model and only use its AC0&#13;
instructions (i.e. no multiplication) plus two specialized AC0 packed&#13;
string instructions.  The main string-matching instruction is&#13;
available in commodity processors (i.e. Intel's SSE4.2 and AVX&#13;
Advanced String Operations); the other maximal-suffix instruction is&#13;
only required during pattern preprocessing.  In the absence of these&#13;
two specialized instructions, we propose theoretically-efficient&#13;
emulation using integer multiplication (not AC0) and table lookup.</dc:description>
          <dc:publisher>Schloss Dagstuhl – Leibniz-Zentrum für Informatik</dc:publisher>
          <dc:contributor>Oren Ben-Kiki and Philip Bille and Dany Breslauer and Leszek Gasieniec and Roberto Grossi and Oren Weimann</dc:contributor>
          <dc:date>2011</dc:date>
          <dc:relation>Is Part Of LIPIcs, Volume 13, IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2011)</dc:relation>
          <dc:type>InProceedings</dc:type>
          <dc:type>Text</dc:type>
          <dc:type>doc-type:ResearchArticle</dc:type>
          <dc:type>publishedVersion</dc:type>
          <dc:format>application/pdf</dc:format>
          <dc:identifier>doi:10.4230/LIPIcs.FSTTCS.2011.423</dc:identifier>
          <dc:identifier>urn:nbn:de:0030-drops-33558</dc:identifier>
          <dc:identifier>https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.FSTTCS.2011.423</dc:identifier>
          <dc:language>eng</dc:language>
          <dc:rights>https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode</dc:rights>
        </oai_dc:dc>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
