我正在研究 Python 中的 A* 路径查找算法,并将数据很好地放入具有此 dtype 的 2D NumPy 数组中:
numpy.dtype([
('open', bool),
('closed', bool),
('parent', object),
('g', int),
('f', int)
])
按照维基百科的“A* 搜索算法”条目中的伪代码,我需要解释一下:
current := the node in openset having the lowest f_score[] value
该位将为我提供最低“f”值的索引(工作数组定义为 pathArray):
numpy.unravel_index(numpy.argmin(pathArray['f']), pathArray['f'].shape)
...并且这一位将找到“打开”为 True 的所有索引:
numpy.where(pathArray['open'])
如何将这些条件一起使用,找到“open”为真的最低“f”值?