I have a really difficult problem to solve and Im just wondering what what algorithm can be used to find the quickest route. The undirected graph consist of positive and negative adjustments, these adjustments effect a bot or thing which navigate the maze. The problem I have is mazes which contain loops that can be + or -. An example might help:-
A. 标注10点
B号:15
C节对目标20点
路线=”
起始点为A,终点为C
given the graph structure as:-
a(+10)-----b(-15)-----c+20
node() means the node loops to itself - and + are the adjustments
没有休息室的节点是20周年,因此C节有20个积极调整,但没有休息室。
如果机器人或物体在其资源中有10点,那么最佳途径是:
a > b > c the object would have 25 points when it arrives at c
线路=“a,b,c”
这一点非常容易执行,下一个挑战是了解如何回到好战线上来,让人们假设,在每一天,你都可以找到其邻国的任何des点和调整水平。 下面的例子就是:
if the bot started with only 5 points then the best path would be
a > a > b > c the bot would have 25 points when arriving at c
线路=“a,a,b,c”
这是一个非常简单的图表,但当你有太多的教训时,机器人非常难以知道是否在好的节点上 lo,还是从一个好的节点到另一个,同时保持一条可能的道路。
such a route would be a backtrack queue.
更困难的例子将造成大量回馈。
机器人有10点
a(+10)-----b(-5)-----c-30
a > b > a > b > a > b > a > b > a > a > b > c 拥有5个ts。
another way the bot could do it is:-
a > a > a > b > c
这是一种更有效的方法,但我对你如何规划这一问题表示怀疑。
任何人都知道解决这一问题的良好算法,他们已经研究过Belman-fords和Dijkstra,但只有一条简单的道路,而不是一条 lo路。
could it be recursive in some way or some form of heuristics?
提及您的类比:
我认为,我知道你所说的话,一个假想的镜子将更清楚,迄今为止的道路是这样。
q.add(v)
best=v
hash visited(v,true)
while(q is not empty)
q.remove(v)
for each u of v in G
if u not visited before
visited(u,true)
best=u=>v.dist
else
best=v=>u.dist