news
[2010/06/27]
今年は妙に忙しくて、この半年で土曜・日曜
2日とも休めたのは1回しかありませんでした。
まあ、以前のような徹夜の日々ではないだけ
ましかも知れないのですが。
雑記
今日のお題は コラッツの問題。
2chとかの数学ネタでは割と良く出てくるのですが、
聞いたことが無いという方はこちらを。
コラッツの問題(wikipedia)
私が最初にこの問題のことを知った時(学生時代)に思ったのは、
これは ビットシフトと波形分析の問題だよな、ってことでした。
コンピュータのプログラミング、というか2進数を知っている人なら
分かると思いますが、
偶数の整数を2で割る、というのは(右端のビットがゼロの数を)
右シフトしてゼロを除く操作になりますし、
整数を3倍する、というのは 元の数と、それを1ビット左へシフトした数を
足し算することです。
00001010 ...(10進数だと10)
↓ 2で割るのは右シフト
00000101 ...(10進数だと5)
00000101
↓ 3倍は左シフトしたものを足す。
00000101
00001010
--------
00001111 ...(10進数だと15)
この2進数を電子回路のHigh-Lowのような感じで視覚的に表現すると、
コラッツの問題というのは、矩形波を(ずらしながら)
重ね合わせて行き、はじっこがゼロでない場合は
単位パルス波(00000001)をさらに重ねることでHighが打ち消されていく...
というイメージになります。
これは波形分析の自己相関分析(学生時代に卒論に必要で勉強してた)と
なんとなく似ているところがあるので、ちょっと印象に残ってるんですよ。
まあ、きちんと数学的に検討したわけでもなんでもないので
数学科の人なんかがみたら笑われるかも知れませんが。
とくにオチはありませぬ。 本当に雑記です。