我一直在尝试寻找解决方案,但没有找到任何有用的信息。我想明白:
如何规范化矢量,使其总和为某个值?
我正在尝试重现该论文的结果: 设计像人类代理人一样的人类代理人:W.Brian Arthur(1991)对有限理性的行为方法。
在本文的第354页提到了四点,我的疑点仅限于第四点。我无法理解如何计算第四点。
为了方便起见,我将写出前4分之前的整个第4点。
问题描述:
存在N个动作的集合,从1到N.强度S_t的向量与每个时间't'的每个动作相关联。这些强度的当前总和是C_t(S_t的分量和),并且初始矢量S_0严格为正。概率p_t表示代理在时间t采取动作1到N的可能性。
在每个时间t,代理人: 1.计算概率向量作为与每个动作相关的相对强度。它设置,p_t =(S_t / C_t)
根据概率p_t从集合中选择一个动作并触发该动作。
通过将所选行动j的收益与行动j的力量相加来观察收到的收益并更新优势。也就是说,在选择动作j的情况下,它将强度设置为S_t + beta。其中,beta =支付(j)* e_j (e_j是第j个单位向量)
将强度重新规范化为与预选时间序列中的值相加。在这种情况下,它将强度重新归一化为C_t = C * t。 (其中t也可以提高到值v)
问题:我不明白如何将力量重新归一化为一个总和?
此外,我已阅读此discussion:
答案 0 :(得分:0)
所以你真的只需要确保向量的分量和是X.这很简单。
如果我们有一个向量V = [a, b, c, d]
,那么它的组件总和S
当然是S = a+b+c+d
。如果这必须加起来为X
,那么我们可以简单地将双方与X
相乘以获得S*X = (a+b+c+d)*X
,将S移至另一方以获得X = (a+b+c+d)*X/S
。< / p>
所以现在我们知道如何得到X:向量的每个部分都必须乘以X并除以组件的当前总和:
a' = a*X/S
b' = a*X/S
c' = a*X/S
d' = a*X/S
然后我们得到新的向量V' = [a', b', c', d']
,其组件总和将是X
,相对权重将保持不变。