■ 坂の上のクラウド? 崖の上のクラウド?
ゆえあって、クラウド関連の会社に就職することになりました。 二年ほど前からクラウドという言葉をよくきくようになりました。 アメリカではいろいろな製品、サービスがリリースされて実際使われているようです。 Webでは、クラウドはこれから花開くという意見、もうブームはさるよという意見、いろいろありました。
定義がはっきりしないという点からバズワードと言われることもあるクラウドですが、調べた限りでは基盤となる技術が存在するし、ここ10年の高速ネットワークの普及から、今後、市場が大きくなっていくと自分では思ってます。
で、いろいろ調べた結果も含め備忘もかねて今後更新していきます。
http://www-1.ibm.com/support/docview.wss?uid=std3132f26bc378c10a149256f010029c301
CPUをどれだけ使っているかという指標ではあるんだけど、プロセスの合計をすると100を越える。(上のサンプルでは1プロセスで100を越えている) CPUが高速化するとこのCの値は増えているのにCPU使用率はあまりないという事態が発生する模様。さすがIBMわけがわからない。
まずはこちらの問題を見てほしい。
この模範的な回答「開けるドアを変更する」の意味がわからなかった。ホストがドアを開けた後だろうと、前だろうと結果かわんないんじゃないの? というわけで、pythonで検証スクリプトを書いてみた
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys import random all_count = 0 a_count = 0 b_count = 0 c_count = 0 #10万回施行 for x in range(100000): #正解を決める ans =random.choice([1,2,3]) #タイプA: ランダムに回答を選ぶ aans = random.choice([1,2,3]) #違うドアを1つえらぶ(正解のドアではなく、Aの答えのドアでもない) pseudo_doors = [1,2,3] pseudo_doors.remove(ans) if( ans != aans): pseudo_doors.remove(aans) pseudo_door = pseudo_doors.pop() #タイプB: 違うドア以外をランダムに選ぶ #(Aと同じになるかもしれないし、違うかもしれない) next_door = [1,2,3] next_door.remove(pseudo_door) bans = random.choice(next_door) #C: 違うドア以外でAと違う回答を選ぶ(模範回答) next_door = [1,2,3] next_door.remove(pseudo_door) next_door.remove(aans) cans = next_door.pop() #あたっているかカウント all_count = all_count + 1 if( aans == ans ): a_count = a_count + 1 if( bans == ans ): b_count = b_count + 1 if( cans == ans ): c_count = c_count + 1 #結果表示 print "施行回数 A B C" print all_count , a_count , b_count ,c_count
で、実行結果はこちら
$ monty_hall.py 施行回数 A B C 100000 33403 49870 66597
実行毎に微妙に数はずれるけど、だいたい、タイプAは1/3、タイプBは1/2、タイプCは2/3 の確率になる。
A+Cはかならず全体の施行回数になる。考えてみればあたりまえで、ホストが途中で一つの扉を開けることで、Cの「開けるドアを変更する」っていうのは、Aが外れる確率とまったく同じことになる。だから、模範的な回答になるのね。納得できた。
ノートPCのスピーカーで音楽を聞くとショボイ音しかせず、かといってイヤホンも使いたくない、というときに便利と思ったので USBAUDIO-FMT-USB を買ってみた。
場所によってはノイズがかなり入ることもあったが、うまく聞ければ、通常のFM放送なみの音質。USBのノイズとかがなくてよかった。