36、动态规划与循环字符串解析技术解析

动态规划与循环字符串解析技术解析

1. 动态规划模拟非确定性有限自动机(NFA)

动态规划可用于模拟其他 NFA,下面介绍几种不同场景下的应用。
- 汉明距离近似字符串匹配 :在使用汉明距离进行近似字符串匹配时,唯一允许的编辑操作是替换。通过从莱文斯坦距离的 NFA 中省略插入和删除转换,可得到汉明距离的 NFA。同时,在公式 1 中省略模拟插入和删除转换的项,就能得到模拟汉明距离 NFA 的公式。此外,由于在这种 NFA 中只有初始状态在开始时是活跃的(没有 ε - 转换),所以还需改变向量的初始设置。
- Σ 版本的 NFA :如果用 Σ 标记替换和插入转换(即即使 $t_i$ 是匹配符号,这些转换也会被使用),就得到了所谓的 Σ 版本的 NFA。该 NFA 的公式稍简单,但行为略有不同。原始的用于莱文斯坦距离近似字符串匹配的动态规划算法模拟的就是 Σ 版本的 NFA。
- 广义莱文斯坦距离 :若在莱文斯坦距离的 NFA 中引入转置转换(交换两个相邻符号),则可得到广义莱文斯坦距离的 NFA。此转换从级别为 $l$、深度为 $j$ 的状态 $q$ 引导到辅助状态 $q’$,再到级别为 $l + 1$、深度为 $j + 2$ 的状态 $q’‘$,它会读取两个符号:$p_{j + 2}$ 和 $p_{j + 1}$。为得到使用广义莱文斯坦距离进行近似字符串匹配的公式,需将模拟转置转换的项 2 插入公式 1 中。
- 项 2:若 $i > 1$ 且 $j > 1$ 且 $t_{i - 1} = p_j$ 且 $t_i = p_{j - 1}$,则 $d_{j

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值