2016年2月16日火曜日

映画「ゴーストバスターズ」にまつわる話題

映画「ゴーストバスターズ」の新作の公開日が決まったそうです。

『ゴーストバスターズ』新作は8・19日本公開!女性が幽霊退治の主人公に - シネマトゥデイ
http://www.cinematoday.jp/page/N0080378

いや、新作はどうでもいい。旧作というか元祖の方です、当方の記憶に残っているのは。
(旧作の)映画「ゴーストバスターズ」には、CASIOのポケコン・PB-100が出ておるのですね。

赤松健氏・Twitter
https://twitter.com/kenakamatsu/status/123429347825688577
ゴーストバスターズのは、あれはカシオのPB-100です。FA-3(カセットインターフェースユニット)付きの。 RT @shengyan 映画ゴーストバスターズの一人が持っていたのはどれでしたっけ?

9:07 - 2011年10月10日
写真もありました。

Harold Ramis dies: Ghostbusters 3 still set to go ahead - The Independent
http://www.independent.co.uk/arts-entertainment/films/news/harold-ramis-dead-ghostbusters-iii-still-set-to-go-ahead-9154213.html

PB-100をぶら下げている役者さんが亡くなったという記事なので残念ではありますが、記事の冒頭にある写真を御覧戴きたく。

で、PB-100についてはWikiPediaを参照すると、1982/08に発売されているそうで、もう33年も経っております。ウーン。

そこで、fx-5800Pの後継機と共に、PB-100から33年という事で記念碑的なポケコンとか、出してくれると面白いかなぁなんて思うのでありますが、如何でしょうか、CASIOサマ。

2016年2月6日土曜日

こんな計算をしていた ...

先ずは、Stepney様がblogを開始されたとの事で、お知らせ。

Project Fx :関数電卓研究日記
http://stepney141blog.blog.fc2.com/

TI Nspire, HP50Gについての情報を発信されるとの事で、TI Nspireについては日本語の情報が少なく、興味深い情報を提供される事を期待します。HP50Gについては、当方でも色々とやって行きたいのですが、より高度な話題を提供される事と思われますので、期待しましょう。

当方はと言いますと、このところ不活性状態が続いております。高機能電卓の新製品がなかなか出ない事もあり、申し訳ない。

経営再建中のSharpがホンハイから出資を受け、子会社化するという報道があります。当初は、ナントカ私怨機構とかいう所が出資し、事業を腑分けするみたいな話もありましたが、まだ、何が決定したという段階でもなく、推移を見守りたく思います。

さて、脱力状態が続いております当方、最近は何をしていたのかと言いますと、ちょっとした計算くらい。関数電卓で簡単に進められるので、メモ代わりに書いておきます。今回は、中学生向けの話題。

地球の自転周期を調べていましたら、ナント「24時間に足りない」というハナシを見てしまい「エエッー、ホンマかいや ?」とのけぞってしまったのですが、それを関数電卓を叩いて確認しようというのです。

WikiPediaによると「1日は24時間、自転周期はそれよりも短い 23時間56分4.098...秒」とか。ウーム、どうなっているのか ?

地球の自転 - Wikipedia
https://ja.wikipedia.org/wiki/%E5%9C%B0%E7%90%83%E3%81%AE%E8%87%AA%E8%BB%A2

ここに、謎を解く図が掲載されていました。1日=24時間というのは、地球から見て「太陽が再び同じ(見かけの)位置」に来る時間、という事だそうです。すなわち、1周回っただけでは足りず、更に「あとちょっと」回って、はじめて太陽の見かけの位置が同じ所に至る、という具合。
で、この「あとちょっと」がどれくらいの量なのか、それをWikipediaの図から読み取ると、地球の公転の1日分の移動角と同じ、と判ります。
地球の公転周期は1年ですが、閏年などを考えると、およそ365.25日です (0.25=1/4は、閏年の02/29の分)。すなわち、2π/365.25 が「あとちょっと」の分。
これらを寄せ集めると、地球の自転周期をTとした場合に、およそつぎの関係が得られます。

2π*(1+1/365.25)*T=2π*24

ここから逆算すると、

T = 24/(1+1/365.25) = 23.934470...

これは10進数表現ですから、関数電卓の度分秒換算機能を使って表示を変えてみましょう。HP50Gの場合、→HMS を使います。

23.5604095563

すなわち、23時間56分04.0956秒 が得られます。おおよその所が合っているので、これで良しとしておきましょう。

2016年1月10日日曜日

賀正 2016年

何とも素っ気ないタイトルで申し訳ない。
明けましてお目出度いのはテメェのオツムのみだと困ってしまいますが、それでも鄙びた辺りから、か細い声でも謹んで新年を賀する所です。
松の内も終わりまして、本blogも少しずつ作業を始めようと思います。

正月早々から余り大ネタもないので、最近考えている事を「年賀タオル」の様にポツポツと。


1. HP50GのMultiple Equation Solvreがスゴかった

先日、HP50GのEquation Library を使ってみたのですが、結構面白いんですヨ。
一部の関数電卓にもある、ビルトインされた「公式集」の様なものではありますが、グラフ電卓の強みを活かして、図が表示される項目があります (一部だけではありますが)。
メニューから項目を選んでやると、登録された式を元にしたSolver環境が動き、そのまま数値解を計算出来るという便利ツールなのですが、どうも、50GのMultiple Equation Solver (MES)を利用したものらしい。Users guide を見ると、ヘロンの公式、余弦定理と複数の式を登録してMESを使う例が出ております。

Using the Multiple Equation Solver (MES) - HP50G Users Guide
(page 7-9)

大まかなMESの使い方は、

+ 方程式リストをEQ、SolverのタイトルをTITLE、方程式の独立変数リストをLVARI という変数に記憶させておき、
+ MINIT, MITM, MSOLVR の順にコマンドを実行する

という感じ。コマンド実行時には、スタックに必要なパラメタを積んでおくなどの準備がありますが、詳細はUsers guideを御山椒。

MESの何がスゴイかというと、複数の方程式を登録して、それらを元に数値解を自動で計算する所もありますが、コマンドを複数使うだけでSolver環境が使えるので、プログラムとして構成する事で「専用のSolverプログラム」に出来るのです。
最近の関数電卓には、方程式1本のSolverが用意されていますが、50GのMESは、更に先を行っていたのでした。

先日、JulyさんAmazonの所のHP Primeは在庫が無くなってしまいましたが、50Gは未だ11台残っております。気になる方はお買い求めを。


2. 電卓内蔵のPeriodic Table考

HP50Gには周期表が用意されております。最近の電卓でも、一部には内蔵されているものがあります。
CASIOのfx-J900/700では、118番目の元素まで記録されているとか。

先日、113番目の元素について、日本の研究者が3度に渡り生成する事に成功した事から、命名権を取得したという話題がありました。
HP50Gの周期表は、作られた時期が古く、106番目までの元素までしか収録されておりません。名前も、104,105,106 については「Un-nil Quadium」、「Un-nil Pentium」、「Un-nil Hexium」と、暫定名であります。
これは、ベースとなっているのがHP48SX向けに用意されたアプリケーションで、1995年頃に作成されているので、古いのも仕方の無い所です。
fx-J900/700の周期表は十分に新しく、113番目の元素も収録されているのですが、命名権を取得したという段階なので、未だ名前が決まった訳ではなく、コレばかりはどうしようもありません。その内、113番元素の名前も決まるのでしょうから、その時になったら周期表も改変されるのでしょうか。まあ、市中在庫が結構ある上、ファームウェアの改変も必要であり、簡単には進まないかも。
そこで、新しい高機能電卓を出して、周期表のアップデートを図るという手を期待したい。
最近の電子辞書では、コンテンツの追加やアップデートが出来る製品があると言います。また、ファームウェアのアップデートが可能な様に、マスクROMからFlashメモリにした電卓製品も多く普及して居ります。新しい高機能電卓では、ファームウェアのアップデート機能によって色々な改良が為され、永く使いつづける事の出来る製品である事を期待したいものです。


3. CASIOの「スマートウォッチ」発表

藤堂様からもコメントをお寄せ戴いておりますが、先日、アメリカで開催されたCES 2016で、かねてよりスマートウォッチ市場に参入を表明していたCASIOがAndroidスマートウォッチの販売を表明しました。
いわゆる「フラッグシップ」という扱いで、高めの価格。CASIOとしてはそれだけ自信を持っている製品なのでしょうが、実入りの少ない当方としては「チプカシ」(チープ・カシオ)の様な腕時計に目が行ってしまう。それは蛇足ではありますが、スマートフォンの普及する今日、腕時計の需要は減る傾向にある様子。しかし、AppleがApple Watchを投入した事で、高級腕時計の需要が喚起された模様。そこでCASIOも高級腕時計としてのスマートウォッチを投入する決断に至ったのは、素晴らしい事ではあります。

電卓の方面では昨年、電卓事業50周年記念モデルとして「S100」を発売しました。キーボードなどに工夫を込め、耐久性も高い高級電卓です。これなどは「事務用電卓のフラッグシップ」なのでしょう。高機能電卓は、fx-CG20やfx-FD10 pro辺りがフラッグシップに相当するのか ?
すると、次は高機能電卓の「チプカシ」を期待したい。チプカシは、見た目は安いながらも十分な機能を持ち合わせている「CASIOの普及価格腕時計」であり、高機能電卓でも、こんな感じの製品を期待したいのであります。

過日、CASIOの電卓投票では高機能電卓・fx-5800Pが堂々の3位となりました。高機能電卓もそれだけ需要があるのですから、後継機では、もっと面白い仕掛けを用意して欲しく思うのです。

2015年11月28日土曜日

祝 ! [e-Gadget] 開設2周年

CASIO fx-5800Pの情報を中心に、CASIO BASICの情報を積極的に発信されておられます やす様のblogが開設2周年との事で、蔭ながらお祝い申し上げます。

e-Gadget - プログラム関数電卓
http://egadget.blog.fc2.com/

やす様のblogでは、最近はCASIO BASIC の構造の詳細を述べられており、その情報を元にSentaro 様が高速動作版 CASIO BASICインタプリタ「C.Basic」の開発を進められております。既にLifeGame がウレシイくらいの速度で動いているらしく、とても興味深い成果なので、fx-9860GIIのユーザーの方は、是非とも御覧頂き度。

以前のポストで「10月にもCASIOがスマートウォッチを発表する」と書きましたが、どうも来年の話になっていた様です。
また、CASIOは電卓50周年のキャンペーンもやっており、既に年表も出していますが、そこには50年記念電卓「S100」も出ているので、年内の新しい高機能電卓は期待出来そうもありません。もうすぐ年末ですから「夢」は来年に持ち越し、にしておきましょう。尤も、CLASSWIZ は昨年12月に発表があったので、ウレシイ「裏切り」があって欲しい気もします。

他方、経営難が続くシャープですが、こんなTweetを出していました。

https://twitter.com/SHARP_JP/status/659206364967780352

ぜ…全国の 高校生よ 高専生よ そしてその親御さんの みなさま……このオラに ほんのちょっとずつだけ 弊社の電子辞書とか関数電卓を採用する圧力を…学校にかけてくれ…!!!

高校生向けの関数電卓だそうです。

http://www.sharp.co.jp/calc/lineup/education.html

惜しむらくはプロ電ではない所でありますが、今のSharpの企画力では、こんな所から始めるのが精一杯なのかも知れません。しかし、発売は来年2月となっております。それまで持つのか !?
いや、それこそ「来年の事を言うと鬼がナントカ」とか申しますから、CASIOの新製品と共に、静観します。

さて、CASIO機ばかりではマズいので、HP機の話題も。JulyさんのAmazon売り場のHP50G, HP Primeですが、最近になって猛烈にバイが進んでいる様子。特にHP Primeは残り5台。もうすぐクリスマスという事で、高機能電卓のお買い求めを。

「すり抜け」確率の研究


火砕流に遭遇する確率に関するTweet

https://twitter.com/HayakawaYukio/status/658584031123107841
1万年で火砕流90%は、人生100年とすれば、一生の間に遭遇する確率(すなわち火砕流で死ぬ確率)は0.9%だ。そんなに小さくない
「1万年で90%」という事から、100年では90%/100 = 0.9% という目安を出しておりますが、確率計算の上では、どうなのでしょうか。
早川センセは、発生(火砕流に遭遇)する確率をp=一定としている様ですから、ここでも、その前提で計算を進めようと思います。

「1万年で90%の確率」とは言いますが、そのうちの「人生100年」は、1万年の1/100期間であります。
そこで、この「人生100年」を1回の施行とすれば、「1万年」は100回分の施行と考えてよいでしょう。
ここまで単純化して、いよいよ本題です。
100回(=1万年)の施行で90%となる発生確率の場合、1回(=人生100年)の試行による確率がどの程度になるのか、という問題に還元される事となりましょうや。

これを考える為に、複数回試行の確率を考えます。まず,最初は2回の試行から始めましょう。

p=2/3 という確率で生じる事象があるとして、1回で生じる確率は2/3であり、生じない確率は1/3である事に議論の余地はないでしょう。それでは、2回ではどうでしょうか ?

最初の1度目で生じる確率は2/3, 次に生じる確率も2/3 でありますが、ここには、次の組み合わせがあります。

1度目 2度目 確率
生じる 生じる 2/3 * 2/3 = 4/9
生じる 生じない 2/3 * 1/3 = 2/9
生じない 生じる 1/3 * 2/3 = 2/9
生じない 生じない 1/3 * 1/3 = 1/9

2回の事象に於ける「組み合わせ」では、実に8/9の場合が「生じる」を含んでいる勘定になります。
すなわち、2回の施行において「全く生じない」場合は1/9であり、いつの時点で起こるかを特定しない「起こる」確率は、全体の「全く生じない」場合を除いた場合として考える事が出来、その確率は 1-p = 1-1/9 = 8/9 と計算できます。

さて、この部分をもう少し考えてみます。
2回の施行で「全く起こらない」確率は、1/3*1/3 = 1/9 でしたが、つぎの様に考えてもいいでしょう。

n回の試行で「全く起こらない」確率は、p = (1/3)^n
n回の試行で「1度以上起こりうる」確率は、q = 1-p = 1-(1/3)^n

これをより一般的な表現とするならば、1回の試行で発生する確率を P として、

n回の試行で「全く起こらない」確率は、p = (1-P)^n
n回の試行で「1回以上起こりうる」確率(pの余事象)は、q = 1-p = 1-(1-P)^n

という、少し込み入った表式を得ます。
ここでは複数回の施行で発生しなかった事を「n回の試行をすり抜けて来た」と考え、「すり抜けの確率」と呼称します。

この辺りの考えをまとめて、件の「火砕流に遭遇しない確率」を、今一度考えなおそうというコンタンです。
100回の施行で90%の遭遇確率とは、100回の間、遭遇せずに「すり抜けて来た」確率の余事象ですから、

0.9 = 1-(1-P)^100

となります。但し、Pは「1回で火砕流に遭遇する確率」です。関数電卓をチョイチョイと叩けば、Pの値はたちどころに得られます。

1-P = (1-0.9)^(1/100) = 0.977237221...

P = 1-0.977237221 = 0.022762779, およそ2.28% という値が得られました。
0.9%よりも大きい値で、センセの仰る通り「そんなに小さい値ではない」とは言えます。
一方、危険率を5%に採ってしまうと、「2.28%は滅多に無いんだから、無視しても良かんべ」という事になってしまう。危険率の設定というものを、少し考えてしまう話題です。

昔懐かしい、プロ電のプログラムの技巧

かなり昔の事ですが、プロ電にプログラムを仕込んで「ゲームマシン」にするという本があり、その中に面白い技巧が出ておりました。

1. 「角度スイッチ」をジョイスティック代わりにつかう
2. GRADモードの活用で、乱数ルーチンのステップ数を稼ぐ

まずは、1の方から

1. 「角度スイッチ」をジョイスティック代わりにつかう

今でも、大抵の関数電卓では「DEG」(度)、「RAD」(ラジアン)、「GRAD」(グラード、グラジアン)の3つの角度モードが設定可能ですが、昔のプロ電の中には、三角関数の角度モードをスライドスイッチで切り替えるものがあったそうです。残念ながら、今となっては何と言う機種かは判りません。
このプロ電用に作られたゲームの内容も今となっては不明ではありますが、スクロール(シューティング)ゲームだったのだと思われます。画面(恐らく1行表示)を見ながら、角度モードのスライドスイッチをカチカチと切り替え、自機の操作を行っていたらしい。
スライドスイッチをジョイスティック代わりにするという発想が驚きですが、これにより、キー入力による実行停止がなく、リアルタイム性が向上したのだと推察されます。

角度モードを切り替えるスライドスイッチの状態をどうやって検出するのでしょうか ?
答は簡単で、適当な三角関数値を計算させ、角度モードによって違う値が得られるので、分岐して処理する、という具合です。


2. GRADモードの活用で、乱数ルーチンのステップ数を稼ぐ

GRADモードでは、直角を100とした角度指標となっていて、普段、余り使われない様に思われるGRADモードですが、こんな利用法があった、と言います。
逆三角関数、arc-sin, arc-cos をGRADモードで計算すると、0から100までの数値が返ります。0〜99までの乱数値が必要な場合、内蔵の乱数(0〜1未満)を実行、その逆三角関数値を計算し、最後にround(数値丸め)を実行する事で、0〜99までの乱数値が得られるという手法でした。
通常、こうした場合には乱数値を100倍し整数部を採るという操作を行いますが、100倍するという操作で「×」、「1」、「0」、「0」と、4ステップ余計に喰ってしまいます。メモリの少なかったプロ電では有効だったのかも知れません。

この技法は、38ステップのプログラミングが出来る機種(CASIO fx-3800P)に向けたものでした。今から思うに、38ステップのプログラムでナニが出来たのか、大変考えさせるものがあります。
プログラムで使える命令についても、制御機構は簡単な条件判断(レジスタ・メモリの0判定)と「文頭へ戻る」だけです。それらは、電卓に用意されていた数値積分機能に寄与するもので、積分を計算したい数式を「プログラム」によって実装し、数値積分を行っていたのだと思われます。数値積分は、微分方程式の数値解を得るのにも使われておりました。
そこで、更に「これ使ってゲームも作れるのではないか」という発想で、GRADモードを利用する技巧が編み出されたに相違ありません。

興味深い技巧ではあります。しかし、逆三角関数を通してしまう事で、乱数値の分布に偏りが出たりしないのか、という疑問があります。グラフ電卓で分布を描いて、調べてみましょう。

大抵のプロ電には、一様乱数の機能があります。これをarc-sinに通して、標本を取得します。電卓の実験例なので、100個くらいのデータが丁度良さそうです。
得られる標本の数値範囲は角度モードによりますが、ここでは分布の傾向をみるだけなので、どの角度モードでも構いません。当方、普段はRadianにしているので、Radianならば0~PIの範囲となります。そして、この0~PIの範囲を10の区分にして、棒グラフを描いてみる事にしました。一例では、確かに偏った分布となっております。

更に、統計的にこの分布が偏っているのか、調べる事も出来ます。
推計学の基礎が教える所によりますと、この標本集団から得られるχ自乗値は、近似的にχ自乗分布に従う、との事です。
高機能電卓でも、機能が充実しているものならば、χ自乗分布のCDF(累積分布関数)値を計算できます。これを使って検定も出来るのですが、計算方法は「χ自乗検定」を調べれば割合簡単に判ります。この例の場合、一様乱数と近しいかどうかを検定する事になり、一様分布の「期待値」としては、どの区分も同じ値になっている、として期待値を設定すればよい筈です。

2015年10月9日金曜日

10月になりました

10月になりました。

Julyさんの所の電卓、全て完売になっており、再入荷の目処は立っておりません。ウーン。

CASIOが「新しいスマートウォッチを投入する」としたのが、今月です。さて、何が出るのやら ? ついでにオモロイ電卓を期待したい。

CASIOの電卓も50週年とかで、キャンペーンを実施中だそうです。

カシオ電卓50周年
http://casio.jp/dentaku/sp/50th/

新しい高機能電卓を期待したい所です。

さーて、何か考えないとなァ ... 。