2010年2月28日日曜日

1次元画像

最近二次元画像が巷に溢れかえっています.Wikipediaには「二次元コンプレックス」なんて項目もあります.しかし,その一方,4次元画像や1次元画像は二次元画像程普及が進んでいません.これは何と由々しき事態でしょう.今回は,その普及に貢献するため1次元画像を作成いたしました.


Fig.1 (x+1)x(x-1)
3次関数の値をグラデーションに割り当てました.関数は3次なのに画像は1次というこのギャップ.


Fig.2 Mickey Mouse
ディズニーのキャラクターというのは,一般に白黒+(彩度の高い)有彩色で構成されていますので,色彩のみからキャラクターを想像することが出来ます.これならうっかり●を3つ描いてしまう恐れもありません.


Fig.3 Noise
彩度,明度ともに最大,色相のみランダムに生成しています.


Fig.4 Monochrome
白と黒だけのシンプルな構成.

今宵の1次元画像,如何でしたでしょうか?

セルオートマトン #16 ルール14

ルール14
クラス2

時刻tでの状態■■■■■□■□■■□□□■■□■□□□■□□□
時刻t+1での状態



Fig.1 rule14

対象としているセルの真上か右上が■ならば次の時刻も■になります.そのため,■は全体的に左に移動しており,その軌跡は太いです.

2010年2月21日日曜日

セルオートマトン #15 ルール13

ルール13
クラス1

時刻tでの状態■■■■■□■□■■□□□■■□■□□□■□□□
時刻t+1での状態



Fig.1 rule13

内側にある□は次の時刻で■になり,その後は□/■を反復する領域が左から縮まり,最終的に秩序状態に落ち着きます.

2010年2月17日水曜日

数学 #14 対数の計算方法

17世紀,電卓なんてものはありませんでした.
対数(logarithm)が発見されたのはこの時代です.様々な対数の値を表にした対数表は,科学者や工学者が数値計算を実行するのに大変役立つものであり重宝されました.

さて今回は,対数の値はいかにして計算されたのか,ということで,log102を17世紀当時の方法で求めてみます.

ブリッグスの方法

まずは,10の平方根を計算し,その平方根を更に計算し…,ということを54回行います.
c=1/254とすると,
10c=1.00000000000000012781914932003235=1+a
2c=1.00000000000000003847739796558310=1+b
x=log102とおくと,
2=10x
1+b=2c=(10c)x=(1+a)x≒1+ax
より,
log102=x≒b/a=3847739796558310/12781914932003235≒0.30102999956638812

log102≒0.30102999956638812

当時の数学者はこのようにして,対数の計算を行いました.そして,膨大な時間を掛けて対数表を完成させたのです.

補足:

ブリッグスの方法では,平方根を54回計算していますが,平方根の計算方法が分かりませんでした.平方根の漸化式を適用していくことで計算したのかもしれません.
例えば,√2なら適当な初期値をとって,
an+1=(an+2/an+1)/2
を繰り返すことで計算できます.

(1+a)x≒1+ax
は,以下のニュートンの一般二項定理からの近似です(実際にはこの定理の方が後に出現しています).

ニュートンの一般二項定理
任意の有理数aに対して,|x|<1の範囲で
(1+x)a=1+xa/1!+x2a(a-1)/2!+x3a(a-1)(a-2)/3!+…
が成立する.

2010年2月14日日曜日

セルオートマトン #14 ルール12

ルール12
クラス1

時刻tでの状態■■■■■□■□■■□□□■■□■□□□■□□□
時刻t+1での状態



Fig.1 rule12

最終的に完全に落ち着きます.これは■が連続して続いている所はその左端しか残らず,その後は□■□が未来永劫□■□となるためです.

2010年2月10日水曜日

カオス #34 相関次元

今宵は相関次元法というのを用いてフラクタルな図形の次元を求めてみます.
相関次元法では,以下で定義される相関積分を求めます.



H(x)は以下で定義されるHeaviside関数です.


ただし,P1, P2, …, PNは,
Pi=f(Pi-1)
という関係にあります.
また,|Pj-Pi|は,m次元空間内でのPiと,Pjの距離で,以下に定義します.



rを変化させ,log2(ε)と,log2(C(r))をプロットして行き,グラフの傾きを読み取ることにより,相関次元を求める事が出来ます.

図で式の意味を示すとこんな感じ.


Fig.1

黒丸 - Pj
白丸 - {P1, P2, …, PN}
円の半径 - ε

H(ε-|Pj-Pi|)は,Pjを中心とする半径εの円(球)にPiが入っていれば1を,入っていなかったら0を返すというわけです.

■計算例

・Hénon写像

xt+1=1-axt2+byt
yt+1=xt
a=1.4
b=0.3


Fig.2

logε∈[-6,-4]について最小自乗法により計算した相関次元
D=1.23753

畑政義写像

zn+1=f1(zn) or f2(zn)

f1(z)=az+bz~
f2(z)=c(z-1)+d(z~-1)+1
(z=x+yi => z~=x-yi)

・以前,次元が約1.736であるといったフラクタル図形
a=0
b=0.45+0.5i
c=0
d=0.45-0.5i


Fig.3

D=1.74996

・Koch曲線
Koch曲線のハウスドルフ次元はlog4/log3≒1.26186ですが果たして….
a=0
b=0.5+0.3i
c=0
d=0.5-0.3i
※以前紹介したパラメータと違いますが,それも含めて多分これらのパラメータは正確で無いです.


Fig.4

D=1.27587

・C曲線
C曲線のハウスドルフ次元は実は2です.
a=0
b=0.5+0.5i
c=0
d=0.5+0.5i


Fig.5

D=1.94509

と,こんな感じです.

2010年2月7日日曜日

TopCoder SRM 460

前回に引き続きDiv1,悪夢再び….

SRM460(2/7 2:00~4:00)

・TheQuestionsAndAnswersDivOne(DIV1 Easy)
\(^o^)/
Result:Opened(0p)

・TheFansAndMeetingsDivOne(DIV1 Normal)
\(^o^)/
Result:Opened(0p)

・TheCitiesAndRoadsDivOne(DIV1 Hard)
\(^o^)/
Result:Opened(0p)

・Challenges
撃墜しようとしたらまた先手を打たれました….

・Rating
1362->1305

\(^o^)/
次は2/14 2:00~,真夜中の戦いPart2…といきたい所ですが,試験期間中なので多分参戦できません.

セルオートマトン #13 ルール11

ルール11
クラス2

時刻tでの状態■■■■■□■□■■□□□■■□■□□□■□□□
時刻t+1での状態



Fig.1 rule11

全体としては右に流れていますが,初期状態で連続していたところは左に流れているように見えます.結果としては周期的な状態に落ち着きます.これは結構サイケな感じでいいですね.

2010年2月5日金曜日

Project Euler

problem 23
problem 29
problem 50
Problem 108
Problem 112

Level 2になりました.

TopCoderの登録方法 (2011/07/14更新)

今回はTopCoderの登録方法について.
すでに多くのサイトで紹介されていますが,このブログが目に止まった方にも参加してもらえるようにと作りました.

登録方法:

http://www.topcoder.com/regにアクセス.下の画面になります.

ここでは自分が何に参加するかを入力します.

□Run My Own Contests
I want to start using TopCoder Direct
自分でコンテスト作りたいんだみたいな人だけ(多分).

□I Want to Compete
on TopCoder
on TopCoder Studio
High School (Secondary School) Registration
Single Round MatchやMarathon Matchに参加するだけならばon TopCoderにだけチェックを入れれば十分です.高校生の方は,3つ目にもチェックを入れるといいかもしれません.

Submitを押すと,長い情報入力が待ち構えています.


*は必ず入力しなければならない項目です.

□Name and Contact

*First Name:姓名の名(例:Taro)
*Last Name:姓名の姓(例:Tanaka)

Address,City,…には,住所を入力します.例えば,○○県□□市△△1丁目2番地3号の場合.
*Address 1:2-3, △△ 1-chome
Address 2:
Address 3:
*City:□□-shi

State(US Only):(入力必要無し)
Postal Code:xxx-xxxx(郵便番号)
Province:○○-ken

*Country:Japan
*Country to represent:Japan
*Timezone:Asia/Tokyo
Phone Number:(入力必要無し)
*Email Address:hogehoge@gmail.com
*Confirm Email Address:hogehoge@gmail.com
Email Notifications:どの情報をメールで届けてほしいか
*Enable Member Contact:メンバーとコンタクトをとるか
*Show/Hide earnings:獲得賞金の表示

□Account

*Username:表示される名前(例:hoge)
*Password:********
*Confirm Password:********
パスワード入力欄(上の2つの欄にはどちらも同じものを入力してください)
*Secret Question:秘密の質問
*Secret Question Response:秘密の質問の答え
(これらは多分パスワードを忘れた時に使います)
Quote:何かしらのメッセージ
Member photo:
自分の写真を公開することが出来ます.但し,自分の素顔(絵とかじゃなく)である必要があります.
*Student/Professional:学生or職業人
SSH Security Key:
おそらくそのままの意味です.特に設定していません.

Submitを押すと次の情報入力に移ります.

□Demographic Information

*Age:年齢
*Gender:性別
*Ethnic Background:人種(例:日本人ならAsian or Pacific Islander)
*Primary Interest in TopCoder:TopCoderの何に興味が有るか
*Shirt Size:シャツのサイズ
(何かしらのイベントもらえることがあるようです)
*College Major:専攻
*College Major Description:専攻についての説明
(“I belong to Computer Science.”とか書いておけば多分通じます)
*Degree Program:課程
*Graduation Year:卒業年
*Graduation Month:卒業月
*Clubs / Organizations:所属学会
Other Clubs / Organizations:上のリスト以外の学会に所属している時
*School:学校名
*Show / hide my school:学校名表示の可否
GPA:学生の成績評価値
GPA Scale:GPAの最大値
Resume:履歴書

Submitを押すと確認画面が現れ,もう一度Submitを押すと仮登録されます.
最後に入力したメールアドレスに認証用URLが送られるので,そのURLで認証すれば登録完了.

こんなメール

TopCoder Activation
Thank you for registering with TopCoder!
Your TopCoder activation code is **********
To activate your account, navigate to the following WWW URL:
http://www.topcoder.com/reg/?module=Activate&code=**********
If you cannot click on the web address above, please copy the address into your web browser to continue. If the address spans two lines, please make sure you copy and paste both sections without any spaces between them.

2010年2月1日月曜日

とど丸3号(リボルバータイプ)

とど丸3号(リボルバータイプ)をFig.1に示す.


Fig.1 Todo Maru No.3 Revolver type

これは某hara氏から頂いたものであり,マグネットを5箇所に装備してあるため非常に優れた収納性を有する.畳んだ状態でのとど丸3号(リボルバータイプ)をFig.2にしめす.


Fig.2 Todo Maru No.3 Revolver type(Pechanko)

この例からも分かるように,とど丸3号(リボルバータイプ)は,胸ポケットに丁度スッポリ入るという特性をもつ.

Project Euler

problem 12
problem 28
problem 46
problem 47
problem 49