相似度检测装置的制作方法

文档序号:12176339阅读:156来源:国知局
相似度检测装置的制作方法

本发明实施例涉及通信技术,尤其涉及一种相似度检测装置。



背景技术:

两个序列是否相似通常用序列相似度衡量,将一个序列通过一系列“序列操作”转换为另一个序列,显然,所需的“操作代价”越小,序列相似度越高。求序列相似度的过程,其实就是求最小“操作代价”的过程。即两个序列的相似度等于将其中一个序列通过一系列“序列操作”转换为另一序列的最小“操作代价”。序列操作包括“插入”、“删除”、“替换”、“匹配”等操作,操作代价为各种序列操作的量化标准。

相关技术使用相似度检测装置计算序列的相似度,该相似度检测装置包括多个检测单元,每个检测单元至少需要三个寄存器、三个加法器和一个比较器。其中,比较器用于对检测单元的三个输入的累计权值进行比较,选择出最小的累计权值,加法器用于将该最小的累计权值与该检测单元的“插入”、“删除”、“替换”操作的权值进行相加,并将相加结果分别送至三个输出,寄存器用于保存该检测单元的三个输出的累计权值。

由于权值被多个检测单元一级一级累加,可能会存在累加的权值过大造成溢出,使得结果失效。



技术实现要素:

本发明实施例提供一种相似度检测装置,以克服现有技术中相似度发生溢出的问题,确保相似度检测结构的正确性。

本发明第一方面提供一种相似度检测装置,包括:

M×N个检测单元,所述M×N个检测单元形成一个M行N列的阵列,每个检测单元包括:第一或门电路、计数器、选择模块、三个输出电路和路径记录模块,N和M均为大于或等于2的正整数;

其中,所述第一或门电路包括三个输入端和一个输出端,所述三个输入端为:左输入端、左下输入端和下输入端,所述三个输出电路为:右输出电路、右上输出电路和上输出电路,所述第一或门电路的左输入端与左检测单元的右输出电路连接,所述第一或门电路的左下输入端与左下检测单元的右上输出电路连接,所述第一或门电路的下输入端与下检测单元的上输出电路连接,所述第一或门电路的三个输入端还分别与所述路径记录模块连接,所述第一或门电路的输出端与所述计数器的输入端连接,所述路径记录模块用于记录所述第一或门电路的三个输入端中首先输入高电平的输入端;

所述计数器的输出端与所述选择模块的输入端连接,所述计数器的最大值大于三种序列操作的权值的最大值,所述序列操作的权值用于表示对应的序列操作的代价,所述各序列操作的权值为所述计数器的值;

所述选择模块的三个输出端分别与所述右输出电路、所述右上输出电路和所述上输出电路连接,所述选择模块还包括两个控制端,所述两个控制端的输入信号为所比较的两个序列的字符,所述右输出电路与右检测电路的左输入端连接,所述右上输出电路与右上检测电路的左下输入电路连接,所述上输出电路与上检测电路的下输入端连接;

当所述第一或门电路的三个输入端的任意一个输入端的输入为高电平时,所述第一或门电路输出高电平,所述路径记录模块记录所述第一或门电路的三个输入端中首先输入所述高电平的输入端,所述计数器开始计数,当所述计数器的输出为第一计数值时,所述选择模块的第一输出端输出所述高电平,所述右输出电路输出并保持所述高电平,当所述计数器的输出为第二计数值时,所述选择模块的第二输出端输出所述高电平,所述右上输出电路输出并保持所述高电平,当所述计数器的输出为第三计数值时,所述选择模块的第三输出端为所述高电平,所述上输出电路输出并保持所述高电平。

结合第一方面,在第一方面的第一种可能的实现方式中,所述选择模块包括:译码器、多路选择器;

所述计数器的输出端与所述译码器的输入端连接;

所述译码器包括多个输出端,所述译码器的第一输出端与所述右输出电路连接,所述译码器的多个第二输出端分别与所述多路选择器的多个输入端连接,所述多路选择器的输出端与所述右上输出电路连接,所述译码器的第 三输出端与所述上输入电路连接;

当所述计数器的输出为所述第一计数值时,所述译码器将所述第一计数值翻译为第一独热码,所述译码器根据所述第一独热码从所述译码器的第一输出端输出高电平,当所述计数器的输出为所述第二计数值时,所述译码器将所述第二计数值翻译为第二独热码,所述译码器根据所述第二独热码从所述第二独热码对应的第二输出端输出所述高电平,所述多路选择器根据所述两个控制端输入的字符以及所述第二独热码对应的第二输出端输出的所述高电平,从所述多路选择器的输出端输出所述高电平,当所述计数器的输出为所述第三计数值时,所述译码器将所述第三计数值翻译为第三独热码,所述译码器根据所述第三独热码从所述译码器的第三输出端输出所述高电平;

所述选择模块的第二输出端输出所述高电平,所述右上输出电路输出并保持所述高电平,当所述计数器的输出为第三计数值时,所述选择模块的第三输出端为所述高电平,所述上输出电路输出并保持所述高电平。

结合第一方面,在第一方面的第二种可能的实现方式中,所述右输出电路包括:第二或门电路和第一与门电路,所述第二或门电路包括两个输入端和一个输出端,所述第一与门电路包括两个输入端和一个输出端,所述第二或门电路的一个输入端与所述选择模块的第一输出端连接,所述第二或门电路的另一个输入端与所述第一与门电路的输出端连接,所述第二或门电路的输出端与左检测单元的左输入端、所述第一与门电路的一个输入端连接,所述第一与门电路的另一个输入端接高电平;

所述右上输出电路包括:第三或门电路和第二与门电路,所述第三或门电路包括两个输入端和一个输出端,所述第二与门电路包括两个输入端和一个输出端,所述第三或门电路的一个输入端与所述选择模块的第二输出端连接,所述第三或门电路的另一个输入端与所述第二与门电路的输出端连接,所述第三或门电路的输出端与左下检测单元的左下输入端、所述第二与门电路的一个输入端连接,所述第二与门电路的另一个输入端接高电平;

所述上输出电路包括:第四或门电路和第三与门电路,所述第四或门电路包括两个输入端和一个输出端,所述第四与门电路包括两个输入端和一个输出端,所述第四或门电路的一个输入端与所述选择模块的第三输出端连接,所述第四或门电路的另一个输入端与所述第三与门电路的输出端连接,所述 第四或门电路的输出端与下检测单元的下输入端、所述第三与门电路的一个输入端连接,所述第三与门电路的另一个输入端接高电平。

结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述右输出电路包括:第二或门电路和第一与门电路,所述第二或门电路包括两个输入端和一个输出端,所述第一与门电路包括两个输入端和一个输出端,所述第二或门电路的一个输入端与所述译码器的第一输出端连接,所述第二或门电路的另一个输入端与所述第一与门电路的输出端连接,所述第二或门电路的输出端与左检测单元的左输入端、所述第一与门电路的一个输入端连接,所述第一与门电路的另一个输入端接高电平;

所述右上输出电路包括:第三或门电路和第二与门电路,所述第三或门电路包括两个输入端和一个输出端,所述第二与门电路包括两个输入端和一个输出端,所述第三或门电路的一个输入端与所述译码器的第二输出端连接,所述第三或门电路的另一个输入端与所述第二与门电路的输出端连接,所述第三或门电路的输出端与左下检测单元的左下输入端、所述第二与门电路的一个输入端连接,所述第二与门电路的另一个输入端接高电平;

所述上输出电路包括:第四或门电路和第三与门电路,所述第四或门电路包括两个输入端和一个输出端,所述第四与门电路包括两个输入端和一个输出端,所述第四或门电路的一个输入端与所述译码器的第三输出端连接,所述第四或门电路的另一个输入端与所述第三与门电路的输出端连接,所述第四或门电路的输出端与下检测单元的下输入端、所述第三与门电路的一个输入端连接,所述第三与门电路的另一个输入端接高电平。

结合第一方面、第一方面的第一种至第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述相似度检测装置还包括:相似度计算模块,所述相似度计算模块分别与所述每个检测单元的路径记录模块连接;

所述相似度计算模块,用于根据所述所比较的两个序列经过的所有检测单元的路径记录模块的记录结果,确定所述所比较的两个序列经过的所有检测单元的最小权值,将所述所比较的两个序列经过的所有检测单元的最小权值相加得到所述所比较的两个序列的相似度。

结合第一方面、第一方面的第一种至第三种可能的实现方式中的任意一 种,在第一方面的第五种可能的实现方式中,所述相似度检测装置还包括:路径计算模块,所述路径计算模块分别与所述每个检测单元的路径记录模块连接;

所述路径计算模块,用于根据所述所比较的两个序列经过的所有检测单元的路径记录模块的记录结果,确定传播路径,所述传播表示将所述所比较的两个序列中的待比较序列转换成参考序列所经过的序列操作。

结合第一方面、第一方面的第一种至第三种可能的实现方式中的任意一种,在第一方面的第六种可能的实现方式中,所述相似度检测装置还包括:公共子序列确定模块,所述公共子序列确定模块分别与所述每个检测单元的路径记录模块连接;

所述公共子序列确定模块,用于根据所述所比较的两个序列经过的所有检测单元的路径记录模块的记录结果,确定连续的匹配操作的最大个数,所述连续的匹配操作的最大个数对应的子序列为所述所比较的两个序列的最大公共子序列。

本实施例的相似度检测装置,通过检测单元的计数器进行时间延迟,不同序列操作的延迟的时钟周期不同,当计数器的计数值达到延迟的时钟周期时,检测单元通过该序列操作对应的输出电路输出高电平,而检测单元的输出电路输出的信号作为了下一级检测单元的输入信号,由于每个序列操作的延迟的时钟周期不同,因此每个检测单元的输入信号的时间也不同,每个检测单元有一个输入变为高电平的时候,说明从初始检测单元到该检测单元的延迟最小,通过路径模块记录的首先变为高电平的输入端可以得出每个检测单元延迟的时钟周期,从而根据每个检测单元延迟的时钟周期时间得到两个序列的相似度。本实施例中,通过时钟周期表示两个序列的相似度,从而避免了现有技术中权值累加导致权值过大造成溢出的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的相似度检测装置的结构示意图;

图2为本发明实施例一提供的一种检测单元的结构示意图;

图3为检测单元的连接示意图;

图4为状态机的示意图;

图5为本发明实施例二提供的一种检测单元的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一提供的相似度检测装置的结构示意图,如图1所示,本实施例的提供的相似度检测装置包括:M×N个检测单元,M×N个检测单元形成一个M行N列的阵列,M和N均为大于或等于2的正整数,图1中M和N均等于16,图1中每个矩形框表示一个检测单元。

以图1所示的例子为例,M和N均为16,对于一个M×N个检测单元组成的相似度检测装置,最多可以检测长度为15的序列。如图1所示,相似度检测装置的横坐标是参考序列,纵坐标是待检测序列,参考序列和待检测序列的长度都为15。本实施例的目的是将纵坐标的序列经过一系列操作映射到横坐标上,而在图中直观的表示是若干条从坐标(0,0)到(15,15)的路径,每条路径代表一系列操作,图中横向箭头代表插入操作,纵向箭头代表删除操作,对角箭头代表匹配或者替换操作。显然有很多条这样的路径,因此,本实施例中使用动态规划的方法求出最短路径。动态规划算法是一种常见的解决问题的算法,通过将复杂问题逐步分割成若干简单一点的子问题,一级一级向后解决,最终完成整个问题。在动态规划算法中,每一个子问题只会被计算一次,因此减少了计算的次数。本实施例中,将待检测序列和参考序列按照字符进行分割,每个检测单元用于计算两个字符的相似度,这两个字符一个来自待检测序列,另一个来自参考序列,最终可以计算出待检测序列和参考序列的相似度。

图2为本发明实施例一提供的一种检测单元的结构示意图,如图2所示,检测单元包括第一或门电路11、计数器12、选择模块13、三个输出电路:右输出电路14、右上输出电路15和上输出电路16,以及路径记录模块17。

其中,第一或门电路11包括三个输入端和一个输出端,三个输入端为:左输入端、左下输入端和下输入端,即每个检测单元包括有三个输入端和三个输出端。图3为检测单元的连接示意图,如图3所示,目标检测单元共有八个相邻的检测单元,根据该八个检测单元与目标检测单元的位置将该八个检测单元称为:左上检测单元、左检测单元、左下检测单元、下检测单元、右下检测单元、右检测单元、右上检测单元、上检测单元。目标单元的左输入端的输入信号来自左检测单元,左下输入端的输入信号来自左下检测单元,下输入端的输入信号来自下检测单元。目标检测单元根据所比较的两个字符,在三个输入端的输入的基础上加上三种序列操作对应的权值,然后分别通过三个输出端输出,目标检测单元的上输出电路16的输出信号传递给了上输出检测单元,右上输出电路15的输出信号传递给了右上检测单元,右输出电路14的输出信号给了右检测电路的左输入端。这里目标检测单元是指当前进行相似度比较的检测单元。

具体的,目标检测单元的第一或门电路11的左输入端与左检测单元的右输出电路14连接,第一或门电路11的左下输入端与左下检测单元的右上输出电路15连接,第一或门电路11的下输入端与下检测单元的上输出电路16连接,第一或门电路11的三个输入端还分别与路径记录模块17连接,第一或门电路11的输出端与计数器12的输入端连接,路径记录模块17用于记录第一或门电路11的三个输入端中首先输入高电平的输入端。

计数器12的输入端与第一或门电路11的输出端连接,计数器12的输出端与选择模块13的输入端连接,计数器12的目的是进行时间延迟。本实施例中,每个检测单元具有三个输入端和三个输出端,因此,每个检测单元可以计算三种序列操作的权值,序列操作可以为:输出、插入、替换、匹配等,这里只是举例说明,序列操作并不限于上述所列举的。每种序列操作具有权值,序列操作的权值用于表示序列操作的代价,本发明各实施例中,序列操作的权值为计数器12的值,计数器12的值也就是延迟的时间周期,即本实施例中通过时间周期表示各序列操作的代价。计数器12的最大值大于三种序 列操作的权值的最大值,例如,删除操作的权值为8、替换操作的权值为4,插入操作的权值为8,那么计数器12的最大值大于8。

选择模块13包括一个输入端、三个输出端和两个控制端连接,选择模块13的输入端用于和计数器12的输出端连接,选择模块13的三个输出端分别与右输出电路14、右上输出电路15和上输出电路16连接,两个控制端的输入信号为比较的两个序列的字符。目标检测单元的右输出电路14与右检测电路的左输入端连接,右上输出电路15与右上检测电路的左下输入电路连接,上输出电路16与上检测电路的下输入端连接。选择模块13用于根据计数器12的计数值,通过相应的输出电路输出高电平。本实施例中,各输出电路具有保持作用,即一旦输出电路的输入信号变为高电平,那么输出电路的输出信号就会一直保持高电平,后续无论输出电路的输入信号变为高电平还是低电平,输出电路的输出信号都不会再发生变化。这是因为计数器12的计数值一直处于变化中,而输出电路的输入信号会随着计数器12的计数值变化,若输出电路不具有保持作用,检测单元的输出信号就会一直变化,从而导致路径记录模块17无法正确的记录各检测单元的最小权值。

在当第一或门电路11输出高电平时,计数器12开始计数。计数器12的目的是进行时间延迟,即由计数器12决定三个输出电路什么时间输出高电平。当计数器12的输出为第一计数值时,选择模块13的第一输出端输出高电平,右输出电路14输出并保持高电平,当计数器12的输出为第二计数值时,选择模块13的第二输出端输出高电平,右上输出电路15输出并保持高电平,当计数器12的输出为第三计数值时,选择模块13的第三输出端为高电平,上输出电路16输出并保持高电平。若右输出电路14对应插入操作,上输出电路16对应删除操作,右上输出电路15对应替换操作,那么第一计数值表示插入操作延迟的时钟周期,第二计数值表示删除操作延迟的时钟周期,第三计数值表示替换操作延迟的时钟周期。

三个输出电路中哪个输出电路先输出高电平,那么先输出高电平的输出电路对应的序列操作就是权值最小的操作,即操作代价最小的操作。因此,根据每个检测单元的输出电路的输出信号的顺序就可以确定最小权值,而每个检测单元的输出电路的输出信号又作为了下一级检测单元的输入信号,因此,本实施例中,通过每级检测单元的路径记录模块17记录的结果,可以反 向推出上一级检测单元的输出电路的输出顺序。

以图1所示例子为例,给一个输入1到检测单元(0,0)的左下输入端,而检测单元(0,0)所比较的两个字符分别为A和A,假设替换(匹配)操作的权值为4,而插入/删除操作的权值为8,那么经过检测单元(0,0)内部的处理,在经过4个时钟周期,右上输出变为1,而经过8个时钟周期,右输出和上输出变为1,依次类推一级一级向后计算。而通过动态规划的算法求最短路径,需由最后一个检测单元(15,15)往前推算,由于当每个检测单元的三个输入有一个变为1的时候,其从检测单元(0,0)到该检测单元所延迟的“时钟周期”必定是所有路径中最少的,而其他两个稍晚到的输入端的信号将无关紧要(或门的性质)。因此,最终检测单元(15,15)的第一或门电路11将从相邻三个检测节点的权值中,选取最小值,而此时相似度检测装置延迟的总周期,即为该相似度检测装置所比较的两个序列的相似度的量化值。同时,我们可以通过单元电路中的路径记录模块17,来获取一条从(0,0)到(15,15)的最优路径,这里输入和输出为1表示,输入和输出的是高电平。

可选的,路径记录模块17可以采用状态机实现,状态机共有四个状态:S0、S1、S2和S3,S0表示目标检测单元的三个输入端都没有输入高电平,S1表示左输入端首先输入高电平,S2表示左下输入首先输入高电平,S3表示下输入端首先输入高电平。图4为状态机的示意图,通过图4可以看出,状态机的初始状态为S0,当左输入端首先输入高电平时,状态机的状态从S0跳转到S1,当左上输入端首先输入高电平时,状态机的状态从S0跳转到S2,当下输入端首先输入高电平时,状态机的状态从S0跳转到S3。当状态机的状态从S0跳转到S1、S2、S3之后,状态机接收到任何输入,状态都不会再跳转。当然,路径记录模块17还可以通过其他方式实现,例如,用寄存器实现,通过寄存器存储哪个输入端首先输入高电平,例如,用00表示左输入端首先输入高电平,用01表示左上输入端首先输入高电平,用10分别表示下输入端首先输入高电平。

可选的,右输出电路14包括:第二或门电路和第一与门电路,第二或门电路包括两个输入端和一个输出端,第一与门电路包括两个输入端和一个输出端,第二或门电路的一个输入端与选择模块13的第一输出端连接,第二或门电路的另一个输入端与第一与门电路的输出端连接,第二或门电路的输出 端与左检测单元的左输入端、第一与门电路的一个输入端连接,第一与门电路的另一个输入端接高电平。右上输出电路15包括:第三或门电路和第二与门电路,第三或门电路包括两个输入端和一个输出端,第二与门电路包括两个输入端和一个输出端,第三或门电路的一个输入端与选择模块13的第二输出端连接,第三或门电路的另一个输入端与第二与门电路的输出端连接,第三或门电路的输出端与左下检测单元的左下输入端、第二与门电路的一个输入端连接,第二与门电路的另一个输入端接高电平。上输出电路16包括:第四或门电路和第三与门电路,第四或门电路包括两个输入端和一个输出端,第四与门电路包括两个输入端和一个输出端,第四或门电路的一个输入端与选择模块13的第三输出端连接,第四或门电路的另一个输入端与第三与门电路的输出端连接,第四或门电路的输出端与下检测单元的下输入端、第三与门电路的一个输入端连接,第三与门电路的另一个输入端接高电平。当然,输出电路还可以通过其他电路实现,这里只是举例说明。

本实施例的相似度检测装置,通过检测单元的计数器进行时间延迟,不同序列操作的延迟的时钟周期不同,当计数器的计数值达到延迟的时钟周期时,检测单元通过该序列操作对应的输出电路输出高电平,而检测单元的输出电路输出的信号作为了下一级检测单元的输入信号,由于每个序列操作的延迟的时钟周期不同,因此每个检测单元的输入信号的时间也不同,每个检测单元有一个输入变为高电平的时候,说明从初始检测单元到该检测单元的延迟最小,通过路径模块记录的首先变为高电平的输入端可以得出每个检测单元延迟的时钟周期,从而根据每个检测单元延迟的时钟周期时间得到两个序列的相似度。本实施例中,通过时钟周期表示两个序列的相似度,从而避免了现有技术中权值累加导致权值过大造成溢出的问题。

图5为本发明实施例二提供的一种检测单元的结构示意图,本实施例和实施例一的区别在于:本实施例中选择模块13包括:译码器131、多路选择器132。

相应的,计数器12的输出端与译码器131的输入端连接,译码器131包括多个输出端,译码器131的第一输出端与右输出电路14连接,译码器131的多个第二输出端分别与多路选择器132的多个输入端连接,多路选择器132的输出端与右上输出电路15连接,译码器131的第三输出端与上输入电路连 接。

当计数器12的输出为第一计数值时,译码器131将第一计数值翻译为第一独热码,译码器131根据第一独热码从译码器131的第一输出端输出高电平,当计数器12的输出为第二计数值时,译码器131将第二计数值翻译为第二独热码,译码器131根据第二独热码从第二独热码对应的第二输出端输出高电平,多路选择器132根据两个控制端输入的字符以及第二独热码对应的第二输出端输出的高电平,从多路选择器132的输出端输出高电平,当计数器12的输出为第三计数值时,译码器131将第三计数值翻译为第三独热码,译码器131根据第三独热码从译码器131的第三输出端输出高电平,选择模块13的第二输出端输出高电平,右上输出电路15输出并保持高电平,当计数器12的输出为第三计数值时,选择模块13的第三输出端为高电平,上输出电路16输出并保持高电平。

可选的,若右输出电路14包括:第二或门电路141和第一与门电路142,第二或门电路141包括两个输入端和一个输出端,第一与门电路142包括两个输入端和一个输出端,第二或门电路141的一个输入端与译码器131的第一输出端连接,第二或门电路141的另一个输入端与第一与门电路142的输出端连接,第二或门电路141的输出端与左检测单元的左输入端、第一与门电路142的一个输入端连接,第一与门电路142的另一个输入端接高电平。右上输出电路15包括:第三或门电路151和第二与门电路152,第三或门电路151包括两个输入端和一个输出端,第二与门电路152包括两个输入端和一个输出端,第三或门电路151的一个输入端与译码器131的第二输出端连接,第三或门电路151的另一个输入端与第二与门电路152的输出端连接,第三或门电路151的输出端与左下检测单元的左下输入端、第二与门电路152的一个输入端连接,第二与门电路152的另一个输入端接高电平。上输出电路16包括:第四或门电路161和第三与门电路162,第四或门电路161包括两个输入端和一个输出端,第四与门电路包括两个输入端和一个输出端,第四或门电路161的一个输入端与译码器131的第三输出端连接,第四或门电路161的另一个输入端与第三与门电路162的输出端连接,第四或门电路161的输出端与下检测单元的下输入端、第三与门电路162的一个输入端连接,第三与门电路162的另一个输入端接高电平。

本实施例所示出的只是选择模块13的一种具体电路结构,当然,选择模块13还可以通过其他电路实现,例如,采用可编程逻辑器件(programmable logic device,简称PLD)实现。

针对不同具体应用选择不同形式的结果。例如,(1)仅比较抽象序列的相似度,我们只关心传播的总周期数,是否低于我们预期的“阈值”,来判断是否有足够的相似度。(2)在诸如语音识别等领域,我们还要关心检测到的声音序列是通过怎样的序列操作映射到参考序列,此时我们关心具体传播路径。(3)在生物信息学或高分子化学中,我们关心两个序列的最大公共子序列,来判断两个DNA或者分子序列是否有公共部分帮助分析两个序列内在的联系。

针对第(1)种应用情况,可选的,相似度检测装置还包括:相似度计算模块,相似度计算模块分别与每个检测单元的路径记录模块17连接,相似度计算模块用于根据所比较的两个序列经过的所有检测单元的路径记录模块17的记录结果,确定所比较的两个序列经过的所有检测单元的最小权值,将所比较的两个序列经过的所有检测单元的最小权值相加得到所比较的两个序列的相似度。或者,相似度检测装置包括一个额外的计数器12,该计数器12从所比较的两个序列的第一个字符比较开始计数,在最后一个字符比较结束停止计数,该计数器12的值即为所比较的两个序列的相似度。

针对第(2)种应用情况,可选的,相似度检测装置还包括:路径计算模块,路径计算模块分别与每个检测单元的路径记录模块17连接。路径计算模块用于根据所比较的两个序列经过的所有检测单元的路径记录模块17的记录结果,确定传播路径,传播表示将所比较的两个序列中的待比较序列转换成参考序列所经过的序列操作。

针对第(3)种应用请求,可选的,相似度检测装置还包括:公共子序列确定模块,公共子序列确定模块分别与每个检测单元的路径记录模块17连接。公共子序列确定模块用于根据所比较的两个序列经过的所有检测单元的路径记录模块17的记录结果,确定连续的匹配操作的最大个数,所述连续的匹配操作的最大个数对应的子序列为所述所比较的两个序列的最大公共子序列。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对 其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1