2011-02-04[n年前へ]
■Wolfram|Alphaの機能をRubyから使う
Wolfram ResearchのWolfram|Alphaは、「科学・工学系の問いに答える」ことが得意な検索エンジンです。Wolframが長年開発して来た(データベース内の規則に沿ってパターンマッチングを繰り返すことでで)数式処理を実現するMathematicaと重なるところも多い、そんな検索エンジンです。
Wolfram|Alphaの機能は、開発者登録すれば、(2000クエリー/月という、少なく限られた処理数ですが)WEB APIとして試し・使ってみることができます。先日、WEB APIのVer.2.0版が公開されたので、試しに使ってみることにしました。
- Java
- Python
- Ruby
- Perl
- PHP
- .NET
- Mathematica
手順は、およそ、こんな具合です。まずは、 開発用APIコードを登録します。そして、各言語用ライブラリのダウンロードページから直接ライブラリをダウンロードするか、あるいは、gitから、
git clone git://github.com/ianwhite/wac.gitという具合に、Ruby用ライブラリをダウンロードします。このライブラリ"wac"は、処理の過程で"nokogiri"と"active support"を使うので、
sudo gem update --system sudo gems install nokogiri sudo gem install activesupportといった感じで、先にインストールをしておきます。(新しい)"active_support"ではなく、(古い)"activesupport"をインストールするのは、(後述する)delegateのエラー回避を簡易に行うためです。
そして、wac.rbの冒頭を
#require 'active_support' require 'activesupport'と書き換えます。つまり、古いActive Supportを読み込むように指定してやるのです。そのようにしてやらないと、"NoMethodError: undefined method `delegate' for…といったエラーメッセージに出くわすことになります。
後は、たとえばirbで、
irb >> require 'wac' >> Wac.appid = "ここにAPIコード" >> r = Wac.fetch 'solve[x^2+3==0,x]'とすると、
Result: x = ±(i sqrt(3)) ±(1.73205 i)という風に答えてくれますし、あるいは、
>> r = Wac.fetch 'obama birthday'と聞けば、
Result: Friday, August 4, 1961と、教えてくれるのです。
Mathematicaのパワーを使うことができるのは、とても魅力的です。「あなたのアイデア」+「Mathematicaのパワー」=「無限の可能性」という方程式を解いてみるのは、とても楽しいことに違いありません。コンピュータのデータベース・記憶力と、ヒトが持つ柔らかな発想を組み合わせれば、最強の何かを生み出すことができるはずです。
2011-05-13[n年前へ]
■海を越えると値段が2倍以上になる「Mathematica 8ホームエディション」
Mathematica 8ホームエディション日本語版が発売されました。Mathematicaホームエディションは,個人の非商業的な目的のためなら、プロフェッショナル版の Mathematica製品の全機能を使うことができる、というものです。米国などでは以前から発売されていて、295ドルという価格が実に魅力的な製品です。
このエディションのリリースにより,今回初めて破挌のお値段でMathematica 8の機能をご体験いただけるようになりました.
喜び勇んでウルフラムのサイトに行き、Mathematicaホームエディションのページを眺めると、…私の目が悪いせいか(日本版を眺めた場合)「特別価格¥67,000」などと書いてあるように見えます。「295ドル」という値段や「破挌のお値段」という言葉を思い浮かべなければ良いのかもしれませんが、思わず目をゴシゴシとこすりたくなる「お値段」です。
ウルフラムが提供する知識検索エンジン”WOLFRAM ALPHA”に尋ねると、295ドルは2万5千円弱で、円で言うともっと安くなりそうとも教えてくれます(下に貼り付けた図は、最近十年間の"295ドル"の円換算推移です)。…そうだよね?と思いつつ、再度ウルフラムサイトに戻ると「295ドル=67000円」という奇々怪々な式がラクガキしてあります。
Mathematica Home Edittionというパッケージが素晴らしいだけに、実に残念な価格設定です。「ビジネスでなく、個人の科学への要求」を広げるためにも、もっとリーズナブルな値段設定をして欲しいところです。
2011-08-09[n年前へ]
■「WOLFRAM CDF(Computable Document Format,計算可能ドキュメント形式)」と「既存の".nbp"ファイル」の違い
WOLFRAM Researchから「CDF(Computable Document Format,計算可能ドキュメント形式)」が発表されました。「計算のための新しいインタラクティブなドキュメント形式」…というわけで、何だかとてもワクワクします。それは、21世紀のTeXもしくはLaTeX形式なのだろうか?…などと期待しながら、発表資料を眺めています。しかし、発表されて間もなく・情報が少ないために、CDF形式と(これまで使われていた)"Wolfram Mathematica Player"用の再生専用ファイルである ".nbp"ファイルとの違いがまだよくわかりません。
"Wolfram Mathematica Player"用の再生専用ファイル( nbpファイル)というのは、基本的にはWolfram Mathematicaのノートブック(".nb" ファイル)と同じものです。Wolfram Mathematicaでしか編集することができない".nb" ファイルと、"Wolfram Mathematica Player"でもインタラクティブに再生することができる".nbp"ファイルが「一番大きく」異なるのは、".nbp"ファイルには「このファイルは”WOLFRAM WEBサイト"経由で出力したものですよ」という「暗号化された署名」がファイル末尾に付け加えられていること、です。その署名がなければ、Mathematica Playerはそのコンテンツを再生しない、という「仕組み」になっています。
今回発表されたWOLFRAM Computable Document Format(計算可能ドキュメント形式)というのは、”WOLFRAM WEBサイト"から出力するものではありません。その代わりに、WOLFRAM Mathematicaアプリケーションが単独で出力することができ、その出力と同時に「暗号化された署名」を行うというファイルフォーマットです。その”正しい”署名が添えられたファイルのみをWOLFRAM Mathematica ”CDF” Playerがインタラクティブに再生することができるよう制限されています。…つまり、WOLFRAM Computable Document Format(計算可能ドキュメント形式)というものは、Mathematicaアプリケーションでしか作成することができない(という制限を掛けた)、というフォーマットです。「”CDF”フォーマットのファイルに対してのみ使うことができる」という(Mathematica ”CDF” Playerの)制限は、「そのファイルはMathematicaアプリケーションで作ったファイルのみ開くことができる」という制限と”イコール”であり、それは"Wolfram Mathematica Player"が再生可能な”.nbp”ファイルの作成元を制限していたのと同じ仕組みです。
実際のところ、"Wolfram Mathematica Player"とWOLFRAM Mathematica ”CDF” Playerというのは、ほぼ同じものであるように見えます。たとえば、どちらのカーネル(計算・解析処理を行う中心部)へは、たとえば、.NETインターフェースから自由にアクセス・制御することができます。そして、どちらも、WOLFRAMの署名がされたファイル以外を扱うことは拒否します。
ビジネスの面から眺めれば、当然の選択にも思えます。…が、ワクワクすることがない選択であり・ワクワクしない宣伝文句にも感じられてしまいます。
Mathematica を売る会社 Wolfram Research の設立にあたって Wolfram はリチャードファインマンに相談している。これに対してファインマンは反対している。君にとっては回りのすべての人が馬鹿に見えるだろう。だがそのような人達を使わなければならなし、翻弄されることこの上なく君から科学的成果が出なくなってしまうようになるだろう。だから、やめたほうがよいというような内容。Wolfram は、未だ CEO として健全な経営をしている。しかし、確かに Wolfram の新規の科学的成果は聞かなくなったような気がするのは気のせいだろうか。
ファインマンの手紙