999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多模式匹配自動機(jī)的構(gòu)造與極小化

2011-01-09 06:26:16
銅仁學(xué)院學(xué)報(bào) 2011年3期
關(guān)鍵詞:文本

張 麗

( 貴州大學(xué) 計(jì)算機(jī)科學(xué)與信息學(xué)院,貴州 貴陽 550025 )

多模式匹配自動機(jī)的構(gòu)造與極小化

張 麗

( 貴州大學(xué) 計(jì)算機(jī)科學(xué)與信息學(xué)院,貴州 貴陽 550025 )

通過給定的單模式構(gòu)造出相應(yīng)的模式匹配自動機(jī),集成單模式匹配自動機(jī)而得到多模式非確定型有窮自動機(jī)(NFA)。將非確定型自動機(jī)轉(zhuǎn)化為確定型自動機(jī),在狀態(tài)集上引入等價(jià)關(guān)系,對該確定型有窮自動機(jī)進(jìn)行極小化,得到與原自動機(jī)功能等價(jià)的極小化自動機(jī),從而使之能確定其中任意一個(gè)模式的所有匹配位置。

有窮自動機(jī); 多模式匹配; 等價(jià)關(guān)系; 極小化

1.引言

在文本編輯程序中,經(jīng)常要在一段文本字符串中查找出某個(gè)模式的全部出現(xiàn)位置,所查找的模式是用戶提供的一個(gè)特定單詞,這個(gè)過程稱之為模式匹配。每個(gè)模式都存在一個(gè)相應(yīng)的字符串匹配自動機(jī),在預(yù)處理階段,根據(jù)模式構(gòu)造出相應(yīng)的自動機(jī)后,才能利用它搜尋文本字符串。[1]本文是根據(jù)已知的模式構(gòu)造出相應(yīng)的匹配自動機(jī),然后集成為一個(gè)非確定型有窮自動機(jī),使之能確定其中任意一個(gè)模式的所有出現(xiàn)位置,在此基礎(chǔ)上對自動機(jī)進(jìn)行基于等價(jià)類的化簡,盡量使自動機(jī)的狀態(tài)數(shù)最少。

有窮自動機(jī)的化簡(極小化)對有窮自動機(jī)的應(yīng)用及實(shí)現(xiàn)有著重要的理論意義,而狀態(tài)的極小化是將自動機(jī)的狀態(tài)集劃分成一些不相交的子集,其中任何兩個(gè)不同的子集中的狀態(tài)都是可區(qū)分的,而同一子集中的任何兩個(gè)狀態(tài)都是不可區(qū)分的即是等價(jià)的,等價(jià)的狀態(tài)對可進(jìn)行合并,這樣自動機(jī)的狀態(tài)數(shù)就會得到減少。

2.基本概念

很多模式匹配算法采用建立一個(gè)有窮自動機(jī)、通過該有窮自動機(jī)對文本字符串進(jìn)行掃描的方法,找出模式的所有出現(xiàn)位置。有窮自動機(jī)是計(jì)算機(jī)軟、硬件研究的重要基礎(chǔ)理論模型,這種模型有著廣泛的用途,它的應(yīng)用遍及計(jì)算機(jī)科學(xué)和其他學(xué)科的幾乎所有領(lǐng)域,其中模式匹配就是其重要應(yīng)用之一。[1][2]

定義 1一臺有窮自動機(jī)是一個(gè)五元組,記為M=(Q,Σ,δ,q0,F),其中:

(1)Q是一個(gè)有窮集,稱為狀態(tài)集合;

(2)Σ是一個(gè)有窮的輸入符號集,稱為字母表;

(3)δ是轉(zhuǎn)移函數(shù);

(4)q0∈Q是一個(gè)初始狀態(tài);

(5)F?Q是一個(gè)終結(jié)狀態(tài)集。

若轉(zhuǎn)移函數(shù)定義為δ:Q×Σ→Q,則稱M為確定型有窮自動機(jī)(DFA);

若轉(zhuǎn)移函數(shù)定義為δ:Q×Σ→2Q,則稱M為非確定型有窮自動機(jī)(NFA);

由 DFA M 的轉(zhuǎn)移函數(shù)δ誘導(dǎo)出一個(gè)新的函數(shù)δ*,δ*:Q×Σ*→Q,其中Σ*是字母表Σ上有窮符號串構(gòu)成的集合,滿足:

3.模式匹配自動機(jī)的設(shè)計(jì)

在實(shí)際應(yīng)用中,一般采用狀態(tài)轉(zhuǎn)換圖來表示一個(gè)模式匹配自動機(jī)。

一個(gè)有窮自動機(jī)等價(jià)于一個(gè)狀態(tài)轉(zhuǎn)換圖,由于狀態(tài)轉(zhuǎn)換圖與程序有一定的對應(yīng)關(guān)系,如果自動機(jī)狀態(tài)轉(zhuǎn)換圖是約簡的,可以使得程序設(shè)計(jì)比較規(guī)范、達(dá)到優(yōu)化,從而高效地完成軟件設(shè)計(jì)工作。

為了說明與給定模式P[1..m](模式P存放在長度為m的一維數(shù)組中)相應(yīng)的匹配自動機(jī),涉及一個(gè)輔助函數(shù)σ[1]:是一個(gè)從*Σ到{0,1,…,m}上定義的映射,σ(x)=max(k:Pk?x),其中Pk是P中長度為k的(前綴)字符串,記號Pk?x表示是Pk字符串x的后綴。從而,σ(x)是x的后綴與P的前綴相匹配的最大長度。

下面是模式匹配自動機(jī)的構(gòu)造算法:

(1)在有窮字母表Σ上給定模式P[1..m];

(2)根據(jù)模式P[1..m]的下標(biāo)的上界,得出有窮自動機(jī)的狀態(tài)集Q={0,1,2,…,m},其中0為初始狀態(tài)q0,m為唯一的終結(jié)狀態(tài)qm;

(3)狀態(tài)q=0;

(4)對任意輸入的字符a,其中a∈Σ,根據(jù)δ(q,a)=σ(Pq a)計(jì)算轉(zhuǎn)移函數(shù),從而得出新的狀態(tài)值;

(5)q=q+1重復(fù)步驟(4),直到q>m結(jié)束。

通過上述算法構(gòu)造的有窮自動機(jī)是極小化的自動機(jī),因?yàn)樵撚懈F自動機(jī)在輸入任意字符時(shí)是線性向后逐步狀態(tài)轉(zhuǎn)移的或向前狀態(tài)轉(zhuǎn)移形成回路,假設(shè)任意狀態(tài)q=k,則狀態(tài)q接受字符串ω到達(dá)終結(jié)狀態(tài),而狀態(tài)q的前面狀態(tài)0、1、2、……、k?1要接受aω才到達(dá)終結(jié)狀態(tài),故狀態(tài)q與自己前面的狀態(tài)0、1、2、……、k?1就會是可區(qū)分的,根據(jù)前面的定義,狀態(tài)q與狀態(tài)0、1、2、……、k?1不是等價(jià)狀態(tài)對,不可合并。即證。

例1對模式P=aab構(gòu)造出相應(yīng)的匹配自動機(jī)如圖1所示

根據(jù)前面的算法,自動機(jī)的狀態(tài)Q={0,1,2,3},0是初始態(tài),3是終結(jié)狀態(tài)。具體構(gòu)造如下:計(jì)算轉(zhuǎn)移函數(shù)δ(0,a)=σ(P0a)=1,即狀態(tài)0在輸入字符a時(shí)轉(zhuǎn)移到狀態(tài) 1,δ(1,a)=σ(P1a)=2,即狀態(tài) 1在輸入字符a時(shí)轉(zhuǎn)移到狀態(tài)2,各狀態(tài)的轉(zhuǎn)移情況同理。

4.多模式匹配自動機(jī)的構(gòu)造與極小化

根據(jù)上述算法,先構(gòu)造出單個(gè)模式匹配自動機(jī),然后集成單個(gè)模式匹配自動機(jī)可以得到多模式匹配自動機(jī),是一個(gè)非確定型的有窮自動機(jī)(NFA)。[2]用進(jìn)入接受狀態(tài)來表示看到一個(gè)這種單詞,把文本一次一個(gè)字母輸入到NFA,該NFA就能識別出文本中模式的出現(xiàn)。[1]

由此,按如下的方法可以構(gòu)造出多模式匹配自動機(jī)并極小化:

(1)對每一個(gè)給定的模式,設(shè)計(jì)相應(yīng)的模式匹配自動機(jī);

(2)集成單個(gè)的模式匹配自動機(jī),得到帶ε的NFA;

(3)將NFA確定化去掉ε,轉(zhuǎn)化為與之等價(jià)的DFA;

(4)對該DFA,引入等價(jià)關(guān)系,如果DFA中兩個(gè)狀態(tài)是不可區(qū)分的,即對任何輸入串ω,當(dāng)且僅當(dāng)*δ(p,ω)∈F,*δ(q,ω)∈F,則稱這兩個(gè)狀態(tài)p和q是等價(jià)的。如果兩個(gè)狀態(tài)等價(jià),我們可以將其寫成等價(jià)類的形式。狀態(tài)等價(jià)性也是可以傳遞的,如果狀態(tài)p和q是等價(jià)的,并且狀態(tài)q和r是等價(jià)的,則狀態(tài)p和r是等價(jià)的。根據(jù)等價(jià)性這一原理,可以將等價(jià)狀態(tài)對合并,實(shí)現(xiàn)自動機(jī)的極小化。

5.結(jié)束語

確定型有窮自動機(jī)極小化是在狀態(tài)集上引入一個(gè)等價(jià)關(guān)系,通過該等價(jià)關(guān)系求出狀態(tài)集上所有的等價(jià)類進(jìn)行狀態(tài)合并來實(shí)現(xiàn)自動機(jī)極小化的。本文利用單個(gè)模式構(gòu)造的匹配自動機(jī),集成為多個(gè)模式的非確定型有窮自動機(jī),將非確定型自動機(jī)轉(zhuǎn)化為確定型自動機(jī),利用等價(jià)關(guān)系,對該自動機(jī)進(jìn)行極小化,并能確定其中任意一個(gè)模式的所有出現(xiàn)位置。

[1] Thomas H.Cormen,Charles Leiserson,Ronald L.Rivest,Clifford Stein.算法導(dǎo)論[M].機(jī)械工業(yè)出版社,2009.

[2] (美)John E.Hopcroft Rajeev Motwani Jeffrey D.Ullman著.自動機(jī)理論、語言和計(jì)算導(dǎo)論[M].機(jī)械工業(yè)出版社,2006.

[3] S Yu , G Rozenberg ,A Salomaa. Handbook of Formal Languages [J].Springer Berlin,1997(1):41 – 110.

[4] 王杰.一種快速高效的模式匹配算法的應(yīng)用研究[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(32):93-94.

[5] L.Ilie,S,Yu.Reducing NFAs by invariant equivalences[J].Theoretical Computer Science,306(2003):373-390.

[6] 秦永彬,許道云.有窮自動機(jī)中的等價(jià)性與等價(jià)歸并算法[ J ].濟(jì)南大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,20(4):354- 358.

Construction and Minimization of Multi-Pattern Matching Automata

ZHANG Li
( College of Computer Science and Information, Guizhou University, Guiyang, Guizhou 550025, China )

To a given single pattern, a corresponding pattern matching automata can be constructed. By integrating single pattern matching automates, a multi-pattern non-deterministic finite automata (NFA) can be acquired. We change the non-deterministic automata into deterministic automata, and minimize it by introducing equivalence relation on state suites. Since the acquired minimal automaton is equivalent to the original automata in function, it can determine all location where any one of pattern appears.

finite automaton;multi-pattern matching;equivalence relation;minimization

(責(zé)任編輯 王婷婷)

TP301 < class="emphasis_bold">文獻(xiàn)標(biāo)識碼:A

A

1673-9639 (2011) 03-0129-03

2010-05-03

貴州省自然科學(xué)基金(黔科合J字[2007]2203號),貴大人才引進(jìn)基金項(xiàng)目(貴大人基合字[2009]007號)。

張麗(1971-),女,貴州貴陽人,碩士,講師,研究方向?yàn)榭捎?jì)算性與計(jì)算復(fù)雜性。

猜你喜歡
文本
文本聯(lián)讀學(xué)概括 細(xì)致觀察促寫作
重點(diǎn):論述類文本閱讀
重點(diǎn):實(shí)用類文本閱讀
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
作為“文本鏈”的元電影
在808DA上文本顯示的改善
“文化傳承與理解”離不開對具體文本的解讀與把握
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學(xué)隱喻
從背景出發(fā)還是從文本出發(fā)
語文知識(2015年11期)2015-02-28 22:01:59
主站蜘蛛池模板: 99热这里只有免费国产精品 | 亚洲色图综合在线| 2021国产在线视频| 久久91精品牛牛| 国产男人天堂| 国产福利免费视频| 99人妻碰碰碰久久久久禁片| 亚洲欧洲日韩综合| 亚洲三级片在线看| 午夜精品久久久久久久无码软件| 天天躁夜夜躁狠狠躁躁88| 国产一区二区免费播放| 日本三级黄在线观看| 久久久精品无码一区二区三区| 亚洲一区二区三区在线视频| 毛片大全免费观看| 色偷偷男人的天堂亚洲av| 国产精品免费露脸视频| 在线国产欧美| 99在线视频精品| 亚洲天堂网在线播放| 欧美成人国产| 久久久久无码国产精品不卡| www.日韩三级| 亚洲一级毛片在线观| 亚洲成年网站在线观看| 亚洲天天更新| 色综合久久88色综合天天提莫 | 在线观看免费黄色网址| 午夜小视频在线| 国产天天色| 香蕉eeww99国产精选播放| 无码免费视频| 人妖无码第一页| 无码内射在线| 呦女亚洲一区精品| 久99久热只有精品国产15| 狠狠躁天天躁夜夜躁婷婷| 精品欧美视频| 福利国产在线| 色综合天天综合中文网| 国产浮力第一页永久地址| 国产在线第二页| 午夜不卡福利| 97国产在线观看| 亚洲天堂.com| 最新亚洲人成网站在线观看| 亚洲欧美成aⅴ人在线观看 | 四虎永久在线精品影院| 99精品免费欧美成人小视频 | 国产精品永久不卡免费视频| 亚洲成人精品久久| 亚洲aaa视频| 欧美亚洲一区二区三区在线| 亚洲视频四区| 无码国内精品人妻少妇蜜桃视频| 国产超碰在线观看| 97免费在线观看视频| 国产麻豆91网在线看| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产成人久久777777| 日韩国产黄色网站| 四虎影视8848永久精品| 91久久国产热精品免费| 香蕉伊思人视频| 精品在线免费播放| 免费在线国产一区二区三区精品| 91探花国产综合在线精品| 精品无码一区二区三区在线视频| 国产v精品成人免费视频71pao| 免费在线a视频| 91精品伊人久久大香线蕉| 日韩精品久久无码中文字幕色欲| 国产美女视频黄a视频全免费网站| 欧美一级爱操视频| 另类综合视频| 91精品视频播放| 欧美日韩一区二区在线免费观看 | 99中文字幕亚洲一区二区| 91视频精品| 谁有在线观看日韩亚洲最新视频| 91青草视频|