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
主站蜘蛛池模板: 五月六月伊人狠狠丁香网| 日韩中文无码av超清| 欧美亚洲中文精品三区| 播五月综合| 亚洲综合18p| 亚洲福利一区二区三区| 亚洲精品在线影院| 亚洲日韩AV无码一区二区三区人 | 日韩午夜伦| 91精品日韩人妻无码久久| 亚洲无码电影| 久草中文网| 国产精品无码AV片在线观看播放| 欧美亚洲日韩中文| 精品欧美日韩国产日漫一区不卡| 91网站国产| 99久久精品免费看国产电影| 98精品全国免费观看视频| 精品久久综合1区2区3区激情| 久热re国产手机在线观看| 亚洲视频无码| 手机精品福利在线观看| 亚洲精品国偷自产在线91正片| 国产性猛交XXXX免费看| 国产精品永久免费嫩草研究院| 国产福利免费视频| 国产在线专区| 中文字幕2区| 国产XXXX做受性欧美88| 午夜啪啪网| 网久久综合| 久久精品国产亚洲AV忘忧草18| 国产综合在线观看视频| 91综合色区亚洲熟妇p| 中文字幕免费在线视频| 国产人成午夜免费看| 国内精品91| 尤物视频一区| 2018日日摸夜夜添狠狠躁| 永久成人无码激情视频免费| 手机在线国产精品| 91精品情国产情侣高潮对白蜜| 中文字幕人成人乱码亚洲电影| 黄片一区二区三区| 国产精品福利社| a在线观看免费| 欧美一级高清片欧美国产欧美| 九九热视频在线免费观看| 国产精品va免费视频| 人妻丰满熟妇αv无码| 91精品免费高清在线| 亚洲一区二区三区在线视频| 国产成人艳妇AA视频在线| 国内精品久久九九国产精品 | 嫩草在线视频| 91视频99| 国产在线一区二区视频| 日本精品中文字幕在线不卡| 婷婷亚洲综合五月天在线| 日韩A∨精品日韩精品无码| 欧美黄色a| 国产在线观看成人91| 最新精品久久精品| 亚洲日产2021三区在线| 国产日韩欧美成人| 91色爱欧美精品www| 久久人人爽人人爽人人片aV东京热 | 亚洲人成人伊人成综合网无码| 激情综合图区| 亚洲欧洲日本在线| 国产清纯在线一区二区WWW| 国产欧美性爱网| 亚洲美女一区| 欧美高清视频一区二区三区| 成人午夜视频网站| 国产福利一区在线| 91麻豆久久久| 欧美高清三区| 99久久精彩视频| 精品国产自在现线看久久| 亚洲综合色区在线播放2019| 免费观看精品视频999|