ローカル信頼値の合算

ノードは定期的に自身のローカル信頼値をブロードキャストします。 ノードiiは、ノードjjのノードkkに対する信頼値を受け取り、それを自身のノードjjに対する信頼で重み付けすることで、ノードkkに対する合算信頼値(aggregate trust value)を計算することができます。

tjk=jcijcjk t_{jk} = \sum_jc_{ij}c_{jk}

これは行列C=(ckj)C=(c_{kj})と、tikt_{ik}を要素に持つベクトルti\vec{t_i}を用いることで、行列式の形で表すことができます。 ti=CTci \vec{t_i} = C^T\vec{c_i}

以下のようにイテレーションを定義すると

ti+1=CTti \vec{t_{i+1}} = C^T\vec{t_i}

行列CCが既約で非巡回な行列であるという仮定をおいた場合、これはCCの左特異ベクトルt\vec{t}に収束します。 この仮定が有効であることを保証するため、ここでは初期信頼ベクトルp\vec{p}をイテレーションごとに一定の割合加えることで、イテレーションをわずかに変更しました。 ti={p(ifi=0)(1a)CTti1+ap(otherwise) \vec{t_i} = \left\{ \begin{array}{ll} \vec{p} & (if \: i = 0) \\ (1-a)C^T\vec{t_{i-1}} + a\vec{p} & (otherwise) \end{array} \right.

ただし、aa0<a<10 \lt a \lt 1を満たす適当な値です。 このイテレーションは必ずt\vec{t}に収束し、これはあるノードが他のノードをどれだけ信頼しているかを表します。

results matching ""

    No results matching ""