35、基于L*算法的组件化软件最小假设生成方法

基于L*算法的组件化软件最小假设生成方法

1. 假设 - 保证验证
1.1 L*学习算法

L 学习算法最初由Angluin开发,后经Rivest和Schapire改进。该算法用于学习未知的正则语言,并生成一个接受该语言的确定性有限自动机(DFA)。其核心思想基于形式语言理论中的 “Myhill - Nerode定理”,即对于每个正则集 $U \subseteq \Sigma^ $,都存在一个唯一的最小确定性自动机,其状态与以下关系的等价类集合同构:$w \approx w’$ 当且仅当 $\forall u \in \Sigma^ : wu \in U \Leftrightarrow w’u \in U$。因此,L 算法的主要目标是学习这些等价类,即两个前缀不在同一类中当且仅当存在一个可区分的后缀 $u$。

为了学习未知的正则语言 $U$,L 算法需要与一个 “最小充分教师”(Teacher)进行交互。Teacher需要能够正确回答L 算法提出的两类问题:
- 成员查询 :给定一个字符串 $\sigma \in \Sigma^ $,如果 $\sigma \in U$,则回答为真,否则为假。
-
猜想 *:给定一个候选DFA $M$,算法认为其语言与 $U$ 相同。如果 $L(M) = U$,则回答为真,否则Teacher返回一个反例,即 $L(M)$ 和 $U$ 的对称差集中的一个字符串 $\sigma$。

L 算法维护一个表格 $T$,用于记录 $\Sigma^ $

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值