アルゴリズム思考術

5章 スケジューリング

・連結タスク  :A→B→C とやる必要がある。いきなりBやCはできない。たとえば洗濯してから、乾燥する必要がある。
・時間指定タスク:ゴミ出しの日になるまでゴミは出せない
・期限ありタスク
・いつでもタスク
・目標、評価基準がなければ、計画できない
 ・目標、評価基準を作る
 ・作った目標、評価基準によってどんなスケジューリング方式が最適か決まる
・「最大納期遅れ時間の最短化」には「最早納期優先」が最適
 (レジに来た順番に客をさばくことで、すべての客の待ち時間を最小化)
 (納期が近いものほど先、納期が遠いものは後回し)
・「ムーアのアルゴリズム」
・単一機械スケジューリング(人間)では、全作業完了の時間はどうやっても変わらない。
・各作業に異なる客がいるなら、客の待ち時間を最小化する方法がある
・「処理時間順」 処理時間が短いものから着手する。
・A社向け作業は4日必要、B社向け作業は1日必要。
  A(4日待つ)→B(4+1日) →AとBが待った合計9日
  B(1日待つ)→A(1日+4日)→AとBが待った合計6日
  どちらを先にしても作業時間は5日だが、客全体の待ち時間は異なる。

・「処理時間順」は最もタスクの「数」をへらす効果がある
・GTDが2分以内にできるものを先にやれというのは「処理時間順」で「数」を減らして
 心理的に進歩している気分になれるかも。

・「雪崩式返済」金利が高いもの(重み付けが重い)から返済
 (金利支払いを最小化)
 (重要度が高いものから順番に処理する)

・「雪だるま式返済」金額の少ないものから返済
 (件数が減って進捗している心理的満足を最大化)
 (やりやすいもの、簡単なものから順番に処理する)


・「目先取り Pre Crastination
 A すぐ近くの重いバケツを指定の場所に運ぶ
 B 中間地点の重いバケツを指定の場所に運ぶ 
 被験者は肉体的負担が大きいAを選びやすい
 →実際の負担や重要性よりも、とにかく手近な目標に飛びつきやすい
 (2014 ペンシルバニア州立大学 デビット・ローゼンバウム)

・「先行制約」Bをやるには先にAをやる必要がある
・「優先度逆転」
・「効率的に解ける問題」9%、「手に負えない問題」84%、「不明」9%
・迷ったら最終的にはやらねばならないのだからTODOリストの上から順番にやる

・「割り込み」により「切り替えコスト」が発生する。
・人間の場合、集中が阻害され、頻繁に割り込まれるとほとんど進まなくなる



・リアルタイムスケジューリングが難しいのは、応答性とスループットを両立しなくてはならないから
 (「応答性:応答の素早さ」「スループット:遂行できる仕事の総量」)
 (スループットを増やすと応答性は減る」「応答性を増やすとスループットは減る」)
・タイマーを掛けてその時間集中するのは
 「応答性を減らして切り替えコストを最小化しスループットを増やす」こと
・短時間で終わる雑多なタスクをすると切り替えコストが大きくなる
・応答性を下げスループットを増やしている例
  郵便配達が一日一回まとめて持ってくる 
  大学のオフィスアワー
  買物は週に2回だけにする
  SNSやメールチェックは1日に決まった時間に一回
・割り込みと切り替えコストをへらすには、応答する時間を固定し、頻度を下げて応答性を下げること 
・伝説のプログラマー、ドナルド・クヌースは応答性を極端に下げてスループットを増やしている
 (FAXは半年に一度しか見ない)
 (郵便物は3ヶ月に一度しか見ない)
・「割り込みまとめ」:応答性を減らし、スループットを増やす

メンバーのみ編集できます