cutmail's blog

write the code

スタートアップにおける「誰をバスに乗せるか」「いつバスを降りるか」問題

誰をバスに乗せるか

このままだとバスのガソリンも少なくなり、みんな死んでしまう。 誰をバスに乗せるかというのは、簡単そうであって非常に重要な問題だ。

間違った乗客を乗せてしまうと、バスの中で仲間割れが起きたり、それぞれが向かいたい行き先が違ったりすることもある。

そのためには、バスに乗せる前にいかに乗客を選別するかが大切だ。

  • その乗客の向かいたい場所がバスの進行方向と違っていないか
  • バスの中に既にいる乗客とうまくやれそうか
  • バスという狭い、資源も少ない環境で一定期間過ごすことができそうか(現実では期間は一定ではないかも)

いつバスを降りるか

運よくバスに乗れたとして、実はバスが向かっている方向が違っているなんてこともあるかもしれない。 それに気付いたらなるべく早くバスを降りよう。

もたもたしていると資源も尽きて、バスを降りる体力も無くなってしまうかもしれない。

  • バスに乗っている乗客は問題ないとして、向かっている行き先に到着できるガソリン残量はあるか
  • バスは動いているけど、実は誰も運転手がいないなんて状況でないか
  • まっすぐ進んでいるように見えて、実はだいぶ遠回りしていたり、蛇行運転をしていないか

決めるのは早い方がいい。