Sublinear Matching With Finite Automata Using Reverse Suffix Scanning

We give algorithms to accelerate the computation of deterministic finite automata (DFA) by calculating the state of a DFA n positions ahead utilizing a reverse scan of the next n characters. Often this requires scanning fewer than n characters resulting in a fraction of the input being skipped and a...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Kearns, Steven M
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Kearns, Steven M
description We give algorithms to accelerate the computation of deterministic finite automata (DFA) by calculating the state of a DFA n positions ahead utilizing a reverse scan of the next n characters. Often this requires scanning fewer than n characters resulting in a fraction of the input being skipped and a commensurate increase in processing speed. The skipped fraction is > 80% in several of our examples. We introduce offsetting finite automata (OFA) to encode the accelerated computation. OFA generalize DFA by adding an integer offset to the current input index at each state transition. We give algorithms for constructing an OFA that accepts the same language as a DFA while possibly skipping input, and for matching with an OFA. Compared to previous algorithms that attempt to skip some of the input, the new matching algorithm can skip more often and can skip farther. In the worst case the new matching algorithm scans the same number of characters as a simple forward scan, whereas previous approaches often scan more, so the new algorithm can be used as a reliable replacement for the simple forward scan. Additionally, the new algorithm adapts to available memory and time constraints.
doi_str_mv 10.48550/arxiv.1308.3822
format Article
fullrecord <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_1308_3822</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1308_3822</sourcerecordid><originalsourceid>FETCH-LOGICAL-a652-8c5e98509cb464e6820f2047488bc7ae544d364ba0c00e79f128f49199f7cab43</originalsourceid><addsrcrecordid>eNotz8FLwzAYBfBcPMj07knyD7SmyZc2OY6xqTAZ2InH8iX7sgW2KG065n-vVU8P3oMHP8buKlGC0Vo8YH-J57JSwpTKSHnNlu3ojjER9vwFsz_EtOfvMR_4KqaYic_H_HHCjPxtmKZXOlM_EG_HEOKFtx5T-ulv2FXA40C3_zlj29Vyu3gq1pvH58V8XWCtZWG8Jmu0sN5BDVQbKYIU0IAxzjdIGmCnanAovBDU2FBJE8BW1obGowM1Y_d_t7-M7rOPJ-y_uonTTRz1DeTmRHU</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Sublinear Matching With Finite Automata Using Reverse Suffix Scanning</title><source>arXiv.org</source><creator>Kearns, Steven M</creator><creatorcontrib>Kearns, Steven M</creatorcontrib><description>We give algorithms to accelerate the computation of deterministic finite automata (DFA) by calculating the state of a DFA n positions ahead utilizing a reverse scan of the next n characters. Often this requires scanning fewer than n characters resulting in a fraction of the input being skipped and a commensurate increase in processing speed. The skipped fraction is &gt; 80% in several of our examples. We introduce offsetting finite automata (OFA) to encode the accelerated computation. OFA generalize DFA by adding an integer offset to the current input index at each state transition. We give algorithms for constructing an OFA that accepts the same language as a DFA while possibly skipping input, and for matching with an OFA. Compared to previous algorithms that attempt to skip some of the input, the new matching algorithm can skip more often and can skip farther. In the worst case the new matching algorithm scans the same number of characters as a simple forward scan, whereas previous approaches often scan more, so the new algorithm can be used as a reliable replacement for the simple forward scan. Additionally, the new algorithm adapts to available memory and time constraints.</description><identifier>DOI: 10.48550/arxiv.1308.3822</identifier><language>eng</language><subject>Computer Science - Data Structures and Algorithms</subject><creationdate>2013-08</creationdate><rights>http://arxiv.org/licenses/nonexclusive-distrib/1.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,780,885</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/1308.3822$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.1308.3822$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Kearns, Steven M</creatorcontrib><title>Sublinear Matching With Finite Automata Using Reverse Suffix Scanning</title><description>We give algorithms to accelerate the computation of deterministic finite automata (DFA) by calculating the state of a DFA n positions ahead utilizing a reverse scan of the next n characters. Often this requires scanning fewer than n characters resulting in a fraction of the input being skipped and a commensurate increase in processing speed. The skipped fraction is &gt; 80% in several of our examples. We introduce offsetting finite automata (OFA) to encode the accelerated computation. OFA generalize DFA by adding an integer offset to the current input index at each state transition. We give algorithms for constructing an OFA that accepts the same language as a DFA while possibly skipping input, and for matching with an OFA. Compared to previous algorithms that attempt to skip some of the input, the new matching algorithm can skip more often and can skip farther. In the worst case the new matching algorithm scans the same number of characters as a simple forward scan, whereas previous approaches often scan more, so the new algorithm can be used as a reliable replacement for the simple forward scan. Additionally, the new algorithm adapts to available memory and time constraints.</description><subject>Computer Science - Data Structures and Algorithms</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2013</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotz8FLwzAYBfBcPMj07knyD7SmyZc2OY6xqTAZ2InH8iX7sgW2KG065n-vVU8P3oMHP8buKlGC0Vo8YH-J57JSwpTKSHnNlu3ojjER9vwFsz_EtOfvMR_4KqaYic_H_HHCjPxtmKZXOlM_EG_HEOKFtx5T-ulv2FXA40C3_zlj29Vyu3gq1pvH58V8XWCtZWG8Jmu0sN5BDVQbKYIU0IAxzjdIGmCnanAovBDU2FBJE8BW1obGowM1Y_d_t7-M7rOPJ-y_uonTTRz1DeTmRHU</recordid><startdate>20130817</startdate><enddate>20130817</enddate><creator>Kearns, Steven M</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20130817</creationdate><title>Sublinear Matching With Finite Automata Using Reverse Suffix Scanning</title><author>Kearns, Steven M</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a652-8c5e98509cb464e6820f2047488bc7ae544d364ba0c00e79f128f49199f7cab43</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2013</creationdate><topic>Computer Science - Data Structures and Algorithms</topic><toplevel>online_resources</toplevel><creatorcontrib>Kearns, Steven M</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Kearns, Steven M</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Sublinear Matching With Finite Automata Using Reverse Suffix Scanning</atitle><date>2013-08-17</date><risdate>2013</risdate><abstract>We give algorithms to accelerate the computation of deterministic finite automata (DFA) by calculating the state of a DFA n positions ahead utilizing a reverse scan of the next n characters. Often this requires scanning fewer than n characters resulting in a fraction of the input being skipped and a commensurate increase in processing speed. The skipped fraction is &gt; 80% in several of our examples. We introduce offsetting finite automata (OFA) to encode the accelerated computation. OFA generalize DFA by adding an integer offset to the current input index at each state transition. We give algorithms for constructing an OFA that accepts the same language as a DFA while possibly skipping input, and for matching with an OFA. Compared to previous algorithms that attempt to skip some of the input, the new matching algorithm can skip more often and can skip farther. In the worst case the new matching algorithm scans the same number of characters as a simple forward scan, whereas previous approaches often scan more, so the new algorithm can be used as a reliable replacement for the simple forward scan. Additionally, the new algorithm adapts to available memory and time constraints.</abstract><doi>10.48550/arxiv.1308.3822</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier DOI: 10.48550/arxiv.1308.3822
ispartof
issn
language eng
recordid cdi_arxiv_primary_1308_3822
source arXiv.org
subjects Computer Science - Data Structures and Algorithms
title Sublinear Matching With Finite Automata Using Reverse Suffix Scanning
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-02T18%3A23%3A54IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Sublinear%20Matching%20With%20Finite%20Automata%20Using%20Reverse%20Suffix%20Scanning&rft.au=Kearns,%20Steven%20M&rft.date=2013-08-17&rft_id=info:doi/10.48550/arxiv.1308.3822&rft_dat=%3Carxiv_GOX%3E1308_3822%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true