2004年11月29日

「欠点克服停滞率(改)」OO百韻

前回の「欠点克服停滞率」では その時の都合で条件を限定したモデルを作った。 その結果は主観的に実状に即しているとは言いがたいようなものであった。 少なくとも自分的には。

そこでもう少し改良の余地はないものかと思い、 基本線は維持しながらこのモデルの前提を若干見直してみることにした。

  • 人物の数は二人ではなく不特定多数に。a、bの二人からa、b、c、...へ拡張。
  • 仕事の数も二人ではなく不特定多数に。u、wの二種類からu、v、w、...へ拡張。
  • 一つの仕事が終わった後の経験値のフィードバックを定数ではなくす。

上記の条件で前回のモデルを一般化したらどうなるであろうか。 前回のモデルを拡張していく方向でやってみる。 まず仕事の点数であるが、仕事のアサインメントを前回のrから、 人物iを仕事jに割り当てたときの配分をr_{ij}とし、 人物iがもつ仕事jを必要とするスキルの点数をS_{ij}とすると、 次のようになる。 ちなみに、S_{ij}r_{ij}も前回同様レンジは0から1の間である。

J_u=S_{au}^\prime~r_{au}+S_{bu}^\prime~r_{bu}+...
J_w=S_{aw}^\prime~r_{aw}+S_{bw}^\prime~r_{bw}+...
ただし\sum\limit_{i\in\calP}{r_{ij}}=\sum\limit_{j\in\calT}{r_{ij}}=1
r_{ij}の合計が1なので、各仕事の点数はアサインメントの配分による 全メンバーの加重平均になっている。

\sumを使ってもうちょっと簡略化する。

人物の集合を\calP=\{a,b,c,...\}、仕事の集合を\calT=\{u,v,w,...\}として
J_{j(j\in\calT)}=\sum\limit_{i\in\calP}S_{ij}^\prime~r_{ij}
ただし\sum\limit_{i\in\calP}{r_{ij}}=\sum\limit_{j\in\calT}{r_{ij}}=1

スキルS_{ij}は欠点D_{ij}=1-S_{ij}の形の方が式が扱いやすいことは前回すでにわかっていたので、ついでに仕事JのDによる式の形も今のうちに計算しておこう。

\begin{eqnarray}J_{j(j\in\calT)}&=&\sum\limit_{i\in\calP}S_{ij}^\prime~r_{ij}\\&=&\sum\limit_{i}(1-D_{ij}^\prime)r_{ij}\\&=&\sum\limit_{i}r_{ij}-\sum\limit_{i}D_{ij}^\prime~r_{ij}\\&=&1-\sum\limit_{i}D_{ij}^\prime~r_{ij}\end{eqnarray}

同様に、スキルSは次のようになる。 ただし、前回の定数1と違い、 今回は人物iが仕事jを終えた時にそのスキルにフィードバックされる 係数としてf_{ij}を導入しよう。

S_{ij}=S_{ij}^\prime+(1-S_{ij}^\prime)J_{j}f_{ij}
これもDによる式に変形しておこう。
D_{ij}=D_{ij}^\prime(1-J_{j}f_{ij})
このDの式中のJに上で出しておいた式を代入する。
\begin{eqnarray}D_{ij}&=&D_{ij}^\prime(1-J_{j}f_{ij})\\&=&D_{ij}^\prime\{1-(1-\sum\limit_{k}D_{kj}^\prime~r_{kj})f_{ij}\}\\&=&D_{ij}^\prime\{(1-f_{ij})+(\sum\limit_{k}D_{kj}^\prime~r_{kj})f_{ij}\}\end{eqnarray}
この漸化式を解くのが難しいのは相変わらずである。 ちなみに、この式からただちに次の欠点克服停滞率と欠点克服率I_{ij}が得られる。
{\large\frac{D_{ij}}{D_{ij}^\prime}}=(1-f_{ij})+(\sum\limit_k{D_{kj}^\prime~r_{kj})f_{ij}
I_{ij}={1-\large\frac{D_{ij}}{D_{ij}^\prime}}=f_{ij}-(\sum\limit_k{D_{kj}^\prime~r_{kj})f_{ij}
この欠点克服停滞率を使って仕事の式を変形すると次のものが得られる。
J_j=\frac{1}{f_{aj}}(1-\frac{D_{aj}}{D_{aj}^\prime})=\frac{I_{aj}}{f_{aj}}
ここで、人物を表す添え字が特定の人物aになっている。 これはある人物の欠点克服の度合いが他の人物の欠点と割り当て、 フィードバックの値などから算出され、 チーム全体で共通したものになるため このように特定の人物のデータのみから計算されるように見えるだけだからである。 要するに、仕事の評価というのはメンバーのだれの欠点をベースに算出するかによらないということである。

仕事全体では次のようになる。

\sum\limit_jJ_j=\sum\limit_j\{\frac{1}{f_{aj}}(1-\frac{D_{aj}}{D_{aj}^\prime})\}
前回はf_{ij}を1にしていたので、基本的に前回の結果と同じである。

結局、この程度の一般化ではたいした違いはないというだけのことのようだ。 rやfを工夫すればなにか出てきるかもしれないが、 どうやら欠点をD=1-Sと定義して、パーフェクトからのスキルの差としてしまう以上は似たり寄ったりの結果しか得られないような気がしてきた。 ちょっとがっくり。

ともあれ、これまでをまとめておこう。

人物iが仕事jに配分r_{ij}(ただし\sum\limit_{i}{r_{ij}}=\sum\limit_{j}{r_{ij}}=1)で割り当てられるとする。 また、仕事jの評価Jjと人物iの仕事jが必要とするスキルの評価S_{ij}の向上は次のように定義されるとする。^\primeは一回前の仕事における評価を表している。
J_{j}=\sum\limit_{i}S_{ij}^\prime~r_{ij}
S_{ij}=S_{ij}^\prime+(1-S_{ij}^\prime)J_{j}f_{ij}

このとき、人物iの仕事jにおける欠点をD_{ij}=1-S_{ij}とすると、 次のような欠点克服停滞率と欠点克服率I_{ij}の式を考える事ができ、
\large\frac{D_{ij}}{D_{ij}^\prime}=(1-f_{ij})+(\sum\limit_k{D_{kj}^\prime~r_{kj})f_{ij}
I_{ij}={1-\large\frac{D_{ij}}{D_{ij}^\prime}}=f_{ij}-(\sum\limit_k{D_{kj}^\prime~r_{kj})f_{ij}

全ての仕事の評価の合計は次の式によって得られる。
\sum\limit_jJ_j=\sum\limit_j\{\frac{1}{f_{aj}}(1-\frac{D_{aj}}{D_{aj}^\prime})\}=\sum\limit_j{\frac{I_{aj}}{f_{aj}}}
ここで人物がaに固定されているが、これはどの人物に固定して考えても 全体の結果が変らないことを意味している。
最後の式は、適当に選んだある人物aについて、欠点克服率をフィードバック係数で割ったものを全てのスキルについて合計すると、それが仕事全体の評価になるという解釈ができる。

欠点が上記のように定義されていて、 スキルの向上が仕事の結果で決まるとしている限りは、 どのようにモデルを作っても、 個人のスキルの向上は他のメンバーのスキルの向上に依存してみんなでいっしょに向上して それが全員の仕事全ての評価になるということなのかもしれない。

このモデルを追求すれば、人のアサインメントに対する仕事の点数という ものから一般化して、リソースの配分における全体の評価の一般モデルに 関して漠然と何か知見が得られるかもしれないと期待していた。 しかし、具体的なrとfについて何か面白い結果がでるまではたいしたことは わからないということがわかった。 いつか気が向いたらさらに追求してみよう。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/98
「欠点克服停滞率(改)」へのコメント  コメントを書く
「欠点克服停滞率(改)」へのトラックバック
コメントを書き込む









メールアドレスを記憶する?


この記事の評価
悪い あんまり 普通 まあまあ 良い





@@@@