我尝试在cypher中实现perfect match算法,以在加权双峰网络中查找约束集(对)。 例如,有员工和他们可以执行的一组任务。一名员工可以完成多项任务。每个任务都有一个优先级,在这种情况下是一个边权重。考虑到优先级,我希望获得最优的任务-员工匹配。我想我应该遍历按degree x priority值排序的两个节点集,但我不知道如何迭代。我已经浏览了目前Neo4j中包含的算法列表,但找不到任何类似的算法。我想知道是否有任何算法的实现或任何接近它的
我对best first search算法有些怀疑。我拥有的伪代码如下:
第一个疑问:它是完整的吗?我读到,这不是因为它可以进入死胡同,但我不知道什么时候会发生,因为如果算法选择一个没有更多邻居的节点,它不会被塞进其中,因为这个节点被从开放列表中删除,并且在下一次迭代中,开放列表的后续节点被处理,搜索继续第二个疑问:它是最优的吗?我认为如果它沿着搜索过程访问离目标更近的节点,那么解决方案将是最短的,但它不是这样的,我不知道原因,因此,使该算法不是<em