Algorithm 图的宽度优先遍历的证明
我试图证明下面的算法,看看在图G=(v,E)中是否存在从u到v的路径 我知道要完成证明,我需要证明终止、不变量和正确性,但我不知道如何证明。我想我需要在while循环中使用归纳法,但我不确定如何使用Algorithm 图的宽度优先遍历的证明,algorithm,graph-algorithm,discrete-mathematics,proof,Algorithm,Graph Algorithm,Discrete Mathematics,Proof,我试图证明下面的算法,看看在图G=(v,E)中是否存在从u到v的路径 我知道要完成证明,我需要证明终止、不变量和正确性,但我不知道如何证明。我想我需要在while循环中使用归纳法,但我不确定如何使用 我如何证明算法的这三个特征?免责声明:我不知道你希望你的证明有多正式,我不熟悉正式证明 while循环的归纳法:一开始是真的吗?在一个步骤(相当简单的路径属性)之后它是否仍然为真 同样的想法,关于k的归纳法(为什么k+1?):一开始是真的吗?在一个步骤(相当简单的路径属性)之后它是否仍然为真 把Re
我如何证明算法的这三个特征?免责声明:我不知道你希望你的证明有多正式,我不熟悉正式证明
(这个问题可能在其他地方得到更好的回答,也许吧?有很多可能性。例如,对于广度优先搜索,我们注意到: (1) 该算法从不访问同一节点两次。(因为任何返回路径必须大于等于已将其放入已发现堆中的长度。)。 (2) 在每一步中,它只添加一个节点 因此,它显然必须在任何有限图上终止,因为可发现的节点集不能大于图中的节点集 最后,由于给定一个起始节点,它将仅在到达通过任何路径连接到起始节点的每个节点时终止,因此它将始终找到起始和目标之间的路径(如果存在) 如果您愿意,您可以更严格地重写上述逻辑步骤,例如,通过显示访问节点的列表严格增加且不收敛(即,向某个对象重复添加一个节点趋于无穷大)且终止条件必须满足至多某个有限值,且非收敛的增函数总是与给定的界恰好相交一次 BFS是一个简单的例子,因为它有如此简单的逻辑,但为给定的算法证明这些东西可能非常棘手。什么是“后续算法”?