...
首页> 外文期刊>International journal of software engineering and knowledge engineering >A Generic Approach on How to Formally Specify and Model Check Path Finding Algorithms: Dijkstra, A* and LPA*
【24h】

A Generic Approach on How to Formally Specify and Model Check Path Finding Algorithms: Dijkstra, A* and LPA*

机译:如何正式指定和模型检查路径查找算法的通用方法:dijkstra,a *和lpa *

获取原文
获取原文并翻译 | 示例
           

摘要

The paper describes how to formally specify three path finding algorithms in Maude, a rewriting logic-based programming/specification language, and how to model check if they enjoy desired properties with the Maude LTL model checker. The three algorithms are Dijkstra Shortest Path Finding Algorithm (DA), A* Algorithm arid LPA* Algorithm. One desired property is that the algorithms always find the shortest path. To this end, we use a path finding algorithm (BFS) based on breadth-first search. BFS finds all paths from a start node to a goal node and the set of all shortest paths is extracted. We check if the path found by each algorithm is included in the set of all shortest paths for the property. A* is an extension of DA in that for each node n an estimation h(n) of the distance to the goal node from n is used and LPA* is an incremental version of A*. It is known that if h is admissible, A* always finds the shortest path. We have found a possible relaxed sufficient condition. The relaxed condition is that there exists the shortest path such that for each node n except for the start node on the path h(n) plus the cost to n from the start node is less than the cost of any non-shortest path to the goal from the start. We informally justify the relaxed condition. For LPA*, if the relaxed condition holds in each updated version of a graph concerned including the initial graph, the shortest path is constructed. Based on the three case studies for DA, A* and LPA*, we summarize the formal specification and model checking techniques used as a generic approach to formal specification and model checking of path finding algorithms.
机译:本文介绍了如何在Maude,基于重写逻辑的编程/规范语言中正式指定三个路径查找算法,以及如何使用Maude LTL模型检查器享受所需的属性。三种算法是Dijkstra最短路径查找算法(DA),A *算法干旱LPA *算法。一个所需的属性是算法总是找到最短路径。为此,我们使用基于广度优先搜索的路径查找算法(BFS)。 BFS从启动节点找到所有路径到目标节点,并提取所有最短路径的集合。我们检查每个算法的路径是否包含在属性的所有最短路径的集合中。 A *是DA的扩展,因为对于每个节点n,使用与n的N个目标节点的距离H(n),LPA *是A *的增量版本。众所周知,如果H是可接受的,则A *总能找到最短的路径。我们发现可能的宽松条件。松弛条件是存在最短路径,使得除了路径H(n)上的起始节点之外的每个节点n以及从起始节点的成本小于任何非最短路径的成本从一开始的目标。我们非正式地证明了轻松的条件。对于LPA *,如果放宽条件在每个更新版本的涉及初始图形的每个更新版本中,则构建最短路径。基于DA,A *和LPA *的三种案例研究,我们总结了用作正式规范和模型检查路径查找算法的通用方法的形式规范和模型检查技术。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号