2014年7月4日金曜日

電力小売の自由化と電気料金の自由化

発電所の固定費用(建設費用など)をF、従量費用(燃料費や維持費)を発電量1あたりPとする。発電所が耐用年数を迎えるまでの総発電量をWとすると、発電量1あたりの平均費用は P + F/W となる。以下これを「本来の」平均費用と呼ぶ。

いわゆるグリッド・パリティ、つまり、自然エネルギーのコストが、他のエネルギー(以下では原子力とする)のコストを下回るという条件は、

Px + Fx/Wx < Pn + Fn/Wn

で表される(自然エネルギーの添字をx、原子力の添字をnとする)。既存電力会社が新しく原発を建設するかどうかを検討する際に用いるのは、上記の「本来の」平均費用 Pn + Fn/Wn である。

ところが、既設の原発を利用しつづけるかどうかを検討する際は、建設費用はすでに支払った後である(埋没している)ことから、平均費用を Pn と考えて意思決定を行うのが合理的となる。現行制度および会計基準(※1)のもとで、既存電力会社および政府の行う意思決定は、既存の原発を廃棄して(※2)自然エネルギー発電所を新設するか、あるいは、既存の原発をそのまま利用するか、という形になる。両者を比較して自然エネルギー発電所の新設が選ばれるための条件は、

Px + Fx/Wx < Pn

である。原発の発電コストの大半は固定費用であり、Pnは非常に小さいので、この条件は自然エネルギーにとってきわめて厳しい(※3)。たとえグリッド・パリティが成立していても、この「本来以上に」厳しい条件が満たされない限り、原発を維持するほうが既存電力会社および政府にとって合理的であることになる。

この論理は正しい。この結論を原発反対派が正しくないと考える理由は、事故および廃棄物処理のコストやリスクを、推進派が過小評価していると考えるからである。リスクの評価に正解はなく、両者の議論がかみあうことは未来永劫ない。

ところが、電力小売が自由化されて、新規参入が容易になると、状況が変化する。現行制度では、既存電力会社は、電気料金で発電所の償却費用をまかなうことが要求されている(と思う)。この条件のもとで、原子力を利用する既存電力会社のつけうる最も低い価格は Pn + Fn/Wn となる。いっぽう、自然エネルギーを利用する新規参入会社がつけうる最も低い価格は Px + Fx/Wx となる。新規参入会社が価格競争に勝つ条件は、

Px + Fx/Wx < Pn + Fn/Wn

となり、これはグリッド・パリティの成立条件と一致する。

つまり、電力小売の自由化には、固定費用と可変費用を両方含めた「本来の」発電コスト競争を回復させる効果がある。事故や廃棄物についてのリスク論争が平行線のままであっても、グリッド・パリティが成立すれば、神の見えざる手が自然エネルギー側に有利な決着をもたらしてくれるようになる。

逆に、原発を維持したい勢力にとっては、電力小売の自由化と同時に、既存電力会社の電気料金設定方式の自由化を求めるのが効果的である。償却費用をまかなえないような、 サステイナブルでないダンピングを行うことで、新規参入会社との競争に勝つことができる。さらに、ダンピングが行われるかもしれないという脅威によって、新規参入自体を阻止する効果もある(※4)。この改革は推進派にとって一石二鳥である。というか、二羽目の鳥のほうが大きいかもしれない。

電気料金設定方式の「自由化」という文字面は、一見、公正で、競争を促進するようにみえる。けれども実際には、原発側だけ固定費用を除くことによって、また、ダンピング可能性による新規参入阻止によって、市場の競争条件を原発側に有利なように修正し、競争を阻害する効果がある。反対派はこのことに注意すべきだし、推進派はこれを利用してうまいこと言うといいと思う。

--
※1 原発の資産価値が認められて、減価償却をこれまでどおり行い、原発の廃棄に伴う損失が公費で補填されない場合。
※2 廃棄にかかる費用は(実際には重要だが)ひとまず度外視する。
※3 池田信夫氏によると、Pnは4円程度とのこと。(「原発の燃料費は直接処分の場合で1円/kWhである。 これに運転維持費3.1円を加えると、変動費は4円/kWh程度」)なおこのリンク先で述べられている論理は、上記のものと同じである。
※4 実際にはダンピングが行われなくとも、その可能性があるだけで、新規参入阻止の効果がある。この抑止効果は隠然と作用する。

2014年5月14日水曜日

数式OKのオンラインOCR「Mosha」は日本語力もすごい

オンラインOCRサービスMoshaというのができたそうです。
JPEG・PNGなどの画像を読み取って、テキスト・Word・TeXで出力。
日本語・英語に加えて、数式にも対応。しかも無料。

さっそく試してみました。まずは数式。これが元画像。
ドラッグ&ドロップで認識開始。

結果。おお、完璧。
自分で書いてたのとほとんど同じTeXコマンドが出力されるのが面白い。


Word(doc形式)のファイルとしてダウンロードできる。

もうちょっと複雑だとどうかな。
結果はこんな感じ。


積分範囲の文字のアンダースコアなど、細かい部分も再現されている。
全般に、細部の再現には強い印象。

いっぽう、日本語と記号の混在には弱いかもしれない( U(ん)←U(h) )。
あと、ときどき、数式番号が数式に混ざってしまう。
でもこれは、スクリーンショットを撮るときの工夫で回避できそうではある。

自炊したPDFはどうだろう。(出典:『ファインマン物理学1』岩波書店)

いきなりWordになるのは快感。

数式のOCRは、使いどころが難しいかもしれない。文章とちがって、大雑把では意味が無いことが多いし、ざっくり読み取っておいてあとで検索するという使い方もあまりしないから。そもそも、PDFをまるごと読み込むことは現状できないので、そういう使い方は想定していないのかもしれない。TeX→Word あるいは PDF → TeX / Word 変換のファーストステップとしては使えそう。

あと、数式をOCRで読んでTeXにできるということは、数式の構造を把握できるということだから、たとえば携帯電話で数式撮ってアップロードしたら答えが返ってくるとか、Google Glassで数式見たら答えが見えるとか、似たような構造の式を過去の論文や『公式集』から自動抽出してヒラメキ支援とか、いろいろスゴイことにつながるのかもしれない。

いくつか試すうちに、これ、数式もいいけど、単に日本語OCRとして使える子なのでは、と気がついた。そこで、以前の記事で使ったサンプルを認識させてみた。

認識結果はこんなかんじ。
羊乳から作ったペコリーノチーズ
Peconnoも島の特産だ。 このチーズ
は料理用として、 また、 テーブルチ
--7"として食される。本土では牛乳
からつくられることが多い、 リコッ
タチーズもこの地では羊乳製。滑ら
かでクリーミーな優しい口当たりは
絶品。作りたてのリコッタチーズ

オンラインの日本語OCRサービスを試した中では圧倒的に優秀。
オフラインのOCRソフトの最強レベルにも負けてない。

ということで、Mosha、数式を使わない文章にもおすすめです。

2014年4月20日日曜日

自給と政府

食料自給率を高めることは、政府に、戦争を遂行するインセンティブを与える。

一般に、政府は国民よりも戦争を好む。戦争になれば、国家内での政府の権力を高めることができるし、政府構成員の社会的地位や生活水準も、一般人に比べて相対的に高まるからだ。

戦争をするには、国民の士気を保ち、ある程度の支持を獲得する必要がある。その際、もし、戦争をすると食料輸入が止まって飢餓に陥るという危険があれば、戦争に反対する国民は増える。逆に、食料を自給できる体制があれば、戦争に賛成する国民は増える。これは戦争をしたい政府にとっては望ましい事態となる。

すると、有事のために、自給率を高めるというのは、むしろ逆効果である可能性がある。自給率を高めることが、逆に有事の可能性を増すことになる。

--

ここからただちに、TPPに賛成だとか、そういうことにはならない(それはたいへん複雑な問題だ)。しかしひとまず、政府の判断にはそういうバイアスがある、ということを頭においておくのは、価値があることと思う。

各国の政府は自給率を高めたがるものだが、そうさせずに、国家間の相互依存関係を強めることによって戦争を抑止しよう、という考え方は、珍しいものではない。というか、ごくありきたりのものだ。あれだ、ブレトン・ウッズ体制。

でも、この論理は、政府の口からはなかなか出てこない。国家に戦争をさせないためのしくみというのは、その性質上、政府(≠国民)にとって煙たいものだ。「政府は信用できないものだし、国民を害するような戦争をしたがるものだ。だから、政府の力をコントロールしましょう」なんてことを自ら言える政府があればそれはあっぱれだけども、現実はなかなかその域に達していない。

--

ところで、何かあったときに食べるものがあるかどうか、ということに関して、国内自給率を判断基準にするのは、適切でないのかもしれない。国内自給率を高く保つことと、有事のときに個人が飢えないこととは、ほとんど関係ない、といっては言い過ぎかもしれないが、少なくともかなり距離がある。

意味があるのは、国内なんていう広すぎる範囲での自給ではなく、助け合う意思のあるコミュニティ内での自給なのかもしれない。

コミュニティというのは必ずしも地域でなくてもよくて、親戚でもなんでもいいのだけど、戦争のときに着物を持って行ったら米や野菜をくれるような間柄のなかで、自給できるだけの体制があれば、有事のときの安心は増すだろう。もしかすると、失業したときとか、もうすこしマイルドな困難を乗り切るのにも役立つのかもしれない。

開国以来、自給率が問題になるような「有事」があったことは一度だけだ。そのとき、政府は本当に、国民や兵士が飢餓に陥らないことに全力を尽くしただろうか。政府はいったい何のために戦っていただろうか。

2014年1月21日火曜日

MacのプレビューでPDFの透明テキストが失われる

PDFを快適に読むにはどうすればいいか。単に読むだけなら、たとえばiPadのi文庫HDで読むのはとても気持ちいい。では、ラインを引いたりメモを書きこんだりしつつ読みたいときはどうすればいいか。

試した中でいちばん快感を覚えたのは、MacBook Airで、Mac OSの「プレビュー」で読む方法だった。インターフェイスがすっきりしている。アイコン等が目障りだとイヤなのだ。余分なソフトをインストールしなくていいし、操作にも慣れているし、速度もまあまあ。

この機能は、Mac OSがLionのときから愛用していた。難しい本は読む前にバラして、ScanSnapでスキャンして、AcrobatでOCRをかけて透明テキストを埋めこむ。OCRをかけるのは、テキスト抽出のためでも検索のためでもなくて、ただハイライトやアンダーラインなどの注釈をつけやすくするためだ。

OSをLionからMavericksにバージョンアップすると、プレビューのPDF編集機能も改善されていた。感心したのはこの、微妙に波打った蛍光ペンの表現。単にハイライトなのか、それとも画像かなんか乗せてるのだろうか。
リアルの本に蛍光ペンを長々と引くのはなんだかためらわれる。インクで紙が波打ったりするし、塗りまちがったら汚くなる。電子媒体ならそれがないし、なにより、塗った後で消したり色を変えたりできる。「塗ったあとで色を変えられる」、なんてすごいことだ。昔の人が聞いたらびっくりだ。そこには蛍光ペンのイデアだけがあるのだ。

PCで書きこみをするなんて、まどろっこしい、と思っていた。ところが、意外なことに紙より速いのだ。紙を読んでいるとき、書きこみにかかる時間を、試しに計ってみた。すると、単語の囲みや一行のアンダーラインには5秒、複数行の囲みやアンダーラインは10秒。メモを書きこむには1文字あたり1秒かかっていることがわかった。

PDFへの書きこみは、単語や一行だと同じくらいだが、複数行やメモだと紙よりもずいぶん速い。上記画像で、手でハイライトをつけるなら三行ぶん手を動かさねばならない。しかしPDFなら青の矢印のぶんだけカーソルを動かせばいい。そして、書きこみの見やすさや再利用性は圧倒的にPDFのほうが優れている。だから紙の本をわざわざスキャンしてでもPDFにするのだ。

…と、ここまでは読書電子化極楽話なのだけど、困ったことがおきた。

Mavericks(10.9.1)のプレビューで、透明テキストつきのPDFを編集して保存すると、透明テキストが全部失われてしまうようだ。しかも、手動で保存しなくても、編集した時点で自動保存されるので、何か編集を開始したら、透明テキストもろとも注釈は失われ、二度と返ってこない。It's gone in the air. You can never capture it again. なお、編集しなくても「複製」だけでも同じ現象が起こるようだ。

PDF自体は、また自炊すれば手に入る。しかし注釈は、再現不可能な個人オリジナルの情報だ。それが強制上書で消えてなくなるのは怖ろしい。その症状と、その恐怖は、この「自動保存でフォトショップのレイヤーが統合される」件に似ている(→【重要な問題!!】Mac OSX 10.7 Lionのプレビューは危険!?

Lionのときはこんなことはなかったと思うのでMavericksのバグかなあ。ネットで調べても情報がみつからないので、とりあえず書いてみました。また新しい読み方を探さないと。

2015/7/17 追記:10.10.4 で直ったかも

2014年1月16日木曜日

海外で現地SIMを使っているときに日本の番号に来た着信を知るには

追記(2017/12):
MVNO + 留守番転送サービスを使うようになって、
以下は過去の内容になりました。
---

SIMフリーのiPhoneをSoftbankで使っている。
海外にいくと現地のSIMカードを入れることが多い。

SoftbankのSIMカードを抜いてるとき、
着信はどうすれば把握できるか。
あるいは他の連絡手段で連絡してもらうにはどうすればよいか。
とりあえず調べたことをメモ。
(こういうのをイチから考えるのはけっこうしんどい)

SIMカードを抜いている状態は、
電源を切っている状態と同視してよいらしい。
電源を切っているときの着信お知らせ機能は、
Softbankにもある。そしてSMSは海外でも受信できる
(受信は無料。送信は1通100円もするので現地SIMで行う)

つまり、ときどき日本のSIMをいれるようにすれば、
SMSで受信が確認できるということか。
(何日ぐらい保存してくれるんだろう)

まあいいけど、ちょっと面倒。PCからは見られないのかな。

ソフトバンクでは「どこでもアクセス」を契約すれば、
PCからMMSは見られるようになる。
しかしSMSとiMessageは見られない。中途半端すぎ。

要は「携帯電話の電源を切っているとき、
着信履歴を任意のE-mailアドレスに送信する機能」
があればいいんだけど、ないのかな。あってほしい。

そもそも、SIMカードという物理的なしくみを早くなくしてほしい。
まあでも、以前に比べれば激しく便利だし、こんなものかな。

2013年11月28日木曜日

無限に慣れること

無限に知らないことのある状況に慣れたい。
それがむしろわくわくしますとか言ってみたい。

梅棹忠夫は、知らないことが無限にある状況に
うまく対処できることを自ら誇りとしていた。
それはたぶん、彼が、かつては
それを自覚的にでないとうまくできないタイプであったか、
もしくは、少なくとも、そういうタイプの人間がいることを
ふまえていたかであったと想像する。
うらやましいので見習いたい。

数学の感触から思うに、
無限・未知を相手にするときは、
有限・既知を相手にするときに比べて、
枠組、構造、定義、が大事になる。
有限だと適当にやってたところを、
概念にしたがって操作をするようになる。
定義のありがたみが身にしみるようになる。

ああ、そうか、
Excelが得意で、
データベースに苦手意識があるのは、
そのせいだったのか。

無限をうまく扱うには、たぶん、
自分で打ったピッケルに安心して足をかけるような心が必要だ。

それに偏重するのもきっとよくない、
技術を過信するマッドサイエンティストみたいになるかもしれない。
けど自分はもうちょっとそれがあってもいいのかもしれない。

ところで、
ここまでは、現実の無限と有限、
未知と既知のことを思っていたが、
以下は単なる数学の話になって、

たかだか加算無限というと安心できるのに、
有限の巨大数であるグラハム数ふぃっしゅ数に直面すると、
不安になるのは不思議だ。

無限のことをきちんと知らないからだ、
無限はほんとはもっと恐ろしいものだ、
というのもそうだろうけど、それだけでもない気がする。
たぶん、自分が、巨大数よりは加算無限のほうが
まだ上手に扱えるし、扱った経験も多いから、怖くないのだ。

有限で具体的なものと、無限で抽象的なものは
(どうにか)見慣れているのに対して、
巨大数は有限なのに抽象的な数だから、
ありえないほど扱いづらいと感じるのだ。

2013年10月31日木曜日

USキーのMacでWindowsをJISキーのMacぽく使う方法

MacをUSキーボードで使いたい。
でも [かな]と[英数]の切替は日本語キーボードと同じようにしたい。
Macでもエディタだけ秀丸を使いたいからParallelsでWindowsを入れている。
MacとWindowsでキー操作が違うとツラいから、
Mac上のWindowsでも、[かな/英数]を左右のコマンドキーに割り当てたい。

これまでは「窓使いの憂鬱」で、Windows側のキーをリマップして、上記を実現していた。でも窓使いの憂鬱はサポート終了だし、変な使い方をしてるせいか、ときどき動作が不安定になっていた。そして今回、OSとParallelsを更新したらうまくいかなくなった。原因不明。日本語入力が不安定なのは結構なストレス。

「秀丸使いたかったらWindowsマシン使え」「かなキー使いたかったら日本語キーボードにしとけ」というのは、非常にもっともなご意見。でも、モノが増えるのはイヤだし、USキーボードはスッキリしてるから好きなのだ。どうにかなったので、メモ。似たような環境の方の参考になれば幸いです。

環境

  • PC:MacBook Air USキー
  • 本体OS:MacOS 10.9 Mavericks
  • 仮想マシン:Parallels 9
  • ゲストOS:Windows XP
  • IME:Google 日本語入力
キーがUSじゃないなら手順(1)だけで完了。
MacOS, Windowsは他のバージョンでもOKと思う。
(※追記(2014/3):Windows 8 でも同じようにできました。)
仮想マシンは、Parallels以外に、VMWareでもOKのはず。
IMEはGoogleでなくてもたぶん同様の設定ができる。

手順

(1) Karabinerをインストール

ここからKarabinerをインストールして、起動する。
メニューバーから[Preference]を選択し、設定画面を開く。

[Change Key]タブの [For Japanese]→[左右のコマンドキーを「英数/かな」としても使う] →[コマンドキーの動作を優先モード]にチェックを入れる。

これで以下のようになる。この時点で私はとても感動しました。ありがとうKarabiner。
  • 左コマンドキーを単独で押すと[英数]
  • 右コマンドキーを単独で押すと[かな]
  • 左右コマンドキーと他のキーを同時に押すと、コマンドキーとして機能
この状態で、Parallels上のWindowsにも、ちゃんと左コマンド単独押下時は[無変換]、右コマンド単独押下時は[かな]のキーコードが伝わっている(キーコードは「窓使いの憂鬱」などで確認できる)。なので、リクツの上ではWindowsでIME ON/OFFの切り替えができるはず。

ところが、どういうわけか、うまくいかない。Windows上で英語キーボードを使っていることになっているので、[無変換][かな]キーは存在しないことにされているのかもしれない。そこで、Parallelsを利用しているときだけ、Windowsであまり使わなさそうなキーの組み合わせに、IMEのON/OFFを割り当てることにする。

(2) private.xmlの設定

Karabinerは非常に柔軟な設定ができる。
マニュアルはこちら(英文)。

(1)と同様にメニューバーから[Preference]を選択して設定画面を開き、
[Misc&Uninstall]タブにあるボタンからprivate.xmlを開く。
(このボタンが無い場合は、KeyRemap4MacBookを最新版に更新)

private.xmlを開き、<root>と</root>の間に、以下を記入する。

<item>
    <name>追加</name>
    <item>
       <name>左右のコマンドキー(⌘)を「英数/かな」としても使う</name>
       <appendix>(左/右コマンドキーの空打ちで「英数/かな」)</appendix>
       <appendix>(コマンドキーを押している間に他のキーを打つと通常のコマンドキーとして動作)</appendix>
       <identifier>remap.jis_command2eisuukana_prefer_command_notvirtualmachine</identifier>
       <not>VIRTUALMACHINE</not>
       <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_L, 
           KeyCode::COMMAND_L, KeyCode::JIS_EISUU</autogen>
       <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, 
           KeyCode::COMMAND_R, KeyCode::JIS_KANA</autogen>
    </item>
    <item>
       <name>左右のコマンドキー(⌘)をVirtualMachineでも「英数/かな」として使う</name>
       <appendix>(VirtualMachine上で左/右コマンドキーを空打ちすると[Ctrl+Shift+F11/F12])</appendix>
       <appendix>(コマンドキーを押している間に他のキーを打つと通常のコマンドキーを送信)</appendix>
       <appendix>(Parallelsのデフォルト設定では同時押しのコマンドキーは[Ctrl]と解釈される)</appendix>
       <identifier>remap.jis_command2eisuukana_prefer_command_virtualmachine</identifier>
       <only>VIRTUALMACHINE</only>
       <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_L, 
           KeyCode::COMMAND_L, KeyCode::F11, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L</autogen>
       <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, 
           KeyCode::COMMAND_R, KeyCode::F12, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L</autogen>
    </item>
 </item>

private.xmlを保存して、[Reload XML]を押すと、[追加]という項目が増える。

[追加]の下の2項目にチェックを入れる。
手順(1)で紹介した[For Japanese]以下のチェックは外す。

すると、Mac上では先述の「左右のコマンドキーを「英数/かな」としても使う」の挙動を保ちつつ、Parallels等のバーチャルマシン上では、以下のように動作するようになる。
  • 左コマンドキーを単独で押すと[Ctrl]+[Shift]+[F11]
  • 右コマンドキーを単独で押すと[Ctrl]+[Shift]+[F12]
  • 左右コマンドキーと他のキーを同時に押すと、コマンドキーとして機能

(3) Google 日本語入力の設定

あとはWindowsのIMEの設定で、
[Ctrl]+[Shift]+[F11]/[F12]にIMEのON/OFFを割り当てればOK。

Google 日本語入力の場合、
タスクトレイのスパナの印をクリックして[プロパティ]を押す等で設定画面を開く。
[一般]タブ→[キー設定]の[編集]ボタンを押して、キー設定画面を開く。

左下[編集]→[エントリの追加]で新しいキー入力設定が追加できるので、
以下を追加する。

これで完了。
エディタ等を一度終了して開き直せば、
  • 左コマンドキーを単独で押すと英数入力(IME Off)
  • 右コマンドキーを単独で押すとかな入力(IME On)
になっているはず。