匹配算法论文范文

时间:2022-11-01 17:39:38

引言:寻求写作上的突破?我们特意为您精选了12篇匹配算法论文范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

匹配算法论文

篇1

在计算机科学领域,串的模式匹配(以下简称为串匹配)算法一直都是研究焦点之一。在拼写检查、语言翻译、数据压缩、搜索引擎、网络入侵检测、计算机病毒特征码匹配以及DNA序列匹配等应用中,都需要进行串匹配。串匹配就是在主串中查找模式串的一个或所有出现。在本文中主串表示为S=s1s2s3…sn,模式串表示为T=t1t2…tm。串匹配从方式上可分为精确匹配、模糊匹配、并行匹配等,著名的匹配算法有BF算法、KMP算法、BM算法及一些改进算法。本文主要在精确匹配方面对KMP算法进行了讨论并对它做一些改进以及利用改进的KMP来实现多次模式匹配。

1KMP算法

最简单的朴素串匹配算法(BF算法)是从主串的第一个字符和模式串的第一个字符进行比较,若相等则继续逐个比较后续字符,否则从主串的第二个字符起再重新和模式串的第一个字符进行比较。依次类推,直至模式串和主串中的一个子串相等,此时称为匹配成功,否则称为匹配失败。朴素模式匹配算法匹配失败重新比较时只能向前移一个字符,若主串中存在和模式串只有部分匹配的多个子串,匹配指针将多次回溯,而回溯次数越多算法的效率越低,它的时间复杂度一般情况下为O((n-m+1)m)(注:n和m分别为主串和模式串的长度),最坏的情况下为O(m*n),最好的情况下为O(m+n)。KMP模式匹配算法正是针对上述算法的不足做了实质性的改进。其基本思想是:当一趟匹配过程中出现失配时,不需回溯主串,而是充分利用已经得到的部分匹配所隐含的若干个字符,过滤掉那些多余的比较,将模式串向右“滑动”尽可能远的一段距离后,继续进行比较,从而提高模式匹配的效率,该算法的时间复杂度为O(m+n)。

那么如何确定哪些是多余的比较?在KMP算法中通过引入前缀函数f(x)来确定每次匹配不需要比较的字符,保证了匹配始终向前进行,无须回溯。假设主串为s1s2,sn.,模式串为t1t2,tm.,其中m≦n,从si+1开始的子串遇到一个不完全的匹配,使得:

(1.1)

如果我们能确定一个最小的整数,使得:

(1.2)

其中,所以确定i''''等价于确定k,这里的k值就是我们要求的前缀函数f(x)。由式1.1和1.2中K值与主串s无关,只与给定的模式串t中与主串匹配的q有关,即k=f(q),

f(q)=max{i|0iq且t[1..i]是t[1..q]的后缀}(1.3)

确定KMP前缀函数的算法如下:

#defineMAXSIZE100

Typedefunsignedcharstring[MAXSIZE+1];//0号单元用来存放串的长度

voidf(sstringt,int*array)

{

m=t[0];//m为当前模式串的长度

array=(int*)malloc((m+1)*sizeof(int));//0号元不用

array[1]=0;k=0;

for(q=2;q<=m;q++)

{while(k>0&&t[k+1]!=t[q])k=array[k];

if(t[k+1]==t[q])k=k+1;

array[q]=k;

}

}

关于KMP算法的前缀函数f(x)的示例见表1。

当模式串中有i个字符串匹配成功,第i+1个字符不匹配时,则从i-f(i)个字符重新开始比较,这样不仅无须回溯,而且一次可以向前滑动i-f(i)个字符,大大提高了模式匹配的效率。下面给出朴素匹配算法和KMP匹配算法的比较,见表2。

表2朴素匹配算法和KMP匹配算法比较表

朴素算法KMP算法

时间复杂度O((n-m+1)m)O(m+n)

向前移动字符个数1q-f(q)

回溯次数q-1无

其中:n为主串长度,m为模式串长度,q为匹配成功的字符个数

2KMP算法的改进

在KMP算法的实际应用中,发现该算法也存在着不足,结合下面的表一来论述KMP模式匹配算法的改进。假设模式串前4个字符与主串的第i+1..i+4匹配成功,第5个字符匹配失败,此时前缀函数f(4)=1,下一次匹配将从第i+4开始,并直接将模式串中的第2个字符与主串中的第i+5个字符进行比较,从表1中可知,匹配必将失败,此次比较是多余的。这说明此时的前缀函数f(x)并不是最优,需要对前缀函数进行改进。实质上,所谓对KMP算法的改进就是对其前缀函数的改进。

4结语

本文给出的算法较朴素匹配算法在效率上有了较大的提高,尤其是对重复字符出现较少的数据段进行模式匹配可取得较高的查找效率。应用于大型数据库的数据查询,会更加有效地缩短查找时间。

参考文献

[1]严蔚敏,吴伟民.数据结构[M].清华大学出版社,2001

篇2

[4]

ZAKI T, ESSAADY Y, MAMMASS D, et al. A hybrid method ngramsTFIDF with radial basis for indexing and classification of Arabic document [J]. International Journal of Software Engineering and Its Applications, 2014, 8(2): 127-144.

[5]

SIDOROV G, VELASQUEZ F, STAMATATOS E, et al. Syntactic dependencybased ngrams as classification features [C]// MICAI 2012: Proceedings of the 11th Mexican International Conference on Artificial Intelligence, LNCS 7630. Berlin: Springer, 2013: 1-11.

[6]

YI Y, GUAN J, ZHOU S. Effective clustering of microRNA sequences by ngrams and feature weighting [C] // Proceedings of the 2012 IEEE 6th International Conference on Systems Biology. Piscataway: IEEE, 2012: 203-210.

[7]

BOURAS C, TSOGKAS V. Enhancing news articles clustering using word ngrams [C] // DATA 2013: Proceedings of the 2nd International Conference on Data Technologies and Applications. London: dblp Computer Science Bibliography, 2013: 53-60.

[8]

GHANNAY S, BARRAULT L. Using hypothesis selection based features for confusion network MT system combination [C] // EACL 2014: Proceedings of the 3rd Workshop on Hybrid Approaches to Translation (HyTra). Stroudsburg: Association for Computational Linguistics, 2014: 2-6.

[9]

SIDOROV G, VELASQUEZ F, STAMATAOS E, et al. Syntactic ngrams as machine learning features for natural language processing [J]. Expert Systems with Applications, 2014, 41(3): 853-860.

[10]

HAN Q, GUO J, SCHTZE H. CodeX: combining an SVM classifier and character ngram language models for sentiment analysis on Twitter text [C]// SemEval 2013: Proceedings of the Second Joint Conference on Lexical and Computational Semantics (*SEM), Volume 2: Proceedings of the Seventh International Workshop on Semantic Evaluation. Stroudsburg: Association for Computational Linguistics, 2013: 520-524.

http://p.nus.edu.sg/~antho/S/S13/S13-2086.pdf

[11]

BESPALOY D, BAI B, QI Y, et al. Sentiment classification based on supervised latent ngram analysis [C] // CIKM 11: Proceedings of the 20th ACM International Conference on Information and Knowledge Management. New York: ACM, 2011: 375-382.

[12]

MILLER Z, DICKINSON B, HU W. Gender prediction on Twitter using stream algorithms with ngram character features [J]. International Journal of Intelligence Science, 2012, 2(4A): 143-148.

[13]

WRIGHT J, LLOYDTHOMAS H. A robust language model incorporating a substring parser and extended ngrams [C] // ICASSP 1994: Proceedings of the 1994 IEEE International Conference on Acoustics, Speech, and Signal Processing. Washington, DC: IEEE Computer Society, 1994: 361-364.

[14]

HACIOGLU K, WARD W. Dialogcontext dependent language modeling combining ngrams and stochastic contextfree grammars [C] // ICASSP 2001: Proceedings of the 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Washington, DC: IEEE Computer Society, 2001, 1: 537-540.

[15]

SIU M, OSTENDORF M. Variable ngrams and extensions for conversational speech language modeling [J]. Speech and Audio Processing, 2000, 1(8): 63-75.

[16]

ZHOU S, GUAN J, HU Y, et al. A Chinese document categorization system without dictionary support and segmentation processing [J]. Journal of Computer Research and Development, 2001, 38(7): 839-844. (周水庚,关佶红,胡运发,等.一个无需词典支持和切词处理的中文文档分类系统[J].计算机研究与发展,2001,38(7):839-844)

[17]

GAO Z, LI X. Feature extraction method based on sliding window application in text classification[J]. Science & Technology Information, 2008(34): 23-24. (高振峰,李锡祚.基于滑动窗口的特征提取方法在文本分类中的应用[J].科技信息:学术版,2008(34):23-24.)

[18]

篇3

中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2015)01-08-04

An improved pattern matching algorithm of BMHS

Zhang Huan, Hu Yong

(School of Electronic and Information Engineering, Sichuan University, Chengdu, Sichuan 610065, China)

Abstract: Pattern matching plays an important role in computer application. By analyzing BM, BMH, BMHS algorithm and their corresponding improved algorithms, a new improved algorithm(called DBMHS) based on BMHS is proposed. DBMHS takes full advantages of two ends string characters of pattern string, through comparing two ends character jump distance of pattern matching, jump distance is increased. The experiment results show that the improved algorithm significantly increases the jump distance of matching window, effectively improving the matching efficiency.

Key words: pattern matching; jump distance; BM algorithm; BMH algorithms; BMHS algorithm; DBMHS algorithm

0 引言

随着网络技术的高速发展,网络资源呈爆炸式增长。如何在网络数据中找到需要的信息,已经成为人们研究的热点问题。模式匹配算法在很多领域得到了较为广泛的应用,如入侵检测、计算机病毒特征匹配[1]、搜索引擎、文本挖掘等。目前关于模式匹配的算法有很多,其中最著名的是BM算法[2]。BM算法发展的过程中,1980年Horspol发表了改进与简化BM算法的论文,即Boyer Moore Horspoo(BMH)算法[3],随后Sunday在1990年在BMH算法的基础上又进行了改进,提出了BMHS算法[4]。本文对现有几种典型模式算法进行分析,在BMHS算法的基础上进行改进,并进行试验和结果分析。

1 典型算法

1.1 BM算法

BM算法是由Boyer和Moore在1977提出的单模式匹配算法。它是目前实际应用中效率较高的单模式匹配算法之一。BM算法采用从右向左比较的方法,同时应用到了两种启发式规则,即坏字符规则和好后缀规则,来决定向右跳跃的距离。BM 算法中坏字符跳跃表和好后缀跳跃表的设计对提高BM算法效率有至关重要的作用。设文本T(长度为n),模式串P(长度为m)。

⑴ 坏字符跳跃表:当Pk≠Ti,即不匹配情况发生时,若此时Pk是P的末字符且Ti在模式串P中不出现,则下一次比较可以将匹配窗口直接移动m个位置后继续匹配;若Ti在模式串P中出现,则找到Ti在模式串P中出现的最右边的位置j(1≤j≤m-1),匹配窗口移动的距离为m-j(如图1所示)。

<E:\方正创艺5.1\Fit201412\图\zh图1.tif>

图1 坏字符规则

⑵ 好后缀跳跃表: 当Pk≠Ti(k<m)时,子串Pk+1Pk+2…Pm与Ti+1Ti+2…Ti+m-k是匹配的。若在模式串P的k位置左边有与Pk+1Pk+2…Pm相同的子串P1P2…Pm-s或Pk+1Pk+2…Pm的某个后缀Ps+1Ps+2…Pm与P的某前缀P1P2…Pm-s相同,即移动匹配窗口s位使Ti位置与该子串对应位置对齐,算法继续匹配(如图2所示)。

<E:\方正创艺5.1\Fit201412\图\zh图2.tif>

图2 好后缀规则

在匹配过程中,模式串P与文本T从右向左开始匹配,一旦发现不匹配,取好字符跳转和坏字符跳转之间较大的值作为模式串P的向右跳转距离。最理想的情况是每次匹配时文本T中第一个匹配的字符不存在于模式串P中,此时BM的算法的时间复杂度为O(n/m);最坏的情况是文本T中有多个重复的字符,并且模式串P由m-1个相同的字符前加一个不同的字符组成,在这种情况下,BM算法的时间复杂度为O(mn)。

1.2 BMH算法

Horspool提出的BMH算法相对于BM算法更容易实现。BMH算法在预处理阶段只使用了坏字符跳跃表,无论文本中哪个字符造成了匹配失败,都将依据坏字符跳转表向右移动。BMH算法的基本思想是:①搜索文本时,从头到尾搜索,匹配时从右向左匹配。首先比较文本指针所指字符和模式串的最后一个字符,如果相等,再比较其余m-1个字符,无论文本中哪个字符造成了匹配失败,都将由文本中和模式串最后一个位置对应的字符来启发模式串向右移动,即当匹配开始比较TiTi+1…Ti+m-1和P0P1…Pm-1时,一旦发生不匹配,计算跳转距离skip(Ti+m-1),跳转后将模式串和文本对齐后重新匹配。②如果与P完全匹配,返回在T中对应的位置;③如果搜索完T仍然找不到完全匹配的位置,则查找失败[3](如图3所示)。坏字符跳转计算公式:

<E:\方正创艺5.1\Fit201412\图\zh图3.tif>

图3 BMH算法

如图3所示,当文本中的与T2(‘d’)与模式串P中的P2(‘c’)发生不匹配时,计算跳转距离skip(T4),可以看出P1与T4相等,模式串P向右移动3个字符,即skip(T4)等于3,然后将P1与T4对齐后重新匹配。

BMH算法简化了初始化过程,匹配过程中的判断过程也作了简化,因为BMH算法只采用了BM算法的坏字符移动规则,并且将失配情况与偏移量的计算独立,不关心文本串中哪个字符造成了失配,只考虑用于模式串最右端对齐的文本字符来决定偏移量。该算法的理论时间复杂度与BM算法一致,但实际使用情况下较BM算法效率高。

1.3 BMHS算法

BMHS算法在BMH算法的基础上作了进一步改进,该算法的主要思想是:当开始匹配TiTi+1…Ti+m-1和P0P1…Pm-1时,若发生不匹配,考虑下一个字节的情况,即利用下一个字符Ti+m决定右移量。当下一个字符Ti+m不在模式串P中出现时,它的右移量比BMH算法的右移量大,跳过m+1个字符。通常情况下,BMHS算法比BMH算法快,但当Ti+m-1不在模式中出现,而Ti+m出现在模式串中时, BMHS算法[4]的效果就不如BMH算法[3]。匹配过程如图4。BMHS算法的跳转距离计算公式为:

<E:\方正创艺5.1\Fit201412\图\zh图4.tif>

图4 BMHS算法

如图4所示,当Ti+m出现在模式串P中时,如图4(a),将模式串P中的字符‘e’与Ti+m对齐;当Ti+m不存在于模式串P中时,如图4(b)所示,模式串P向右移动m+1个字符;而图4(c)中当Ti+m存在于模式串P中,而Ti+m-1不存在于模式串P中时,skip(Ti+m-1)等于5,而skip(Ti+m)等于1,Ti+m-1的跳转距离大于Ti+m的跳转距离,若还使用Ti+m为标准,则会降低匹配效率。在BMHS算法中最理想的时间复杂度为O(n/m+1)。

1.4 对各算法的已有改进

在模式匹配中存在两个基本定理:任何字符串匹配算法的最坏情况下必须检查至少n-m+1个文本中的字符;任何字符串匹配算法至少检查n/m个字符[5]。因此,没有一个算法比BM算法有更好的计算复杂度,但是我们可以通过改进来减少比较次数,提高匹配的平均性能。

基于以上三种模式匹配算法,近些年已经有多种改进算法。例如,利用统计字符在模式串中出现的频率来实现跳转[6];利用双字节计算偏移量[7-9];通过模式串P和文本T之间的关系来实现跳转[10];利用已匹配成功的字符串来进行跳转[11],以及从模式串两端向中间匹配的方式[12]来改进模式匹配算法等。以上算法虽然减小了匹配次数,但相应增加了匹配的时间。接下来详细介绍一种通过双字节来计算偏移量的模式匹配改进算法。

2012年袁静波提出了一种改进的BMHS模式匹配算法[8]。该算法在BMHS算法的基础上利用文本T中与模式串P最后一个字符对应的字符Ti+m-1,以及Ti+m和Ti+m+1来实现跳转,模式串P和文本T从右向左匹配。以下是具体匹配过程。

第一步:当文本T和模式串P发生失配时,首先判断Ti+m是否在模式串中,若不存在直接跳过m+1的距离,如图5所示,文本T中的T4(‘d’)不在模式串P中,则模式串P向右移动m+1个字符。

<E:\方正创艺5.1\Fit201412\图\zh图5.tif>

图5 Ti+m不在模式串P中

第二步:当Ti+m在模式串中时,判断子串Ti+m Ti+m+1是否在模式串P中,若不存在,则跳过m+2的距离,如图6,子串“be”不在模式串P中,则模式串向右跳转m+2个字符。

<E:\方正创艺5.1\Fit201412\图\zh图6.tif>

图6 Ti+m Ti+m+1不在模式串P中

第三步:若模式串包含Ti+m Ti+m+1,则比较子串Ti+m-1Ti+m是否存在于模式串P中,不存在的话跳转m+1个字符,如图7,子串Ti+m Ti+m+1(“be”)存在与模式串P中,而子串Ti+m-1 Ti+m(“gb”)不存在与模式串P中,则模式串P向右跳转m+1个字符。

<E:\方正创艺5.1\Fit201412\图\zh图7.tif>

图7 Ti+m-1 Ti+m不在模式串P中

第四步:若Ti+m Ti+m+1和Ti+m-1 Ti+m都存在于模式串中,则取两者之间匹配的最大值进行跳转,如图8,可以看出,子串Ti+m Ti+m+1(“ea”)的跳转距离为2,子串Ti+m-1 Ti+m(“ae”)的跳转距离为3,取跳转距离较大的值,则模式串P应向右跳转3个字符。

<E:\方正创艺5.1\Fit201412\图\zh图8.tif>

图8 比较得到较大值进行跳转

在该改进算法中,模式串P最大的跳转距离为m+2,在理想的情况下该算法的时间复杂度为O(n/m+2)。

2 DBMHS算法

2.1 基本思想

通过观察BM,BMH和BMHS算法的匹配过程可以发现,这些算法在匹配窗口的首字符匹配均失败时效率最优。本文提出的DBMHS算法通过比较模式串P的第一个字符P0的跳转距离jump(P1)和在T中与模式串P最后一个字符对应的后一个字符Ti+m的跳转距离jump(Ti+m)来移动模式串P。跳转距离公式如下:

jump(P1)={k|Ti+k=P1,1≤k≤m}

jump(Ti+m+1)=m-k+1 k=Max{k|Pk=Ti+m+1,1≤k≤m}

2.2 匹配算法

显然,提高首字符匹配失败的概率是提高算法效率的关键之一。改进的DBMHS算法结合了BMHS算法特点,首先模式串P与文本T左端对齐,从右向左开始匹配,先检测T中与模式串最后一个字符相对应的字符Ti+m-1是否在模式串P中,若Ti+m-1不在模式串P中出现,则检测后一个字节Ti+m是否存在于模式串P中,若Ti+m不在模式串P中出现,则模式串P可以向右移动最大的距离m+1,否则移动距离为m。如图9、图10所示。

<E:\方正创艺5.1\Fit201412\图\zh图9.tif>

图9 Ti+m不存在于模式串P中

<E:\方正创艺5.1\Fit201412\图\zh图10.tif>

图10 Ti+m存在于模式串P中

若Ti+m-1与模式串P中对应的字符相匹配,则接着匹配余下的字符,一旦发生不匹配的情况,则检测Ti+m是否存在于模式串P中,若不存在,则模式串P直接向右移动m+1的距离,若存在则计算Ti+m的跳转距离,然后计算模式串P中第一个字符P0的跳转距离,比较这两个跳转距离,选择较大的跳转距离作为模式串P的实际跳转距离。从图11可以看出,若使用Ti+m进行跳转,则模式串P的跳转距离为1,若使用模式串P的第一个字符P0进行跳转,则模式串的跳转距离为2,通过比较,使用P0的跳转距离可以使模式串P尽量的向右移动。需要注意的是,若模式串P或文本T中同一个字符出现多次,在计算跳转距离时,需分情况处理,例如,若匹配Ti+m时,P中出现多个与Ti+m相同的字符,则选择最右端的字符与Ti+m对齐;若是在匹配P0时出现这种情况,则选择T中靠左的字符进行对齐。

<E:\方正创艺5.1\Fit201412\图\zh图11.tif>

图11 P1跳转距离大于Ti+m

若算法在匹配时自右向左均匹配成功,则此时找到一次完全匹配,算法结束。DBMHS匹配算法伪代码描述如表1。

表1 DBMHS匹配算法伪代码

[输入:文本串T,模式串P

输出:文本串T中是否存在子串P\&While i≤T

Do If Ti+m-1 Pm

If Ti+m-1P

If Ti+mP Then MOVE m;

Else MOVE m+1;

Else

If Ti+mP Then MOVE m+1;

Else MOVE max(jump(P0),jump(Ti+m));

Else If Ti+kPk

If Ti+mP Then MOVE m+1;

Else MOVE max(jump(P0),jump(Ti+m));

Else If Ti。。。i+m-1= P0。。。m-1 Then Return true;

Return false;\&]

2.3 算法分析

从BMHS算法的匹配算法可以看出,BMHS算法在比较时利用下一个字符Ti+m决定右移量,当Ti+m不在模式串P中出现时会跳转最大的距离m+1,但当Ti+m出现在模式串P中时,由于多进行了一次匹配,BMHS匹配算法的效果就不如BMH算法。因此,DBMHS匹配算法通过模式串两端的字符来充分利用Ti+m。当Ti+m出现在模式串P中时,计算Ti+m的跳转距离,并计算第一个字符P0的跳转距离,通过比较这两个字符的跳转距离来实现更大的跳转,这样不仅提高了Ti+m的利用率,而且获得了更高的匹配效率。

3 算法性能测试

本实验使用的计算机硬件平台为IntelPentium G2020处理器,4G内存,软件平台为Windows 7操作系统,Microsoft Visual Studio 2010集成开发环境。在此环境下分别对BMHS算法、IBMHS算法和DBMHS算法进行测试,IBMHS匹配算法为文献[8]中提出的对BMHS匹配算法的改进算法。

实验随机选取4个不同长度的文本串,实验文本字符集由大小写字母,数字和空格组成。模式串从文本串中随机提取。分别执行BMHS算法、IBMHS算法和DBMHS算法程序,统计不同长度文本串,不同模式串的情况下,算法的执行时间和匹配窗口的移动次数。每个算法分别执行10000次,运行时间取平均值。得到的数据如表2和表3。

表2 匹配窗口移动次数

[文本长度\&模式串长度\&BMHS\&IBMHS\&DBMHS\&匹配次数\&匹配次数\&匹配次数\&2481\&12\&259\&183\&202\&1138\&10\&114\&90\&95\&555\&14\&44\&32\&35\&225\&12\&16\&13\&14\&]

表3 匹配时间

[文本长度\&模式串长度\&BMHS\&IBMHS\&DBMHS\&匹配时间\&匹配时间\&匹配时间\&2481\&12\&0.218\&1.482\&0.218\&1138\&10\&0.094\&0.671\&0.094\&555\&14\&0.031\&0.218\&0.031\&225\&12\&0.016\&0.094\&0.016\&]

由表2和表3可以看出,本文提出的算法相比传统的BMHS算法有较大的改进。例如第一次匹配,DBMHS匹配次数较BMHS减少了约28%,并且文本长度越长,减少的匹配次数就会越多。此外,DBMHS在匹配用时上与传统的BMHS算法比较接近。虽然IBMHS算法的匹配次数少于DBMHS算法,但是匹配时间几乎是DBMHS算法的7倍。从效率上来说,DBMHS算法要优于其他算法。

4 结束语

本文通过分析BM,BMH和BMHS模式匹配算法,提出了一种改进的算法DBMHS。由于DBMHS算法充分利用了模式串两端字符,通过实验可以证明,该算法的匹配效率得到了显著提升。下一步的研究将考虑该算法应用在多模式匹配中,并利用语言学中的知识,如模式串与文本结构,使其性能更加优越。

参考文献:

[1] Yang Wang and Hidetsune Kobayashi. High Performance Pattern

Matching Algorithm for Network Security. IJCSNS International Journal of Computer Science and Network Security,2006.6(10):83-87

[2] Boyer R S,Moore J S.A Fast String Searching Algorithm[J].

Communications of the ACM,1977.20:762-772

[3] Horspool N R. Practical Fast Searching in Strings[J]. Software

Practice and Experience,1980.10(6):5012506

[4] Sunday D M. A very fast substring search algorithm[J].

Communication of the ACM,1990.33(8):132-142

[5] 李雪莹,刘宝旭等.字符串匹配技术研究[J].计算机工程,2004.30

(22):24226

[6] 刘胜飞,张云泉.一种改进的BMH模式匹配算法[J].计算机科学,

2008.35(11):164-165

[7] 姚保峰,王磊.一种改进的BMH模式匹配算法[J].湖南工程学院学报:

自然科学版,2011.3:40-42

[8] Yuan J, Yang J, Ding S. An Improved Pattern Matching Algorithm

Based on BMHS[C]//Distributed Computing and Applications to Business, Engineering & Science (DCABES), 2012 11th International Symposium on. IEEE,2012:441-445

[9] 王浩,张霖.基于坏字符序检测的快速模式匹配算法[J].计算机应用

与软件,2012.29(5):114-116

[10] Shrivastava G, Jain A. A Review of Intrusion Detection Method

Based On Automatic Pattern Matching[J]. Computer Engineering,2012.1(1):88-90

[11] Chen Q, Niu Y, Wang Z, et al. Improved BM Pattern Matching

篇4

中图分类号:TP391.1 文献标识码:A 文章编号:1007-9599 (2013) 02-0000-03

1 引言

突发公共卫生事件应急系统的建立对于保障公共安全,建设社会主义和谐社会具有特殊重要的现实意义。目前国内外在应急响应领域已经取得了很大的进步,但对应急预案系统的研究才刚刚处于起步阶段。作为整个系统中最为基础和根本的一环,应急预案对于应急响应的实施具有重要作用。

本文通过对现有应急预案和应急响应过程的分析,通过框架技术对应急预案的知识进行表示,研究了预案的匹配算法,给出了预案相似度以及价值评估的计算方法。

2 智能预案匹配

应急预案是应急事件处置的领域知识来源。应急预案管理系统可以在对处置预案、资源分布转台、事件处置状态自动初步生成事件处置方案。再经过处置人员对初步方案进行调整,经过认可后即可作为高效地应急响应处理的指导方案。

2.1 基于框架的匹配

预案采用框架的智能化存储结构表示,预案的智能匹配自然和框架体系的匹配息息相关。基于框架体系的匹配系统一般由两大部分组成:

(1)由框架及其相互关联构成的知识库。提供求解问题所需要的知识;

(2)由一组解释程序构成的框架推理机。针对用户提出的问题,通过运用知识库中的相关知识完成求解问题的任务,给出问题的解;

2.2 匹配过程及算法

3.2 数据相似度研究

预案是介于数据与知识之间的一种知识存在形式,存储预案的框架结构具有不同数据类型的槽和侧面属性。计算不同数据类型属性的相似度,首先要讨论属性即槽值和侧面值的数据类型。一般来说,属性的数据类型分为以下三个大类。针对以上三大类型,分别来讨论其相似度算法。

4 结论

本文主要论述了智能预案框架表示与预案知识匹配机制。通过对现有应急预案和应急响应过程的分析,提出一个对应急预案的描述方法。利用框架结构完整的描述预案实体单元,依据各框架间的纵向联系和横向联系,从而形成框架网络。利用框架知识表示,研究了预案的智能匹配与相似度比对。最后讨论了预案相似度算法,给出了预案相似度以及价值评估的计算方法,讨论了预案框架中不同数据类型属性的相似度算法,重点研究了数值类型和文本类型的属性相似度算法。

参考文献

[1]Nilsson NJ. Artificial Intelligence: A New Synthesis[M].Copyrighted Matenal,2000.

[2]Sui YF,Gro Y, Cao CG.Ontologies, Frames and Logical Theories in NKI[J].Journal of Software,2005,16(12).

[3]李晨阳,曹忠升,冯玉才.一种基于框架和中间件模型的知识库系统[J].计算机应用,2000(12):1298-1300.

[4]张荣梅.基于CBR与MAS的智能决策支持系统研究及应用[D]:[硕士学位论文].北京:北京科技大学,2001.

[5]刘义刚.基于预案库的快速智能决策支持系统的研究[D]:[硕士学位论文].北京:北京理工大学,2001.

[6]杨健,赵秦怡.基于案例的推理技术研究进展及应用[J].计算机工程与设计,2008,29(3):710.

篇5

中图分类号:TP393.08

藏文网络舆情是当前必须关注的舆论涌现与信息传播现象。近几年藏文网络舆情的数量呈现递增的增长趋势,网络信息的传播途径也呈现出多样化和复杂化。由于藏文网络的这些显著的特点,藏文信息处理相对滞后于英文和中文等,短时间内迅速的获取大量信息则不容易。另,目前藏文网站大量的涌现,网页数量巨大,处理起来速度相对慢,以往藏文网络舆情页面的统计都是基于手工统计实现的,效率低,很难对网络舆情的变化做出快速响应。模式匹配技术是内容过滤的核心技术,是计算机信息技术领域研究的基础问题之一,研究敏感词作为模式串的藏文模式匹配算法具有重要的研究意义。

BM算法是Boyer和Moore提出的一种字符串快速匹配算法。其基本思想是从右向左的把模式字符串同文本做比较。开始时仍是P的最左边与T的最左边对齐,当在某一趟比较中出现不匹配时,计算模式串右移的距离,把模式串向右移动该距离,再进行从右至左的匹配,同时应用到了两种启发式规则,即坏字符规则和好后缀规则,来决定向右跳跃的距离。

1 BM算法在藏文中的改进

藏文字符匹配中应用BM算法时,必须结合藏文文字特征,对BM算法进行改进以符合藏文的特点,提高匹配效率。

1.1 藏文文字结构及编码特点

藏文是由多个基本字符通过纵向叠加组成的字符串,构成一个完整藏文词素的基本单位是由藏文中的“音节分割符tsheg bar”来确定。一个或多个音节构成一个藏文词。音节,则是由音节分割符(音节点)或者其他藏文标点符号来划分的。一个音节中基字符是不能被省略的,其余相关构件都可以减少掉一个或几个这样仍然可以成一个音节(藏字)。七个构件中辅音字母在各部位依据藏文语法要求都有一定限制并不是所有的辅音字母都能够做前加字或者后加字等。

藏文在计算机中进行编码时一个音节需要用多个编码来表示,长度是不定的,这使得藏文在信息系统中的实现非常的麻烦。

(1)国内的几种藏文处理系统将藏文作为整字给予编码。将藏文垂直组合的部分作为一个处理单元编码(预先进行垂直组合,称为垂直预组合,垂直预组合后的字符称为藏文字丁),比如北大方正的报刊排版系统、华光藏文排版和同元藏文处理系统、激光照排系统等,这几个系统都有各自的编码方案这类编码采用双字节进行编码。这样,具有完整构件组合的藏字(即一个音节最多由4个字丁组成)。因此,国内的这几种编码方式一个音节就最多有4个编码。国家标准的扩A和扩B编码方案采用的是也是整字编码方案。

(2)国外的几种藏文编码方式也是采用整字编码方案,但是将带元音的字丁与元音分离后分别进行了编码。一个藏文音节最多就由5个字丁组成,即一个藏文音节由5个编码组成。

(3)ISO/IEC 10646藏文基本集是国际标准的编码方案,它完全将藏文视做拼音文字,字丁则是通过字母的动态组合实现的。即将一个藏文音节拆分成不同构件的独立的部分,对每一个构件都单独进行编码。采用国际标准后一个藏文音节最多由7个编码组成。基于不同编码的方式使得一个音节的编码个数不同,即使具有相同编码个数的同一种编码方案,由于编码范围不同编码值也将不一致。1997年,我国的藏文基本字符集被收入了国际标准ISO/IEC 10646《信息技术通用多八位编码字符集》。藏文编码标准得到了统一。故本匹配算法以小字符集国际编码标准(ISO/IEC 10646)编码进行讨论。

依据藏文采用小字符集编码中音节字的特点:

(1)具有完整构件的音节具有7个编码且每个编码都是两个字节,则对一个藏文音节字的表示则最多需要14个字节,最少也需要两个字节。匹配过程中只有在一个音节的所有字节都相等的情况下,一个藏文音节才匹配成功。

(2)藏文音节与音节之间由音节点分割,在小字符集中该音节点为0X0F0B。

1.2 基于藏字特征改进的BM算法

改进后的BM模式匹配算法的具体思路:

(1)用模式串P的尾字符与文本串T进行比较,结果失配,且文本串字符不为音节点,则模式串P右移到下一个出现的音节点处在新的位置继续比较。

(2)用模式串P的尾字符与文本串T进行比较,结果匹配,再把模式串第一个字符与文本串T比较,结果匹配。则将模式串与文本串T由右向左依次比较。当所有字符都能匹配上时,则找到字符串返回查找结果并结束;如果模式串第一个字符与文本串T比较,结果不匹配,则:

求move(o)=First(OT)-First(OP),将模式串移动move(o)个字符。

其中First(OT):表示文本串T出现的第一个音节点;First(OP):表示模式串P出现的第一个音节点。move(o):距离差值;

(3)用模式串P的尾字符与文本串T进行比较,结果匹配,再把模式串第一个字符与文本串T比较,结果匹配。则将模式串与文本串T由右向左依次比较。如果在模式串P的某一字符x失配,则转4;

(4)如果失配的字符x在模式P中没有出现,则:

求:First(x):从x起始的字符到第一个出现的音节点的距离。那么从字符x开始的m(模式串的长度)+First(x)个文本显然不可能与P匹配成功,直接全部跳过该区域即可,则模式串移位m+First(x)个位置;

(5)如果失配的字符x在模式P中出现,则:以该字符进行对齐。设move(x)为P右移的距离,m为模式串P的长度,max(x)为字符x在P中最右位置。作模式串移位:[m-max(x)]+First(x)。

通过上对面算法的分析,我们可以看出,改进后的BM算法可以减少比较的次数,提高匹配的速度。

2 结束语

越来越多的藏文出版作品在以数字化方式存储,网络上的藏文资料也日益增多,改进针对西文以及中文的搜索算法,寻找适合藏文文字特点的字符查找算法是值得研究的。改进的BM模式匹配算法就是利用藏文字符构字特征以及编码特点,改变了BM算法的比对方式,从而提高匹配的效率。

参考文献:

[1]江涛,于洪志.基于藏文文本的网络舆情监控系统研究[A].全国计算机安全学术交流会论文集[C],2006.

[2]闵联营,赵婷婷.BM算法的研究与改进[J].武汉理工大学学报,2006(03):528-530.

[3]殷丽华,张冬艳,方滨兴.面向入侵检测的单模式匹配算法性能分析[J].计算机工程与应用,2004(24):46-47.

[4]扎西加,珠杰.面向信息处理的藏文分词规范研究[J].中文信息学报,2009(04):113-117.

[5]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,1999.

篇6

目标检测和跟踪技术是无人机航拍领域的重要研究方向。总结了无人机航拍视频中目标检测和跟踪的常用方法并对其进行了分类。分析了各类别的优缺点,并讨论了无人机航拍视频中目标检测与跟踪的难点及未来发展趋势。

关键词:

无人机;目标检测;目标跟踪;航拍

引言

无人机又称为无人驾驶飞行器,是一种具有遥控、自动、半自主、全自动飞行能力的飞行器。常见的无人机主要分为固定翼无人机、直升机和多旋翼无人机。2010年前,固定翼无人机和无人直升机在航拍领域占据了主流地位,然而,在近几年中,随着控制技术、传感器技术和计算机视觉领域的快速发展,多旋翼无人机成为了航拍领域的新星,尤其是四旋翼无人机和八旋翼无人机受到了航拍领域的青睐,其模型如图1所示。多旋翼尤其是四旋翼无人机之所以受到广泛关注和应用主要是因为有以下特点[1]:操控简单,四旋翼无人机可以实现垂直起降,不受场地的限制,飞行过程中动作灵活并可实现空中悬停;便于携带,旋翼无人机具有体积小、便于携带且操作灵活等特点;经济实惠,多旋翼无人机最大的优点就是成本低,所以,受到广泛应用。目标检测与跟踪技术作为计算机视觉领域的关键技术,受到了各界学者的广泛关注。在无人机航拍领域中,为了实现追踪拍摄,目标检测和跟踪必不可少。因此,目标检测和跟踪技术是无人机航拍领域的重要研究方向[2]。另外,航拍视频中由于画面较大,目标在场景中所占面积较小,背景复杂,目标易发生尺度、旋转、光照和遮挡干扰以及相机抖动等影响,航拍视频中目标的检测和跟踪变得尤为复杂,检测和跟踪工作变得更加困难。本文主要就无人机航拍视频中的目标检测和跟踪技术展开讨论,对目标检测和跟踪算法的分类、优缺点和应用范围进行总结,并对航拍视频中目标检测和跟踪算法的难点和发展趋势加以讨论。

1无人机航拍视频目标检测技术

对无人机航拍视频中的目标进行跟踪时,首先需要对目标进行检测,目标检测的准确与否会直接影响后续对目标的处理,所以,目标检测技术在无人机航拍视频目标的检测和跟踪系统中起到了至关重要的作用。目前,运动目标检测算法相对来说比较成熟,可应用于无人机航拍视频的目标检测算法主要有以下几种:

1)帧间差分法。主要通过连续两帧相同位置像素点间的灰度差来确定目标的移动,算法操作简单,易于实现,但是,该算法只适用于静态背景和目标单一条件下的目标检测,所以,应用于无人机航拍视频的目标检测时,只适用于无人机悬停状态下的运动目标的检测,应用范围有限。

2)背景差分法。其原理是通过预先设置背景,然后通过对检测图像和预设背景作差的方式提取目标。该方法能够得到较为完整的目标图像并且能够满足实时性要求。但是,在实际背景与预设背景相差较大或者实际检测过程中发生明显光照变化的情况下,该方法检测精度会下降较大。所以,该算法同样只适用于无人机悬停状态下的目标检测。

3)光流法。该方法将光流作为灰度像素点在图像上的瞬时运动场,从而实现对目标的跟踪。该方法根据原理主要分为四类:基于梯度的方法、基于匹配的方法、基于能量的方法和基于相位的方法。光流法的工作流程为:首先,在图像中等间隔选取光流点;其次,计算光流点的运动矢量(常用HS法和LK法等);最后,根据运动矢量检测运动目标。与前两种方法相比,由于光流场能够反应像素点的灰度运动情况,所以,光流目标检测法能够进行动态背景下的目标检测。

4)特征匹配法。主要通过提取待检测目标的特征(角点特征、颜色特征等)建立目标模板,然后在实时视频中通过检测图像中的特征图目标模板进行相似性判别,从而实现目标的检测。目前常用的特征匹配算法有SIFT[6]、SURF[7]、BRISK[8]和FREAK[9]等。特征匹配法是目前应用最为广泛的目标检测和识别算法。其不但可以检测出目标,同时可以实现对目标进行识别,并对目标的尺度、旋转、光照和遮挡等具有较好的鲁棒性。特征匹配算法既适用于动态背景的目标检测,也适用于静态目标的检测。

2无人机航拍视频目标跟踪技术

目标跟踪技术是通过确定视频连续帧中目标的位置和大小来实现的,主要的跟踪方法主要有以下几种。

2.1CamShift算法[10]

CamShift算法是对MeanShift算法的改进,是由Bradski提出的连续自适应漂移算法。MeanShift算法是一种基于核密度估计的非参数模式匹配算法。首先,手动选取待跟踪目标区域,使用MeanShift颜色直方图信息作为模板,再对下一帧图像的颜色直方图提取,进行匹配,通过计算相似度获得相似度密度分布图,图中的极值位置即为目标的位置。由于MeanShift算法模板不能实现实时更新且在跟踪过程中核函数带宽固定不变(跟踪窗口固定不变),所以,当目标发生尺度变化或外界干扰时,会造成跟踪目标不准确或者跟踪目标丢失的现象。Cam-Shift算法是将视频中的每一帧都进行MeanShift运算,不仅可以实现对目标模板进行更新,也可以实现自动调节跟踪窗口大小的功能。CamShift算法流程大致分为以下几步:

1)将图像从RGB空间转化为HSV空间,此步骤的主要目的是为了减小跟踪过程中光照的影响;

2)目标初始化,手动选取目标的位置和大小并提取目标区域的H分量的直方图;

3)计算图像反向投影,认为反向投影图中像素点亮度越大,其为目标区域的概率就越大;

4)利用MeanShift算法进行迭代运算,移动搜索窗口的中心到迭代的最大位置;

5)调整搜索窗口的大小;

6)重复步骤3~5,直至视频最后一帧。算法的具体流程图如图2所示。

2.2卡尔曼滤波算法[11]

卡尔曼滤波算法是一种小方差最佳线性递推方法,通过当前目标信息可实现对下一帧目标位置进行预测,从而实现目标的跟踪。卡尔曼滤波算法是通过状态方程和预测方程两个方程实现的,状态方程可实现对系统的状态进行客观描述;预测方程可实现系统对下一时刻状态的预测。其工作原理如图3所示。

2.3粒子滤波算法[12]

粒子滤波的实质是用带有权值的粒子表示后验概率,这些粒子随着目标模型的移动而移动,最后与目标模板进行匹配并更新权值,这些粒子的状态加权即为后验概率。粒子滤波一般可分为4个步骤:1)采样:在系统的状态空间中随机采集粒子并对其进行加权,以反映目标的状态;2)重采样:为了防止粒子退化的现象,保留权值较大的粒子,减少权值小的粒子;3)状态转移:粒子滤波利用状态转移目标在下一时刻的状态,即可得到新的粒子;4)系统观测:利用观测数据来推算粒子的权值,从而得到概率密度函数。算法具体流程如图4所示。

2.4特征匹配算法[13]

基于特征匹配的目标跟踪是采用目标的局部特征信息,通过特征匹配来进行跟踪的算法。目前常用的特征匹配算法有SIFT、SURF、ORB、BRISK和FREAK等。基于特征匹配的目标跟踪算法可分为4步:特征点检测;特征描述;特征点筛选;特征点匹配。跟踪算法的具体流程如图5所示。四种常用算法的原理和优缺点如表1所示。

3无人机航拍视频目标检测和跟踪技术难点

航拍视频中目标的检测与跟踪要想达到良好的效果,首先必须能够准确检测出目标的位置;其次要对检测出的目标进行持续、准确跟踪。当目标受到外界背景和遮挡等干扰时,具有较好的抗干扰性,并在通过干扰时能够具有迅速恢复跟踪的能力。目前,无人机航拍视频的目标识别和跟踪主要面临如下问题:

1)光线的变化。室外无人机航拍过程中避免不了光线的变化,光线的亮度变化使总体环境和跟踪目标的颜色、亮度等特征都会随之改变,对目标检测和跟踪产生影响。

2)复杂背景。航拍视频具有大视场、大广角的特点,所以,航拍视频具有信息量大、背景复杂、视场不确定性和目标在视场中占据面积较小等特点。目标容易受到复杂背景和相似目标的干扰,这种不确定性因素对航拍过程中的目标检测和跟踪会造成较大干扰。

3)目标尺度、旋转问题。无人机航拍视频中,由于无人机飞行高度、飞行角度和飞行方向等问题,非常容易造成目标的尺度变化和旋转变化。当尺度和旋转变化范围较大时,会造成识别和跟踪算法精度显著下降。

4)目标遮挡。在无人机航拍视频中,目标会经常出现被外界事物遮挡的情况,这对目标检测和跟踪算法会产生较大影响,当目标受到严重遮挡时,甚至造成目标检测无法实现、目标跟踪失败等问题。

4无人机航拍视频目标检测与跟踪展望

随着无人机航拍领域的快速发展,航拍视频的目标检测与跟踪技术必然会得到快速发展,在未来将有以下2个方面的发展特点:1)向着实时性更强的方向发展。随着计算机运算能力的发展和算法的不断创新和改进,目标检测和跟踪的快速性会不断提高,满足实时性的需求。2)向着鲁棒性更强的方向发展。衡量目标检测和跟踪性能好坏的一个重要因素就是算法的鲁棒性。未来目标检测算法发展的一个重要目标就是运用较少的信息,就能够实现准确的目标检测和跟踪,并对外界干扰具有较高的鲁棒性。

5结束语

本文详细介绍了无人机航拍视频目标检测和跟踪的常用方法,分析了各方法的基本原理、优缺点和适用范围,最后指出了研究难点和发展趋势,相信通过各界学者的共同努力,无人机航拍视频目标检测和跟踪将会发生巨大的飞跃。

参考文献:

[1]朱玮.基于视觉的四旋翼飞行器目标识别及跟踪.南京:南京航空航天大学学位论文,2014

[2]李文辉.航拍视频中运动目标的检测与跟踪算法研究.西安:西安电子科技大学学位论文,2014

[3]林雯.新型基于帧间差分法的运动人脸检测算法研究.计算机仿真,2010,27(10)

[4]汪国强,盖琪琳,于怀勇,等.基于背景差分法的视频目标检测算法研究.黑龙江大学工程学报,2014,5(4)

[5]吴振杰.基于改进光流法的运动目标检测与跟踪系统.郑州:郑州大学学位论文,2012

[10]王巍,孟朝晖.一种改进的CamShift目标跟踪方法.信息技术,2015(1)

[11]瞿卫欣,程承旗.基于Kalman滤波的CamShift运动跟踪算法.北京大学学报(自然科学版),2015,51(5)

篇7

关键词:免疫原理 克隆选择 抗体循环补充

Key words: immune theory clonal selection antibodies circulating complement

一、引言

人工免疫系统是一个新兴的计算智能研究领域。近年来,人工免疫系统及其应用已逐渐成为了智能信息系统中的研究热点。生物免疫系统的免疫识别过程能在较短的时间内利用数量相对有限的抗体去识别近乎无限多的抗原,从信息处理的角度看,这是在资源受限条件下的一整套高效问题求解机制。克隆选择学说的基因重组、亲和度成熟、受体编辑等机制较好地从个体层次上阐述了这种高效问题求解能力的形成,因而成为多种人工免疫系统模型和算法的重要思想来源,免疫算法就是一种借鉴该系统特性而形成的启发式搜索算法.它具有保持种群分布多样性的特性,避免陷入局部最优解的优点。

二、克隆选择原理

克隆选择是生物免疫系统理论的重要学说,其原理(如下图1所示)的基本思想是只有那些能够识别抗原的细胞才进行扩增,只有这些细胞才能被选择并保留下来,而那些不能识别抗原的细胞则不选择,也不进行扩增。骨髓中微小的“休眠”的B细胞每一个都载有一个不同的抗体类型。这些细胞载有对于抗原特异的受体,扩增分化成浆细胞和记忆细胞。

免疫系统在成长的克隆中也是自适应的,同时也呈现了一种变异机制,在对抗体特异编码的基因中产生极高频率点变异。该机制(体细胞高频变异)与为改进抗原结合而进行的选择,共同导致细胞与抗原具有极高的亲和力匹配。

根据免疫系统中的克隆选择学说的思想,该算法在抗体种群和抗体优秀决定基中进行克隆选择操作,全面的模拟了生物免疫系统克隆选择的过程,很好的保持了抗体种群的多样性。

三、克隆选择算法

3.1 抗体/抗原匹配算法

要确定一个B细胞对象与提呈的抗原结合得有多好,在抗原上任何点开始匹配;匹配算法计算每一位,在抗原与抗体之间以互补的方式进行匹配,得出匹配值,再从匹配分值得到结合值,根据抗体的结合值的大小可以看出抗体和抗原是否结合的完美,并且可以判定出结合完美的抗体中哪些决定基起到了关键的作用。

对于一个抗体结合一个抗原,结合必须是稳定的,也就是匹配分值在匹配发生之前必须超过一定的阈值。该设定阈值为抗体大小的一半。该方法是Hightower的匹配算法的修改,只是多种伪生物匹配的一种。

抗体/抗原匹配算法的描述:

(1)初始化抗体群,针对抗体与抗原的决定基逐位进行异或操作,若抗体和抗原相对应的决定基相同为0,不同为1,结果统记为c;

(2)将抗体与抗原的决定基逐位进行异或操作结果的累积和记为(公式一);

(3)对由两个或者更多个1组成的每一区域记录长度为l;

(4)记抗体的结合度为(公式二);

(5)定义阈值为

(6)抗体Ab 移位一位。

3.2 克隆选择算法的实现

克隆选择算法的实质是在进化过程中,在每一代最优解的附近,根据亲和度的大小进行克隆,产生一个变异解的群体,从而扩大了搜索范围(即增加了抗体的多样性),有助于防止进化的早熟和搜索限于局部极小值,同时通过克隆选择来加快收敛速度。其基本思想为:随机生成N个抗体组成的抗体群,对这些抗体进行一些操作后,选出抗体中优秀的决定基片段,针对这些优秀的决定基片段进行克隆操作,从而形成子抗体。克隆选择操作只是在优秀的抗体决定基中进行,而不是在抗体的所有决定基中。

克隆选择算法是根据克隆选择原理和亲和度的成熟发展而来的,其主要考虑了免疫方面的如下几个方面:

(1)保持功能性的细胞从指令系统中分离;

(2)受刺激最强的个体进行选择和克隆;

(3)为受刺激的细胞死亡;

(4)亲和力度较好的克隆个体重新选择;

(5)多样化的产生和保持。

克隆选择算法的实现步骤(流程图如图2所示):

(1)初始化。随机产生初始的抗体群(P);

(2)计算抗体与抗原的结合度。本文采用的抗体和抗原是否完美结合的匹配算法,是由Hightower提出的,对抗体和抗原逐位进行异或操作,即抗体和抗原的决定基位相同记为0,不同记为1,若抗体和抗原结合,则其为1,根据公式一得出该抗体的匹配值,然后根据公式二可得到该组抗体和抗原的结合强度值(M);

(3)挖掘一个抗体中优秀的决定基片段。根据抗体和抗原的结合的匹配程度,我们可以看出抗体与抗原能够结合上的决定基位,算法中提到必须是两个或者更多个连续结合的决定基片段才进行挖掘提取(Pm)。

(4)对选择出抗体的优秀决定基的片段进行克隆操作,产生一个暂时的克隆群体(C);

(5)随机生成新的编码融合进暂时的克隆群体中,形成新的抗体群(Pn)。

3.3 抗体的循环补充

生物免疫系统中为了保持抗体的多样性,每天都会产生大量的新的抗体注入到免疫系

统中,其中大多数抗体决定基的片段会因为结合度太低而遭受到抑制,但仍有少数的抗体片段跟抗原具有很好的结合,获得了克隆扩增机会。为了模拟这一抗体循环补充机制,我们在每次对优秀抗体决定基片段的提取之后,再随机产生的抗体决定基注入到提取出来的优秀抗体决定基片段中,形成新的抗体进入到克隆扩增以及结合度成熟的过程中,以提高抗体的多样性,实现全局范围内的搜索优化,避免陷入局部最优解。

四、克隆选择算法运行结果

图3(a)中我们可以清楚的看到抗原与抗体是怎样结合的,并找到了能够完美结合的抗体中优秀的决定基片段,根据算法的运行可得出抗体与抗原的结合度为156。图3(b)中可以看出算法能够对这些优秀决定基片段进行了挖掘。图3(c)中算法实现克隆。图3

(d)中随机生成新的编码融合进暂时的克隆群体中,形成新的抗体群。

五、结束语

借鉴了生物免疫系统中的克隆选择原理,从而设计了本算法。在文中详细阐述了算法的实现步骤,并且该算法通过调试能正确的完成其功能输出。但是该算法还没有通过实例验证,在接下来的工作中,将本算法应用到实例中,来判定算法的性能。

参考文献:

[1]韦巍,张国宏.人工免疫系统及其在控制系统中的应用.控制理论与应用,2002,19 (2):157-160

[2]莫宏伟.人工免疫系统原理与应用.哈尔滨工业大学出版社.2003.1390

篇8

中图分类号:TP399 文献标识码:A文章编号:1009-3044(2011)23-5698-03

NCC Algorithm Optimization Based on the Wavelet Multi Scale

FU Yan-li

(Shandong SHENG DA Construction Group Limited Company, Jining 272000, China)

Abstract: Algorithms based on pixel gray value are already very common in mage template matching problem, which normalized cross correlation algorithm (Normalized CROSS Correlation. NCC) is one of the classic algorithm based on gray matching, and is widely applied, but the algorithm also has the disadvantages of high time complexity. Multi scale theory and the multiple resolution image are representation and analysis of relevant, i.e. a digital image can be expressed as a multiple resolution sub-images collection. Its characteristic cannot be found in a resolution while in the characteristics of another resolution is easy to find, the wavelet multi-scale analysis is an important tool, known as mathematical microscope, can be used to construct different adaptive filter with improved filter convergence, which is also one of the advantages of wavelet transform. Image after wavelet decomposition, in the lowest layer of the low frequency sub image resolution, retaining only the most information of image, that is after wavelet transform of image of a feature. Based on the wavelet multi scale NCC algorithm not only optimize the algorithm itself at the same time optimization based on gray matching search path, so that guarantee the NCC algorithm accuracy, and reduce the matching time, and also the simulation experiments show that this algorithm is effective.

Key words: image matching; normalized cross algorithm; wavelet transform; multi-scale; tower structure

图像匹配是对两幅图像找其对应的映射关系或根据已知模式到另一副图中寻找相应的模式。图像匹配是一种极其重要的图像处理和分析技术,无论在图像理解还是在视觉计算中都具有重要作用和地位,其成功应用到航空航天、地球物理信息、海洋船载导航和地理特征探测、工业生产、医疗卫生等,因此图像匹配技术越来越受到人们的重视和青睐。

图像匹配的实用的技术方法一般分为两大类,即基于灰度匹配和基于特征匹配。基于灰度匹配是把待匹配图像中的某一像素点的灰度邻域作为匹配模板或者称为子窗口,在参考图中搜索具有相同或者相似灰度值分布的对应的邻域,从而实现两副图的匹配。基于特征的图像匹配不是利用图像中的像素值进行匹配,而是通过灰度导出符号特征(如:拐点、角点、边缘线段、图像轮廓)实现图像的匹配。前者作为一种基本的匹配方法之一,在很多地方得到了充分的应用,可以充分利用图像的所有信息、尤其适合在图像仅有平移和模板图像中非零项比较少的情况下,便于匹配的实现。但是弱点也是很明显的,即对图像的几何变形、光照强度、对比度都很敏感,并且计算量大,不适合实时匹配。后者利用从图像得到的符合特征作为匹配的基元,有效的克服了前者的弱点,但是特征匹配过于依赖图像的特征点,并且特征点的提取涉及到几何和图形形态学的计算,没有统一的模型可以利用,需要对不同图像选择不同的自适应特征,需要额外的特征提取的计算,往往计算也比较复杂。

1 归一化交叉相关算法

归一化交叉相关算法[1] (Normalized Cross Correlation.简称NCC)定义如下:

假设模板图像w(s,t)的尺寸为m×n,其中m,n往往取奇数,参考图像f(x,y)是一个大小为M×N,(1≤m≤M, 1≤n≤N),则:

(1)

其中a=(m-1)/2,b=(n-1)/2

由于表示模板的能量所以是一个常量,,当模板移动距离比较小时,也近似一个常量,所以为使D(x,y)最小则需要达到最大值,由于对w(s,t)和f(x,y)的副值的变化比较敏感,所以定义归一化互相关函数为:

(2)

其中a=(m-1)/2,b=(n-1)/2

为了进一步克服噪声的影响和理想状态匹配时C(s,t)相同值太多,还进一步简化(2)式即:

(3)

其中a=(m-1)/2,b=(n-1)/2,Ef,Ew分别为f(x,y)和w(s,t)的期望。

当C(s,t)达到最大值时,两图匹配成功。

通过对NCC算法的理论分析,不难发现:为了让算法达到理想状态进行图像匹配,牺牲时间,换取了理想的匹配。通过对公式(1)(2)(3)分析,可以看出公式越来越复杂,计算量越来越大,匹配的时间越来越多,由于小波变换可以作为一个平滑过滤器来使用,所以小波变换可以消除图像的幅值和图像的噪音,因此选择了NCC算法的中的公式(1),这样就可以节省大量的计算时间,提高匹配的速度。

2 小波变换的多尺度分析

小波在1987年首次作为分析工具首次出现,小波是多尺度分析的重要工具,被誉为数学上的显微镜[3],因为小波变换具有时间-频率局部化的特点,即在小波变换中,时间窗函数的宽度与频域函数窗口的函数的都是一个常数,根据测不准原理,他们的乘积也是一个常数。在对低频分析是可以加宽时间窗,减少频率窗;而对于高频分析是,可以增高频率窗,减少时间窗,这种特性被称为“自适应窗口特性”所以小波的这种特性是小波变换能提高为多尺度分析的基础,可以用来构建不同的自适应滤波器以改进滤波器的收敛性。

小波多尺度分析的表示:以多分辨率来解释图像的一种有效并且容易理解的结构就是图像金字塔如图1。一副图像金字塔是一系列以金字塔形式排列的分辨率逐层降低的图像集合。0层是N×N的图像,对0层的图像进行小波亚抽样,可以达到一个原图四分之一的较粗略的缩略图。这个过程是可以重复进行直到N层,这时图像是1×1的图像。这时图像的分辨率也从0层最高到N层逐次下降,是原来图像的四分之一。这样一个图像的金字塔结构共(logN 2+1)层,或者有这么多不同的图像组成,并且图像所用的容量只是原来的图像的4/3N2。

多尺度小波的特点[3]:1)多尺度小波具有窗口自适应的特性,即可以使图像的小波分析聚集到间断点、奇异点和边缘,体现了局部特点;同时也可以获得全局的视点。这个特性是小波变换独有的,对非稳定性和快速变换的信号的分析特别有用的。2)小波变换相当于一组多分辨率的带通滤波器。利用这个特性,可以将图像的信号分解为如图1所示的频率子带上,在每个子带可以用小波变换进行处理。3)多尺度小波分解图像的所有子图的和等于原图像的大小,即不增加存储空间。4)分解后的图像,没有信号损失,保证图像的完整性,便于对低频和高频的处理和上层对下层的实时重建。

3 基于小波多尺度的匹配算法

多尺度小波匹配主要利用了小波多尺度的特性对待配图和参考图进行金字塔式分解,结构如图1,匹配基本流程如图2所示,具体步骤如下:

1)首选判断待配图和参考图的大小,一般待配图比参考图像小多,这时就是在参考图中寻找待配图的位置;反之就是在待配图中搜索作为目标的参考图的过程。两者原理是一样的,所以匹配算法是基于前者论述和测试的。

2)判断待配图和参考图的灰度光照强度、对比度、物体在拍摄时的遮挡情况以及空间几何等,这些都会对基于灰度匹配造成错误的匹配,进行图像匹配前的预处理。

3)以上两步看作图像预处理的过程。接下来选择小波,这步非常重要,本课题选择了Daubechies(db4)小波,因为此小波在运动估计中应用非常广泛,可以很好的保留低频中图像的绝大部分信息,去掉高频信号中的噪声,是一个行之有效的小波。然后利用小波的多尺度特性将待配图和参考图像分解为N层,结构如图1,待配图和参考图未分解的图像为0层(有些文献是将原图定义1层),从低到上,分解的最大层为N层(或者分解的最大尺度为N层),在MATLAB中实现小波变换的最大层的函数是wmaxlev()。但是为了保证低频的中含有未解图的绝大部分信息,尤其是灰度变化比较剧烈的区域,一般分解的层次为:一维分解的分解尺度N不超过5;二维的分解尺度N不超过3。第N层图像的尺寸和大小都是原图来1/(N+1)2。

4)通过前三步,待配图和参考图的原图被分为N层不同频率子图的集合,现在可以在分辨率最低的N层进行待配图的子图与参考图的子图进行匹配。采用了经典灰度相似度量算法:归一化交叉相关算法NCC进行对待配图和参考图进行匹配。整个匹配过程就是将N层的待配图看作模板,匹配的实现基本过程:1)在第N层利用归一化交叉相关算法NCC进行匹配,即求出(1)式的最大值;找出对应匹配区域;2)在N-1层按照N层的算法,再在对应匹配区域进行NCC匹配;3)重复第5步直到0层;4)输出匹配结果。

4 仿真实验

本算法使用Matlab2007b进行了大量的仿真实验,图3是选择了最著名lena图进行算法的仿真说明。

结果分析:

1)为了与其他文献在匹配速度和精确度的可比性,选择了其中的一组著名图像:lena图,如图3和图4中的A图所示。进行尺度为2的小波分解,两幅图像中的尺度为2的低频子图,基本上无法辨认,即所需要的信息基本上都被过滤,所以在第2层匹配是无法匹配的,根据第4节的匹配步骤,只能在第1层子图匹配,匹配实验的结果证明是可行的。

2)将这幅lena的待配图和参考图如表1所示的各种算法进行匹配。通过表1可以看出,此算法是可行的。

5 结束语

论文的创新是首选剖析了NCC算法,选择了算法的中间过渡式作为本算法的一部分,好处是减少图像匹配的计算量,同时也保证了匹配的精确度;采用了小波变换的多尺度特性,优化了匹配的搜索策略,提高了匹配的精确度和匹配的时间,所以结合两者的特点可以很好的完成某些领域中图像的实时匹配。

参考文献:

[1] Gongzalez R C,Woods R E.Digital Image Processing[M].2nd Edition (DIP/2e).北京:电子工业出版社,2005.

[2] 李强,张钹.一种基于图像灰度的快速匹配算法[J].软件学报,2006,17(2):216-222.

[3] Luigi Di Stefan.Stefano Mattoccia Fast template matching using bounded panial correlation[J].Machine Vision and Applications,2003(13):213-221.

[4] Bamea D I,Silverman H F.A class of algorithms for fast digital image registration[J].IEEE Trans on Computers,1972,C-21:179-186.

[5] 郑运平,陈传波.一种新的灰度图像表示算法研究[J].计算机学报,2010,33(12):2398-2406.

[6] 李健,梁琨.基于小波多分辨率分析的快速图像匹配[J].陕西科技大学学报,2006,24(6):81-84.

[7] 刘莹.基于灰度相关的图像匹配算法的改进[J].应用光学,2007,28(5):537-540.

[8] 杜杰.两种基于灰度的快速图像匹配算法[D].大连:大连海事大学,2007.

[9] 范俐捷,王岩飞.一种新的基于灰度的图像匹配方法[J].微计算机信息,2007,23(30):296-297.

篇9

1、课题的主要任务:以DSP平台为系统硬件平台,并基于DM6437为处理器核心,设计硬件原理图,编写特征点提取算法,使系统通过特征点匹配对静态目标进行识别。

2、课题的主要目的:设计并实现一个功能完整,操作简单的目标识别系统,使其能够对静态图像目标进行特征提取与匹配,从而进行目标识别。

二、调研资料情况

1、课题的学术状态:

(1)DM6437关键特性

时钟频率达 600MHz, 1个TVP5146M2视频解码器4个视频DACV输出,128MDDR2DRAM,提供16M non-volatile flash memory, 64M NAND flash, 2M SRAM 提供UART, CAN,I/O接口,AIC33 立体音频编码器,10/100 MBS以太网接口,可配置的 boot load 选项,嵌入式的 JTAG 仿真器接口,4个用户LEDs及4个用户切换点,提供子板扩展插槽,VLYNQ接口,提供S/PDIF接口。

(2)SIFT算法

从理论上说,SIFT是一种相似不变量,即对图像尺度变化和旋转是不变量。然而,由于构造SIFT特征时,在很多细节上进行了特殊处理,使得SIFT对图像的复杂变形和光照变化具有了较强的适应性,同时运算速度比较快,定位精度比较高。如:在多尺度空间采用DOG算子检测关键点,运算速度大大加快;关键点的精确定位不仅提高了精度,而且大大提高了关键点的稳定性;在构造描述子时,以子区域的统计特性,而不是以单个像素作为研究对象,提高了对图像局部变形的适应能力;对于16*16的关键点邻域和4*4的子区域,在处理梯度幅度时都进行了类似于高斯函数的加权处理,强化了中心区域,淡化了边缘区域的影响,从而提高了算法对几何变形的适应性;该方法不仅对通用的线性光照模型具有不变性,而且对复杂的光照变化亦具有一定的适应性。

SIFT算法的特点:1. SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;2. 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;3. 多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;4. 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;5. 可扩展性,可以很方便的与其他形式的特征向量进行联合。

2、参考文献

【1】《TMS320DM6437 Datasheet》,

【2】

【3】

【4】baike.soso.com/v8850239.htm

【5】《Allegro PCB Design CIS Getting Started Guide》,

【6】周建雄,张笑微《基于DM6437 的运动目标检测系统》,《信息化纵横》2019年第12期

【7】《C/C++图像处理编程》,清华大学出版社

【8】孙艳丽,李建海,王玲玲,孙晶《基于SIFT的多焦距图像特征点提取算法》,《现代电子技术》2019 年第23 期总第334 期

【9】蒋建国,李明,齐美彬《基于TMS320DM6437的运动目标实时检测与跟踪》,合肥工业大学学报(自然科学版)2019年7月第34卷第7期

【10】《OrCAD Capture User's Guide》,

三、初步设计方法与实施方案

1、设计方法:

(1)、将外部图像传输到DM6437处理器。

(2)、在DM6436处理器中利用Sift算法对特征点进行提取。

(3)、将提取的特征点与以存特征点进行比对。

(4)、将对比结果进行反馈。

2、实施方案:

(1)、基于Sift算法设计特征点提取算法

(2)、设计硬件原理图

(3)、基于Matlab软件进行仿真

(4)、对仿真结果进行分析,并对不足处进行改进与优化

(5)、编写基于该DSP硬件平台的演示工程文件

四、预期结果

1、主要内容:本课题旨在设计出一套目标识别系统,通过图像特征提取与匹配算法实现目标的识别,图像数据由前端传输给出,系统硬件平台使用DSP平台。

2、预期结果:本课题结束后,基本应可以对静态图像目标进行特征点的提取与匹配,并对匹配后的结果进行反馈。

五、进度计划

第1周:查找相关资料对课题进行初步了解,撰写开题报告。

第2周:深入研究课题内容,对系统各部分模块进行了解。

第3-4周:对DM6437处理器核心进行研究

第5周:设计硬件原理图

第6-7周:研究SIFT算法

第8周:编写特征点提取算法

第9周:编写图像处理程序。

第10周:基于Matlab软件制作仿真文件

第11周:分析仿真文件

第12周:制作PCB原理图

第13周:系统测试及调试

篇10

1引言

键,在分布式环境下加速后缀数组的构造需要充分考虑到通信对算法性能的影响。串匹配问题是计算机科学中研究得最广泛的问题之一,在文字编辑与处理、图像处理、信息检索、分子生物学等领域都有很广泛的应用。本文解决的是分布式存储环境下的精确串匹配问题。在串匹配的许多实际应用中一个确定的文本常常被查询很多次(比如对非常长的基因序列的查询)。针对这种情况,Manber.U和E.W.Myers提出建立后缀数组(suffixarrays)〔1〕来提高查询的性能论文,而后缀数组最大的不足是它的构造时间过长。因此一直以来,如何快速有效地构造后缀数组成了提高基于后缀数组的串匹配算法性能的关

2USAA算法

假设N,M为文本串和模式串的长度,P为处理器数,算法设计思路如下:

(1)将长为N的文本串A均匀划分成互不重盛的P段,分布于处理器。~(P一l)中,且使相邻的文本段分布在相邻的处理器中,显然每个处理器中局部文本段的长度为〔N/P〕。

(2)除了处理器O外,其它每个处理器利用KMP算法计算分配到自己的文本串的头个字符与模式串,基金项目:国家自然科学基金重点项目(60533020)的匹配信息。如果存在匹配情况,就向相邻的前一个处理器发送最大匹配后缀长度Maxsuffixlen,否则就发送一个负数。每个处理器可独立地计算和发送该值,所以这一步的计算复杂度为O(M),通信复杂度为O(1)。

(3)处理器1~(P-l)接收前一个处理器的信息。

(4)利用Manber.U和E.W.Myers在文献〔〔1〕中的算法各处理器并行地构造局部文本段的后缀数组。

(5)利用Manber.U和E.W.Myers在文献〔1〕中的算法各处理器并行地进行模式申的匹配。算法的计算复杂度为O((N/P(109109(N/P))),通信复杂度为0(1),大大降低了通信复杂度。

3实验结果及分析

我们在基于分布存储的32节点HPRX2600高性能机群系统上测试了上述算法,比较了USAA和目前理论值最好的MMsortlz〕算法之间的性能,其计算复杂度为,通信复杂度为。

图1给出了当M一16、P~2时,N的取值对算法执行时间的影响。从图中看出当时,由于N、P的取值成了影响算法复杂度的主项,因此在实际应用中USAA算法比MMsort算法表现要好。

图2给出了当N变大时,USAA算法和MMsort算法的通信时间比较。可以看出,随着文本串的规模变大,由于处理器间需要进行的通信量增加,MMsort算法的通信时间有明显的上升,而USAA算法的上升幅度要显著小于MMsort。

4结论

本文提出的USAA算法通过采取均匀的后缀分配方式来降低处理段间匹配时的通信消耗,在(N/P)M的情况下使算法在保持计算复杂度的同时大大降低了通信复杂度。通过实验结果可以看到,USAA算法很好地解决了在分布式存储环境下降低后级数组构造中的通信复杂度的问题。

参考文献

篇11

中图分类号:F830 文献标识码:A 文章编号:1674-2265(2013)06-0020-04

2012年的诺贝尔经济学奖得主研究的一个重要问题是如何使不同的市场主体匹配起来,并且达到一个稳定的状态。同其他市场一样,金融市场的一项重要的功能就是把市场的一方主体与另一方主体匹配起来。但是如何使双方达到一个稳定匹配的状态,使匹配更有效率,是当前金融市场面临的一个核心问题。本文将对双边匹配理论的发展与应用进行梳理,并重点对该理论在金融市场的应用问题进行研究。

一、关于双边匹配理论

(一)双边匹配理论的起源与发展

罗思(Roth,1985)是最早明确公开提出双边匹配概念的,他不仅明确地界定了“双边”和“双边匹配”的概念,而且分析了双边匹配的现实案例。罗思认为双边就是指事先被指定好的两个互不相交的集合,而双边匹配是指在这些市场中双边人的匹配。

2012年诺贝尔经济学奖的颁布丰富了双边匹配问题的研究方法。诺贝尔经济学奖得主提出了“稳定匹配”的概念,从而使匹配由“个人理性匹配”①走向了“稳定匹配”。沙普利(Shapley)采用合作博弈理论,在比较了不同匹配方法的基础上,用“G—S算法”来保证总能获得稳定的匹配,这一算法还可对各方试图操纵匹配过程的做法加以限制。罗思在沙普利的理论基础上,通过一系列的研究,发现稳定是市场机制运行成功的关键因素,并运用这些研究成果重新设计了现有的很多市场匹配机制,使匹配更有效率。

(二)双边匹配理论与搜寻—匹配理论的关系

搜寻—匹配理论与双边匹配理论都起源于20世纪60年代,搜寻—匹配理论研究的是在“摩擦市场”中,哪些因素会影响求职者的求职策略、工作搜寻强度及失业持续时间,以及如何匹配市场上的空缺职位和失业者;而双边匹配研究的是在具有双边市场特征的市场上,如何使市场双方主体匹配起来,并且形成稳定的状态。戴翔(2012)指出,搜寻—匹配理论的核心思想是:因为现实中存在着各种交易摩擦,从而产生了搜寻与匹配成本,这最终会致使交易的不顺利;双边匹配理论的核心是双边市场的双方人如何达到一个稳定的匹配状态。搜寻—匹配理论的研究方法包括匹配函数、劳动力市场基准模型——DMP基准模型;双边匹配理论的研究方法包括G-S算法、H-R算法、线性规划方法等;搜寻—匹配理论主要应用在网络金融信息等方面,双边匹配理论的应用方面更广,主要包括劳动力市场、人与组织匹配、电子商务、器官捐献和金融市场的风险投资、企业合并、银行信贷等方面。

(三)稳定的双边匹配与有效配置②的关系

有效配置状态就是指处于帕累托最优状态。稳定匹配的概念强于帕累托最优匹配,因为每个稳定匹配是帕累托最优的,然而不是每个帕累托最优匹配都是稳定的。帕累托最优要求没有两个人希望匹配在一起并且需要对方的同意。相比之下,稳定匹配要求没有两个人希望匹配在一起,无论对方是否同意。

二、双边匹配理论在国内外的应用

学者们对双边匹配问题进行深入研究并加以提炼,针对现实中的双边匹配问题进行了分析,尝试用双边匹配决策理论来解释具体的现象和问题。双边匹配理论的研究结合实际应用背景进行了有实用意义的扩展,广泛地应用于很多领域。

(一)双边匹配理论在国外的应用

1. 实习生与医院的双边匹配。实习生与医院的匹配是匹配理论较早的运用。在美国有一个制度,医学院的学生毕业后都要到各医疗机构实习。在早期,医学院毕业生实习市场比较无序,双方匹配很不稳定。为了达到稳定匹配,这个市场引入了“全国住院医生匹配项目(NRMP)”,刚开始比较成功,但后来NRMP也遇到了问题。1995年罗思和他的同事合作,对已有的匹配算法进行了改进,从而使这个市场运行更加稳定。

2. 学生与学校的双边匹配。学生入学匹配问题也是较早提出的双边匹配问题之一,匹配双方是学校和学生。学生在学校的录取优先权排序是学校对学生的偏好排序,而学生对学校的偏好排序是传统匹配理论中的排序,匹配的目标是使学生与学校都达到满意的结果。张、塞特曼和谭(Teo、Sethuraman和Tan,2001)对新加坡小学生升入中学进行了研究,研究发现小学生和学校在匹配过程中诚实地表达自己的偏好有利于形成稳定的匹配结果。

3. 人—组织双边匹配理论的应用。关于人—组织的双边匹配,目前主要有两种观点:大多数学者认为人—组织的匹配就是组织成员的个人特征与组织特征之间的相互包容性;少数学者认为人—组织的匹配是组织成员的个人特征与组织特征之间的互补性。克里斯托夫(Kristof,1996)认为一致性匹配就是组织的价值观、目标、文化等基本特征与个人的价值观、目标、人格等基本特征在很大程度上都一样,而互补性特征就是组织和个人双方的特征可以互为补充。另外,卡普兰(Caplan,1987)构建了关于个人—组织匹配的模型,包括需要—提供匹配和要求—能力匹配两种模型。其中需要—提供匹配就是组织能提供满足个人需要的岗位;要求—能力匹配是个体的能力能够适应组织的需要。

4. 电子商务中双边匹配的应用。匹配理论在电子商务方面的运用起于20世纪,并一直运用到现在,而且运用面更广、更灵活。郑(Jung,2000)用人工智能的方法来研究电子商务中的双边匹配问题,并且获得了稳定的匹配结果。萨尔尼和克劳斯(Sarne和Kraus,2008)建立了在电子商务中面向多个人的分布式的双边匹配机制。

(二)双边匹配理论在国内的应用

国内关于双边匹配的研究起步较晚,相关的理论研究相对滞后,研究成果主要是应用方面,但是应用研究范围相对较窄,研究的领域主要包括高考招生、劳动力市场、电子商务和金融市场等。

1. 高考招生中的双边匹配理论应用。双边匹配理论在高考招生中应用的研究范围涵盖了稳定匹配方案的存在性、研究方法的选择、信息环境对匹配效率的影响等。温忠麟(2006) 使用操作性方法验证了校方优先方案和考生优先方案,即稳定匹配的方案是存在的。李坤明(2010)分析了完全信息条件和不完全信息条件下考生的偏好,表明信息环境对高考录取机制配置效率有重要的影响,反过来高考录取机制又对信息环境具有依赖性。

2. 劳动力市场中双边匹配理论应用。张成(2010)借鉴双边匹配理论在国外劳动力市场的应用,并结合国内劳动力市场的特点,利用双边匹配理论的语言建立模型对我国大学毕业生劳动力市场进行描述。赵希男等(2008)构建了组织中人—岗匹配的纵向匹配度和横向匹配度测算模型来测算人与岗位的匹配程度,并通过实际案例证实了模型的有效性。

3. 电子商务中的双边匹配理论应用。近年来电子商务飞速发展,在电子商务中基于电子中介买卖双方的匹配问题,是一个典型的双边匹配问题。对双边匹配理论在电子商务中应用的研究是由理论到实证层层推进的。徐晓辉和陈剑(2000) 从产品和服务的标准化程度、顾客对产品网上销售的态度和顾客体验度三个方面,提出了一个判断产品是否适合在网上销售的标准框架,从而开启了对产品电子商务匹配度的初步探讨。基于电子商务业务的特殊性,可能出现多对多的情况,张振华、贾淑娟等(2008) 将Gale-Sharply和H-R算法从理论上扩展到了“p-k”的情况,以处理多对多双边匹配问题。

三、双边匹配理论在金融领域的应用

在我国金融领域,有些市场是研究双边匹配理论的天然场所,但是国内外学者们对双边匹配理论在金融领域的应用只有一些具体金融方面的研究,至今未形成一个体系。目前的研究主要在风险投资项目、企业并购、投资以及银行信贷方面得到应用。

(一)双边匹配理论在风险投资中的应用

在市场经济活动中风险投资商与风险投资项目或者创业者的匹配是一种典型的双边匹配模式,最优秀的风险投资商期望能够选择最好的风险投资项目,最好的项目也期望能有一个最优秀的风险投资商对其投资。 索伦森(Sorensen,2007) 采用定量分析方法分析了风险投资商与风险投资项目的双边匹配效应,认为双边匹配模式对风险投资商和风险投资项目产生双向的正的积极影响。在国内,曹国华、胡义(2009)认为,风险投资家和创业者的合作都是为了获得最大价值,所以两者之间建立稳定的匹配关系非常重要。他们根据自身的评价标准选择与对方建立匹配关系的理论基础,建立了风险投资家和创业者之间的双边匹配模型,并加以应用。

(二)双边匹配理论在企业并购中的应用

目前,双边匹配理论在企业并购中应用的研究比较零散,大都是从企业并购活动的某一个方面来研究的,如战略匹配、资源匹配等单个方面的研究,缺乏一个系统性的研究。

刘仲英等(2004)研究了企业并购活动中的战略匹配问题,建立了EKMS柔性和环境不确定性的匹配模型。马锐军、张勇(2006)分析了企业并购中人力资源匹配的问题,他认为人力资源的匹配要以人的能力为核心的管理和人力资源能力建设为主要内容。张海珊(2007)将企业并购活动中的资源匹配分为资产匹配和能力匹配,并通过建立BP神经网络模型来判断并购双方总体的匹配性。

(三)双边匹配理论在银行信贷中的应用

双边匹配理论在银行信贷方面应用的研究比较少。文胜(2006) 认为我国银行信贷市场存在着两个有完全不同运行机制的市场——目标客户信贷市场和非目标客户信贷市场。目标客户信贷市场的议价过程可以采用递延接受算法,结果稳定;非目标客户信贷市场如果采用递延接受算法,运行结果不稳定,因此需要设计一个中央化的匹配程序以保证结果的稳定。张继军(2011)通过分析中小企业贷款现状和贷款难的原因及城市商业银行为中小企业贷款的实际案例,认为小银行和中小企业的贷款需求是匹配的。

银行和贷款客户之间的稳定匹配,对于银行来说,可以规避客户的违约风险、减少银行的不良贷款、实现银行的稳健经营;对于贷款客户来说,稳定匹配可以减少贷款客户的搜寻成本、贷款成本,实现企业的持续稳定经营。所以学者们有必要深入的研究双边匹配理论在银行信贷中的应用。

四、结论与启示

通过对目前国内外关于双边匹配研究文献的回顾与综述可以发现,国外学者对双边匹配问题进行了大量探索性的研究,并取得了一系列的研究成果。学者们在研究中明晰并扩展了双边匹配理论的应用背景,探索了匹配的目标和获得稳定匹配结果的算法,并尝试在研究中用双边匹配思想来阐明并解决现实中大量存在的、不同参与主体之间的匹配问题。2012年诺贝尔经济学奖的颁布必然将双边匹配理论的研究和应用推向一个新的阶段。

毋庸置疑,双边匹配理论尚处于发展过程中,还有许多尚待进一步明确的具体问题。另外,国内学者对双边匹配问题的关注和研究还相对较少,研究内容也较为分散。但是,在我国金融领域,有许多市场是研究双边市场理论的天然场所,尤其是在双边市场条件③下运作的银行卡市场。作为一种典型的双边市场,市场需求和供给均呈现独特性,发卡机构必须围绕双边用户的联合需求提品和服务、必须协调双边用户的需求以达到均衡。因此,加强对发卡机构、特约商户、持卡人、银行卡组织等多方匹配机制的研究,能从根本上提高银行卡市场的匹配效率,这对于竞争不断加剧的银行卡市场④而言,无疑是增强银行卡市场竞争力的有效途径。

注:

①匹配研究是从“个人理性匹配”概念入手的。如果每个人对其派遣结果是可接受的,这就是个人理性匹配。

②有效配置意味着在资源和技术条件限制下尽可能满足人类需要的运行状况。帕累托最优状态表示,当事物的状态在给定的约束条件内时,通过重新改变这种事物的状态使之满足可用的约束条件,已经不可能使任何一个人的处境按照自己的观点来说变得更好。

③罗切特和蒂罗勒(Rochet和Tirole,2004)将双边市场定义为,通过一个或几个平台能够使最终用户相互作用,并通过合理地向每一方收费而试图把双方维持在平台上的市场。双边市场涉及到两种类型截然不同的用户,每一类用户通过共有平台与另一类用户相互作用而获得价值。

④截至2011年底,银行卡发卡量累计超过28.5亿张,同比增长18%。银行卡跨行交易全年超过16万亿元、104亿笔,同比分别增长44%、24%。其中,POS跨行交易13.4万亿元,同比增长47%;ATM跨行交易2.3万亿元,同比增长37%。刷卡消费额超过16万亿元,同比增长超过50%,占社会消费品零售总额的比重预计超过40%,比2010年提高约6个百分点——中国行业研究网。

参考文献:

[1]Gale,Shapley.1962.College Admissions and the Stability of Marriage [J].American Mathematical Monthly, 69,(1).

[2]Roth,mon and Conflicting Interests in Two-sided Matching Markets[J].European Economic Review,27,(1).

[3]Teo C.P,Sethuraman.J,Tan.W.P.2001.Gale-Shapley stable marriage Problem revisited:issues and applications[J].Management Seienee,47(9).

[4]李坤明. 基于双边匹配理论的中国高考录取机制研究[D].华南理工大学硕士论文,2010.

[5]张成. 双边匹配理论及其在我国大学应届毕业生劳动力市场的应用[D].华南理工大学硕士论文,2010.

[6]赵希男,温馨,贾建锋. 组织中人岗匹配的测算模型及应用[J].工业工程与管理,2008,(2).

[7]徐晓辉,陈剑. 关于产品电子商务匹配度的研究[J].南开管理评论,2000,(4).

[8]张振华,贾淑娟,曲衍国. 基于稳定匹配的电子中介匹配研究[J].控制与决策,2008,(4).

[9]李晓慧. 基于优先级的双边匹配方法在B2B电子商务中的应用研究[D].西安电子科技大学硕士论文,2010.

篇12

20世纪末开始随着计算机技术的发展,各种信息资源大量涌现,进入了信息大爆炸的时代。如何在广阔的信息海洋中检索到自己感兴趣的数据越来越成为网络用户关注的焦点。针对用户检索信息的需求,相继出现了许多优秀的搜索引擎,比如雅虎,Google,百度等。同时一些电子商务网站,比如Amazon,eBay,淘宝,当当等也通过不同的检索策略为用户提供信息检索服务。而且随着商业搜索引擎的不断完善,信息检索在教育领域发挥的作用也越来越重要,其中最重要的应用就是在电子图书馆中的资源检索。

一、电子图书馆概述

电子图书馆(Digital Library)在信息大爆炸的时代背景下诞生,改变了传统图书馆资源管理方式、信息检索方式上的不足,越来越成为图书资源管理和资源检索的重中之重。

广义而言,电子图书馆包括所有电子形式的图书馆资源:经过电子化转换的或以电子形式出版的资料,新出版的或经过回溯性加工的资料(包括期刊、参考工具书、专著、视频音频资料等)[2]。电子图书馆还可以通过网络将分散的电子资源集中在一起,为用户提供无限量的电子资源信息。

一个完整的电子图书馆系统应该包括以下几个部分:用户发出信息查询请求、系统接收请求并进行检索处理、检索结果返回给用户三个部分。

但是现存的很多电子图书馆系统把注意力放在如何提高检索请求的处理速度上,而忽略了最重要的一个因素:用户(Users)。电子图书馆服务的主要服务对象是不同的用户,关键在于针对不同的用户,通过系统的分析和判断,对不同用户的检索行为进行记录、分析、综合,进而为不同的用户返回用户感兴趣的检索结果。

例如电子图书馆应该针对不同学院不同学科的用户的不同兴趣进行信息的检索,通过为不同组的用户设置不同的检索库,在进行相关检索时首先从这几个数据库中进行检索,从而达到最快最高效的返回检索结果的目的。

所以本文提出了一个基于用户兴趣的分组模型。根据用户的兴趣将用户进行分组,根据不同的分组采取更有针对性的信息检索。

二、用户分组算法设计

用户分组模块主要包含两个部分,第一部分是电子资源主题关键字的获取,获取主题关键字后返回给用户,根据用户对这些关键字的兴趣获得用户兴趣集合,该集合是进行用户分组的主要依据;第二部分是根据第一部分获得的用户兴趣集合进行用户间的形似度匹配,将具有相同兴趣的用户划归为同一组。

1.资源主题提取原理

本文提出的检索系统模型根据用户的检索兴趣对用户进行分类,通过处理同类用户的请求以实现快速准确的检索电子资源。用户兴趣(User interest)主要通过归纳分析用户对电子资源的浏览、查询以及下载等操作而获得。

要实现资源检索,首先就要获得相应资源的主题(Topic)信息。本文利用LINGO聚簇算法实现电子资源主题的提取。同时该算法也可以用来解决稀有主题的检索和冷门主题过度重复检索的问题。

当用户检索主题为T1的资源时,通过LINGO聚簇算法返回的结果既包括T1有关的资源,也包括与主题T1相近的其他资源,用户需要在这些返回结果中进行选择。同时系统为用户返回一组这些相近主题的集合。通过记录、分析、归纳用户对这些主题对应资源的操作,为每个主题T计算一个权值 ,同时对这些主题T根据其权值进行排列,获得用户兴趣关键字集合。

利用LINGO算法检索到的电子资源主题(topic)和用户兴趣集合是本文提出的检索模型中对用户进行分类的主要依据。

2. 相似度匹配算法原理

在进行信息检索时,最重要的相似度匹配方法有两种:变量相似性匹配和相关性匹配。所以,我们需要进行如下计算:

(公式1)

(公式2)

(公式3)

公式(1)代表了用户a和i的相关性。其中,表示用户a中主题j的权值,代表用户a对主题j的重视程度。j表示用户a和i所对应的用户兴趣集合中的元素。V代表由公式(3)计算出的用户兴趣集合元素的概率。公式(2)代表了用户a和i的变量相似性。

当某个主题的权值改变或者新加主题的时候,分组系统将重新计算用户兴趣权值,从而对用户分组进行调整。

当用户a的操作影响主题j时,根据主题j的权值变化,通过计算每个用户分组受影响的概率来判断将对哪个用户组进行调整,见公式(4)。

(公式4)

其中表示用户组k受影响的概率。T为系统中所有用户的数量,是用户i所属的分组,是用户i受主题j影响的概率,N代表用户组K中的用户总数,表示用户组k的用户数在系统总用户数中的比率。

三、系统框架及原理

1.模型框架设计

图3-1是本模型的一个系统框架结构图。

图3-1系统框架结构简图

由图3-1可知,该模型与传统的图书馆检索模型并没有差别,都是由三大部分组成:用户,检索服务器,资源。首先,用户的查询请求发送给检索服务器,检索服务器根据用户的检索主题和用户兴趣集合对用户分类,然后针对用户类别的不同,将用户的检索请求进行分化处理,然后针对不同的用户组别查询相应的电子资源库。

在本模型中,最重要的是用户分组模块,只有对用户进行有效的分组才能对用户的信息检索请求进行有针对性的查询。本文提出的分组模型主要根据用户兴趣的相似度来对用户进行分组。

2. 系统工作流程

系统工作流程分为以下几个步骤:

(1)用户发出资源查询请求。

用户在客户端操作电子信息资源,在这个过程中,用户会浏览、下载、查询特定资源,客户端根据用户的行为搜集用户查询主题集合T与用户兴趣集合I。

(2)检索服务器接收用户请求以及集合T和集合I。

服务器端接收用户请求后,首先根据客户端传送过来的用户查询主题集合T和用户兴趣集合I为用户分组。同时,当用户有新的查询请求到达时,分组模块利用相似度匹配算法对现在的分组情况进行调整。

(3)根据步骤(2)获得的分组结果,针对电子图书馆的不同资源库进行资源查询处理。

(4)将查询结果返回给用户。

四、 结束语

本文介绍了基于用户兴趣的分组模型在电子图书馆信息检索中的应用。本论文提出的检索模型与传统的图书馆检索模型并无大的差别,唯一不同的地方是在检索服务器端对用户进行分组处理,根据用户兴趣将用户分成不同的组别,针对不同的组别,检索服务器将检索不同的电子信息资源库。这样缩小了检索服务器检索资源的范围,提高了检索效率和准确度。

本文采用LINGO聚簇算法实现电子资源主题的提取,该算法能够有效解决稀有关键字的检索问题,同时对于某些冷门领域的过度重复检索问题也有良好的解决方案,所以利用该算法进行电子资源的检索和管理,能够提供用户感兴趣且全面的电子资源信息。

本文的重点在于用户的分组,根据用户兴趣集合利用相关性匹配和变量相似度匹配算法进行用户的分组处理,该算法能够根据用户检索、浏览、下载电子资源的行为对用户进行自动分组,为检索服务器确定目标检索资源库提供了依据。进一步保证了检索结果的准确性和高效性。

参考文献:

[1] Digital Libraries

[2] 王预:基于数字图书馆检索技术的数据挖掘研究[J].计算机技术与发展,2006(11)

[3] Stanislaw Oilskin and David Weiss: Conceptual Clustering Using Lingo Algorithm: Evaluation on Open Directory Project Data, Advanced in Soft Computing, Intelligent Information Processing and Web Mining, Proceedings of the International IIS: IIPWM’04 Conference, Zapopan, Poland (2004) 369-37

友情链接