2009年10月28日水曜日

ピタゴラ装置

NHKの子供の番組にピタゴラスイッチというのがある. そのピタゴラ装置で因果の列が次々と起きるのがまぁ面白い. 私はプログラムの面白さと相通じるものがあると考えている.

ところで, 11月28日の日経新聞の最後の面に, こういう写真があった.



記事は「転がれコロコロ遊び演出」というので, ピタゴラの仲間のようなものを作る話であった. そして写真のキャプションは「金属の玉が上がっていくようにみえる「コロコロ」」というのである. 新聞に説明はなかったが,なるほど, そういうことかと分かったので, Processingでシミュレートするプログラムを書いた.

http://playground.iijlab.net/~ew/korokoro/korokoro.html

にあるので, 見てください. 画面の内部でマウスをクリックすると, 最初に戻り, 再度始まる. (立ち上がるのに時間が掛るかもしれない.)

そういわれてみれば, 玉が上がっていくようにも見えなくはない.

2009年10月18日日曜日

日光御成道

川口から幸手まで歩いたのに続き, 川口の対岸の岩渕から本郷追分まで歩いた. 川口側は鎌倉橋という御成街道の出発点があるが, 岩渕側はどこが渡河点か分からないので, 新荒川大橋の, 荒川と新河岸川の中間の土手の上から出発した.

それから後は, 北本通り(きたほんどおり)を, 王子, 駒込, 本郷と歩くだけである. この道は自分でも車を運転したり, バスで通ったりしているので, 記録のための消化試合のようなものだ.

志茂のあたりで, 赤羽の辺から東の方に見える, Coit Towerのような塔が突然近くに現れた.

Coit Towerは, サンフランシスコへいった人は覚えていると思うが, テレグラフヒルに立つ塔である. そのCoit Towerにそっくりな塔は何かと思ったら, 北清掃工場であった.

王子から飛鳥山を過ぎたあたりに, 西が丘の一里塚が残っている. 御成街道で江戸から2里目である. 1里目は本郷追分にあったらしいが, 今はなにも残っていないから, これが最初の一里塚だ. (中山道の方は, 志村の一里塚が3里目で残っている.)



西が丘の一里塚


東大農学部の前を過ぎ, 本郷弥生の交差点を過ぎたところに, 日本橋へ4Kmの距離標があるので, そのあたりに一里塚があったのでないか.

東京大学が本郷に終結し始めたのは, 医学部の明治10年(1877年)だ. その頃の地図を見ると, 一里塚があったかもしれない. 夏目漱石の三四郎は, 明治40年頃の話だが, 兼安は出てきても, 一里塚の記録はない.

ところで, 岩渕から追分まで, 歩行2時間であった.

2009年10月13日火曜日

日光御成道

暑くもなく寒くもない街道歩きの季節だ. 川口から幸手まで日光御成道(にっこうおなりどう または日光御成街道)を2回に分けて歩いた. 37Km

そもそも日光御成道は, 徳川の将軍が家康をまつる日光東照宮へ参詣する際, 最初から日光街道(日光道中)を行くのではなく, 途中岩槻城に宿泊するため, 江戸から幸手まで岩槻経由の街道を整備したものである.

日光街道は日本橋から北へ向けて, 中山道と連れ立って出発するが, 室町で右折して分かれてしまう. 中山道は東大農学部の前の本郷追分で左折し, 一方, 御成道はそのまま直進し駒込へ向う. 王子, 志茂, 赤羽を経て岩渕で荒川を渡る. 東大前駅からは, 東京メトロ南北線沿いである.

荒川を渡ると川口. そこから鳩ヶ谷, 大門, 岩槻, 幸手の各宿と進む. 大門あたりまでは, ほぼ埼玉高速鉄道に沿っている.

今回の街道歩き. 一日目は昼から出発. 川口でまず善光寺へ寄ってみた. ここは善光寺号の機関車を陸揚げしたところで, それゆえ機関車は善光寺号と呼ばれることになる. 善光寺は東北線の荒川鉄橋から, 下流左岸の間近に見える青銅の屋根の寺院である.

その先の鎌倉橋の碑のところから, 13時半に街道歩きは始まった. 川口を通過し鳩ヶ谷に向う. 鳩ヶ谷変電所のところから105号線に分岐したので, 交通量は少し減る. 武蔵野線を東川口のあたりで越え, 大門へ. 大門は川口, 鳩ヶ谷に続くこの街道の宿場だが, もっとも宿場らしい落ち着いた通りであった.

やがて東北自動車道をオーバークロス. 今回はこの辺から, 足が少しずつ痛くなり, 野田の鷺山を過ぎた上野田で16時頃, リタイアした. 本来は岩槻までいくはずであった. その交差点から大宮駅東口行きのバスで帰宅した.

一週間後, バスで上野田へ戻り, そこから街道歩きを再開. 前回のように途中で足が痛くなったらどうするか, 心配した. 途中東武野田線の岩槻, 東武伊勢崎線の和戸, 東武日光線の幸手を通るが, それ以外は東武バスか旭バスがわずかに走っているだけだ.

まぁその時はその時とばかり, 歩き続けた. 幸いなことに, 今回は最後まで足は持った. 上野田を10時に出発. 11時半頃岩槻を通過. 65号線を歩いて, 幸手着15時であった.

こういう道でも, 一里塚はいくつか残っていた. 江戸から幸手まで12里なので, 全部あっても12個だが, その一つは一里塚を壊して岩槻区役所(もと市役所)が作られている. 相の原に一里塚が残っているそうだが, 気づかなくて残念であった. 一番ちゃんとしていたのは, 白岡下野田のであった.



膝子の一里塚




白岡下野田の一里塚


埼玉教育委員会編集 歴史の道調査報告書第二集 日光御成道 1984

2009年10月11日日曜日

正方化長方形

Tne New Martin Gardner Mathematical Libraryの2冊目にSquaring the Squareという話題があった. 正方化正方形とでもいおうか. 正方形を相異る正方形で埋め尽す問題である. 同じ正方形で埋め尽すなら22が4とか33が9とかに分割すれば出来るが, 相異るとなると出来るかどうか不明である. 本書によると1936年頃, ケンブリッジ大学の4名の学生が挑戦したらしい.

周囲が正方形なら非常に困難だが, 相異る正方形で長方形を敷き詰めるのは, 比較的容易らしい. 下の図の左がその一例で, 横61, 縦69の長方形が相異る正方形で敷き詰めてある. 正方形の中の数が, 正方形の辺の長さで, 最小のは2と書いてある. こういう図形を正方化長方形(squared rectangle)という.

例えばこの上に61掛ける61の正方形, 横に69掛ける69の正方形を置いても, 正方化長方形になるが, 内部に正方化長方形を持たないものだけを単純正方化長方形ということにする.



目から鱗なのは, これが右のような有向グラフ(Smith Diagram)に変換できることだ. つまり左の図の横線を節点にし, 正方形を弧として描き直すと右の図になる. 弧の値は正方形の辺の長さだが, このグラフの電気回路とみると, 弧の値はこの回路の電流となる. また各線の抵抗を1オームとすると, 弧の値は両端の電圧になる.

このグラフでは, 節点の入力弧は横線の上の正方形の幅の和だし, 出力弧は下の正方形の幅の和なので, 電気回路とすると, 入る電流と出る電流は等しことになる. また例えばAとDの間の電圧はAD直接でも, ABCDと回っても同じである. またこの回路のAへ外から入る電流, Fから外へ出る電流を1とすると, 次のような関係が得られる.



の左の図のように,

電流の出入り

A a + b = 1
B c + d = b
C e + f = c
D g + h = a + e
E i = d + f + h
F 1 = g + i

電圧関係

AD a = b + c + e
BE c + f = d
CE e + h = f
DF g = h + i

従って次の係数の連立方程式を解く.

a b c d e f g h i
A 1 1 1
B -1 1 1 0
C -1 1 1 0
D -1 -1 1 1 0
E -1 -1 -1 1 0
F -1 -1 -1
AD 1 -1 -1 -1 0
BE 1 -1 1 0
CE 1 -1 1 0
DF 1 -1 -1 0

(define eq '(
( 1 1 0 0 0 0 0 0 0 1)
( 0 -1 1 1 0 0 0 0 0 0)
( 0 0 -1 0 1 1 0 0 0 0)
(-1 0 0 0 -1 0 1 1 0 0)
( 0 0 0 -1 0 -1 0 -1 1 0)
( 0 0 0 0 0 0 -1 0 -1 -1)
( 1 -1 -1 0 -1 0 0 0 0 0)
( 0 0 1 -1 0 1 0 0 0 0)
( 0 0 0 0 1 -1 0 1 0 0)
( 0 0 0 0 0 0 1 -1 -1 0)
))

とし, 掃出し法のプログラムを書いて解いてみた. Schemeは分数で計算してくれるので, 最後は(-61/37 -28/37)が残る. つまり-61/37i=-28/37 だからi=(/ -28/37 -61/37) -> 28/61 従ってFから出る電流が1なので, g=33/61となる. 従って上の右の図のように, 33と28が得られる.

右の図はもう少し複雑な回路である.

a b c d e f g h i j k l m
A 1 1 1 1
B -1 1 1 0
C -1 1 1 0
D -1 -1 1 0
E -1 -1 -1 -1 -1
F -1 1 1 -1 0
G -1 -1 1 0
H -1 1 1 0
AD 1 -1 1 -1 0
AF 1 -1 1 -1 0
BE 1 -1 -1 -1 0
CG 1 -1 1 -1 0
FE 1 -1 1 0
HE 1 1 -1 0

(define eq '(
( 1 1 1 0 0 0 0 0 0 0 0 0 0 1)
(-1 0 0 1 1 0 0 0 0 0 0 0 0 0)
( 0 -1 0 0 0 1 1 0 0 0 0 0 0 0)
( 0 0 0 0 -1 -1 0 1 0 0 0 0 0 0)
( 0 0 0 -1 0 0 0 0 0 -1 -1 0 -1 -1)
( 0 0 0 0 0 0 -1 0 1 1 0 -1 0 0)
( 0 0 0 0 0 0 0 -1 -1 0 1 0 0 0)
( 0 0 -1 0 0 0 0 0 0 0 0 1 1 0)
( 1 -1 0 0 1 -1 0 0 0 0 0 0 0 0)
( 0 1 -1 0 0 0 1 0 0 0 0 -1 0 0)
( 0 0 0 1 -1 0 0 -1 0 0 -1 0 0 0)
( 0 0 0 0 0 1 -1 1 -1 0 0 0 0 0)
( 0 0 0 0 0 0 0 0 1 -1 1 0 0 0)
( 0 0 0 0 0 0 0 0 0 1 0 1 -1 0)
))

掃出した最後が(-336/167 -99/167)となり, (i j k l m)が後から順に(5/112 3/14 19/112 9/112 33/112) と得られる. つまり横幅は112の正方化長方形になったわけだ.

(ウェブでこういうページをみつけた.)