数学的に…Bigtincan Hubの 「三層構造」 のナゾに迫る!

Bigtincan Hub(通称 Hub)では、フォルダの中にフォルダを作ることができます。それによって大量のファイルを効率的に管理しています。しかし、フォルダの中にフォルダを作る、この入れ子構造について、Hubでは「三層構造」までしか作ることができないという制限があるのはご存知でしたか?

ファイルをフォルダ分けする必要があるのは、他のファイル管理サービスを使ってきた経験がおありでしたら、体感的にもよくご存じだと思います。フォルダ分けせずにPDFファイル、Excelファイル等を無造作に並べたデスクトップ画面は、見栄えが悪いですし、探し物にも時間がかかりそうです。逆に入れ子構造を深くしすぎると、お目当てのファイルにたどり着くまでに何回もフォルダをクリックせねばならず時間がかかります。

Hubでは「三層構造」が最も良い塩梅だとしていますが、果たして本当にそれが最適なのでしょうか。

簡単に実験をして確かめてみましょう。
今日はちょっと小難しく数学的にやってみます。

まずは色々な数字を仮定することから始めます。

収納したい「ファイル」が64個あるとしましょう。ファイルをまとめているものを「フォルダ」と呼びます。ファイルとフォルダの違いは、大事なので意識してください。お目当てのファイルもしくはフォルダを見つけるときには、目線は画面の上から下へと進めていくものとします。つまり、「報告書.pdf」というファイルを探すとき、一番上にそれがあればすぐ見つかるし、運悪く一番下にあれば時間がかかるということです。また、一行のファイル名もしくはフォルダ名を読み、それがお目当てのものであるか判断するのにかかる時間を1秒と仮定します。

まず、「一層構造」、すなわちフォルダ分けがない場合に「報告書.pdf」を探すのにかかる時間 T を計算してみます。画面の上からファイル名を見ていきつつ、それが「報告書.pdf」かどうかを判断していきます。上から3番目にあれば3秒、17番目にあれば17秒かかって終了します。上から i 番目に「報告書.pdf」がある確率は 1/64 なので、かかる時間の平均は、

T=1641+2+⋯+64=32.5

と計算でき「32.5秒」です。

次に「二層構造」について計算してみます。
n個あるフォルダの中から「報告用」フォルダを選び、その中からファイル「報告書.pdf」を選ぶという手順でたどり着くとします。しかし一般的に、ファイルと違いフォルダ名は抽象的な名前が多く、「報告書.pdf」を探すために「重要」という間違ったフォルダを開くことも十分にありうるでしょう。そこで、「開いたフォルダが実際に正解である確率」を80%と定義します。
実際に計算を行っていきます。
一回も失敗しない場合は、n個のフォルダから「報告用」フォルダを選んだのち、64/n個のファイルの中から「報告用.pdf」を選べばよいので、先程の応用で、

T0=1n1+2+⋯n+n641+2+⋯64n 

を計算すれば所要時間がわかります。

ちなみに、一回も失敗しない確率は0.8です。i回失敗する場合、その確率は 0.2(0.8)iと表せて、所要時間は、

Ti=T0+64n+121+n×i

となります。 0回失敗する場合から∞回失敗する場合まで足し合わせると、所要時間の期待値Tが算出できます。

T=T0+T1+⋯Ti=1.125+0.625n+48n

nはフォルダ数だったので、1から64の範囲で自由な値を設定することができます。実はn=9のときTは最小で「12.1秒」となります。うまくフォルダ分けすると「一層構造」のときと比べ、半分以下の時間で見つけることができるということです。

三層以上の構造の場合、計算がさらに複雑になります。
過程は省略しますが結果だけ示すと、一般に「L層構造」の場合かかる時間の最小値は、

fL=21.25L-1+L21.25L-12∙1.5L-1L∙641L L≥1 

という式で表されます。

具体的に計算すると、

三層構造:11.7秒 
四層構造:13.0秒
五層構造:16.5秒

となります。

さて、ここで一〜五層構造の場合に、ファイルを見つけるのにかかる時間をそれぞれ順にまとめてみます。

一層構造:32.5秒
二層構造:12.1秒
三層構造:11.7秒
四層構造:13.0秒
五層構造:16.5秒

となるわけです。

なんと、最も所要時間が少ないのが3層構造なのです。
3層を超え、4層になると所要時間が逆に増えることがわかります。

うーむ、数字で見えるとナットクですね…
「三層構造」の威力をわかっていただけたでしょうか?

何故Hubが使いやすいのか、今日は数学的に解明してみました!