捨てる技術

日常生活で整理整頓のコツは、「上手に捨てるこのと」だ。

「捨てる技術」なんていわれたりする。

端的なのが「超・整理法」っていうやつで、一定時間触っていない袋はバンバン捨てていく、という方法。

企業や政府でも、機密情報の管理は、「超・整理法」方式でやっていると思われる。賞味期限切れの個人情報なんかが残っていては困るので、一定期間を過ぎた機密情報はきちんと廃棄する、という感じだ。

コンピュータの世界でも、「捨てる技術」は性能を左右する大事な要素だ。

キャッシュの管理では、LRU(Least Recently Used)という、「超・整理法」と同じ方法がある。容量がいっぱいのときは、「もっとも使っていないもの(LRU)」を捨てる。そのために、そのデータを使うごとに、リストの先頭に持ってくる。LRUは常にリストの最後尾になる。

動的メモリ管理の方法であるガベージコレクション(GC)も「捨てる技術」だ。使わなくなったメモリ領域を、ある時点で片付けてまた利用可能にする。JavaRuby.NET FrameworkLisp などの、動的にメモリを確保/解放する言語で使われており、しばしばそのやりかたが性能を左右する。

探索アルゴリズムでも、「枝苅り」という考え方がある。全数を調べられないくらい大きいときに、「そっちには答えがなさそうだから、もう調べない」というのを一定の基準で決めて、時間を節約する。

統計だと「オッカムの剃刀」か。

- - -

難しいのは、捨てないものと、捨てるものを、どう峻別するかである。

必要な物はなるべく捨てないで、いらん物をとことん捨てる。

なるべく簡単で高速で、捨てすぎず残しすぎず、精度の高い「捨てる技術」を使えると、シアワセになれる。