日常生活で整理整頓のコツは、「上手に捨てるこのと」だ。
「捨てる技術」なんていわれたりする。
端的なのが「超・整理法」っていうやつで、一定時間触っていない袋はバンバン捨てていく、という方法。
企業や政府でも、機密情報の管理は、「超・整理法」方式でやっていると思われる。賞味期限切れの個人情報なんかが残っていては困るので、一定期間を過ぎた機密情報はきちんと廃棄する、という感じだ。
コンピュータの世界でも、「捨てる技術」は性能を左右する大事な要素だ。
キャッシュの管理では、LRU(Least Recently Used)という、「超・整理法」と同じ方法がある。容量がいっぱいのときは、「もっとも使っていないもの(LRU)」を捨てる。そのために、そのデータを使うごとに、リストの先頭に持ってくる。LRUは常にリストの最後尾になる。
動的メモリ管理の方法であるガベージコレクション(GC)も「捨てる技術」だ。使わなくなったメモリ領域を、ある時点で片付けてまた利用可能にする。Java、Ruby、.NET Framework、Lisp などの、動的にメモリを確保/解放する言語で使われており、しばしばそのやりかたが性能を左右する。
探索アルゴリズムでも、「枝苅り」という考え方がある。全数を調べられないくらい大きいときに、「そっちには答えがなさそうだから、もう調べない」というのを一定の基準で決めて、時間を節約する。
統計だと「オッカムの剃刀」か。
- - -
難しいのは、捨てないものと、捨てるものを、どう峻別するかである。
必要な物はなるべく捨てないで、いらん物をとことん捨てる。
なるべく簡単で高速で、捨てすぎず残しすぎず、精度の高い「捨てる技術」を使えると、シアワセになれる。