connecting...
Google translation for articles :
4 NEMBER donated to you!!

【数学】カンタンな規則がつくりだすフクザツな現象

nem10.16xem (4) 328 4 0


みなさん、車の運転はお好きですか?


僕はあまり好きではないんですが、この記事をご覧の方の中には、
ドライブが趣味だったり、あるいは仕事で車を運転する方も
いらっしゃるかもしれません。



例えばみなさんが 一車線の道路を車で走っているとき、前の車と十分な車間距離があれば、
減速することなく、そのままのスピードで走り続けることでしょう。


でも、前の車がブレーキを踏んで停車した場合、自分も停車し、
前の車が再び動き始めて、十分な車間距離ができるまで待ってから、自分も再び走り始めますよね。
前の車が動き出したのと全く同じタイミングで自分も動き出すことって、あまりないと思います。


今回は、こんな単純な「車の進み方」のルールから、道路を走る車たちの流れをシミュレーションしちゃおう!
というお話です。



誰でもできる、「シミュレーション」講座



では、冒頭で僕が言ったことを、図で考えてみたいと思います。


まず、こんなふうに、道路をマス目に分割してみます。1マスあたり、車1台分の幅があると考えてください。
そして、この道路を走る車は、どこかのマス目にいるものとし、車がいるマス目は、赤く塗りつぶすことにします。

例えば下図のような感じです。


こうやって、道路を走る車の列を、白とのマス目で表現してみます。
では、冒頭で考えた「車の進み方」のルールを、再び図で考えてみましょう。



上の図ですと、車両と車両の間に、車一台分以上の十分な車間距離がありますので、




と、車は減速することなく走り続けます。これをさきほどの赤いマスと白いマスで表すと、

となります。赤いマスは、車がその位置にいることを表しているんでしたね。

でも、前の車が1秒間停車してしまったら、後ろの車も一旦停車し、車間距離が確保されてから
後ろの車も走り始めます。なので、以下のような流れになります。



これを赤いマスと白いマスで表すと、

となります。

つまり、冒頭で述べた「車の進み方」の二つのルール

・「前の車と十分な車間距離があれば、減速することなく、そのままのスピードで走り続ける」
・「前の車が停車して車間距離がなくなった場合、自分も停車し、前の車が再び動き始めて、
十分な車間距離ができてから自分も発車する」

は、赤いマスと白いマスで考えたとき、

①赤いマスは、右隣が白いマスだったら、1秒後に右隣に移動する、
②右隣も赤いマスだったら、1秒後もそのマスに留まる、

という二つのルールで表現することができます。

そして、この二つのルールを使ってシミュレーションを行うことで、道路で起こる現象を理解することができるんです。


例えば、下図のように各車が前の車と十分な車間距離を取れている場合は、ルール①により、
滞りなく、車は流れていきます:



しかし、一台の車両が事故を起こし、しばらく止まってしまうとどうなるか。
例えばある車が、5秒間停止してしまったとしましょう。すると、先ほどの二つのルール

①赤いマスは、右隣が白いマスだったら、1秒後に右隣に移動する、
②右隣も赤いマスだったら、1秒後もそのマスに留まる、

に従うと、


のように、車の流れに変化が起こります。図を見るとわかるように、車(赤く塗りつぶしたマス)が、
団子状態になっています。これが渋滞です。事故を起こした車が再び動き始めると、




という流れになります。一度大きい渋滞ができると、なかなか解消されないことが、
シミュレーションからわかります。このような図の変化を生み出しているのは、二つの単純な規則①②です。

こんなふうに、車の動きをシンプルに捉え、それをマス目の上でシミュレーションすることで、
複雑な渋滞のメカニズムを理解する、というのは、渋滞学 と呼ばれる理論の一つの手法です。


シミュレーションでは、次々と変化していく赤いマスと白いマスの列を考えました。このように、
各マスが、そのマスの近くのマスの状態で決まる規則によって
次々と変化していく仕組みのことを、セルオートマトンと呼びます。



ちなみに、上のシミュレーションでは、事故を起こした車の後ろを走っていた車は、
1マス分、つまり車一台分の車間距離を取っていました。



もし後ろの車が、車二台分の車間距離を取っていたとすると、次のような流れになります:



こんな感じで、できあがる渋滞の長さが、いくらか短くなっていることがわかります。さらに時間が経過すると、


となり、もう1秒経過すると、


となって、渋滞が解消されています。こうやってシミュレーションを考えると、
「車間距離を十分取るのって、渋滞解消案に有効なのかも?」という提案に繋がるわけです。

 

 

フクザツな模様ができるワケ



セルオートマトンが活躍するのは、渋滞学だけではございません。

ちょっとルールを変えて、次のような、「自分自身と両隣の状態」から決まる規則で変化していく
セルオートマトンを考えます:





わかりづらいので、ちょっと例を見てみましょう。

緑色の下線を引いた3つのマスは、左から、白白。なので、一つ前の図に示した規則から、真ん中の白いマスは、赤いマスに変わります。
黒色の下線を引いた3つのマスは、左から白白。ということで、真ん中の赤いマスは、赤いマスのままです。
青色の下線を引いた3つのマスは、左から白白。ということで、真ん中の白いマスは、赤いマスに変わります。

これを続けると、

 

というふうに変化します。矢印をとっぱらって、マスの色の変化だけ見ると、

となります。

さて、この変化をずーっと見続けていくと、どんな図形ができあがるでしょうか。
150秒間かけてできあがる図形をお見せします(赤の代わりに黒でマスを塗りつぶすと考えます):



どこか、布袋寅泰氏を思い起こさせる、不思議な図形ですね。
大小さまざまな 三角形 が連なっています。
1秒ごとの変化の規則はそこまで難しくなくても、できあがる図形はこんなに複雑なんですね。

 

なぜこんな規則をご紹介したかと言うと、このセルオートマトンと、とてもよく似た模様を持つ
貝殻があるからなんです。


(画像は、Wikipedia (https://ja.wikipedia.org/wiki/イモガイ) より転載)


タガヤサンミナシという貝です。
この貝、貝殻の表面に色素を分泌して、色を残しながら成長していくそうです。
ただ、ある箇所に色を残すかどうかというのが、その箇所にある色素細胞と、その近くの色素細胞

の活性化状態によって変わるんですって。まさにセルオートマトンみたいなルールで、色を残していくんですね。

実際のルールは、先に示したセルオートマトンのルールよりもっと複雑なのでしょうが、「神経分泌」
などのむずかしい話を知らなくても、色付きのマスと白いマスを使ったシミュレーションで、
近い模様を描き出せてしまう。それがセルオートマトンなのです!


セルオートマトンは渋滞学や生物学以外にも、波の動きのシミュレーションや、デザインの作成などに使われます。


 

ちなみに先ほど紹介したタガヤサンミナシという貝、神秘的な模様ですが、猛毒針を放ってくるんですって。


海中でセルオートマトンを見かけたときは、みなさん逃げましょう。


ということで、今日はここまで!


参考文献
・時弘哲治、「箱玉系の数理」
・ S.Coombes、「The Geometry and Pigmentation of Seashells」

Why don't you get crypt currency 'nem' by posting your blog article?

nemlog is blog posting service which has donation feature by crypt currency nem.
nemlog was launched to create environment which can be donated nem among NEMbers via blog articles.
Let's get nem by posting good blogs.

Nem prize event is being held frequently, Please join us on this opportunity!

nemlog registration from here
Register
Comments from NEMber
やってみよう
2019-05-09 19:41:09ID:115130

>>やそ::さん

確かに!よくわからない問題を解くより、
簡単なコードで視覚的に楽しいものができあがる方が学んでて楽しいですね。
「コード(規則)をこう変えてみたら、どうなるだろう」っていう意欲にもつながりそうです。

やそ
2019-05-09 07:53:09ID:114968

こういうプログラムを自分で作って見るところからプログラミングとかに入っていくのが一番プログラミングの勉強にもなる気がするんですよね。
コードが簡単な割に壮大なものが作れたり。

やってみよう
2019-05-09 02:17:48ID:114927

>>YUTO::さん

まさに仰る通りですね!セルオートマトンを使って、クリエイターズ同好会とサイエンス同好会の
コラボ記事みたいなのが作れないかな?て考えてたりします。
セルオートマトンて、浅い水路に発生する「ソリトン」ていう波を表すのにも使われて、物理とも相性が良いようです(^^)

YUTO
2019-05-08 22:12:07ID:114808

オートマトンってなぜそうなるのかはわからないけど、その性質は面白そうだし、その性質使ってお絵描きをすると、芸術性が高い絵になりそうですね!!

NEMber who posted this article

「やってみよう」は、プログラマであるタノウエと、数学を勉強しているカナクボが、共同で管理しているアカウントです。
勉強をして身に付けた NEM の知識や数学の話題を、随時投稿していく予定です。
22806
0