計算機科学をかじった人なら知っていることだが、計算機の時計は不正確であり、特にネットワークを経由する場合には、不完全な時計の下で動作するアルゴリズムを考える必要がある。そのために一般的には論理時計という手法を用いる。
しかし、いまGPSなどが普及し、高精度の時間が求められるようになってきた。このような高精度の時間をここではTrue Timeとよんでおく。True Colorにちなんだ比喩だ。ちなみに、リアルタイムという言葉があるが、これはあえて使わないこととした。なぜなら、リアルタイムとは、物理時間を考慮した論理時間にすぎないからである。
絶対的な真の時間にはほど遠いが、しかしある程度信用してもよい時間を手に入れたことになる。こうなると必ずしも論理時間に頼る必要はなくなる。論理時間を用いたアルゴリズムはどうしても複雑になる。その呪縛から解放されるとアルゴリズムは大幅に単純化できるかもしれない。
ただし、正確には限りなく1に近い確率で答えを見つける方法ということになるかもしれない。また、論理時間も全く不要になるわけでもない。全体として論理時間を使わずにすむ問題が増えるということだ。
2009年1月29日木曜日
小さな政府と大きな政府の対立
オバマ大統領の政策で重要なポイントがあると思う。
いま、日本では小泉政権時の小さな政府への転換が問題とされている。その反動から大きな政府を復活させようとしている。しかし、大きな政府にも問題があったからこそ小さな政府を目指したはずで、その問題をなおざりにしては結局失敗することは目に見えている。
大きな政府は、多機能だが、非効率になる。一方、小さな政府は、少機能だが、効率がよい。小さな政府では十分なセーフティネットが張れない、しかし大きな政府では定常的なコストがかかる。どちらを選ぶかで政策は揺れ動く。大きいか、小さいかで議論していると、中間に落ち着くしか答えがない。
しかし、大きさは本質的なことではない。むしろ、機能と効率が問題だ。オバマ大統領は機能する政府にするという。これは必要最小限な機能を有効に働かせるという意味だろう。これは大きさの議論を超越した論法であり、本質を突いているといえる。
おそらくオバマ大統領は、政府自体は小さくても制度で監視する体制を整えるのだろう。その制度ではITが駆使されることになるだろう。もちろん社会保障制度を充実させる過程で、いまより政府の規模が大きくなるかもしれないが、それをもって大きな政府と考えるのは間違いだ。おそらく日本の社保庁のようなことはしないだろう。
いま、日本では小泉政権時の小さな政府への転換が問題とされている。その反動から大きな政府を復活させようとしている。しかし、大きな政府にも問題があったからこそ小さな政府を目指したはずで、その問題をなおざりにしては結局失敗することは目に見えている。
大きな政府は、多機能だが、非効率になる。一方、小さな政府は、少機能だが、効率がよい。小さな政府では十分なセーフティネットが張れない、しかし大きな政府では定常的なコストがかかる。どちらを選ぶかで政策は揺れ動く。大きいか、小さいかで議論していると、中間に落ち着くしか答えがない。
しかし、大きさは本質的なことではない。むしろ、機能と効率が問題だ。オバマ大統領は機能する政府にするという。これは必要最小限な機能を有効に働かせるという意味だろう。これは大きさの議論を超越した論法であり、本質を突いているといえる。
おそらくオバマ大統領は、政府自体は小さくても制度で監視する体制を整えるのだろう。その制度ではITが駆使されることになるだろう。もちろん社会保障制度を充実させる過程で、いまより政府の規模が大きくなるかもしれないが、それをもって大きな政府と考えるのは間違いだ。おそらく日本の社保庁のようなことはしないだろう。
2009年1月28日水曜日
選挙での失敗
先日、選挙で投票したが、そのときしでかした失敗談を紹介しておく。同じ間違いを繰り返さないように戒めておく。
地方の選挙なので有名人が出るわけでもなく、候補者の名前がなかなか覚えられない。そこで、今回はポストに入っていたビラをとっておいて、それを見ながら投票すればよいと考えた。
候補者は絞り込め、ビラも保管し、安心して選挙に臨んだのだが、いざ投票の際に気がついた。ビラに候補者の名前が書かれていないのだ。まさかと思って、何度も確認したが、どこにも書かれていない。明示的に候補者の名前を書くことが法的に規制されていたのかもしれない。
おかげて誰に投票すればよいかわからないまま投票所に行き、よせばよいのにあやふやな記憶を頼りに投票してしまった。案の定、対立候補に投票していた。こんなときはあえて投票しない方がよかった。
地方の選挙なので有名人が出るわけでもなく、候補者の名前がなかなか覚えられない。そこで、今回はポストに入っていたビラをとっておいて、それを見ながら投票すればよいと考えた。
候補者は絞り込め、ビラも保管し、安心して選挙に臨んだのだが、いざ投票の際に気がついた。ビラに候補者の名前が書かれていないのだ。まさかと思って、何度も確認したが、どこにも書かれていない。明示的に候補者の名前を書くことが法的に規制されていたのかもしれない。
おかげて誰に投票すればよいかわからないまま投票所に行き、よせばよいのにあやふやな記憶を頼りに投票してしまった。案の定、対立候補に投票していた。こんなときはあえて投票しない方がよかった。
冷凍パン
冬は賞味期限が長くなる。しかし、それでももっと長くなってほしい。それなら冷凍食品しかない。というわけでパンが冷凍食品にならないだろうか?
食パンではないが、パンケーキなら冷凍が売られている。味は手作りの焼きたてにはかなわないかもしれないが、決して悪くはないし、きれいに焼けているので失敗がない。これはよいアイデアだと思う。
実際、長期保存できるパンは魅力的だ。例えば、パンの缶詰がある。冷凍パンも選択肢になるとよい。
それでは、冷凍パンが実際にないかといえば、もう実用化されている。オーブンで焦げ目をつけるだけでよいものもある。これならトースターで食パンを焼くのと大差ない。完成品のパンを冷凍したものはかえって解凍が難しそうだ。
最近、コンビニが冷凍事業に積極的になっているようなので、このような冷凍パンがコンビニに並ぶようになるかもしれない。
食パンではないが、パンケーキなら冷凍が売られている。味は手作りの焼きたてにはかなわないかもしれないが、決して悪くはないし、きれいに焼けているので失敗がない。これはよいアイデアだと思う。
実際、長期保存できるパンは魅力的だ。例えば、パンの缶詰がある。冷凍パンも選択肢になるとよい。
それでは、冷凍パンが実際にないかといえば、もう実用化されている。オーブンで焦げ目をつけるだけでよいものもある。これならトースターで食パンを焼くのと大差ない。完成品のパンを冷凍したものはかえって解凍が難しそうだ。
最近、コンビニが冷凍事業に積極的になっているようなので、このような冷凍パンがコンビニに並ぶようになるかもしれない。
定額給付金の経済効果?
ニュースによれば定額給付金の事務手数料だけで約800億円になるらしい。
ということは、銀行へは振り込み手数用で、郵便局へは郵送料で、公務員には残業代でそれぞれ相当の経済効果があるということだ。:-)
ということは、銀行へは振り込み手数用で、郵便局へは郵送料で、公務員には残業代でそれぞれ相当の経済効果があるということだ。:-)
2009年1月21日水曜日
JavaScriptのdoesNotUnderstand
Smalltalkでは、すべてがオブジェクトだ。しかし、CやJavaでは違う。
今、Smalltalk流のオブジェクト指向はRubyやJavaScriptに受け継がれている。
JavaScriptは正確にはオブジェクト指向とは言い難いが、すべてのブラウザに組み込まれているため、最も身近なプログラミング言語といってもよい。
ところで、Smalltalkのオブジェクトには面白い機能があった。それはオブジェクトが理解しないメソッド呼び出しが起きるとdoesNotUnderstandというメソッド呼び出しに切り替わる機能だ。これは大変役に立つ。つまり、doesNotUnderstandさえ定義しておけば、どんな未知のメソッド呼び出しにも対応できるからだ。
これがJavaScriptにはない。そのためオブジェクトを拡張しようとしても難しかった。しかし、世の中には広い。JavaScriptにdoesNotUnderstandを組み込んだ人がいた。
今すぐではないかもしれないが、きっと将来役立つと思うので紹介しておく。
http://blogs.sun.com/sundararajan/entry/doesnotunderstand_in_javascript
今、Smalltalk流のオブジェクト指向はRubyやJavaScriptに受け継がれている。
JavaScriptは正確にはオブジェクト指向とは言い難いが、すべてのブラウザに組み込まれているため、最も身近なプログラミング言語といってもよい。
ところで、Smalltalkのオブジェクトには面白い機能があった。それはオブジェクトが理解しないメソッド呼び出しが起きるとdoesNotUnderstandというメソッド呼び出しに切り替わる機能だ。これは大変役に立つ。つまり、doesNotUnderstandさえ定義しておけば、どんな未知のメソッド呼び出しにも対応できるからだ。
これがJavaScriptにはない。そのためオブジェクトを拡張しようとしても難しかった。しかし、世の中には広い。JavaScriptにdoesNotUnderstandを組み込んだ人がいた。
今すぐではないかもしれないが、きっと将来役立つと思うので紹介しておく。
http://blogs.sun.com/sundararajan/entry/doesnotunderstand_in_javascript
クラウドでタプルスペース
Amazon DynamoあるいはSimpleDBは極論するとクラウド版DBMだろう。
DBMに似て異なるものにタプルスペース(TS)がある。Lindaで有名だ。JiniあるいはJavaSpaceもTSだ。
このTSをDBMで模倣するのは、そう難しくないと思われる。evalはちょっと難しいかもしれないが、JavaSpaceにはevalがないので、必須ではない。もっともevalはクラウドにこそ欲しい機能ではある。
そう考えるとクラウドでTSを実現するのも十分あり得る話だ。
DBMに似て異なるものにタプルスペース(TS)がある。Lindaで有名だ。JiniあるいはJavaSpaceもTSだ。
このTSをDBMで模倣するのは、そう難しくないと思われる。evalはちょっと難しいかもしれないが、JavaSpaceにはevalがないので、必須ではない。もっともevalはクラウドにこそ欲しい機能ではある。
そう考えるとクラウドでTSを実現するのも十分あり得る話だ。
登録:
投稿 (Atom)