TIME-TUNNELと名付けられたリバーシブルなルールである。ルール自体は、極めて単純だが、通常のセルオートマトンとは少し異なり、現在のセルの状態に加えて前世代の状態も次世代のセルの状態を決定する要素となっている。
ソースコードについての解説を少々。
: TIME-TUNNEL CENTER NORTH SOUTH WEST EAST
+ + + + { 0 1 1 1 1 0 }
CENTER' XOR >PLN0
CENTER >PLN1 ;
1?2行目は見ての通りで、中央(当該セル)の状態と東西南北で隣接するセル状態の総和を取り、0か5以外の場合には、スタックに1を置くというだけだ。
3行目に出てくる「CENTER'」には少々説明が必要だろう。CAM-PCには全部で4枚のビットプレーンがあるが、これをそれぞれPLN0、PLN1、PLN2、PLN3と呼んでいる。ここで、CENTERは、PLN0の当該セルの状態(0 or 1)を示す。対してCENTER'の方は、PLN1の状態を保持している。
さて三行目を見ると、この時点でスタックには前記の1?2行目で生成された値が置かれている。この値とCENTER'(PLN1)の値とのXOR(排他的論理和)を取って、それをPLN0に格納している。これが次世代の当該セルの状態となる。
四行目では、現在の当該セルの値をPLN1に格納することにより、次のステップにおける計算のために保存している。
つまり、このルールでは、過去二世代分のセルの状態から次世代のセルの状態が決定されているのだ。
理屈はこのくらいにして、CAM-PCを動作させてみると、フラッシングするサイケデリックな画面が強烈な印象を与える。初期状態の小さな正方形からスタートして、周囲にアクティブなセルが拡張され、しばらくすると円形の境界の中でセル空間が沸き立ったような状態となる。
ここで、状態遷移のルールを逆転させると、この沸騰した状態は、次第に秩序化されて行き、最後には初期状態の正方形に戻る。こうした反転が可能なルールは、HEX-BANGなどと同じだが、実に興味深い。初期状態が、セル空間全体の中に「記憶」として保存されているかのように思われるからだ。
なお、CAM-PCにより表示できる色は最大16である。このムービーが原色の生々しい色彩に満ちているのもそのためだ。この並列計算機からの画像出力端子は古のデジタルRGBなので、今となっては再生できるCRTはほとんど存在しない。
また、CAM-PCに対してコマンドを送ったり、ルールの定義や編集を行うためには、映像出力用のモニタとは別に通常のモニタが必要であった。つまり、一台のPCにアナログRBGモニタとデジタルRGBモニタを同時に接続しなくてはならなかったのである。Dos/V黎明期の日本では、この環境を構築するために50万円以上の費用を要したものだった。
以下にFORTHのソースコード全体を示す。
\ TIME-TUNNEL.EXP (CAM Book 6.3) 03Mar89nhm
This is a reversible, second-order rule. Alt-R reverses the
direction of time by exchanging the two bit-planes.
The initial pattern consists of a square box (which you can
get again with Alt-B); this yields an interesting evolution
sequence. DISK.PAT is also interesting with this rule.
After a while, go into reverse gear. If you start the run with
the step-number started at 0 (by pressing `0s'), the reverse
run will stop exactly where you started.
\ TIME-TUNNEL (read screen 0) 03Mar89nhm
NEW-EXPERIMENT N/MOORE HEX
: TIME-TUNNEL CENTER NORTH SOUTH WEST EAST
+ + + + { 0 1 1 1 1 0 }
CENTER' XOR >PLN0
CENTER >PLN1 ;
: Reverse -STEP#
-1 INVISIBLE 3 2 0 1 PERMUTE 0 INVISIBLE ; ALIAS R
: Box TEMP-SEG 2 2 AREA FFFF 0 VAL>PL
FFFF 1 VAL>PL
WHOLE-AREA ; ALIAS B
MAKE-TABLE TIME-TUNNEL
Box
Powered by
コメントする