2013年7月5日金曜日

Windows8+UEFIなPCでUbuntuをデュアルブートした

職場内部的にはまとめを書いておいたのだけど、もうちょっと世の中的に見える場所に書いておいた方がよさげなのでブログに書く。

目標は「タッチパネル搭載のWindows8マシンにUbuntuを入れる」。対象機種は2012年10月発売のSony VAIO T (SVT1312AJ)。いわゆるUEFI対応の機種で、ディスクもGPTで管理されている。Secure bootはenabledのままで実施。

2013年4月段階で、Canonicalは公式に「UEFIマシンに対してWubiは使うな、12.04.2か12.10の64ビット版を使ってインストールせよ」と指定。 32ビット版はUEFIを認識しないらしい。ここではUbuntu 13.04 (raring)のLiveUSBを使用する。
  1. まずWindows8上のディスクパーティションツールで、Cドライブを減少させて20GB程度の未使用領域を作成。リカバリ領域やツールなどが個別のパーティションに入っていて既に5つくらいあるが気にしない(もしディスクがMBR方式で管理されている場合、当然こんなにパーティションが分かれてたらUbuntuが入らない)。 
  2. Windows8のデスクトップでマウス右上端に移動→設定→コントロールパネル→ハードウェアとサウンド→電源オプション→電源ボタンの動作の変更→「現在利用可能ではない設定を変更します」→高速スタートアップを有効にするのチェックを外す。
  3. USBから起動し、LiveUSBのgrubメニューから「Try Ubuntu」を選択(ここではInstallを選ばない)。
  4. Liveデスクトップ上のInstall Ubuntuアイコンをクリックし、インストール開始。
  5. Windows 8 とは別に Ubuntuをインストール、という項目を選択。
  6. 未使用領域があれば、そこに勝手にパーティションを作ってインストールが続行される。無い場合はパーティションエディタが起動する…と思う(未確認)。
インストールが完了すると、再起動時にgrubの選択画面が表示され、Ubuntuを選択した場合は普通に起動する。 しかしWindows 8を選択しても起動しない(VAIO以外の機種では、そもそもgrubが表示されない事例がある)。

Windows 8 搭載のVAIOの場合、電源OFFからASSISTボタンを押すことでEFIメニューが表示され、そこで強制的にWindows 8を起動できる。ただしこの方法をやると、今度はgrubが見えなくなる。

grubからUbuntuを起動できた場合、以下の方法でUbuntu/Windows 8を選択可能なgrub.cfgを作成する(基本的にはここの情報に基づく)。

  1. EFIシステムパーティション(ESP)のUUIDを以下のように取得する。
    $ sudo grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    5678-9ABC (←この出力を記録)
    $
  2. EFIのsearchコマンドで必要なヒント情報を取得する。
    $ sudo grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 (←記録)
    $
  3. 上記1.2.の結果に基づいて、/etc/grub.d/40_customに以下の設定を追記する。 (/boot/grub/grub.cfgに同じ記述を書いてテストすることが可能だが、カーネルのアップデートがあるとgrub.cfgが書き換えられるので、最終的には上記設定ファイルに書いておくべき。)
    menuentry "Windows UEFI-GPT"
       {
         insmod part_gpt
         insmod fat
         insmod search_fs_uuid
         insmod chain
         search --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5678-9abc chainloader /efi/Microsoft/Boot/bootmgfw.efi
       }
  4. 以下のコマンドでgrub.cfgを更新する。
    $ sudo update-grub
ただしこれではうまく行かない事例も散見される(BIOS設定を変えるなど、ちょっと前提条件が違ってるケース)。

2012年2月13日月曜日

続・モゲマスのSレアゲットと確率の関係

この手のネタはやはり学生には食いつきがいいのか何かわからないが、いくつかフィードバックをもらったので問題を組みなおしてみよう。

どうやら、ガチャを1回やった場合に「6種類のカードのどれかが必ず得られる」のではなく、その他のカードも含まれているらしい。確率については非公開(これで本当に良いのかという気もするが、いろいろ調べても景品表示法等には抵触しないようだ)。

とりあえず試算のために、twitterでもらった「1回の試行で6種類のどれかが得られる確率は12%くらい」というデータに基づいて話を進める。もし12%=0.12の中で6種類が均等であれば、目的のカードが得られる確率はそれぞれ2%=0.02となる。
  • 6種類のうち、最初の1種類が得られるまでの試行回数は、パラメータ0.12の幾何分布に従い、その平均回数は1/0.12≒8.3回である。
  • 1種類めのカードが得られた後、2種類めの未所持カードが得られるまでの試行回数は、パラメータ0.10の幾何分布に従い、その平均回数は1/0.10=10回である。
  • 以下同文で、6種類すべてを最低1枚ずつ得るまでの平均試行回数は、1/0.12+1/0.10+1/0.08+1/0.06+1/0.04+1.0.02=122.5回。
1回300円ならば、6種類すべてを得るまでの平均費用は122.5×300=36750円である。なるほど、ねとらぼの元記事ではこの値を超えるのは1回だけで、後はこれより短い(が著しく短いわけでもない)。12%という予測はなかなか妥当な数値と言えそうだ。

モゲマスのSレアゲットと確率の関係(なんじゃそら)

続編はこちら

入試(A日程)、講義の採点、卒研、修論と、中堅私立大学の1月末~2月初旬は1年で最も忙しい時期である。とりあえずそれが終わってほっと一息ついて、ニュースサイトを見ていたら面白そうな記事に出会った。
ねとらぼ:「モゲマス」にニートショック到来! 「双葉杏」を求めて大金をぶっ込むプロデューサーが続出
いろいろと専門用語?が乱舞しているので意味を把握するにはやや時間を要するが、モゲマスというのはベイスターズを買ったあの「モバゲー」で提供されるゲームのタイトル「アイドルマスター シンデレラガールズ」の略称らしい。

こうしたネットワークゲームにおいて、ゲームを進めていくために使えるアイテムや、何となく持っているとうれしいアイテムをランダムに受け取ることができる仕掛けを「ガチャ」と呼ぶ。要するに僕らの子供の頃の(今もあるか)ガチャガチャのソフトウェア版ということか。ガチャにはゲーム内で無料で実行できるものもあれば、毎回お金を取られる有料(課金)ガチャというのもあるらしい。
で、この「モゲマス」の中の期間限定イベントとして、有料ガチャで6人のアイドルキャラのどれかが当たるのだが、6人全部揃えたプレイヤーだけに希少カードがプレゼントされる、ということのようだ。

これはつまるところ「6種類のいずれかのカードが入った袋を買い続け、6種類すべてを揃えるまでには何回買わねばならないのか?」という問題に帰着できる。 クーポン集めの問題 (coupon collector's problem) という奴だ。仮面ライダーチップスだろうがなんだろうが、モデルとしては同じだ。平均くらいなら恐らく大学1・2年の練習問題として解けるだろう。

ここでは、はずれくじは存在せず、6種類のカードのどれも等確率で袋に入っているとしよう。また、いずれかのカードを得たとしても、その後のカードの確率には変化が無い(独立である)と仮定する。このとき、以下のように考えると平均が求まる。
  • 最初のカードを得るまでの回数は当然1回だ。なぜならば、どのカードを引いても、それは未入手のカードだから。
  • 最初のカードを得てから、次に未入手の(つまり2種類目の)カードを得るまでの回数は、 パラメータ5/6の幾何分布に従い、その平均回数は6/5=1.2回である。
  • 2種類目のカードを得てから、次に未入手の(つまり3種類目の)カードを得るまでの回数は、パラメータ4/6の幾何分布に従い、その平均回数は6/4=1.5回である。
  • 同様の考え方により、結局6種類のカードを得るまでの平均回数は1+6/5+6/4+6/3+6/2+6/1=14.7回である。
「モゲマス」における課金ガチャは1回300円らしいので、14.7×300=4410円が「Sレアをゲットするための平均費用」ということになる。上記記事では万単位でかかっているそうだが、もちろん確率的にはそういうこともあり得る。ただ、ここまで平均より大きな値ばかりが並ぶと、等確率やら独立性といった仮定が成り立ってないのだろうと推測したりもする。

2011年10月18日火曜日

クレジットカードの本人認証サービスとドメイン名表示

ちょっと前に、とあるサイトで商品を購入し、DCカードで支払いをしようとしたら、JavaScriptとCookieがブロックされていたのでいわゆる「本人認証サービス」という奴に失敗して購入できなかった。普段使いのFirefoxでは、NoScriptとCookie Monsterというアドオンを使って、不要なサイトのJavaScriptやCookieは拒否しているのだ。

DCが使ってるVisa/MasterCardの本人認証で飛ばされるドメインは、確かcafis-paynet.jpだったはず。そこはJavaScriptもCookieも有効にしてるんだが…とドメインを確認したら、dnp-cdms.jpだった。Google先生に聞くと、これにぶち当たって不安に思ってる人が結構いらっしゃる様子(こことかこことか)。

DCカード(発行会社は三菱UFJニコス)のサイトでは、この件について全く言及なし。しょうがないのでサポートにメールをしてみたら、返答が来た。返信に曰く、確かにこのドメインは本人認証で使っている場所で間違いないが、

「セキュリティ上の理由で公知はしない」


とのこと。何で???

確かに本人認証サービスでは「パーソナルメッセージ」というものをあらかじめ設定しておく。カード会社側のスタンスは、自分が設定したパーソナルメッセージが表示されているかどうかで認証画面の正当性を判断せよ、とのことらしい。でもこれってユーザが適当に設定するものだから、ホゲホゲとかいい加減で類推可能なものかも知れないし、さらには忘れてるかも知れない。ドメイン名が公知されていれば二重の確認をしたり、今回のようにドメインが従来と異なっていることでCookieやJavaScriptをブロックし、怪しいサイトに飛んだことを認識することもできるはず。あえて隠す理由というのが分からない。

実際、国内カード大手の三井住友カードでは、Visa/MasterCardでのネットショッピング認証サービスを説明するページにわざわざ「URLの確認方法はこちら」というリンクを用意し、飛ばされる先のドメイン名を公開している。JCBも、自社の認証サービスであるJ/Secureについて、かなり消極的ではあるがドメイン名を一応公知している(字は小さいし、そもそもトップページからここまでは簡単にたどり着けない)。

この辺のネタを調べているうちに、さらに酷いと思われる例を見つけた。トヨタファイナンスのティーエスキュービック(TS3)カードでのオンラインショッピング認証サービスだ。当然ドメイン名などどこにも書かれていないだけでなく、認証画面の正当性を確認する唯一の手段であるはずのパーソナルメッセージは、

「カードサイトのログインID」


「家族会員は固定文字列」


だそうだ。これって本当に大丈夫なのか?しかし、似たような事例が他にもありそうで、怖いもの見たさにいろいろ調べたい気もしてきた。

2010年9月17日金曜日

続:北坂戸駅前の寂しさとマクドナルド

今年の2月にこんなエントリを書いたわけだが、「残存者利益?」と書いたマクドナルドもとうとう閉店してしまった。

あそこは近隣の老人が昼食を食べたり、坂戸高校の生徒がお茶したり、あるいはうちの学生などがスクールバス乗降のついでに立ち寄っていたわけで、あれが無くなると不便な面は少なからずあると思う。

しかし、これは北坂戸のマクドナルドだけについての特別な判断なり問題があったというよりも、店舗大量整理→採算性の高い場所への再出店という、日本マクドナルドの方針の一環ということなのだろう。

北坂戸駅そのもののポテンシャルが、ファストフード1店舗すら支えられないレベルになっているのか。それとも絶対的なポテンシャルはあるのだが、相対的に見て「もっとおいしい場所」があるから撤退したのか。数字を持っていない立場からはなかなか見えづらい部分ではある。とは言え、こういう消え方は「結局駅前にペンペン草一本残りませんでした」という感じであり、日本マクドナルドという企業への印象を悪くするのではないだろうか。
(まあ北坂戸駅前には我らが「龍門」が絶賛営業中であり、食べる場所という意味ではまだまだ何とかなるのだが)

2010年9月3日金曜日

「確率1400万分の1」は、「1400万回試せば必ず○○する」とは限らない

gigazineの記事
途上国の飛行機は先進国の13倍落ちやすい
(http://gigazine.net/index.php?/news/comments/20100903_fatal_flight/)
の文中にちょっと気になる確率の話を見かけたのでコメント。といっても、確率の基礎を勉強ずみの人にとっては単に「ありがちな誤解の指摘」でしか無いのでそのつもりで。

まず当該部分を抜き出し。

Barnett教授の計算によると、2000~2007年の旅客機(ジェット機とプロペラ機を含む)の1便あたりの死亡リスクは、アメリカや日本、アイルランドなどの先進国では1400万分の1(0.000007%)だったとのこと。これはつまり「人は1400万回旅客機に乗ればほぼ確実に死ぬ」という数字ですが、1日1回旅客機を利用する人でも1400万便に乗るには3万8000年もかかるので、旅客機はかなり安全な乗り物と言っていいようです。


こちらで追加した太字部分が気になる点。これは、1400万本のうち1本の当たりが「確実に」入っているようなくじを、「1回引いたくじは戻さずに」引き続けるような状況を前提とした話になっている(いわゆる非復元抽出という考え方)。この場合は1400万本引き続ければ、そのうちどこかで当たりに出会う(=死ぬ)ことになる。

しかし実際に飛行機に乗る場合、1回飛行機に乗って死ななかったからといって、その後の死亡リスクが大きくなるわけでも、小さくなるわけでも無いと考えるのが普通だろう。これは事象の独立という概念で、上記のくじの例で言えば復元抽出(くじを引いたら元に戻すので、何度引いても当たりを引く確率は1400万分の1)という考え方に相当する。

独立性を仮定した場合、1400万回飛行機に乗って死ぬ確率はどう計算できるか。1回乗って「死なない」確率は (1-1/14000000)であり、したがって1400万回乗って死なない確率は
(1-1/14000000)^14000000 ≒ 1/e = 0.36787944...

である(上記の近似は自然対数の定義を使った)。結局、1400万回のうち1回以上死亡事故レベルの墜落に出くわす確率は0.63程度であり、まだまだ「ほぼ確実」とは言えない。

ところで、3万8千年(38000年×365日=1387万日≒1400万回)という数値はgigazine記事の元ネタになっているScienceDaily記事や、さらには本家本元INFORMS Onlineの記事にも載っているのだが、こちらの記事には誤りは無い。というのも、これらの記事では "on average" (平均で)という表現を用いているからである。恐らくgigazineはこの意味を誤解したか読み飛ばしたのではないかと思われる。

当選確率1400万分の1のくじを(復元抽出で)引き続けるとき、初めて当たりくじを引くまでの回数は幾何分布と呼ばれる確率法則に従う。このとき、回数の平均値は1400万回になる。ただし平均はあくまで平均であって、それより早く当たりくじを引く場合もあれば、もっとかかる場合もある。先ほどの計算では、この平均回数以前に当たりくじを引く確率は63%程度だ、ということになる。ちなみに、「ほぼ確実」といえるレベルは人によって違うだろうが、上記の3倍すなわち4200万回をこなせば、そこまでの間のどこかで当たりくじを引く確率は約95%になる。

(追記)
このエントリーのURLを添えてgigazineのメールフォームからコメントを送ったところ、早速修正しましたという返信が送られてきたのだけど、「ほぼ確実」が「大抵の人は」に変わっただけ。63%(だいたい3人に2人)だと大抵とは言えないように思うのだけど…このエントリーもちゃんと読んでもらっていないのか、それともこっちの書き方が悪いのか。

2010年4月13日火曜日

大岡山が「お岡山」になる件

Microsoft Office 2007をインストールすると、日本語変換エンジンも自動的にOffice IME 2007に入れ替わってしまうのだけど、これが結構曲者。

土曜に東工大に出かけるので「駅探」で時間を調べようとして「おおおかやま」と打って変換したら、なぜか「お岡山」になる。

「お」の数間違えてないよね?ね?などと指さし確認をし、これはまたOffice IMEが要らん仕事をしてくれているな、と思って確認をすると、設定の中にある「オートコレクト」の

母音の過不足を修正


という項目にチェックが入っていた。これは「新大阪」と打とうとして「しんおおおさか」とやってしまったときに、自動的に「お」を1つ減らしてくれるという仕組みらしいが、大岡山のように「お」が正しく3つ並ぶような状況でも「お」を1つ削ってしまう結果になった。で、こいつのチェックを外して機能を無効にすると、ちゃんと「大岡山」と変換された。

Windows7付属のMicrosoft IMEでは、母音過不足修正を有効にしていても、「おおおかやま」は正しく「大岡山」と変換される。ということで、標準IMEをさっくりとMicrosoft IMEへ変更。さらにいい気になって「おおおおおかやま」と打ったら、「大大岡山」と変換された。2つ以上余分に付いた場合には対応できていないようだ。

もっとも、「駅探」の場合はひらがなで「おおおかやま」と打ってしまえばサーバ側で自動的に「大岡山」という駅名候補を出してくれるので、いっそクライアントサイドの日本語変換には期待しないという割り切り方もあるのかと思う。Google日本語入力なども、その流れにあるわけだし。ということで、ますますMSに金を払う理由が減っていく今日この頃。

英語配列のノートPCで日本語配列設定にしちゃった時に、アンダースコアを入力するTips

US配列のLG gram SuperSlimを購入した。で、Windowsの初期セットアップを始めたところ、最初に選択できるキー配列はMicrosoft IME(まあ要するに日本語配列)だけ。で、その後に「追加のキー配列」を選択できるのだが、後でやればいいやと思ってスルーしてしま...