首页 文章
  • 6 votes
     answers
     views

    如何使用密码查询找到所有最长的路径?

    我想编写一个cypher查询,它查找节点中与STATUS =“on”属性相互关系的所有最长路径,这是我到目前为止所做的: start n=node(*) match p = n-[r:INCLUDE*..]->m with n,MAX(length(p)) as l match p = n-[r:INCLUDE*..]->m WHERE all(rel in r wher...
  • 1 votes
     answers
     views

    如何在图中找到精确长度的路径

    我想在无向图中找到固定长度的路径(在运行程序时给出) . 我正在使用我的图的邻接矩阵 .我尝试使用一些算法,如DFS或A *,但它们只返回最短路径 . 无法再次访问节点 . 因此,假设我的图表有9个节点,最短路径是从4个节点构建的 .我希望有一个额外的变量"tell"我想找到有7个节点的路径的算法(例如),它将返回包含在我预期路径中的节点{1,2,4,5,6,7, 8} .当然...
  • 1 votes
     answers
     views

    最短路径算法:多源,最近目的地

    像Bellman-Ford算法和Dijkstra算法这样的算法用于找到从图上的单个起始顶点到每个其他顶点的最短路径 . 它们的多源版本可以通过反转所有边缘并将目标作为起始节点来实现 . 我想扩展它以找到图上的源的"barycentre",即到一组源的"closest"的顶点,找到"fair"到"consensual"顶...
  • 4 votes
     answers
     views

    寻路,A星和速度惯性

    有's a duplicate question with an answer that I'试图在这里实施并遇到困难 . How to do pathfinding when a unit has inertia? 我有一个带有障碍物的网格,计算机可以在四个主要方向上移动,并使用A-star或Djikstra算法实现路径寻找 . 但后来我也想添加"velocity",所以不...
  • 3 votes
     answers
     views

    Java-Maze广度优先搜索最短路径

    我似乎在理解如何检索我正在实现的广度优先搜索算法发现的最短路径时遇到问题 . 目前,算法可以正常工作,因为它可以找到迷宫的出口,如果它可以到达它 . 在另一篇文章中,有人提到在节点被标记为已访问后保持对父进程的攻击 . 我尝试了一个简单的实现,试图通过在Point结构中包含一个父Point来跟踪父项,但是当我在Grid上标记路径时它标记了它迄今为止已经过去的所有路径,我相信我可能搞砸了以某种方式跟...
  • 0 votes
     answers
     views

    寻路问题

    好吧我正在尝试创建一个动态路径系统,以便玩家可以在没有预定义路径的情况下从A点移动到B点 . 注意这个游戏都是基于文本的没有图形 . 玩家可以在10个方向上移动:上,下,n,e,s,w,sw,se,nw和ne . 整个世界的 Map 位于数据库中,数据库的每一行包含一个房间或一个节点,每个房间/节点都有它能够前进的方向 . 房间可能不是连续的 . 一个例子: Map Number, Room Nu...
  • 5 votes
     answers
     views

    列车寻路算法

    我正试图找到一种解决方案,用于在火车游戏中进行寻路,其中存在不同类型的分叉 . 我希望火车从一个铁路到另一个铁路,除路径寻找外,一切都已实施 . 我需要得到一个铁路列表,以便火车可以跟随 . 现在,问题是我如何获得列表 . 我've tried A*, didn'工作,因为它停止搜索是否已访问节点(铁路) . 这是一个问题,因为可能达到某一点的方法是通过最长的路线 . 试过洪水填充,这一次...
  • 0 votes
     answers
     views

    一种特定的PathFinding方法

    我正在使用Unity,使用C#进行一个非常简单的项目 . 我坚持使用pathFinding . 我看着Dikjstra 's and A* for reference, but for some reason I still can' t采用它们来处理我的情况 . 我想我的大脑 :=while(1); 这是想法: 从文本文件中我导入一个“ Map ”,其中每个“*”表示Wall,以及每个“”wal...
  • 1 votes
     answers
     views

    Sprite Kit A * pathfinding =波涛汹涌并冻结

    我正在尝试通过使用精灵套件制作游戏来学习xcode并且已经相对较远 . 我以前做过一些编程,但我学得很快,但经过几个小时的调试后,我几乎放弃了 . 我已经构建了一个包含许多块(32x32px)和1-4个字符的映射,它们使用A *寻路来查找路径 . Here is a video of the characters moving choppy 它有效,但我有两个问题: 正确计算路径并且cha...
  • 1 votes
     answers
     views

    自顶向下游戏中多线程A *寻路冻结

    我一直在做一个自上而下的射击游戏,当我产生多个 HostileEntity (包含所有寻路函数的任何"enemy"的超级类)时,敌人要么: 不要从游戏开始移动 游戏开始后开始移动,但是一旦我移动玩家,所有都会冻结 . 我已经想到位于我的Algorithm类中它冻结在这个函数 public Path backtrackPath(Node fromNode) { ...
  • 1 votes
     answers
     views

    A *使用潇洒技工寻路

    如果我有一个可以向四个方向移动的2D环境,但除了那些方向之外,我可以冲向一个方向,直到我撞到墙壁,我将如何计算一个可接受的启发式算法呢?无论是移动还是破折号,每个都有一个G成本为1,所以冲刺和行走的权重相等 . 我应该使用A *吗?如果在某些情况下,多次冲刺会比移动更快到达目的地,即使在某些时候你在冲刺后离目的地更远,哪种寻路方式能够计算出最佳路径?
  • 0 votes
     answers
     views

    递归找到最便宜的可能路径

    我正在尝试编写一个解决方案,通过一个数组找到最便宜的可能路径,并将整数值存储为游戏位置 . 这个想法是从第一个索引到最后一个索引,并根据您决定“停止”的索引产生最便宜的成本 . 您可以从您所在的位置移动到下一个索引,也可以将该索引跳转到下一个索引(ind 1 vs ind 2),直到到达结尾 . 我下面的内容是返回一个大的负整数,这显然是非常错误的 . 我相当肯定它与我如何控制当前位置有关,并且我...
  • 3 votes
     answers
     views

    棋盘游戏寻路 - 寻找多条最佳路径

    我有一个非常简单的寻路任务 - 在8x8网格上玩的棋盘游戏,每个方块都可以通过 . 我正在寻找的是一种算法,它将为我提供从一些方形A到方形B的最佳n路径(假设有任何方法) . 我一直在看A *,但就我所知,没有明确的方法来扩展它以找到多条路径 . 所以,重要的是它提供的路径实际上是最短的n条路径,它不会错过任何路径 . 效率也很重要 . 任何人都可以建议一个合适的算法,或指出我正确的方向?
  • 1 votes
     answers
     views

    棋子寻路的A星算法

    我的A *算法有问题 . 这必须在n * m板上找到最短路径 . 我的算法适用于国王和骑士,如下: public List<Node> aStar(int[,] chessBoard , Tuple<int , int> startXY , Tuple<int , int> endXY , int piece) { //Tuple<int[] , in...
  • 0 votes
     answers
     views

    PathFinding算法:如何有效地处理改变权重

    所以,我有一个简单的寻路算法,可以预先计算到几个目标 endpoints 的最短路径,每个目标 endpoints 的权重不同 . 这有点等同于一个 endpoints 在其与每个 endpoints 之间具有节点,尽管其边缘具有不同的权重 . 它使用的算法是一个简单的扩展算法,在1d中看这个(|表示墙, - 表示空间): 5 - - - 3 | - - - 2 - - - - 2 5 4...
  • -1 votes
     answers
     views

    使用navmesh图和路径寻找算法A *

    我正在使用由三角形组成的navmesh图 . 为了找到从开始到目标点的最短路径,我考虑了A *算法 . 虽然我想进行粗略的初步搜索以找到从开始到目标的路径,但是需要大量计算才变得非常麻烦 . 在从目标(g)和启发式(h)计算适应度(f)时,大多数教程告诉您通过当前位置和目标之间的距离差异来计算“h”,然后找到给出最小值的网格/三角形' F' . 对于像半圆一样的路径,在直径的相对边缘处具有起点和目...
  • 8 votes
     answers
     views

    具有指定距离/节点数的寻路算法

    我需要一个算法,它会给我一条从起始节点到结束节点的路径,但路径必须有一个确切数量的节点,否则路径查找应该失败 . 为了扩展,我有一个瓷砖网格 . 移动只能是紧邻的上,下,左或右平铺(意思是没有对角线移动) . 瓦片在路径中可以使用和不可以使用的规则有很多,但大多数情况下可以归结为简单的布尔来判断瓦片是否可以使用(这可以在开始算法之前计算出来)但是,给我带来麻烦的是,我有一条路径必须具有的距离,这意...
  • 3 votes
     answers
     views

    扩展到寻路 - 最少转弯的路径

    首先,我要感谢任何人花时间看这个 . 我们中的许多人都熟悉Dijkstra的算法,因而熟悉A * . 我在许多应用程序中使用过A *,但对于这种特殊情况,我很难想出一个算法 . 这种情况涉及找到转弯次数最少的路径 . 实际上,我甚至不关心“最短路径”,只关心转弯最少的路径!我正在使用上下左右网格,没有对角线,这意味着有许多可能的最短路径解决方案 . 例如,在一个5x5的网格中,左下方有一个启动器,...
  • 6 votes
     answers
     views

    寻路 - A *最少转弯

    是否可以修改A *以返回最短路径 with the least number of turns ? 一个复杂因素:节点不能再仅仅通过它们的位置来区分,因为它们的父节点与确定未来转弯相关,因此它们也必须具有与它们相关联的方向 . 但我遇到的主要问题是如何将轮数转换为部分路径成本(g) . 如果我乘以乘以(t)的匝数,奇怪的事情就会发生:在接近末端的N转弯的较长路径优于较短的路径,在开始附近有N圈 ....
  • 1 votes
     answers
     views

    使用Dijkstra算法在网格上进行寻路[关闭]

    这次Dijkstra的路径发现再次出现问题 我在不同的网站上阅读过Dijkstra及其应用程序 . 它主要针对Graph进行了解释,并找出了源节点中所有节点的最短路径 . 我无法弄清楚如何使用Dijkstra在网格上寻找路径,如Wikipedia picture所述 . 因为在网格上我们有一个目的地,我们必须从源头找出它的最短距离 . 我无法将它与Dijkstra的图表联系起来 . 没有瓷砖被标记...
  • 18 votes
     answers
     views

    A *六边形网格中的寻路

    任何人都可以指向一个简单的例子,在 hexagonal 网格上实现A* path-finding algorithm(在JS中) . 我已经使它在正方形网格上工作,但是我在六边形网格上工作的所有尝试都失败了 . 这就是我的网格的样子: 我使用相同的技术绘制网格并生成坐标,如topic所示 . 这是网格坐标数据以及开始,结束坐标: [0, 0] , [0, 1], [0, 2], [1,...
  • 0 votes
     answers
     views

    为什么A *算法在没有访问所有节点的情况下找到最佳路径?

    我知道如果启发式是可以接受的,A *不会访问每个节点以找到最佳路径 . 查看每个算法的可视化,A *一到达目标节点就会停止 . 那么,如果您没有探索到目标节点的所有可能路径,您如何确定您的路径是最佳路径?过高估计每个成本路径如何确保最佳解决方案?
  • 4 votes
     answers
     views

    使用A星查找路径的启发式函数

    我正在尝试为以下问题找到最佳解决方案 每个节点内表示的数字表示为 (x,y) . 节点的相邻节点始终具有 y 值(当前节点y值为1) . 当我们从一个节点到另一个节点时, x 值的变化成本为1 如果 x 的值没有变化,则从节点到其相邻节点没有任何成本 . 具有相同 y 值的2个节点被认为是相邻的 . 最优解是成本最低的解决方案,我正在考虑使用A *路径寻找算法来寻找最优解...
  • 3 votes
     answers
     views

    通过四维数据寻路

    问题是找到通过四维风的平面的最佳路线(不同高度的风和随着旅行而变化的风(预测风模型)) . 我已经使用了传统的A *搜索算法并将其破解以使其在3维和风向量中工作 . 它适用于很多情况,但速度非常慢(即时处理大量数据节点)并且对某些边缘情况不起作用 . 我觉得我的工作“很好”,但它感觉非常黑了 . 通过这样的数据(可能是遗传算法或神经网络),或者我甚至没有考虑过的东西,是否有更好的更有效的路径查找途...
  • 2 votes
     answers
     views

    DFS图记录路径(寻路)

    我已经实现了一个简单的DFS(非递归),如果存在 StartNode 和 EndNode 之间的路径,则为'tests' . 它按预期工作(处理双向/方向图) - 但我无法弄清楚如何存储路径供以后使用 . 目前我正在调试打印访问节点,但它不是应该存储的内容 . 有人可以帮我解决一下 - 我究竟应该存储什么以及在什么时候返回从NodeStart到NodeEnd的节点列表? 这是示例图: 这是DFS...
  • 1 votes
     answers
     views

    A * Pathfinding ..保存路径

    我坚持使用我的寻路程序 . 目前它可以找到正确的路径,但我无法仅绘制路径 . 我只对水平和垂直做了一点变化..没有对角线 . 所以只使用G成本,没有H或F成本 . 用这个tutorial 它说:保存路径 . 从目标广场向后工作,从每个广场前往其父广场,直到您到达起始广场 . 那是你的道路 . 问:我怎样才能找到父母广场并回到原点? 目前我打印我的封闭列表节点并得到这个:
  • 3 votes
     answers
     views

    A *探路者给出次优路径

    我在java中编写了一个探路者,在大多数情况下,它运行得很好 . 但是,我发现了一个出错的情况 . 我使用的启发式应该是一致的,并且一致的启发式意味着算法应该始终找到到它扩展的节点的最近路径,据我所知 . 这是问题的图片: 起始节点为绿色,数字仅表示从每个特定节点到以红色表示的目标的路径长度 . 我的启发式课程: package heuristics; import pathcomponents...
  • 2 votes
     answers
     views

    A * 3D路径寻找 - Unity

    我一直在Unity玩游戏,我已经在2D方形网格上实现了A *算法来寻找路径 . 从那以后,我将路径搜索扩展到3D节点网格,所以我基本上有一个2D网格节点用于地面,其上面有另一个2D网格节点作为天空 . 计划是使用A *创建机场和航空旅行 . 到目前为止,我的两个网格通过机场连接在一起 . 例如,当我在作为机场的节点的地面网格上搜索邻居节点时,我还将天空网格中的相邻节点添加到列表中 . 这允许从机场...
  • 1 votes
     answers
     views

    使用航点的Unity A *寻路

    我正在尝试使用我在地形上使用单独脚本生成的路标创建A *寻路算法 . 地形上的可穿越和不可穿越的航点由其颜色定义 - 绿色可穿越 . 通过以下链接可以看到节点的布局:https://i.stack.imgur.com/JDZdx.jpg 可遍历的航路点存储在列表中 . 为了启动寻路算法,我创建了一个字典,将每个可遍历的航路点存储为一个唯一的密钥(type = gameobject) . 每个键的值...
  • 1 votes
     answers
     views

    C#XNA A *寻路敌人被困在墙壁对面

    我的游戏中有一个由节点组成的2D网格 . 我有跟随玩家使用A *寻路算法的敌人(使用H的对角距离启发式作为对角线移动是允许的) . 寻路工作几乎一直在工作,然而,当一个玩家和一个敌人正好在墙的两侧(对角线,垂直或水平方向)时,敌人会卡住并停止移动 . 从下面的屏幕截图中,您可以看到在此场景中找到的路径,由于某种原因,路径的相反方向上的节点也被添加到路径中: 下面是我的F,G和H计算的代码(在我的节...

热门问题