昨日の台風19号通過(2019/10/12)による被害を受けられた方にはお見舞い申し上げまます。以下の記事は、台風通過に伴う気圧変動を観測したものであります。
以下の図は、台風19号の軌跡です。この詳しい図は、北本朝展氏(国立情報学研究所)によるものです。各時点での進路予測計算の痕跡(色々な色の点や円)も表示されています。出典となるURLは図の中に記載してあります。前回の台風15号の場合と同様に、自作のAndroidアプリによって、台風接近通過の24時間に渡り、気圧の変動を観測しました。観測地点は厚木市です。
今回、この観測地点と台風中心の最短距離は約6km(下図のマップと、カシオの計算サイトで2点間距離を取得)という近さでした。そのため、気圧変動を明確に観測できる機会でもありました。以下が、上図の拡大図です。
以下に、観測した気圧変動(2019/10/12の02:00から24時間分)を示しました。最接近時には、台風中心気圧960hPaとほぼ同じ気圧まで、急速に降下しました。それだけ台風中心に近かったということだと思います。また、約20時間以上に渡って気圧が降下し続けたことは、台風の勢力(規模)の大きさを反映しているようです。20時間でほぼ50hPaも降下する状況は、ごく希にしか観測されないと思います。
例えば、日蝕が起こった場合には、子供を含めて多くの人がサングラスや黒色セロファンめがねで空を見上げて観測します。今回の記事はたいして意味は無いかもしれませんが、日蝕観察の場合と同じように、自然界の驚異と不思議を感じられるように思います。
もしも、複数の地点(埼玉、小田原、伊豆など)で同様の観測が行われ、気圧変動情報を交換できれば、台風の速度や勢力などをより具体的に把握できそうです。
I am a professor emeritus of CS at Kanagawa Institute of Technology, Japan. Originally my specialty was parallel and distributed systems. My current interests include machine learning, natural language processing, creating mobile apps with MIT App Inventor, and quantum computing. In the web version of this blog, clicking the icon on the right (a plastic sphere) will take you to the "List of Quantum Computing Articles". - Fujio Yamamoto (for e-mail, add "@ieee.org" after "yamamotof")
2019年10月13日日曜日
2019年10月11日金曜日
MATLABの強化学習Toolboxと自作Javaで簡単なGrid World探索
【要旨】MATLAB(R2019a以降)には、強化学習用のToolboxがある。それを使った簡単なGrid Worldの強化学習例題を試行した。同時に、自作Javaプログラムでも同じ例題を実行して理解を深めた。
前回の強化学習の記事では、参考文献[1]に従って、行動価値関数を計算するためのQ学習を、Javaプログラムを自作して、3x3の簡単なグリッドに対して行いました。そのプログラムを、もう少し複雑な例題に適用してみたいと思っていました。それに最適な例題が、最近アナウンスされたMATLABのReinforcement Toolboxの解説に載っていました。それをやってみました。
その例題の概要は図1のとおりです。詳細は、参考文献[2]をご参照下さい。5x5のグリッドワールドで、開始状態から終了状態までの、累積報酬が最大になる経路を学習させるものです。可能行動は、東西南北の4方向。障害物があり、また、special jump(ワープ)が設定されています。どの動きも次の状態で-1の報酬を得ます。罰としてです。例外は2つです。最終状態に達した場合は+10の報酬、また、特定の状態に到達した場合のみ、無条件に特定の状態にワープし報酬+5が動的に得られます。
これをQ学習で解くMATLABプログラムの主要部は図2のとおりです。Reinforcement Toolboxを使っているのが特徴です。詳細は、ここには書けませんが、これはPythonがMATLABになり、KerasがReinforcement Toolboxになったような感じです。
これを学習(training)させた結果が図3です。結論として、赤丸の軌跡が最適経路であることを学習できました。そして、その経路で得られた累積報酬額は、+11です。これが可能な累積報酬の最大値であることは明らかです。
今回の記事の本題は、実は、上に示した自作Javaプログラムでこの例題を解くことでした。結論を述べますと、自作プログラムでも同じ結果が得られて、ひと安心というところです。その結果が図4です。図4の右側は、各状態での行動価値関数を示しています。すなわち、赤い矢印は、その状態で、4方向の行動のうち、最大の行動価値(複数個あり得る)があることを示しています。したがって、赤い→をたどると最適経路となります。この学習の行動選択においては、ε-Greedy(単純なランダムではなく)を採用してみました。
最初に述べたとおり、今回は、自作Javaプログラムの動作を確認するのが主な目的であり、MATLABのReinforcement Toolkitの最も簡単な例題を対象としたに過ぎません。このToolkitは、もっと複雑で規模が大きい問題において、その真価を発揮しそうです。記述の簡便さだけでなく、高性能CPU/GPUや、Hadoopのような分散並列機構もバックで利用できるようになっているようです。
上記のようなグリッドワールドの問題でも、規模が大きくなると行動状態価値関数(Q値)の計算は次第に困難になることは明らかです。したがって実問題では、「関数近似法」が必要となります。関数近似のひとつとして、deep neural networkを利用するのが「深層強化学習(DQN: Deep Q-Network 等)」であり、これが現代の主流となっているようです。これについても、調べて書いて行く予定です。
【参考文献】
[1] 大内東、川村秀憲、山本雅人:マルチエージェントシステムの基礎と応用―複雑系工学の計算パラダイム、コロナ社、2002.(特に、3.2 強化学習、pp.70-90)
[2] 以下は、MATLAB(R2019a, R2019b)の強化学習用ツールボックスの説明
・Reinforcement Learning Toolbox
https://jp.mathworks.com/help/reinforcement-learning/index.html?s_tid=CRUX_lftnav
・Train Reinforcement Learning Agent in Basic Grid World
https://jp.mathworks.com/help/reinforcement-learning/ug/train-q-learning-agent-to-solve-basic-grid-world.html
・Create Custom Grid World Environments
https://jp.mathworks.com/help/reinforcement-learning/ug/create-custom-grid-world-environments.html
・Load Predefined Grid World Environments
https://jp.mathworks.com/help/reinforcement-learning/ug/create-custom-grid-world-environments.html
前回の強化学習の記事では、参考文献[1]に従って、行動価値関数を計算するためのQ学習を、Javaプログラムを自作して、3x3の簡単なグリッドに対して行いました。そのプログラムを、もう少し複雑な例題に適用してみたいと思っていました。それに最適な例題が、最近アナウンスされたMATLABのReinforcement Toolboxの解説に載っていました。それをやってみました。
その例題の概要は図1のとおりです。詳細は、参考文献[2]をご参照下さい。5x5のグリッドワールドで、開始状態から終了状態までの、累積報酬が最大になる経路を学習させるものです。可能行動は、東西南北の4方向。障害物があり、また、special jump(ワープ)が設定されています。どの動きも次の状態で-1の報酬を得ます。罰としてです。例外は2つです。最終状態に達した場合は+10の報酬、また、特定の状態に到達した場合のみ、無条件に特定の状態にワープし報酬+5が動的に得られます。
これをQ学習で解くMATLABプログラムの主要部は図2のとおりです。Reinforcement Toolboxを使っているのが特徴です。詳細は、ここには書けませんが、これはPythonがMATLABになり、KerasがReinforcement Toolboxになったような感じです。
これを学習(training)させた結果が図3です。結論として、赤丸の軌跡が最適経路であることを学習できました。そして、その経路で得られた累積報酬額は、+11です。これが可能な累積報酬の最大値であることは明らかです。
今回の記事の本題は、実は、上に示した自作Javaプログラムでこの例題を解くことでした。結論を述べますと、自作プログラムでも同じ結果が得られて、ひと安心というところです。その結果が図4です。図4の右側は、各状態での行動価値関数を示しています。すなわち、赤い矢印は、その状態で、4方向の行動のうち、最大の行動価値(複数個あり得る)があることを示しています。したがって、赤い→をたどると最適経路となります。この学習の行動選択においては、ε-Greedy(単純なランダムではなく)を採用してみました。
最初に述べたとおり、今回は、自作Javaプログラムの動作を確認するのが主な目的であり、MATLABのReinforcement Toolkitの最も簡単な例題を対象としたに過ぎません。このToolkitは、もっと複雑で規模が大きい問題において、その真価を発揮しそうです。記述の簡便さだけでなく、高性能CPU/GPUや、Hadoopのような分散並列機構もバックで利用できるようになっているようです。
上記のようなグリッドワールドの問題でも、規模が大きくなると行動状態価値関数(Q値)の計算は次第に困難になることは明らかです。したがって実問題では、「関数近似法」が必要となります。関数近似のひとつとして、deep neural networkを利用するのが「深層強化学習(DQN: Deep Q-Network 等)」であり、これが現代の主流となっているようです。これについても、調べて書いて行く予定です。
【参考文献】
[1] 大内東、川村秀憲、山本雅人:マルチエージェントシステムの基礎と応用―複雑系工学の計算パラダイム、コロナ社、2002.(特に、3.2 強化学習、pp.70-90)
[2] 以下は、MATLAB(R2019a, R2019b)の強化学習用ツールボックスの説明
・Reinforcement Learning Toolbox
https://jp.mathworks.com/help/reinforcement-learning/index.html?s_tid=CRUX_lftnav
・Train Reinforcement Learning Agent in Basic Grid World
https://jp.mathworks.com/help/reinforcement-learning/ug/train-q-learning-agent-to-solve-basic-grid-world.html
・Create Custom Grid World Environments
https://jp.mathworks.com/help/reinforcement-learning/ug/create-custom-grid-world-environments.html
・Load Predefined Grid World Environments
https://jp.mathworks.com/help/reinforcement-learning/ug/create-custom-grid-world-environments.html
ラベル:
MATLAB,
reinforcement learning
2019年10月8日火曜日
「強化学習」の基礎知識を素早く得るには...
[要旨] 強化学習の基本概念や手法を具体的に(お話としてではなく)学びたいという人は多いと思います。それが、20ページの説明を読めば実現できる!という体験を書きました。
●どのテキストを読めば良いか
強化学習(Reinforcemnet Learning)をタイトルにしたもの以外に、機械学習関係の書籍の中にも、強化学習が説明されている場合もあります。とりあえず、私のチョイスは以下の3冊です。参考文献[1]は、Suttonによるバイブルとも言われる書籍です。丁寧に書かれていますが、500ページを越える分量にちょっと圧倒されます。これは大相撲で言えば、三役級でしょう。参考文献[2]は、著者の教育研究経験から、「分かりやすさ、易しさ」を重視していますが、後半はかなり高度な内容となっています。少なくとも幕内級〜三役級。
参考文献[3]、これこそが、今回取り上げた「20ページで具体的に理解できる」書籍なのです。これは、大内東教授(当時北大)らが、2002年に出版したものです。タイトルは、マルチエージェントとなっていますが、第3章第2節「強化学習」20ページ分が素晴らしい。分かりやすく簡潔にして厳密な説明が一貫しており、簡単な例題に対しては自分でプログラムを書いて(書籍には示されていません)確かめることまでできます。これをマスターすれば、少なくとも十両級。
●20頁だけで学ぶ強化学習の基本事項
この書籍の強化学習で学ぶことは、マルコフ性とマルコフ決定過程、それに基づく状態価値関数とその計算のためのTD(0)学習、行動価値関数とその計算のためのQ学習などです。具体的な数式は図2のとおりですが、ここに出てくる記号、数式で挫折しないように、丁寧かつ一定の厳密さで説明されています。なかなか素晴らしと思います。
さらに、大規模な問題でQ学習を行う際に問題となる、「知識利用と探索のジレンマ」の説明もあります。Q学習の高速化を図るために、エージェントはランダム方策以外に、グリーディ方策やεグリーディ方策も取れることを、簡単な例で(その長所短所も)説明しています。
●簡単な例題に対してQ学習プログラムを自作する
基本事項を学んだあとは、簡単な例題で具体的に動作を確認することが重要です。この書籍では、3x3のタイルワールドにおいて、初期状態からゴールまでの最短経路をたどるタスクを取り上げています。図3(a)左側のものですが、ゴール状態に達した時のみ報酬10.0がもらえるようになっています。人間なら、それは最短経路は斜めに進むこと、と直ぐに分かります。この強化学習では、行動価値関数をQ学習で求めることにより、それと同じ結論に達します。図3(a)の右側にその様子を示しました。(右側の図はテキストには載っていません。自作です。)

図3(a)、図3(b)の右側のような学習結果を得るために、図4のようなJavaプログラムを書きました。50行ほどの短いものです。書籍には、Q学習アルゴリズムはPseudo Codeとして示されていますが、具体的なソースリストは提供されていません。それがまた良いところです。自作することで、強化学習の理解がさらに深まると思いますので。
●今後はどう進めるか
以上で、小生の強化学習は、幕下から十両まで昇進しました。(ちょっと甘いかも?)その後は、参考文献[2]や[1]がかなり読みやすくなると感じています。また、MATLABやAmazon AWSなどには、強化学習ツール/フレームワークがあり、種々のプロパティを設定するなど、宣言的記述を主とした少ないコーデイングでタスクを実行できる環境を提供しています。今回の基本知識を得た後は、それらも(それほど容易とは思われませんが)活用できるようになるかと思います。
[参考文献]
[1] Richard S. Sutton, Andrew G. Barto : Reinforcement Learning: An Introduction 2nd Edition (Adaptive Computation and Machine Learning series), The MIT Press, 2018.(pdf版は無償公開されているのでびっくりです)
[2] 曽我部東馬:強化学習アルゴリズム入門: 「平均」からはじめる基礎と応用、オーム社、2019.
[3] 大内東、川村秀憲、山本雅人:マルチエージェントシステムの基礎と応用―複雑系工学の計算パラダイム、コロナ社、2002.
●どのテキストを読めば良いか
強化学習(Reinforcemnet Learning)をタイトルにしたもの以外に、機械学習関係の書籍の中にも、強化学習が説明されている場合もあります。とりあえず、私のチョイスは以下の3冊です。参考文献[1]は、Suttonによるバイブルとも言われる書籍です。丁寧に書かれていますが、500ページを越える分量にちょっと圧倒されます。これは大相撲で言えば、三役級でしょう。参考文献[2]は、著者の教育研究経験から、「分かりやすさ、易しさ」を重視していますが、後半はかなり高度な内容となっています。少なくとも幕内級〜三役級。
参考文献[3]、これこそが、今回取り上げた「20ページで具体的に理解できる」書籍なのです。これは、大内東教授(当時北大)らが、2002年に出版したものです。タイトルは、マルチエージェントとなっていますが、第3章第2節「強化学習」20ページ分が素晴らしい。分かりやすく簡潔にして厳密な説明が一貫しており、簡単な例題に対しては自分でプログラムを書いて(書籍には示されていません)確かめることまでできます。これをマスターすれば、少なくとも十両級。
●20頁だけで学ぶ強化学習の基本事項
この書籍の強化学習で学ぶことは、マルコフ性とマルコフ決定過程、それに基づく状態価値関数とその計算のためのTD(0)学習、行動価値関数とその計算のためのQ学習などです。具体的な数式は図2のとおりですが、ここに出てくる記号、数式で挫折しないように、丁寧かつ一定の厳密さで説明されています。なかなか素晴らしと思います。
さらに、大規模な問題でQ学習を行う際に問題となる、「知識利用と探索のジレンマ」の説明もあります。Q学習の高速化を図るために、エージェントはランダム方策以外に、グリーディ方策やεグリーディ方策も取れることを、簡単な例で(その長所短所も)説明しています。
●簡単な例題に対してQ学習プログラムを自作する
基本事項を学んだあとは、簡単な例題で具体的に動作を確認することが重要です。この書籍では、3x3のタイルワールドにおいて、初期状態からゴールまでの最短経路をたどるタスクを取り上げています。図3(a)左側のものですが、ゴール状態に達した時のみ報酬10.0がもらえるようになっています。人間なら、それは最短経路は斜めに進むこと、と直ぐに分かります。この強化学習では、行動価値関数をQ学習で求めることにより、それと同じ結論に達します。図3(a)の右側にその様子を示しました。(右側の図はテキストには載っていません。自作です。)

次に少しだけ条件を変えてみます。参考文献[1]の例題にあった「ワープ」を取り入れてみます。すなわち、状態1に到達した場合は直ちに(そのステップにおいて)状態4へワープすることにします。それに対するQ学習の結果が、図3(b)右側です。Q(0,NE) = Q(0,E) = 9.0となったこと、また、Q(1,NE) = Q(4, NE) = 10.0となったことから、この場合もQ学習がうまく行ったと言えます。
図3(a)、図3(b)の右側のような学習結果を得るために、図4のようなJavaプログラムを書きました。50行ほどの短いものです。書籍には、Q学習アルゴリズムはPseudo Codeとして示されていますが、具体的なソースリストは提供されていません。それがまた良いところです。自作することで、強化学習の理解がさらに深まると思いますので。
以上で、小生の強化学習は、幕下から十両まで昇進しました。(ちょっと甘いかも?)その後は、参考文献[2]や[1]がかなり読みやすくなると感じています。また、MATLABやAmazon AWSなどには、強化学習ツール/フレームワークがあり、種々のプロパティを設定するなど、宣言的記述を主とした少ないコーデイングでタスクを実行できる環境を提供しています。今回の基本知識を得た後は、それらも(それほど容易とは思われませんが)活用できるようになるかと思います。
[参考文献]
[1] Richard S. Sutton, Andrew G. Barto : Reinforcement Learning: An Introduction 2nd Edition (Adaptive Computation and Machine Learning series), The MIT Press, 2018.(pdf版は無償公開されているのでびっくりです)
[2] 曽我部東馬:強化学習アルゴリズム入門: 「平均」からはじめる基礎と応用、オーム社、2019.
[3] 大内東、川村秀憲、山本雅人:マルチエージェントシステムの基礎と応用―複雑系工学の計算パラダイム、コロナ社、2002.
2019年9月21日土曜日
Dragonfly beautiful wings art
Each familiar insect has a mysterious ability. Among them, the flying ability of dragonflies is outstanding. Let's look at the beautiful structure of their wings. Below are the original photos by FoYo and their modified images.







![]() |
| a golden ringed dragonfly (Oni-yanma in Japanese) photo by FoYo |

![]() |
| a banded darter dragonfly (Miyama-akane in Japanese) photo by FoYo |


It may not be an appropriate question in this beauty excitement, but ...
Is it possible to artificially generate such a delicate and beautiful wing structure?
For example, a research team at Harvard University has created a mathematical model that can reproduce the wing structure with few parameters based on a geometric analysis using a database of insect wings patterns [1]. They show the result of generating a pattern of spreading from a thick primary vein to a thin secondary vein. I think they are quite successful, but there are also subtle differences between real wings and simulated wings.
There are also reports of observing the structure of dragonfly wings precisely with a Scanning Electron Microscope (SEM) or Computed Tomography (CT). Reference [2] shows the observation result by SEM. Since SEM has a deep depth of focus, clear images can be obtained that are in focus throughout. We are impressed by the clear images deep in the wing structure. On the other hand, reference [3] provides precise 3D images by CT scan. You can rotate and zoom freely over 360 degrees to see in detail up to the back of the wings. You can clearly see that the wings are not flat but are intricately raised.
In addition, there is another related study. Beautiful shape and structure should lead to high functionality. There is a report that created a very small machine called BionicOpter (like a kind of drone) that looks exactly like a dragonfly [4]. The actual flight video is also available. Compared to a real dragonfly, although it is somewhat inferior in smoothness, the demonstration of flying with four wings resembling a dragonfly is extremely wonderful!
Is it possible to artificially generate such a delicate and beautiful wing structure?
For example, a research team at Harvard University has created a mathematical model that can reproduce the wing structure with few parameters based on a geometric analysis using a database of insect wings patterns [1]. They show the result of generating a pattern of spreading from a thick primary vein to a thin secondary vein. I think they are quite successful, but there are also subtle differences between real wings and simulated wings.
There are also reports of observing the structure of dragonfly wings precisely with a Scanning Electron Microscope (SEM) or Computed Tomography (CT). Reference [2] shows the observation result by SEM. Since SEM has a deep depth of focus, clear images can be obtained that are in focus throughout. We are impressed by the clear images deep in the wing structure. On the other hand, reference [3] provides precise 3D images by CT scan. You can rotate and zoom freely over 360 degrees to see in detail up to the back of the wings. You can clearly see that the wings are not flat but are intricately raised.
In addition, there is another related study. Beautiful shape and structure should lead to high functionality. There is a report that created a very small machine called BionicOpter (like a kind of drone) that looks exactly like a dragonfly [4]. The actual flight video is also available. Compared to a real dragonfly, although it is somewhat inferior in smoothness, the demonstration of flying with four wings resembling a dragonfly is extremely wonderful!
References
[1] Jordan Hoffmann, Seth Donoughe, Kathy Li, Mary K. Salcedo, and Chris H. Rycroft: A simple developmental model recapitulates complex insect wing venation patterns, PNAS October 2, 2018 115 (40) 9905-9910; first published September 17, 2018
https://doi.org/10.1073/pnas.1721248115
[2] Dragonfly has a clever mechanism (in Japanese)
http://www.technex.co.jp/tinycafe/discovery67.html
[3] Golden ringed dragonfly (Oniyanma) CT scan images
https://ctseibutsu.jp/ex/sieboldsdragonfly.html
[4] BionicOpter Inspired by dragonfly flight
https://www.festo.com/group/en/cms/10224.htm
[2] Dragonfly has a clever mechanism (in Japanese)
http://www.technex.co.jp/tinycafe/discovery67.html
[3] Golden ringed dragonfly (Oniyanma) CT scan images
https://ctseibutsu.jp/ex/sieboldsdragonfly.html
[4] BionicOpter Inspired by dragonfly flight
https://www.festo.com/group/en/cms/10224.htm
2019年9月19日木曜日
Thank you for your interest in my app
Thank you for your interest since the MIT APP INVENTOR OF THE MONTH award for my app below:
Enjoy Reinforcement Learning in Tic-tac-Toe
To date (Sep. 19, 2019), the app's description web page has been accessed more than 500 times, and the app has been downloaded more than 200 times.
This greatly encourages me. I would like to further develop high-quality apps. Thank you for your support.
Enjoy Reinforcement Learning in Tic-tac-Toe
To date (Sep. 19, 2019), the app's description web page has been accessed more than 500 times, and the app has been downloaded more than 200 times.
This greatly encourages me. I would like to further develop high-quality apps. Thank you for your support.
2019年9月15日日曜日
ノスタルジックな響きのオニヤンマ
オニヤンマというトンボ、多くの人は子供のころに出会ったことがあると思います。最近では都市部ではあまり見かけないようですが、この「オニヤンマ」という、どこかノスタルジックな響きがなんとも言えない雰囲気を醸し出す。
ここひと月ほど、主に昆虫をスマホカメラなどで撮影して、その名前(種類)を一発で当てることにちょっと凝っていました。単に、Google LensというAIソフトを利用しているだけですが、ここにその記事があります。トンボも、赤トンボやシオカラトンボなど何種類か撮影して、それらの名前を得て楽しんでいたのですが、オニヤンマには出会えませんでした。
ところが、本日、予期せずに突然チャンスが訪れました。なんと、自宅のベランダの手すりに止まっているじゃありませんか!
逃げないうちに、デジカメとスマホを取り出し、何枚も写真撮影です。Google Lensで写真を認識させてみると、やはりオニヤンマのようです。オスはメスよりも一回り小さいとのことなので、これはオスかも知れません。
全体が美しいが、特に光の当たった翅は透明感が高く、先端付近の黒色の「縁紋」が際立つ。そして、翅の強度としなやかさを保持するためのボロノイ構造(フラクタルな構造と言えるかも知れない)がなんとも美しい。規則性と不規則性の融合に打たれる。

ここひと月ほど、主に昆虫をスマホカメラなどで撮影して、その名前(種類)を一発で当てることにちょっと凝っていました。単に、Google LensというAIソフトを利用しているだけですが、ここにその記事があります。トンボも、赤トンボやシオカラトンボなど何種類か撮影して、それらの名前を得て楽しんでいたのですが、オニヤンマには出会えませんでした。
ところが、本日、予期せずに突然チャンスが訪れました。なんと、自宅のベランダの手すりに止まっているじゃありませんか!
逃げないうちに、デジカメとスマホを取り出し、何枚も写真撮影です。Google Lensで写真を認識させてみると、やはりオニヤンマのようです。オスはメスよりも一回り小さいとのことなので、これはオスかも知れません。
全体が美しいが、特に光の当たった翅は透明感が高く、先端付近の黒色の「縁紋」が際立つ。そして、翅の強度としなやかさを保持するためのボロノイ構造(フラクタルな構造と言えるかも知れない)がなんとも美しい。規則性と不規則性の融合に打たれる。

だが、透明に見える美しい翅は、平坦な膜でなない。山と谷が微妙に織りなす平原のようになっている。折り紙のような構造になっているようだ。前述のように、これが飛行時に小さな渦を生じさせ、浮力(揚力)と関係しているとすれば、神秘性は増すばかりである。
2019年9月10日火曜日
生物の不思議は尽きないが、トンボの翅の巧みなしくみ
生物の不思議は尽きません。本記事は一例に過ぎませんが、Google Lensによる昆虫調べをやっていて(記事はここです)、トンボの翅(羽)の先端の少し手前に、小さな模様があることに気がつきました。下図のとおり、シオカラトンボであれば黒色、ミヤマアカネであればピンクですが、いずれも同じ位置(4枚の翅とも)にあります。これは何か意味がありそう、と思って調べたら、その通りでした!
(一昔前のOlympus XZ-1で撮影。光学4倍ズームゆえこれ以上は無理。)
下記の参考資料[1]にかなり詳しく解説されていました。結論から言いますと、それは「縁紋」と呼ばれていて、トンボの飛行を安定させるための特別の膜だそうです。縁紋の断面を顕微鏡写真で調べた結果、それは羽の他の部分よりも厚く造られており、三層構造の硬質な膜であることが分かったとのことです。翅脈は、縁紋を支える構造になっているようです。さらに、翅の膜全体は、フラットな1枚ものではなく、微妙に波打つ形状になっており、それによって生ずる渦が揚力を与え、安定飛行に寄与しているとのこと。
飛行機の翼にかかる不規則震動を抑えて、安定飛行させる装置は、この縁紋のある位置に取り付けるようになっているそうです。トンボは、太古の昔から、現代の航空力学、流体力学を先取りしていたのか!トンボの飛行は、セミや蝶などと比べると確かに安定していて、長い時間滞空できる。ホバリングさえしています。
トンボの翅や飛行に関する研究や観察は、他にも多数見受けられます。それだけ魅力があるのですね。例えば、参考文献[2]には、「トンボの翅の先端付近の形状は、懸垂線(カテナリー曲線)になっており、これが、飛行時の空気抵抗を軽減させる。」旨の記述もあります。改めて翅を見てみると下図のように、確かに懸垂線に近いようです。

トンボの翅や飛行に関する研究や観察は、他にも多数見受けられます。それだけ魅力があるのですね。例えば、参考文献[2]には、「トンボの翅の先端付近の形状は、懸垂線(カテナリー曲線)になっており、これが、飛行時の空気抵抗を軽減させる。」旨の記述もあります。改めて翅を見てみると下図のように、確かに懸垂線に近いようです。

また、翅の翅脈が下図のように、ボロノイ構造のようである。それによって、翅に強度としなやかさを兼ね備えるらしい。そればかりか、この構造が翅に栄養を効率的に送り込むとの説もある。これらに関する研究の一つとして、高校3年生による興味深い報告(参考資料[3])がある。
参考資料:
[1] タイニー・カフェテラス [トンボの巧みなしくみ]
http://www.technex.co.jp/tinycafe/discovery67.html
(このWebページの管理者の方は、電子顕微鏡のプロのようです。電子顕微鏡の素晴らしい写真も多数公開されています。)
[2] http://roroyako.com/index.php?飛翔メカとサイエンス
[3] 中河友里、濱野彩音、山田瑞季:トンボの翅脈にはなぜボロノイ構造が現れるのか
https://www.musashino-u.ac.jp/albums/abm.php?f=abm00004627.pdf&n=最優秀賞_広島大附属高等学校.pdf
(このWebページの管理者の方は、電子顕微鏡のプロのようです。電子顕微鏡の素晴らしい写真も多数公開されています。)
[2] http://roroyako.com/index.php?飛翔メカとサイエンス
[3] 中河友里、濱野彩音、山田瑞季:トンボの翅脈にはなぜボロノイ構造が現れるのか
https://www.musashino-u.ac.jp/albums/abm.php?f=abm00004627.pdf&n=最優秀賞_広島大附属高等学校.pdf
2019年9月9日月曜日
台風接近通過をスマホの気圧センサで観測する(その 2)
本件(その1)でご紹介した、Android向け気圧取得アプリを使って、台風通過時のデータを取得できました。それで、どんな意味があるの?という声も聞こえそうです。しかし、世の中そういったもの。「台風は低気圧である」 ことを実感できます。それで良いのです。実データで体験できる場面は少ないですから、価値があります。
観測地点は厚木市です。下図のとおり、台風進路からは少し外れていますが、それでもかなり近いですから、その影響は観察できます。
観測地点は厚木市です。下図のとおり、台風進路からは少し外れていますが、それでもかなり近いですから、その影響は観察できます。
作成したスマホアプリを、21:30ころから翌日06:30まで、連続稼働させて1分毎に気圧データを取得して、グラフにしたものが下図です。 台風接近に伴い、気圧が緩やかに低下しています。最接近の午前3時近くを下限として、台風が通り過ぎるのにともなって今度は上昇に転じています。これぞ、 「実感する台風」と言えるかも。台風の規模、勢力も実感できます。
上図では、約5時間で20hPaほど低下しています。通常のビルでは1階あたり0.4hPa〜0.5hPaの気圧差が生じますから、台風接近時には、40階〜50階のビルの1階と最上階の気圧差に相当する変動があると言えそうです。(素人計算なので信憑性に欠ける?)
もうすでに誰かがやっているかも知れませんが、SNS台風というのに繋がりそうです。厚木、横浜、東京、千葉等々で、こんな風に気圧グラフを持ち寄れば、思わぬことが見えてくる3Dマップになりそう。これもIoTだろう。
2019年9月8日日曜日
台風接近通過をスマホの気圧センサで観測する(その1)
[本稿末尾のソースプログラムの改訂あり。 2019-9-9]
台風15号(2019年)が関東地方へ接近しています。そんな時は、スマートフォンに内蔵されている気圧センサの活躍です。過去にも(2014年10月に)同じようなことをやりました。それは以下のとおりです。5年前のことですが、まず、以下をご覧下さい。
「接近する台風18号をスマートフォンでリアルタイム観測」
http://blog.cs.kanagawa-it.ac.jp/2014/10/18.html
今回は、誰でも、手軽に台風の接近、通過を気圧で確認できる簡単なアプリを作成しました。例えば、5分毎に気圧を取得してスマホのテキストファイルに格納します。それをメールでどこかへ送って取り出し、Excelなどで 上図のようなグラフを描いてみよう、というものです。リアルタイムではありませんが、「台風は低気圧」というのがよく分かると思います。以下のアプリです。
下記においてありますので、よろしければお使い下さい。
https://www.dropbox.com/s/x3trcqao78jgu1d/typhoon.apk?dl=0
(Androidで、.apkはプレビューできません、となっても、下辺中央のボタンを押してパッケージインストーラを起動すればインストールできるはずです。)
【注】通常、Android端末は、最大で30分でスリープします。そうすると気圧観測が停止していますので、必要に応じてスリープを止める必要があります。Android OSバージョンによって異なると思いますが、以下のようにできるはずです。
[設定]→[システム]→[開発者向けオプション]→[充電中スリープにしない]
【このアプリのソースコード1】以下のブロック図がその全てです。
気圧取得にTaifun_extensionを利用しています。また、メールで添付ファイルを送るために、標準装備のsharingブロックを使っています。(ただし、このプログラムは、気圧センサ用のextensionとユーザタイマーの干渉が起こり得るようであり、不要の気圧値が採取される可能性があります。)

台風15号(2019年)が関東地方へ接近しています。そんな時は、スマートフォンに内蔵されている気圧センサの活躍です。過去にも(2014年10月に)同じようなことをやりました。それは以下のとおりです。5年前のことですが、まず、以下をご覧下さい。
「接近する台風18号をスマートフォンでリアルタイム観測」
http://blog.cs.kanagawa-it.ac.jp/2014/10/18.html
2014年台風18号通過の観測
今回は、誰でも、手軽に台風の接近、通過を気圧で確認できる簡単なアプリを作成しました。例えば、5分毎に気圧を取得してスマホのテキストファイルに格納します。それをメールでどこかへ送って取り出し、Excelなどで 上図のようなグラフを描いてみよう、というものです。リアルタイムではありませんが、「台風は低気圧」というのがよく分かると思います。以下のアプリです。
下記においてありますので、よろしければお使い下さい。
https://www.dropbox.com/s/x3trcqao78jgu1d/typhoon.apk?dl=0
(Androidで、.apkはプレビューできません、となっても、下辺中央のボタンを押してパッケージインストーラを起動すればインストールできるはずです。)
【注】通常、Android端末は、最大で30分でスリープします。そうすると気圧観測が停止していますので、必要に応じてスリープを止める必要があります。Android OSバージョンによって異なると思いますが、以下のようにできるはずです。
[設定]→[システム]→[開発者向けオプション]→[充電中スリープにしない]
【このアプリのソースコード1】以下のブロック図がその全てです。
気圧取得にTaifun_extensionを利用しています。また、メールで添付ファイルを送るために、標準装備のsharingブロックを使っています。(ただし、このプログラムは、気圧センサ用のextensionとユーザタイマーの干渉が起こり得るようであり、不要の気圧値が採取される可能性があります。)

【別方式のソースコード2】以下のブロック図がその全てです。
ソースコード1とは異なり、ユーザのタイマーで気圧検出間隔を決めるのではなく、気圧センサ用のextensionが提供する、気圧変動イベントリスナーに基づいて、(スレッシュホールドを指定して)気圧を取得します。(この場合は、気圧取得時間が不等間隔になりますので、グラフを描く場合は注意が必要です。)
2019年9月1日日曜日
蚊の不快な"ぶうーん"音をスマホで再現(その2)
前回(その1)では、蚊の両羽の羽ばたき周波数に差をつけて、その合成音を聞くアプリを作成しました。その結果、うねり音も生じて、実物の蚊の羽音に近い音が聞けたような気がしました。しかし、自然界(生物現象)は、そんなに簡単なものではなかろう。
ならば、実際の蚊の羽音と比較すればよい。そう思ってWebを探したらありました。蚊の羽音を録音したmp3ファイルが!それを借用して、合成音と比較してみました。周波数解析ツールを使った比較も試みましたが、私には捕まえどころがありませんでした。それよりも、音の波形そのものを見比べて、ほとんど同じなのか、だいぶ違いそうかで主観的に判断することにしました。
そこで、本アプリにも、下図のとおり、「蚊の羽音の実例と合成音の比較例(一例のみ)」を、参考資料として載せることにしました。前バージョンと比較して、内容は同一なのですが、自然界への目の向け方を少し前面に出すことができて、自分としては落ち着きました。
この改訂版アプリは、以下に置いてあります。(Android用)
ならば、実際の蚊の羽音と比較すればよい。そう思ってWebを探したらありました。蚊の羽音を録音したmp3ファイルが!それを借用して、合成音と比較してみました。周波数解析ツールを使った比較も試みましたが、私には捕まえどころがありませんでした。それよりも、音の波形そのものを見比べて、ほとんど同じなのか、だいぶ違いそうかで主観的に判断することにしました。
そこで、本アプリにも、下図のとおり、「蚊の羽音の実例と合成音の比較例(一例のみ)」を、参考資料として載せることにしました。前バージョンと比較して、内容は同一なのですが、自然界への目の向け方を少し前面に出すことができて、自分としては落ち着きました。
この改訂版アプリは、以下に置いてあります。(Android用)
(Androidで、.apkはプレビューできません、となっても、下辺中央のボタンを押してパッケージインストーラを起動すればインストールできるはずです。)
登録:
投稿 (Atom)






























