Strange Attractor ストレンジアトラクター
For those in the visual arts, chaos usually means strange attractors.
ビジュアル界隈でカオスと言えばストレンジアトラクターです。
An attractor refers to a stable state that a dynamic system eventually reaches over time. Think of a pendulum with friction coming to rest at a single point, or a metronome continuing its periodic circular motion.
アトラクターとは、動的な系が時間をかけて最終的に到達する安定した状態を指します。摩擦のある振り子が静止する1点や、メトロノームが刻み続ける周期的な円運動などを想像すると良いでしょう。
In these classical systems, friction and damping strip away the slight differences (the individuality of information) present in the initial conditions, making prediction easier as time passes. Even when starting from different positions, the system ultimately settles at the same place or converges to the same periodic pattern, meaning information about where it came from becomes unnecessary for describing future states. In this sense, classical attractors can be understood as systems that consume and forget information.
こうした古典的な系では、初期状態にあったわずかな差異(情報の個性)を、摩擦や減衰が削ぎ落としてしまうので、時間が経つほど予測が簡単になります。異なる位置からスタートしても、最終的には同じ場所に止まるか、同じ周期のパターンに収束ので、未来の状態を記述するのに過去のどの地点から来たかという情報は不要になります。この意味で、古典的なアトラクターは情報を消費・忘却するシステムであると言えます。
In contrast, a strange attractor is a complex collection of trajectories toward which a chaotically behaving system is ultimately drawn. Like ordinary attractors, trajectories remain within a certain bounded region, but within that region, neighboring trajectories exponentially diverge from each other, exhibiting wildly different behaviors.
これに対し、ストレンジアトラクターは、カオスな振る舞いをする系が最終的に引き寄せられる複雑な軌道の集合体です。ある一定の範囲内に軌道が留まる点では普通のアトラクターと同じですが、その内部では隣り合う軌道同士が指数関数的に離れ続けバラバラな動きが見られます。
Chaos and strange attractors are easily confused, but chaos refers to “the nature of the process (dynamics),” while a strange attractor refers to “the structure drawn out by the system (geometry).” Additionally, not all chaos necessarily converges to a strange attractor.
カオスとストレンジアトラクターは混同されやすいですが、カオスは「プロセスの性質(動態)」を指し、ストレンジアトラクターは「系が描き出す構造(幾何学)」を指します。また、すべてのカオスが必ずしもストレンジアトラクターに収束するわけではありません。
Clifford Attractor
クリフォードアトラクター
This is an attractor generated by discrete and iterative mapping. Surprisingly delicate patterns emerge from the simple update equations below.
離散的な反復写像によって生成されるアトラクターです。下のシンプルな更新式から驚くほど繊細なパターンが生まれます。
This short formula of the Clifford attractor is packed with the characteristics we’ve seen so far such as stretching, folding, and nonlinearity.
-
Nonlinearity: This equation is composed entirely of nonlinear functions, and .
-
Stretching: The coefficients and determine the density of the sine and cosine waves. The larger the values of , the more the input from the previous step is stretched, and the space oscillates more finely. The coefficients and determine the amplitude (scale) of the cosine terms. The larger these values, the farther the stretched points are thrown into distant regions and fed back into the next iteration.
-
Folding: For the system to form an attractor without diverging, values must be confined within a certain range.
-
Boundedness: No matter how large the input, the output of and is always , and with coefficients factored in, the result remains within a certain range.
-
Periodicity: Sine waves return once they reach their peak, making this the operation of “folding” the stretched space inward.
-
-
Mixing of information: Through the interaction of using to update and to update , vertical and horizontal stretching and folding occur simultaneously. This thoroughly churns the entire space like pastry dough.
クリフォードアトラクターのこの短い式の中にはこれまで見てきた、引き伸ばし、折り畳み、非線形性といった特徴が詰め込まれています。
-
非線形性:この式はすべての項が と という非線形関数で構成されています。
-
引き伸ばし:係数 と は、サイン・コサインの波の密度を決定します。 の値が大きいほど、前のステップからの入力が引き延ばされ、空間はより細かく振動します。係数 と は、コサイン項の振幅(スケール)を決定します。この値が大きいほど、引き伸ばされた点はより遠くの領域へ放り投げられ、次の反復へとフィードバックされます
-
折り畳み:系が発散せずにアトラクターを形作るには、値を一定範囲に閉じ込める必要があります。
-
有界性: どんなに大きな入力が来ても、、 の出力は必ず 、係数を加味しても結果は一定の範囲に収まります。
-
周期性: サイン波は頂点に達すると再び戻ってくるので、これ自体が引き伸ばされた空間を内側へと「折り畳む」操作そのものとなります。
-
-
情報の混合: の更新に を、 の更新に を使う相互作用により、縦と横の引き伸ばし・折り畳みが同時に行われます。これにより、空間全体がパイ生地のように徹底的に攪拌されます。
Can you try running the Clifford attractor step by step and see how the point moves at each step.
クリフォードアトラクターを1ステップずつ実行して点がステップごとにどのように移動するか見てみましょう。
Lorenz Attractor
ローレンツアトラクター
This is a model consisting of continuous differential equations proposed by meteorologist Edward Lorenz.
気象学者エドワード・ローレンツが提示した、連続的な微分方程式からなるモデルです。
Lorenz is said to be the source of the butterfly effect—the idea that a butterfly flapping its wings in Brazil could cause a tornado in Texas—but the famous 1972 lecture title was not his own creation. The metaphor used in Lorenz’s own paper was a seagull.
ローレンツはブラジルで蝶が羽ばたくとテキサスで竜巻が起こる、バタフライ効果の出所とも言われますが、有名になった1972年の公演タイトルは彼が考えたものではありません。ローレンツ自身の論文で使われたメタファーはカモメ(seagull)でした。
Unlike the discrete Clifford attractor, the Lorenz attractor shows us how stretching and folding work within the continuous flow of time (differential equations).
ローレンツアトラクターは、離散的なクリフォードアトラクターとは異なり、連続的な時間の流れ(微分方程式)の中で引き伸ばしと折り畳みがどのように行われるかを示してくれます。
represent the rate of change of with respect to time—in other words, these equations describe the velocity for each coordinate of .
は時間に対する の変化率、つまりこの式は それぞれの座標ごとの速度を示したものです。
Since the velocity changes whenever the position changes even slightly, these equations represent continuous change rather than stepwise change. But even though the equations are continuous, they must be implemented as a repetition of discrete steps on a computer.
位置が少しでも変わると速度も変わるのでこの式はステップごとではなく連続的な変化を示したものになります。ただし数式は連続でも、コンピュータ上では離散的なステップの繰り返しとして実装する必要があります。
Because the Lorenz attractor is chaotic, there is no way to predict the outcome other than actually running the system, and since it is impossible to run the system with infinite precision, the only option is to approximate by calculating the movement of points in short time intervals. This demo uses Euler’s method, multiplying the velocity at each step by a short time interval to move the point.
ローレンツアトラクタはカオスであるが故に、実際に系を動かす以外に結果を予測する方法がなく、そして無限の精度で系を動かすことはできないので、短い時間を単位として点の移動を計算して近似するしかありません。このデモではオイラー法を使ってステップごとの速度に短い時間を掛けて点を移動しています。
let dx = (sigma * (this.y - this.x)) * dt;
let dy = (this.x * (rho - this.z) - this.y) * dt;
let dz = (this.x * this.y - beta * this.z) * dt;
this.x += dx;
this.y += dy;
this.z += dz;
Continuous Time and Discrete Time 連続した時間とバラバラな時間
Let’s examine the equations in more detail.
-
Linear attraction: is a simple linear term, where determines the speed at which chases . is typically set to a fairly large value (10 is common), causing to chase very fast.
-
Nonlinear mixing: and : What’s crucial for generating chaos are the nonlinear terms like and in the second and third equations. Here, variables are multiplied together, which breaks the system free from simple proportional relationships (linearity) and dynamically alternates between acceleration and deceleration through combinations of positive and negative values.
-
Folding: pushes upward, and the elevated reverses the movement of through . What’s crucial here is that the term raising () and the term suppressing movement through () have opposite signs. This contrast creates a feedback loop that pumps outward-spreading energy vertically and folds it back inward. When you run it, you’ll see that is usually positive because chases , which keeps in the positive region as well. acts like a height value responding to how far is from the origin—and the moment this height exceeds a certain threshold (), the entire system switches direction.
-
Dissipation: and act like friction, draining energy from the system. They also serve as a force that causes the system to forget past minute fluctuations. Thanks to these terms, the system doesn’t diverge infinitely but remains confined within (= attracted to) a specific shape.
もう少し詳しく式を読み解いてみましょう。
-
線形な引き寄せ: はシンプルな線形の項で、 は が を追いかける速度を決めます。 は大きめな値(10 が一般的です)に設定され は を勢いよく追いかけるようになります。
-
非線形なかき混ぜ: と :カオスを発生させるために重要なのは、2番目と3番目の式に含まれる や という非線形項です。ここでは変数同士が掛け合わされることで、システムの挙動を単純な比例関係(線形)から切り離し、正負の組み合わせによって加速と減速をダイナミックに入れ替える役割を果たします。
-
折り畳み: が を押し上げ、高くなった が を通じて の動きを反転させます。ここで重要なのは、 を上げるための項()と、 によって動きを抑える項()の符号が逆転していることです。この対比が、外側へ広がるエネルギーを垂直方向へ汲み上げ、再び内側へと折り畳むフィードバックループを形成しています。実行するとわかりますが、 が を追いかけることで は大抵正になり、結果として も正の領域に留まります。 は がどれくらい原点から離れているかに反応する高さのような値として機能し、この高さが一定の値()を超えた瞬間に、システム全体の向きが切り替わります。
-
散逸: と は系からエネルギーを奪う摩擦のような役割をします。これらは過去の微細な変動を忘却させる力でもあります。この項があるおかげで、系は無限に発散することなく、特定の形の中に閉じ込められる(=アトラクトされる)のです。
The demo below slows down time and draws a single point, making it easier to see how current position affects movement. The white circle marks —in this code, the position where . Notice how the direction of movement shifts based on the relationship between z and .
下のデモは時間の流れを遅くして1点だけを描画することで、現在位置と動きの関係を見やすくしてみたものです。白丸は つまりこのコードでは の位置を示しています。z と の関係によって動きの向きが変わることが見て取れるでしょうか。
Let’s think of other visualizations that might help with understanding. Try displaying velocity vectors or the values of individual terms like . You can also calculate the square of velocity or acceleration—this makes it easy to see at a glance where buildup and acceleration are occurring.
他にどんな視覚化が理解の役に立つか考えてみましょう。速度のベクトルや など個別の項の値を表示してみましょう。他にも速度の2乗や加速度を計算すると、どこで溜めや加速が起こっているかが一目でわかります。
Physical Chaos
物理的なカオス
The strange attractor examples on this page are presented in succinct mathematical form—idealized and intentional representations of chaos. On the next page, we’ll explore chaos that arises more spontaneously in nature.
このページで見たストレンジアトラクターの例はカオスを簡潔な数式で、ある種理想的で意図的な形で表現したものと言えるでしょう。次のページではより自然発生的なカオスについて見ていきます。