Algorithm 转账的最佳方式';人与人之间的平衡
我正在寻找一种在账户之间转移资金的最佳方式,以确保每个人的账户上都有相同的金额。我已经正确地计算了每个账户中应该产生的数字,但我正在搜索一个算法,确定谁应该向谁转账,以及应该向谁转账多少资金(没有中央银行),这样每个人的结果都是相同的余额 例子 在这个例子中,每个人最终都应该有一个平衡点o 2 500。为实现这一目标:Algorithm 转账的最佳方式';人与人之间的平衡,algorithm,math,optimization,Algorithm,Math,Optimization,我正在寻找一种在账户之间转移资金的最佳方式,以确保每个人的账户上都有相同的金额。我已经正确地计算了每个账户中应该产生的数字,但我正在搜索一个算法,确定谁应该向谁转账,以及应该向谁转账多少资金(没有中央银行),这样每个人的结果都是相同的余额 例子 在这个例子中,每个人最终都应该有一个平衡点o 2 500。为实现这一目标: A人应向B人转让5000英镑 人员D应将12500转移至人员C 总而言之,我掌握的数据如下: 人数(>=2) 每个人的起始平衡 每个人在转账后应该有什么余额 有什么算法吗
- A人应向B人转让5000英镑
- 人员D应将12500转移至人员C
- 人数(>=2)
- 每个人的起始平衡
- 每个人在转账后应该有什么余额
有什么算法吗?这是一个NP完全问题吗?这个问题是NP难的。它本质上相当于: 给定一组人员和一定数量的贷项和借项,找出这些人员之间的最小转账次数,以结算所有贷项和借项
在这里,你的目标是使每个人的总数等于平均数,这基本上与上面的问题相同,只要你从每个人的帐户中减去平均总数。这个问题是NP难问题。它本质上相当于: 给定一组人员和一定数量的贷项和借项,找出这些人员之间的最小转账次数,以结算所有贷项和借项 在这里,你的目标是使每个人的总数等于平均数,这基本上与上面的问题相同,只要你从每个人的账户中减去平均总数
+--------+---------+
| person | balance |
+--------+---------+
| A | 7 500 |
| B | -2 500 |
| C | -10 000 |
| D | 15 000 |
+--------+---------+