草庐IT

python - 有向无环图的哈希值

如何将有向无环图转换为散列值,以使任意两个同构图散列到相同的值?两个同构图散列到不同的值是可以接受的,但不可取,这就是我在下面的代码中所做的。我们可以假设图中的顶点数最多为11个。我对Python代码特别感兴趣。这就是我所做的。如果self.lt是从节点到后代(不是子代!)的映射,那么我会根据修改后的拓扑排序重新标记节点(如果可以的话,它更喜欢首先对具有更多后代的元素进行排序)。然后,我对排序后的字典进行哈希处理。一些同构图会散列成不同的值,尤其是随着节点数量的增长。我已经包含了所有代码来激发我的用例。我正在计算找到7个数字的中位数所需的比较次数。同构图哈希到相同值的次数越多,需要重做

python - 有向无环图的哈希值

如何将有向无环图转换为散列值,以使任意两个同构图散列到相同的值?两个同构图散列到不同的值是可以接受的,但不可取,这就是我在下面的代码中所做的。我们可以假设图中的顶点数最多为11个。我对Python代码特别感兴趣。这就是我所做的。如果self.lt是从节点到后代(不是子代!)的映射,那么我会根据修改后的拓扑排序重新标记节点(如果可以的话,它更喜欢首先对具有更多后代的元素进行排序)。然后,我对排序后的字典进行哈希处理。一些同构图会散列成不同的值,尤其是随着节点数量的增长。我已经包含了所有代码来激发我的用例。我正在计算找到7个数字的中位数所需的比较次数。同构图哈希到相同值的次数越多,需要重做