…というわけで前回の続き(笑)
前回書いた通り、今回の引っ越しは業者に依頼せず自分で少しずつ荷物を運んでいます。
理由も前回書いた通りなんですが、ここでひとつ引っ越しをする際に「業者に依頼した場合」と「依頼しなかった場合(自分でやる場合)」との違いについてそれぞれの利点・欠点を考えてみると…
●業者に依頼した場合
利点:とにかく早くて楽
欠点:結構お金がかかる
●業者に依頼しなかった場合
利点:ほとんどお金がかからないし、気が向いたときに自分のペースでやれる
欠点:時間がかかるし肉体的にも結構キツい
…といった違いがあることは誰でもすぐに思いつくことでしょう。
ところが、今回引っ越しを自分でやってて、改めて業者に依頼した場合の新たな大きな利点に気づきました。
「新たな大きな利点」と言っても実際には「とにかく早くて楽」ということに含まれるようなものなんですが、なんていうか「引っ越しの技術論」的なこととしてこれまで気づいてなかったことに気づいたもんだから、あえて「今回、気づいた!」ということで書かせていただきます。(笑)
その今回気づいたこと…というのは、「引っ越し業者の大型トラック」にはコンピュータ技術用語でいうところの「スタック構造のバッファ」としての機能があったんだ!ということなんです。
技術系の人にも「はぁ?」って思われるかも知れないし、ましてやそうじゃない人には「全く意味不明なんですけど…」って思われるようなことをいきなりサラっと書いてしまいましたが以下にわかりやすく説明します。
コンピュータでデータ処理するとき、処理の過程で一時的にデータを待避(一時保存)させることで効率よく処理できることが多々あるのですが、その時の一時保存場所のことを「バッファ(buffer)」といいます。
バッファにはいくつかのタイプがありますが、そのうち一般的にもっともよく使われるものとして「スタック(stack)」と呼ばれるタイプ(構造)のものがあります。
スタックとは例えていうなら、机の上にどんどん本を積み重ねていくような(あるいは、穴の中にどんどん物を放り込んでいくような)データの保存方法のことです。
スタックの特徴としては、まず第一に構造自体がシンプルであることから処理が単純で速度も速いことがあげられます。(物を片づける時のことを考えたらわかると思いますが、なんでもかんでもとりあえずは同じ場所にどんどん積み重ねればいいだけだから…笑)
また、そのシンプルな構造であるがゆえに第二の特徴として、データを出し入れする際に「一番最初に入れた物が一番最後に取り出される(FILO - First In, Last Out)」あるいは意味は同じことですが「一番最後に入れた物が一番最初に取り出される(LIFO - Last In, First Out)」という構造的宿命にあることがあげられます。
(つまり、スタックに出し入れする際には一時的に順番が逆転してしまうわけです)
例えば、1巻から10巻までの本を机の上に順番に平積みしていった場合、積み上がった状態の本の山から簡単に取り出せるのは1番上の本(つまり最後に置いた10巻)で、無理なく上から順に1冊ずつ取っていくと最後になってようやく最初に置いた1巻が取り出せることになりますよね。
このような構造を「スタック構造」といい、その構造を持つ一時保管場所のことを「スタック構造のバッファ」といいます。
ここでいきなり引っ越しの話に戻りますが、まず、そもそも部屋の構造自体が実はかなりスタック構造に近いものになっているのです。
例えば、「床にカーペットが敷いてあって、カーペットの上に机が置いてあって、机の上にパソコンが置いてある部屋」を想定した場合、それらの物を引っ越し先へ移動させようと思ったら、まず最初にパソコンを動かさざるを得ませんよね。そして次に机を動かして、最後にようやくカーペットを動かすことができます。部屋の構造自体がまさにスタック構造になっているわけです。(最初に置いたものが最後まで動かせないという意味で)
しかし、それをその順番のまま引っ越し先へ持っていくと困ったことになってしまいますよね。
なぜならカーペットも机もない所へまずパソコンだけがやってきて、次に机がやってきて、最後にカーペットがやってくるわけだからとても効率の悪い状況になってしまいます。
今回の引っ越しのように業者(大型トラック)を使わず自分で荷物を少しずつ動かしやすい順に移動させる方法(つまり、間にバッファを使わない方法)では、あらゆる場面でこの順番が入れ替わるジレンマに陥ってしまうことになります。
一方、引っ越し業者に依頼した場合(あるいは、大型トラックが用意できた場合)では、まず最初にパソコンがトラックの一番奥に積み込まれ、その手前に机、そして最後にカーペットが積み込まれたスタック構造を持つバッファ(トラック)が出来上がることになります。
そしてそれを引っ越し先でおろすときは、一番最後に積んだカーペットがまずおろされて、次に机がおろされて、最後にパソコンがおろされることになるので、そのまま本来の順番通りに配置できるわけです。
なんて合理的で効率的なんでしょう!!
…と、なんだかとっても当たり前のことをいかにも難しげに説明した感が無きにしもあらずですが、自分としては「おぉ!そういうことだったか!」とちょっと発見した気分になったのでちょっと嬉しくなって日記に書いてみました。(笑)
ken
2008/09/07
一般