我已经实现了D*-Lite算法(这里是一个描述,当边缘成本随时间变化时,它是一个用于进行寻路的算法),但是我在进行边缘成本更新方面遇到了问题.它主要起作用,但有时会卡在一个循环中,在两个顶点之间来回传递.我正在尝试创建一个展示此行为的测试用例,目前在大型应用程序中使用时会出现这种情况,这使得调试变得困难.
我会尽快得到一个测试用例,但也许有人可以发现我从错误到C++的错误.(下面有一个测试用例)本文介绍了一个优化版本,图4,这是我实现的版本.伪代码粘贴在下面.
我的实施来源可以在这里找到.
如果它有帮助,我在我的代码中使用这些类型:
struct VertexProperties { double x, y; };
typedef boost::adjacency_list<boost::vecS,
boost::vecS,
boost::undirectedS,
VertexProperties,
boost::property<boost::edge_weight_t, double> > Graph;
typedef boost::graph_traits<Graph>::vertex_descriptor Vertex;
typedef DStarEuclidianHeuristic<Graph, Vertex> Heuristic;
typedef DStarPathfinder<Graph, Heuristic> DStarPathfinder;
Run Code Online (Sandbox Code Playgroud)
如果需要更多关于使用的信息,请问,粘贴太多了.
D*-Lite的伪代码:
procedure CalculateKey(s)
{01”} return [min(g(s), rhs(s)) + h(s_start, s) + km;min(g(s), rhs(s))];
procedure Initialize()
{02”} U = ?;
{03”} km = 0;
{04”} for all s ? S rhs(s) = g(s) = ?;
{05”} rhs(s_goal) = 0;
{06”} U.Insert(s_goal, …
Run Code Online (Sandbox Code Playgroud) 我试着运行IPython笔记本.我在命令行中输入了以下内容:
ipython笔记本
我收到以下错误(堆栈跟踪)
> Traceback (most recent call last): File
> "C:\Python27\Scripts\ipython-script.py", line 9, in <module>
> load_entry_point('ipython==0.13.1', 'console_scripts', 'ipython')() File
> "C:\Python27\lib\site-packages\IPython\frontend\terminal\ipapp.py",
> line 388, in launch_new_instance
> app.initialize() File "<string>", line 2, in initialize File "C:\Python27\lib\site-packages\IPython\config\application.py", line
> 84, i n catch_config_error
> return method(app, *args, **kwargs) File "C:\Python27\lib\site-packages\IPython\frontend\terminal\ipapp.py",
> line 313, in initialize
> super(TerminalIPythonApp, self).initialize(argv) File "<string>", line 2, in initialize File
> "C:\Python27\lib\site-packages\IPython\config\application.py", line
> 84, i n catch_config_error
> return method(app, *args, **kwargs) File …
Run Code Online (Sandbox Code Playgroud) 我有一个这样的文本文件:
1;2;3;4
5;6;7;8
Run Code Online (Sandbox Code Playgroud)
我想将其转换为:
[[1,2,3,4],[5,6,7,8]]
Run Code Online (Sandbox Code Playgroud)
使用Python,我该如何实现这一目标?*