いろいろ。

I18N

ソフトウェアの世界で、I18N という言葉を見かけることがある。これは何だろう?

I18N = InternationalizatioN

である。英語の意味は「国際化」。ソフトウェアを各国語対応にすることを意味する。最初の I と最後の N の間にアルファベットが 18 個あることから I18N または i18n と書くらしい。

では

L10N は?

L10N = LocalizatioN

これも I18N と似たような意味で使われる。

それでは M17N は?

M17N = MultilingualizatioN

で、他言語化、I18N = L10N = M17N である。

続きを読む

自己暗示

  私は、入社当時より将来、海外 (特にアメリカ) で働いたり生活したりしたいと考えていた。その 「夢」 は、今まさにかなっていると言える。

  でもどうしてここまでこれたのか、今まで私も理由がわからなかった。漠然とその答えを出すなら、「常日頃それを強く思っていた」 に過ぎない。

  ではなぜ思うだけでここまでこれたのか?

  すべてをプラスに考えて来たから?とも思った。しかし今までは理屈がわからなかった。

  しかし!最近になってこの理屈を自分の中で消化することができた。

  結論から言うと私は知らないうちに自己暗示をかけていたのだと思う。この自己暗示こそが夢を叶える原動力となり得るのだと、今もって確信しつつある。

  では、その自己暗示とは何だろうか?

  その前に、まずは自己暗示の悪い面から考えてみたい。非常にわかりやすい例としては、テストのときを考えてみる。

「どうせやってもムダなんだ」 (自己暗示)

 ↓

「勉強せずに遊びに行く」 (行動)

 ↓
「テストが 50 点だった」 (出来事)

 ↓

「テストは失敗だった」 (解釈)

 ↓
「どうせやってもムダなんだ」 (自己暗示)

 ↓
「勉強せずに遊びに行く」 (行動)

 ↓

………

  このサイクルは、当人のマイナスの自己暗示から始まっている。

しかしマイナスの自己暗示も、理由なく生じる訳ではない。

  悪い自己暗示は悪い行動を動機付け、悪い行動は悪い出来事が生じる可能性を高め、悪い出来事は悪く解釈されがちであり、悪い解釈は悪い自己暗示として定着することが多い。

  すなわち、自己暗示 - 行動 - 出来事 - 解釈 - 自己暗示 …… のサイクルは、悪循環を形成している。自己暗示は、自らを実現する予言のようなものである。このループに捕われたが最後、「ほら、やっぱり悪くなる」 と暗示の 「証拠」 を自らがつくり出すことで、暗示を強化してしまう。多数の失敗例の中に、ほんのわずかな数の成功例が差し挟まれても、「そんなものは例外だ」 とスルーされてしまっては、自己暗示は持続し覆されないだろう。このループこそが自己暗示が強固な理由である。

  例えば、良くないことが起こったときにたまたま TV で良くない占いが目に飛び込んできたとする。こんなときも暗示の 「証拠」 を自らが作り出し、悪い暗示を増幅させてしまうのである。

  上の例では「マイナスの悪循環」を考察してみたが、これを反対に置き換えれば「プラスの好循環」となる。つまり自らの成功を予言して「ほら、やっぱり良くなった」と、成功の好循環を作り出すことを日ごろから練習(訓練)すればよいのだ。

  実は、自己暗示は自己催眠と同義である。催眠というと、嘘くさいイメージがあるが、しかしこれこそが、夢を叶える原動力であるとすると、少なくとも私の場合はすべてに納得がいった。

続きを読む

マイレージの裏技

私は、アメリカン航空のマイレージが X 万マイルあるが、2005/03/18 に有効期限が切れてしまうようなことがあった。

基本前提として

  • マイレージの有効期限は、最後に飛行機に乗った日から 3年
  • マイレージは、最後に飛行機に乗った日から 3年以内に飛行機に乗れば、また3年延長される。

基本的に3年間に1度でも同じ航空会社の飛行機に乗り続ければ、マイレージは消失することなく貯まっていくのである。

しかし、3年間乗らなかった場合はどうなるのか?マイレージを使わなければ、全部パーになってしまう。

今まさにアメリカン航空の私のマイレージがその状態にある。

しかしここで落とし穴があって、実はマイレージをすぐに使おうと思ってもすぐには使えないのだ。

  • 21 日前にマイレージを使って飛行機を予約すれば無料で発券してくれる。
  • 21~7日前にマイレージを使うと(アメリカンの場合)手数料として $50 取られる。
  • 6 日~2時間前にマイレージを使おうとすると手数料として $75 取られる。

マイレージを使うには、航空会社が用意した「マイレージのための座席」があるので、基本的に 3ヶ月先くらいまで希望の日に予約は取れないと思ってよい。

そうすると、私のマイレージは使わないまま(予約も取れず旅行に行く予定も合わず)消失してしまうのだろうか?

ちなみにマイレージは、計算すると1マイル2.5~3円の価値がある。たとえば 10 万マイルあると、25万~30 万の価値だ(航空券換算の場合)。

マジで使わないともったいないのだ。

で、日本のアメリカン航空に電話して聞いたら、以下のことがわかってきた。

  • 有効期限の 2005/03/18 までのフライトチケットでなくても、2005/03/18 から向こう1年間の間のフライトの予約が可能。
  • マイレージで取ったチケットは、発券日から1年間有効。ここで、フライトと日付は変更できる。使わなかった分はまたマイルに戻せる(しかし、手数料が必要)
  • ただし、2005/03/18 以降、私のマイルは消失することになるので、仮に 2005/03/17 にチケットを取ったとすると、このチケットは 2006/03/16(マイナス 60日)までの 1年間、自由に(日付、便名共に)変更可能だが、マイレージのポイントには再び戻すことはできない。

ちょっとしつこく聞いていたら、アメリカン航空のオペレータが、「マイレージの端数はありますか?お客様のマイレージ番号をお聞きしてもよろしいですか?」と聞いて来た。マイレージ番号を伝えると、

「xxx,383マイルありますね。。。実は。。マイレージを『寄付』していただいて 3年間延長する方法もあります。通常は 1,000 マイル単位なんですが…最低は250マイルでOKです。」

そうすると、結論としては今無理に使わなくても2005/03/17 に 250 マイル寄付すれば 3年間延長できることになる。この方法を使えばたまにアメリカン航空に乗って永遠にマイレージが延長できそうだ(仕組みが変わらない限り)。

しかし。。今回(来週)は、自腹を切って旅行することにするが・・家族(旅行)を優先させるのか、恵まれない子どものためにマイレージを使うのか、神様から試されてる気がする。もちろん、他の方法でも恵まれない子どもを
救う手段はいろいろとあると思うのだが。。。マイレージが寄付できるのは知っていたが、こんな裏技に使っていいものだろうか。とりあえず 250 マイル寄付するけど。

よくネットで「何万マイル貯まった」とか自慢してる人がいるのだが(そういえばツインズのオフ会でも会ったなぁ…)、とても自慢などできない、、(とか言いつつ、私にマイルがあることをこのメールで書いているのだが…
マイレージは第 2の貨幣とはよく言ったもので、航空チケット以外にも ホテル、レンタカーもマイレージで取ることができるのだ。)

続きを読む

ハッシュ

1997 年頃だったか、マイクロソフトが 「ActiveX」 というインターネットの新しい技術を発表した。今我々が使っているインターネットエクスプローラーという名前のブラウザも、この頃初期のバージョンが発表された。

我々技術者は、その新しい技術を使ってソフトを開発しなければならなくなった。マイクロソフトのずさんなセキュリティのために、全世界のウィンドウズを使うユーザーは現在、ウィルス付きメールや月に 1度のパッチを充てなければならないという煩わしさに悩まされ続けているが、すべてはここから始まった。

この頃、マイクロソフトはそれぞれのソフトウェアに世界で一意(=ユニークな)番号を与えるから、それを使え、と言い出した。

世界中のプログラマは、個人や企業に関わらず、ウィンドウズのプログラムを作ったら、そのプログラムを識別するために番号を付けるのだ。

ちょっとパソコンに詳しい人なら、ウィンドウズの 「レジストリ」 というコトバを聞いたことがあるだろう?実は、そこにソフトの番号がたくさん貯められているのだ。

しかしすぐにこんな質問が思いつく。

「いったい誰がどうやって他のプログラムとバッティングしないように番号を振るのか?」

まず自分で勝手に振ったら、世界で無数にあるウィンドウズのソフトの番号とバッティングしそうだ。それは容易に想像できる。

では、マイクロソフトにいちいち申請をして番号を振ってもらうのか?オンラインですべて自動で行われたとしても、ちょっと面倒だ。マイクロソフト自身もそんな番号を管理するのはコストがかかって仕方ないだろう。

実はマイクロソフトは、自社のソフトウェア開発のためのソフト(ソフトを作るソフト)が、自動的に番号を振るから、それを使え、といっていた。

そんなことが可能なのだろうか?世界で、本当に自分しか所有しない番号、、しかも誰ともその番号を調整しないで・・・

このとき、ウィンドウズのソフト開発に非常に詳しい同僚に質問してみたが、実は上の説明をされただけで、どうしてそうなるのかまでは説明してもらえなかった。しかし、今ならその仕組みを説明できる。ヒントは、件名にある「ハッシュ」だ。まずはググってみよう。

上では、マイクロソフトが「世界で唯一の番号を各人が作ったソフトに自動的に割り振る」という話をした。

実際にそんなことは可能なのだろうか?答えは、「事実上」 可能なのである。事実上と、枕詞がつく理由は、「十分に実用的に耐えうる」からである。

それには、このメールのタイトルのハッシュというものを使う。

中高で 「関数」 を習ったが、ハッシュとは関数の一種だ。

この関数は特殊で、A というものを入れると B というものが出てくるが、一度 A を B に変換してしまうと、元のAには絶対に戻せない、というものだ。戻せないというより、元のAは何だったかわからない、といった方が正しい。

たとえば 1234 を入力すると 7890 が出てくるような感じである。7890 から 1234 を復元する方法はこの世に存在しない。1234 を入力すると必ず決まった値である 7890 が出てくるもので、1234 を入力したときの 7890 という値は、この世の中で(おそらく)あなたの他に誰も 7890 という値を持っていないものである。

では 1234 から 7890 どうやって計算するのか?というと、複雑な計算手順が必要らしく、実は私にもわからない。ひとつ言えるのは世界で唯一の数字はどんなものか?と少し考えると、「時刻」 があると思う。その計算をした瞬間の時刻をそのまま数値化すれば、あなたとまったく同じ計算をした人はおそらくいないだろうから、時刻は唯一であると言える、というものだ。

しかしやはり本当にその瞬間に全世界で同じ計算をした人が存在しないかと言われたら、ひょっとしたらいるかも知れない。だから、時刻という値はハッシュであることの最有力候補であるけれども、もっともっとバラバラな数字が必要だ。だからハッシュを計算する関数、つまりハッシュ関数はもっと複雑な計算を行い、その出力が世界で唯一であることを数学的に保証する、というものなのだ。

ハッシュは、乱数(ランダムな、バラバラな数字)に見えて、実はインプットが同じなら出力も常に同じ、という性質を持っている。

ではハッシュは日常生活でどんなところに使われているのだろう?

  • プログラムを世界中でたった1つに特定する。→マイクロソフトのソフトウェア ─── Excel や Word、IE でさえも ─── 世界中で一意の番号が振られている。
  • メールのメッセージ ID。メールには、 d2384969b8419d7a8273c53a0c51d819@twinkle.cc などという番号が振られている。もし同一時刻に同一者から同一内容が送られれば この ID は同じである。1 秒でも遅れて同一内容のメールを送ってもこの値はまったく違ったものになる。
  • 本人確認の手段。社員番号が 12435700 で、誕生日が 19700101、名前が「アオイヤスヒコ」というデータからハッシュ値を求める。この 3 つの要素を持っているのが世界中でただ 1 人だったとすると (実際には 1 人に特定するためにもっとたくさんの要素を 組み合わせる必要があるのだが)、ここから生成されたハッシュ値、たとえば 2a2c110bfc7f4875f0ab7a5393b7a7bf という文字列は、アオイヤスヒコが持っている 個人情報からしか生成されない。そのため、この値は本人確認に使用できる。この文字列を伝えられた側は、この文字列からアオイヤスヒコであることは確認できるが、元の個人情報を復元できないのだ。
  • 医療分野では、上を応用すると、本人の身元を明かさないまま、統計データを処理できる。統計データを処理するにあたって、多くの場合はその本人の「本名」はいらないからである。本名自体から求めたハッシュ値を使えば良いのである。
  • パスワードの保存。実は、このことが書きたくてハッシュのことをつらつら書いてきた。 ウェブサイトではユーザー名とパスワードを入力させられるケースが多々ある。このとき、ユーザー名は誰に知られてもいいが、パスワードは本人のみ知っているものである。素人がシステムを作ると、パスワードを生のままサイト側に保存してしまう。もう少し気の利いたエンジニアだと、パスワードを暗号化して入れる。しかしパスワードを暗号化すると、パスワードが漏れてしまったとき、復元方法もバレると結局もとのパスワードもバレてしまう。そこでハッシュの登場である。システムには、ユーザーが入力したパスワードのハッシュ値を記録・保存しておく。ユーザーがサイトにアクセスしてパスワードを入力したときには、常にハッシュ値を計算してシステム内に保存されているものと 等しいか比較するのである。こうすれば、パスワードとして保存していた 「つもり」 のハッシュ値が万が一漏れたとしても、誰もその文字列からは元のパスワードを復元 することはできない。この方式は拙作のサイト i-Services でも使っている。

    実はもっといろいろな応用があるが、ちょっと難しかったと思うので今回はここまで。

続きを読む

循環呼吸奏法

  Kenny G とは、世界的に有名な SAX 奏者であり、Smooth Jazz という新しい分野を切り開いたのは彼だといっていい。

  その昔私は、来日した Kenny G のコンサートを代々木体育館に観に行った(というか聴きに行ったというべきか)ことがある。彼はエンターテイナーで、非常にサービス心旺盛なコンサートであった。彼の音楽は pure そのものだが、彼の人柄などが伝わってくるものであった。

  彼は、これまでクリスマスシーズンになるとホリデーアルバムを出しているのだが、単に売れるから、という理由の他にも、敬虔なクリスチャンであることがうかがえると思う。その真面目さが彼の創る音楽に表れていると思う。

  さて、コンサート中で、おそらく彼は(感覚的には)5分以上は同じ音を出し続けた記憶がある。そんなことが可能なのか?と思うが、実際に耳で確かめたし、彼の CD で Kenny G Live! というにロングトーンをしている曲が入っていたと思う。事実であることは確かだ。しかし自分が管楽器を吹くときに、同じ音をそんなに長く出せるものだろうか?

  ずっと頭の片隅に疑問に思っていたところ、そのやり方が書いてある HP を偶然見つけたので記しておくことにする。

https://www2.gol.com/users/gandam/kennyg/faq.html (Kenny G. FAQ)

ケニーがロングトーンで使っているという、循環呼吸奏法って何ですか?

それでは、簡単にサーキュラー・ブリージング(循環呼吸)の理屈を説明しましょうか。

一言でいえば、”鼻で息を吸いながら、口からも同時に息を吐く”ということです!。こう聞くと何とも難解ですが、理屈そのものは以外と簡単です。しかし、このテクニックを身に着けるのは非常に大変なことです。でもあなたも体験することは出来ます!・・・その方法は、

1) 頬を大きく膨らませて、口の中に空気をためてください。

まず、この状態で通常の呼吸は出来ていると思います。


では次に・・・・、

2) 1)の状態のまま呼吸をしながら両手で膨らんだ頬を押して、口の中から空気を押し出してみてください。

どうですか?


鼻で呼吸をしながら、口から息が吐けるでしょう・・・・・。


3)で、口の中の空気を吐くのに頬を手で押しましたが、これを手で押さずに頬をつぼめることによって行います。

これが、サーキュラー・ブリージングの理論です!

<練習方法>

一般によく言われている練習方法を紹介しましょう。

(用意する物)


・コップ・・・・水を入れておく。


・ストロー

ストローを口にくわえて、ジュースを飲む時のように水をいれたコップに入れます。この状態で息をストローに吹き込めば、ブクブクと泡がでますね!。これを先ほど説明した方法の、”頬をつぼめる”ことでやってみましょう。


やはり、泡がでますよね・・・・それと同時に鼻で呼吸をする。

この様に、泡を途切れさせない様に呼吸をする練習をするわけです!


さあ、練習しよう!!!

(Feb 14, 1998.)

続きを読む

数字のタッチタイプを楽して 10 ヶ月で覚える方法。

私は、なんと、PC のキーボードの一番上の数字キーをタッチタイプ※できる。

これができると、テンキーで数字を入力する必要がないので、簡単な数値入力ならささっとできてしまうので効率がよい。

どうやって覚えるかというと、毎日入力するような、よく使うパスワードにその月の数字を1文字入れる。

もしあなたのパスワードが 「hogehoge」 で 1月であればパスワードを 「hogehoge1」 とする。それでタッチタイプのポジションを覚えればいい。

この方法でパスワードの最後に 「1」 を付けたとすると、 1月は左手の小指で 「1」 をほとんど毎日入力することになる。 2 月になったら 「hogehoge2」 というようにパスワードを変える。これを 10 月まで繰り返すと、10 ヶ月で数字キーがタッチタイプできるようになると言うわけ。パスワードは 1ヶ月に 1回変えることにもなるので、タッチタイプ修得だけでなくセキュリティの面でも一石二鳥である。ぜひ試してみて欲しい。

※キーボードを見ないで打鍵すること。昨今は 「ブラインドタッチ」 とはいわない。

続きを読む

パラダイムシフト

時代の移り変わりを、「パラダイムシフト」 という。

我々は、90 年代にインターネットを手にした。そして時代が変わった。これをパラダイムシフトという。主に社会またはその分野でインパクトを持って移行が伴うものだ。

今、私たちが目にしているパラダイムシフトは、大きなくくりで言うとIT関連ということになるが、日本では iモード / ケータイ、eコマース、液晶 / プラズマ TV、HDD レコーダー、少し専門的になるが IT の世界では 「オブジェクト指向」 「Java」 「無線 LAN」 あたりとなるだろうか。

続きを読む

ウィンドウズのタスクバー

みなさんはウィンドウズの「タスクバー」をどこに置いているだろうか。

タスクバーとは「スタート」ボタンがある横に長い帯のことだが、デフォルト (工場出荷時のまま) だと、タスクバーは画面の一番下にある。

実は、タスクバーは画面の右にあった方が、慣れれば使いやすい。

なぜなら、PC の画面は縦よりも横に長い一方で、横書きの文章は縦方向が長い方がよい。そのため画面の一番下にあるタスクバーは本来邪魔である。なのでタスクバーを下よりも右に置いた方が限られた画面を利用する効率がいいのである。

また、ほとんどの人は右利きである。「左から右」 にマウスを移動させる方が楽である。厳密に言うと、左上から右下にマウスを移動させる方がよい。ということは、マウスを操作する場合画面の右の方をクリックした方が使いやすい。このことは、Mac とウィンドウズのダイアログボックス 「はい」「いいえ」 ボタンの位置の違いに表れている。

ウィンドウズの場合は常に、

「はい」 「いいえ」

だが、Mac の場合は常に

「いいえ」 「はい」

の並びになっている。

PC は印刷されたものと同じようで実は違う。印刷物では 「はい」「いいえ」 の配置の方が人間の思考から言ってわかりやすい(なぜなら横書きは左から右に書くから)が、操作主体のコンピュータでは、Mac の方がマウスの移動がしやすい=操作がしやすく作られているのである。

続きを読む

ネットワーク効果 (ネットワーク外部性)

よくまとまっているため、

奈良産業大学 経営学部 Faculty of Business Administration

ネットワーク効果 (2002/10/23)

より無断転載。

最近、ビジネス書で「ネットワーク効果」という言葉がよく使われています。文脈に応じて様々な意味で用いられていますが、「経済学におけるネットワーク外部性がもたらす効果」の意味として用いられている場合が多いようです。

ネットワーク外部性とは、「同じ財・サービスを消費する個人の数が多ければ多いほど、その財・サービスの消費から得られる効用が高まる効果」をさします。たとえば、FAX が世の中に 1台だけしかないとすると、その FAX は全く機能しません。利用者が少なければ、FAX を利用する価値は乏しいと考える人も多いでしょう。逆に、FAX の利用者が増えれば、通信できる相手が増えるので、それだけ FAX の価値が増すことになります。FAX そのものの性能とは無関係に、利用者の数に依存して価値が変化するのです。このように、ネットワーク外部性は通信ネットワークにおいて顕著にみられる性質です。

ところが、ネットワーク外部性は、必ずしも通信ネットワークとは無関係なところでも存在することが広く知られるようになりました。ビデオの方式をめぐるVHSとベータの戦いでは、最終的に VHS がビデオの標準方式になりました。しかし、VHS のほうがベータより優れた方式であったからではありません。パソコンでは、マイクロソフト社のウィンドウズが、OS の独り勝ち的シェアを維持し続けています。これらは、いずれもソフトウェアという要素の存在によって、多くの人に利用されている方式が選ばれた結果です。ビデオの場合は、ほんのわずかシェアが高かったため、まず VHS の方で映像ソフトが充実し、それがハードウェアの普及を促進したこと、さらに同様な理由でレンタルビデオが果たした役割も大きいと言われています。パソコンの場合も、シェアの高い OS でアプリケーションソフトの開発が進み、それによってさらにハードウェアの選択にフィードバックされるという循環が生まれました。ソフトウェアとハードウェアの間に相互依存的な関係が存在するため、ネットワーク外部性が発生したのです。

これらは、協定などで標準を決めたのではなく、ネットワーク外部性によって事実上の標準化 (デファクト・スタンダード) が成立した例です。デファクト・スタンダードを獲得した企業は、長期間にわたって独占的に利潤を得ることができるため、多くの企業がデファクト・スタンダードを意識した戦略をとるようになりました。

クリティカル・マス

ネットワーク外部性がはたらく財の普及では、「クリティカル・マス」と呼ばれる特別な普及率が存在するといわれています。このクリティカル・マスに達するまで普及させるには、大変な苦労をしなければなりません。しかし、クリティカル・マスをいったん超えると、急速に普及が拡大していきます。 なぜ、このような普及率が存在するのでしょうか。ここでは、ネットワーク外部性がはたらく財に、普及のクリティカル・マスが存在する理由について簡単に説明します。

ネットワーク外部性がはたらくネットワークに加入する場合を考えます。真っ先に加入する人もいるでしょうし、普及が進んでからでないと加入しない人もいるでしょう。ネットワーク外部性の特徴は、各個人が行なう加入の意思決定が、普及の度合いから大きな影響を受けることです。そこで、「普及率がどの程度になったら加入しますか?」というアンケートをとったものとします。

図 1 のグラフは、その回答の一例で、アンケートの回答をヒストグラム(分布を示す棒グラフ)として示したものです。真っ先に加入する人、普及が進んでから加入する人など、様々な人がいますが、その平均は中央より左に寄っているものとします。それは、ネットワーク外部性が強くはたらくほど、普及率に鋭敏に反応して利便性が上昇し、少しでも普及したら加入が始まると考えられるからです。

External image: 図 1. 加入に関するアンケート回答の分布

図 1. 加入に関するアンケート回答の分布

さらに多くの人を対象にアンケートを取ると、図 2 のグラフに示す曲線 (3) のように、連続した曲線として示すことが可能になるはずです。このグラフは架空のデータですが、40 % の普及率の時に加入する人が最も多く、この40 % を中心にして左右対称になっています。(平均 40 %, 標準偏差 20 %の正規分布を例にしています) 曲線 (3) は、アンケートの回答の分布を示したものですが、回答した人の数を普及率の小さい順に累積したグラフを曲線 (1) として示しました。累積分布を示す曲線 (1) をみると、普及率が 50 % のところで、累積分布の値は 70 % を示しています。これによると、普及率が 50 % に達するまでに加入したいと考える人が、全体の 7割を占めることになります。

External image: 図 2. クリティカル・マスの説明

図 2. クリティカル・マスの説明

普及率が 50 % のとき、加入したいと考える人が全体の 70 % 存在するのですから、その差の 20 % の人は、加入したいのにまだ加入できずにいる個人の存在を示しています。いずれこの 20 % の人も加入するでしょう。したがって、普及率 50 % の状況は長く続かず、普及率は上昇していきます。どこまで上昇するかというと、累積分布と普及率が一致するところ、つまり曲線 (1) と曲線 (2) が交差するところです。この例では、ほぼ 100 % まで普及が進みます。逆に、普及率が 20 % のところでは、加入したいと考える人が全体の 16 % 程しか存在しません。その差の 4 % の人は、ネットワークから退出したいと考えていることになり、普及率は減少します。

このように、曲線 (1) が45度線 (2) を上回っているところでは、普及率が上昇していきます。逆に、曲線 (1) が45度線 (2) を下回ったところ (A から B の区間) では、普及率が減少します。普及は 0 % から進みますから、このようなネットワークが登場しますと、点 A の普及率までは楽に普及が進みます。しかし、点 A から点 B までは、積極的な普及促進策を講じないと普及が進みません。点 B を超えると普及は何もしなくても進んでいきます。ここで、点 B がクリティカル・マスと呼ばれる普及率です。

(水谷 直樹)

続きを読む

待ち行列理論

ディズニーランドで、銀行のATMで、スーパーのレジで、高速道路の料金所で、我々は行列を作る。これを待ち行列といい、この問題を解くための理論、すなわち待ち時間を計算して求めたりする方法が学問としてある。

この待ち行列理論は経済産業省主宰の国家試験である情報処理技術者試験のテクニカルエンジニア (ネットワーク) の午前の問題として必ず出ることになっている。

その待ち行列の計算だが、教科書には必ず以下の 「公式」 が出てくる。

(待ち行列) =ρ x Ts / (1-ρ)

この公式に数字を当てはめれば待ち行列=待ち時間が出てくるそうである。ここで、待ち行列を理解する上で、以下の HP が参考になった。

https://www.mirai.ne.jp/~suehiro/am/kihonyougo/queuingtheory.htm

教科書にはいきなり公式がでてくるのだが、なぜその公式になるのか詳しく説明されているのがなかったので、今まで頭に入らなかった。しかし

https://www.geocities.co.jp/Technopolis-Mars/5427/mathtrtop.html

を見てその理由がわかった。高校以上の数学を駆使しないと公式が導き出せないのである。数列と微分を駆使する。私は高校時代、微積分をとっていていつもテストはクラスで3番くらい (1番は京大受かった石垣君、2 番は友だちの青木君、3 番目は私) だったが、lim なんてのは15年前の話だから、もうとっくに忘れた。が、最初から情報処理技術者試験の参考書も 「この公式は数列と微分を使って導き出すことができるものです」 と、ひとこと書いてくれたら良かったのに。いや、つまりすぐに公式を理解することをあきらめて、ただひたすら暗記に徹することができたのに、ということ。参考書は誰にでもわかるようにと中途半端な説明するから余計にわからなくなる。

閑話休題、上の公式のρ (ローと読む) とはなんぞや?実は私はその謎が解けてから行列問題が解けるようになった。

実際に問題を解いてみよう。

(H11ネットワークスペシャリスト午前問 63)

ある金融機関のATM (現金自動預け払い機) が1台設置されている。平日の昼休み時 (12時から13時) には、このATMを毎日平均15人が一人当たり平均3分の操作時間で利用している。サービス待ちがM/M/1※の待ち行列モデルに従うとすれば、この時間帯の平均待ち時間は何分か。

まず上の公式で、ρを求める。ρの求め方は、ズバリ、

「このATMでは1時間に本来何人をさばくことができて 何人をさばかなければいけないのか」

という比率を求めるのである。この比率をρと言っている。この考え方に気付いてから行列問題が簡単に思えるようになった (この道のりの長かったこと) 。

つまり、問題によれば 1 人当たり 3 分間隔で ATM を操作しているとすれば、1 時間で 20 人さばけるはずである。1 時間= 60 分を 3 分で割れば20だから、つまり 1 時間以内に絶え間なく 20 回 ATM を操作できる。問題の中には、12~13 時の 1 時間の間に 15 人が続々来る、ということだから、この ATM はどれだけ働いてるかというと、

(来客数 15 回) : (本来さばける回数は 20 回) = ρ : 100 (%)

と、比の計算で求められる。これなら小学校の高学年で出てくる算数で解ける。私が今まで見た中で、こういう解き方を書いている参考書はひとつもなかった。参考書の筆者はきっと頭がよく、プライドもあるだろうからこういう書き方は決してしないのだろう。するとρは75%である。つまりこの ATM はお昼時に本来の能力を 100% とすると 75% の力しか発揮していない、ということである。

ここで、勉強していてわかったのだが、この公式ではATMの処理能力を超えて来客することはない、という前提である。現実には高速道路の料金所やディズニーランドの人気アトラクションはそんなことはなく常にフル稼働なので、M/M/1という待ち行列のモデル (前提条件) は非常に甘々であることがわかる。しかし前提条件を甘くしても微分は出てくるのである。実際の社会で起こっている待ち行列問題を解くのは 「すごく難しい」 のであった。高速道路の渋滞がなぜ起こるのか、それは待ち行列理論をきちんと理解して道路/トラフィック設計してないからではないか?と、勘ぐりたくさえなる (もちろん考えて設計していると思うのだが、だとすればETC専用レーンを設けるなんてもってのほかだと思うのだが…???) 。

またまた閑話休題、上の公式の Ts は 「平均サービス時間」 と呼ばれ、ここではたとえば ATM にキャッシュカードを入れてから現金を引き出したり残高照会をしたり振り込みをしたりし終えるまでの時間のことを言っている。問題文中からこれは 3 分である。

これでρ=75%、Ts=3 (分) となるので、公式にあてはめてみればよい。

(待ち時間) =0.75 × 3 (分) / (1 - 0.75) = 9 (分)

ということで、昼休みにこの ATM を使う客の待ち時間は9分であることがわかった。

試験に限って言えば問題のパターンは決まっているのでコツをつかんでしまえば簡単な問題だったのだ。

* * *

※M/M/1の意味は、

  1. 「サービスが提供される窓口」 は 1 つである。
  2. 窓口でサービスを同時に受けることができるのは1人に限られる。
  3. 「サービスを受けるために順番待ちをする客の列」 は 1つである。
  4. 客はいったん待ち行列に加わったら、自分の番が来るまで待ち続ける。
  5. 客の到着の仕方がポアソン分布にしたがう。
  6. サービス時間の分布が指数分布にしたがう。

であるが、 5. のポアソン分布なんかは大学で習った統計学出てきたものだし、はっきりいって未だよく理解してないが、わからなくてもなんとかなる。

続きを読む
Subscribe to ウンチク