gpt4 book ai didi

algorithm - 如何仅通过张量操作将已知连通分量转换为邻接矩阵?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:09 24 4
gpt4 key购买 nike

假设我有 N 个元素并且我知道它们是如何连接的。这意味着有一个向量 [c1, c2, ..., cn],其中 ci in [0...CC] CC- 组件计数。

我想从中得到邻接矩阵。

简单的例子输入

[0, 0, 1, 2, 0, 1]

输出

1 1 0 0 1 0
1 1 0 0 1 0
0 0 1 0 0 1
0 0 0 1 0 0
1 1 0 0 1 0
0 0 1 0 0 1

是否有可能只用线性代数加上一些来自 TF 的额外张量运算就可以得到它?

最佳答案

这可以简单地通过与自身的广播比较来完成:

import tensorflow as tf

input = [0, 0, 1, 2, 0, 1]
adjacency_matrix = tf.cast(tf.equal(tf.expand_dims(input, 1), input), tf.int32)
print(sess.run(adjacency_matrix))

输出:

[[1 1 0 0 1 0]
[1 1 0 0 1 0]
[0 0 1 0 0 1]
[0 0 0 1 0 0]
[1 1 0 0 1 0]
[0 0 1 0 0 1]]

关于algorithm - 如何仅通过张量操作将已知连通分量转换为邻接矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50250724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com