キーワード状態遷移の話。
http://d.hatena.ne.jp/naka64/20040826#keywordjoutaisenni
あるキーワードをテストケースにして上のような状態遷移があったらどうなっていたかを考えるのは楽しい作業で、それを通して、その案の緻密さが良く理解できた気がします。
しかしながら、ちょっと複雑すぎるように思われます。すくなくとも初心者には優しくないでしょう。(参考:ルールはシンプルに→http://d.hatena.ne.jp/yukatti/20040826#p2)
とりあえず、
- カテゴリと直交する形で「状態」の概念を導入する
というアイディアは正しい方向だと思うので、その方向で思索を進めてみましょう。(システム的には大改変に当たるでしょうから、実際に導入されるかは甚だ疑問ですが、お付き合いください。)
とはいえ、これでも初心者からみれば相当複雑に見えるでしょうね。*1
基本的な枠組み
はてなダイアリーのキーワード空間を「マンション」になぞらえ、
- カテゴリを「部屋」
- 状態を「階」
としましょう。「部屋」は既にあるとおりのもので、「階」は次のようなものです。
そして、
- 横方向への移動:制限なし
- 縦方向への移動:多数決により行う→「エレベータ」
という風にします。
縦方向への移動は「エレベータ」により行います。「エレベータ」はカテゴリの一種として実装されますが、縦方向への移動を伴うため、他のカテゴリとは違った特質を備えています。エレベータにおかれたキーワードは毎月の「簡易評議会」にて縦方向への移動が行われます。ただし、1フロア分しか移動できません。一ユーザにできるのは、あるキーワードを「エレベータ」の前に持っていくことまでで、実際に階を移動させるかは多数決によります。
「ゴミ捨て場」は1階にしかおきません。
これが基本的な枠組みです。
以下は検討課題への一応の回答です。
新規キーワードの扱い
新規キーワードは、ひとまず「3階」に置かれます。そして、1週間後のスコアの動きを見て、
- スコア高→3階
- スコア中→2階
- スコア低(例:10未満)→1階
という風に割り振ります。
争いのあるキーワードの扱い
システム的に「1階」に放り込むようにします。例えば、削除サルベージが一定回数繰り返されている場合など。
どうやってキーワードを「対流」させるか?
「1階」のキーワードは、毎月「簡易評議会」の対象とし、
- 2階に上げる
- 1階に止める
- 削除する
を決定します。3回、「1階に止める」が議決された場合は、「中2階」(リンク×、捕捉×ながらも簡易評議会の対象としない)におくことにします。
*1:実装可能性とシンプルさと言う観点からは、http://d.hatena.ne.jp/adramine/20040823#p2のほうがベターかもしれません。「カテゴリ」と「状態」を分離することの益がさほどないと考えるならばその案がベストでしょう。