Hatena::ブログ(Diary)

小人さんの妄想 このページをアンテナに追加 RSSフィード Twitter

2013-05-22

数学振り子の最短時間停止

限られた力の大きさのブレーキを使って、振り子一次元の単振動)を最短時間で止めるには?


まずはゲーム感覚でやってみましょう。

以下のURLに、振り子の停止を試す Java Applet を用意しました。

>> http://brownian.motion.ne.jp/memo/StopPendulum/

Applet画面をクリックすると、青いボールの振動が始まります。

・青いボールにスラスター(ロケットブレーキ)をかけて、画面中央に静止させてください。

・画面左側(薄青)をクリックすると左に、 右側(薄赤)をクリックすると右に、スラスターが噴射します。

 (赤い三角形がスラスターのつもり。)

・最短時間でボールを止めるには、どのようにすればよいか?

Applet実行時には、以下のような警告ダイアログが表示されるかもしれません。

※ その場合は「リスクを受け入れて、このアプリケーションを実行します」を選択してください。

f:id:rikunora:20130522180845p:image


やってみるとわかるのですが、ボールの静止は見かけに反して意外と難しい。

ちょうどゴルフのように、ぴったり中央に寄せないと、うまく静止できません。

何度か試してみると、、、

【左右ルール】

振り子が左から右に移動するときには、右にスラスターを噴射し、

振り子が右から左に移動するときには、左にスラスターを噴射すれば、

うまく止まりそうだ、ということが分かります。


それでは、上記の「左右ルール」が、最も効率の良い停止手順なのでしょうか。

どうもそれだけではないようです。

例えば、ボールがもう少しで静止しそうな、微妙なときに余計な力をかけてしまうと、

かえって再加速して上手く静止させることができません。

ちょうどゴルフのパターで力を入れすぎてしまったような感じです。

どうやら最短停止のためには、

 ・ボールの位置

 ・運動の大きさ

2つの量を常に見張っておく必要がありそうです。


そこで、青いボールの運動をはっきり見せるように、画面上に緑のボールを配置しました。

緑のボールの、横の位置は青いボールと同じで、縦の位置は青いボールの運動の大きさを示しています。

つまり、緑のボールのXY座標は、青いボールの(位置)と(運動量)になっています。

(この緑のボールが動き回る空間のことを「位相空間」などと言ったりします。)

そして、最短停止の手順とは、

 「緑のボールがどの位置にあるとき、どのスラスターを噴射すればよいか」

といった具合に、緑のボールの領域によって示すことができるはずです。


最短時間停止となるような、緑のボールの領域とは、どのような形なのか。

結果を示すと、実はこんな風になっています。

f:id:rikunora:20130523001713p:image


大雑把に言えば、画面のおよそ上半分が左スラスターを噴射する領域で、

下半分が右スラスターを噴射する領域です。

これが先に挙げた「左右ルール」です。

しかし、それだけではありません。

左右スラスター領域の境界線はX軸そのものではなく、X軸上に描かれている半円の連なりとなっています。

この半円の半径は何で決まるのかというと、スラスター噴射の力の大きさ、

つまりブレーキをかける力の大きさで決まります。

青いボールが静止している状態からスタートして、スラスターをめいっぱい噴かしたときに到達する場所が、

ちょうど半円の直径となります。

なぜ、そうなるのか。

逆に考えて、ちょうど半円の直径の位置に青いボールが来たときに、

スラスターをめいっぱい噴かせば、ボールはスタート位置で静止するはずでしょう。

次に、青いボールが最初の(原点に最も近い)半円より外側にあった場合はどうするか。

この場合、スラスターを一発噴かして静止させることができないので、

左右何回かに分けて段階的に静止させることになります。

この「左右何回か」という挙動が、外側の半円の連なりを形作っているわけです。

ここのところは文章の説明よりも、Applet を何度も動かしてもらった方が実感できると思います。


実際、振り子の最短時間停止がこんな複雑な形をしているとは、想像も付きませんでした。

最短停止、奥深し、です。

以上の最短停止の答には、元ネタがあります。

最適制御理論、そして最大値原理の分かりやすい適用例として、この本に載っていました。

こうして試してみると、なるほど最大値原理とはこういうものかと納得です。


※ ちなみに今、世間を騒がせているミサイルは、こういった理論に基づいて飛んでいるわけで、

※ そして”彼ら”は間違いなくポントリャーギンを学んでいるはず。

※ 一方、適当な日本人に「最大値原理って何?」と尋ねたら、果たして何人が答を返してくれるだろうか。

※ それこそが国力だと思うのは、古い考え方なのかなぁ。


hirotahirota 2013/05/23 11:16 最大値原理と言えば、むかし勉強してたとき最初は日本語で書かれた本を教科書として読んでたんですが、いくら考えても説明が理解できず試しに英語の本を読んだらアッサリ理解できて、日本語の本を書いた人が分かってない事に気が付きました。
それ以来、日本人著者には疑いの目を持ってます。

rikunorarikunora 2013/05/27 14:39 最大値原理は、よく経済方面で使われていると聞いて、知人にその教科書を見せてもらったのですが、
どうも勝手が違ってサッパリわかりませんでした。そして結局は上の本に辿り着きました。
やはり食わず嫌いを改めて、英語の本を見ることにします。

hirotahirota 2013/05/28 11:50 最大値原理の中心アイデアは「到達可能錐」です。(これが標準的な訳かどうか知らない)
この定義を読んだだけで証明を読まなくても即座に全貌が分かるくらいの概念が日本語の本では全く触れてなかったので、こいつホントに勉強したのか?と思ったくらいです。
まあ、分かった原因は英語の本を読む前にさんざん悩んでたせいかも知れませんが。
英語の本はたぶん上の本の英語版だと思います。(他人の本を見せてもらったので記憶たよりだけど)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/rikunora/20130522/p1
リンク元