PHP中的简单寻路

时间:2011-01-05 20:48:36

标签: php algorithm

有没有人知道在PHP中是否有一种简单的方法可以进行寻路?

我基本上有一个数字列表,例如

  • {origin:11485,outboundDirections:"11486,11487,11488"}
  • {origin:11487,outboundDirections:"11485,11676,94185"}

从11485到94185会导致11485>11487>94185有“退出”的方式,而我正试图弄清楚如何做到这一点(它不一定是最短的路径或任何AI - 像,从A到B的一种方式)

不幸的是,我根本不知道从哪里开始

3 个答案:

答案 0 :(得分:3)

我最近开始使用A *算法主要在PHP中开源灵活的寻路脚本。我们的想法是为节点图对象提供必要的最基本方法,算法需要探索节点图并获得H和G成本。

它可以非常轻松地使用您的数字列表,因为它还使用整数来引用节点。

请参阅:https://github.com/Nexii-Malthus/phpPathfinding

答案 1 :(得分:1)

对于此问题,您可能需要阅读breadth-first searchDijkstra's algorithm。这些都是成熟的(并且相当简单)算法,用于查找最短路径(广度优先搜索以最小化跳数,Dijkstra算法最小化总距离)。

答案 2 :(得分:0)

如果这些与图表类似,则A* algorithm可能有效。它是一种非常基本的AI算法,通常用于游戏,但也包括迷宫,导航和最佳路径。