algorithm - N位整数匹配算法

标签 algorithm firebase-realtime-database correlation matching bipartite

我正在尝试编写一种算法来建立值“1”的 n 位整数之间的相关性。

这是一个 5 位整数的例子:0,1,0,0,1

我想确定这个整数与一组 N 个其他整数之间的相关百分比。

例如,整数 A(0,1,0,0,1) 和整数 B(0,1,0,0,0) 对于值“1”的相关性为 0.5,因为只有第二个位匹配。 在我的 Firebase 数据库中,我有一个 n 位整数附加到每个 user_ID,我想将其与我应用程序的每个其他用户的 n 位整数进行匹配,以获得每个用户之间的一种相关性。 用户之间总相关性的分布将遵循一条高斯曲线,我想在未来使用它来匹配用户。

例如:我希望用户 A 与所有其他用户匹配,这些匹配按亲和性降序排列(他们的 n 位整数之间的相关性从高到低)。

你们知道我如何执行该算法来建立 N 个用户之间的相关性,然后再执行另一个算法来将这些相关性从高到低排序吗? 任何帮助将不胜感激。

谢谢你的时间,

马克西姆

最佳答案

可以使用and操作得到Result R。

例子:

A = 9  = 01001
B = 8  = 01000
C = 7  = 00111
D = 31 = 11111

R = A & B gives 8 = 01000, the correlation is counting the ones: R/A = 1/2 = 0,5. 

R = A & C gives 1 = 00001, the correlation: R/A = 1/2 = 0,5.

R = A & D gives 9 = 01001, R/A = 2/2 = 1.

这里有一个问题。您可以通过使用出现在 num 中的最大值来解决这个问题,例如 R/max(A,D)

我认为最好使用总位数(此处为 5)。

结果会是。

corr AB = 1/5 = 0,2
corr AC = 1/5 = 0,2
corr AD = 2/5 = 0,4
corr CD = 3/5 = 0,6

关于algorithm - N位整数匹配算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55363537/

相关文章:

algorithm - 如何计算将字符串转换为回文所需的字符数?

javascript - 在发送到后端时显示数据

javascript - Firebase Atmonic 添加和删除条目

javascript - firebase函数onwrite的值有时为null

python - 滚动关联 Pandas

python - Scipy Spearman 相关系数在某些情况下为 NaN

r - R 中成对列和系数的相关矩阵

algorithm - 将数字列表排序为交替的低-高-低序列的最有效方法是什么?

python - 如何找到最小的正整数以使数字单调?

algorithm - 如何找到图中路径中最长的一步