图最大基数匹配认证计算的验证框架
在图算法领域,最大基数匹配问题是一个重要且复杂的研究方向。本文将介绍一个用于验证认证计算的框架,并将其应用于图的最大基数匹配这一非平凡组合问题,旨在提升算法结果的可靠性。
1. 代码验证与正确性定理
首先来看一段代码验证的摘录:
spec(unsigned w[unsigned][unsigned];) // w[k] ghost list of edges adjacent to k
spec(unsigned b[unsigned][unsigned];) // b[k][f] position in w of edge f adjacent to node k
unsigned*deg in M = malloc(M->n *sizeof (unsigned));
assume(deg in M != NULL); // enough memory available
// zeroing
for (k = 0; k < M->n; k++)
invariant(∀(mathint l; 0 ≤l ∧l < k ==>deg in M[l] ≡0))
deg in M[k] = 0;
for(e=0; e < M->m; e++)
invariant(M->m != 0 ==>∀(unsigned k, i; w[k][i] < M->m))
invariant(∀(unsigned k, i; k < M->n ∧i < deg in M[k] ==>w[k][i]
超级会员免费看
订阅专栏 解锁全文
1096

被折叠的 条评论
为什么被折叠?



