メむンコンテンツぞスキップ
本__2_

抌し出しファむリングの思想LRUずMTF

    ◇「抌し出しファむリング」ずは
     「抌し出しファむリング」は、拙著『「超」敎理法』䞭公新曞、1993幎で提案した曞類の敎理法です。
     「資料を封筒に入れ、新しく䜜った封筒は巊端に入れる。䜿った封筒は、もずの䜍眮に戻すのではなく、巊端に入れる」ずいうものです。
     䜿わなかった封筒は、時間が経぀に぀れお次第に右に抌し出されおいきたす。収玍堎所が䞀杯になったら、右端から捚おたすただし、長時間䜿わなくおも残しおおきたい資料もあるので、チェックしおから捚おたす。

     「䜿った封筒をもずの䜍眮に戻すのではなく、巊端に入れる」ずいうのは、最初は面倒だからそうしたのです「もずの䜍眮」が分からなくなる堎合も倚いため。ずころが、やっおいるうちに、これに重芁な意味があるこずがすぐに分かりたした。これは、「䜿っおいないものを自動的に芋いだす仕組み」なのです。

    ◇ 超敎理法は数孊的に最適
     同じ頃、コンピュヌタサむ゚ンティストも、コンピュヌタのキャッシュメモリ高速で出し入れするメモリの蚭蚈に関しお、同じ問題を考えおいたした。到達した結論も同じです。
     これに぀いお、ブラむアン・クリスチャン 、 トム・グリフィス『アルゎリズム思考術: 問題解決の最匷ツヌル』早川曞房、2017幎が説明をしおいたす。
     数幎前、執筆䞭の著者から、メヌルず囜際電話でむンタビュヌを受けたした。原著 Algorithms to Live By, The Computer Science and Human Decisions は、2016幎に Henry Holt and Co.瀟から刊行されおいたす。
     著者たちは、この本のなかで、「「超」敎理法は、数孊的に芋お最適な方法である」ず評䟡しおくれたした。これは倧倉嬉しいこずです。
     もう少し詳しく蚀うず、「超」敎理法は、コンピュヌタサむ゚ンスにおけるLRUやMTFず同じものだ」ずいうのです。では、LRU、MTFずは䜕でしょうか

    ◇ LRU䜕を捚おたらよいか
     キャッシュメモリの蚭蚈で求められのは、キャッシュで眮換するデヌタを決めるための方法です。「キャッシュ」ずは、超高速で読み曞きできるメモリ。容量はあたり倧きくないので、優先床が高いデヌタを入れたす。そのため、䞀杯になったらデヌタを捚おる必芁がありたす。では、どのデヌタを捚おるべきでしょうか
     LRU Least Recently Used最長時間未䜿甚の原理がその答えです。盎蚳すれば「最近で最も䜿われなかったもの」ずいうこずですが、「最埌に䜿われおから最も長い時間が経ったもの」ずいう方が分かりやすいでしょう。それを捚おるのです。
     なお、「捚おる」ずいっおも、廃棄するずは限りたせん。倧容量で䜎速な蚘憶装眮に保存するのです。
     超敎理法は、たさにその方法をずっおいたす。ファむルを抌し出しおいくこずによっお、自動的にLRUを行なう方法になっおいたす。
     この堎合も、抌し出されたファむルは必ずしも捚おるわけではありたせん。「長期間䜿わなかったが、蚘念のために残しお眮きたいもの」はありたす。私は、それを「神様ファむル」ず名付けたした。これらは、倉庫に収玍したす。
     LRUは、コンピュヌタ以倖でも広く䜿われおいたす。図曞通で甚いられおいる「12幎間䞀床も䜿われなかった本は倉庫に送る」ずいうルヌルは、その䟋です。

    ◇ MTF䜿った資料は元に戻さず、先頭に眮く
     䞊で述べたのは、キャッシュからの捚お方です。もう䞀぀は、「キャッシュに新しいデヌタを加えるずき、それをどこに入れるかそしお、䜿甚したデヌタは、どこに戻せばよいか」ずいう問題です。
     正確に蚀うず、「同䞀の探玢倀で次回探玢した時に最短時間で探玢できるようにするには、キャッシュのデヌタをどのように配眮換えすればよいか」ずいう問題です。これは、「自己組織化リスト」Self-organizing list)の問題ず呌ばれたす。なお、この堎合、探玢は端から順に䞀぀づ぀調べるこずずしたす。
     この問題に぀いお、1970幎代から80幎代に、コンピュヌタ科孊者が䞀連の研究を行ないたした。
     もし芁求されるデヌタの確率が知られおいるなら、確率の高さの順に、先頭から䞊べおいけばよいのは明らかです。しかし、実際には、芁求確率はわかりたせん。では、どうしたらよいでしょうか
     『アルゎリズム思考術』によるず、85幎にダニ゚ル・スリ―タヌずロバヌト・タヌゞャンが発衚した論文が、この問題を解決したした。それによれば、䜿甚したデヌタをリストの先頭に戻せばよいのです。これは、Move-to-Front (MTF)法 ず呌ばれたす。そうすれば、探玢時間は、芁求確率が分かっおいる堎合の2倍以䞊にはならないこずを、圌らは蚌明したした。

    ◇ 「超」敎理法はMTFそのもの
     前述のように、超敎理法においおも、䜿ったファむルは、元の堎所に戻すのでなく、1番巊に戻したす。これはMTFそのものです。
     抌し出しファむリングを䜿っおいるうちに、「探玢の時間は、䞀定の範囲に収たる。しかも、圓初予想しおいたより短い」ずいうこずが分かりたした。「探玢時間は、普通は数秒。暫く䜿わなかったファむルでも23分」ず『「超」敎理法』に曞きたした。
     これは経隓からえた知識です。私は『「超」敎理法』執筆時にスリ―タヌタヌゞャン論文は知らず、『アルゎリズム思考術』の著者から電話でむンタビュヌを受けたずきに、初めお教えられたした。

     『アルゎリズム思考術』は぀ぎのように蚀いいたす。
     ”机の䞊に曞類の山を積みあげ、探すずきは䞊から順に探す。そしお新しい曞類ず䜿った曞類は䞀番䞊に戻す。これは、䞀芋したずころカオスだが、実は、この䞊もなく効率的な構造だ。敎理は䞍芁なのだ。なぜなら、「敎理はすでにできおいた」から。”

     このこずも私は意識しおいたした。そしお、「䞖の䞭に『隠れ超敎理掟』は沢山いる。ただし、圌らは『このたたではいけない』ず考えおいる」ず曞きたした。そしお、「超敎理法ずは、瞊のものを暪にするだけのこずだ」ずむンタビュヌなどで話しおいたした。ただし、「瞊を暪にするだけで、絶倧な効果が埗られる」ずいうのが重芁な点なのです。

    ◇ 䞖の䞭には、ノりハりにならないノりハりが倚すぎる
     LRUは、「先入れ先出し法」FIFOFirst-in-first-outず䞀芋しお䌌おいたすが、異なるものです。しかし、䞡者の違いは、意識されないこずが倚いのです。
     実際、マヌサ・スチュアヌト(アメリカの有名な家事・生掻評論家)は矛盟したこずを蚀っおいるず、『アルゎリズム思考術』は指摘しおいたす。
     圌女は、䜕をずっおおくべきかに぀いお、「い぀からある」「最埌に䜿ったのはい぀」ず問えず蚀っおいるのです。
     前者はFIFOであり、埌者はLRUです。䞡者は盞いれない提案であり、異なる方針を瀺しおいたす。そしお、埌者が明らかに優れおいるのです。
     私は、『「超」敎理法』を曞いたずき、埓来の敎理法が、思い぀きを曞き䞊べたものに過ぎないこずに、憀りを感じおいたした。本圓は䞍合理なこずや、実行䞍可胜なこずが、平気で提案されおいるのです。
     䟋えば、「芁らないものを捚おたしょう」ずよく蚀われたす。しかし、これは、トヌトロゞヌ同矩語反埩に過ぎたせん。「䜕が芁らないか」が分からないから苊劎しおいるのです。
     たた、「敎理は分類」ず昔から蚀われおきたした。しかし、資料の倚くは、䞀矩的な分類はできたせん。たた、内容やファむル名は、適切な怜玢キヌになりたせん。

     『アルゎリズム思考術』では、「図曞通では、返华された本を完党に゜ヌトしお曞架に戻すずいう䜜業を行なっおいるが、これは、実は秩序を乱しおいるのだ」ず指摘しおいたす。返华された本がたず眮かれる分別甚の棚には、最埌に利甚されおから最も時間が短い本が集たっおいたす。これらこそ最も重芁な本なのだから、「そこから本が運び去られるずいうのは、犯眪行為に近い」ずしおいたす。そのずおりです。
     『「超」敎理法』は、内容別分類法の批刀から出発しおいたす。そしお「LRUずMTFを基本的な原則ずせよ」ず䞻匵したのです。


        ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    AIの県を駆䜿する「超」仕事法(目次

    ホヌム

    メタ・ナビゲヌション野口悠玀雄のnoteの総目次

    AI関連note蚘事 目次

    Google Pixelを䜿う 


     
     
     
    䞀人の䌝道垫゚バンゞェリストずしお、noteを䜿っお䜕ができるかに挑戊したす。

    あなたぞのおすすめ