fc2ブログ
プロフィール

kazutabakun

Author:kazutabakun
好奇心旺盛でいろいろなことに興味を持つタイプ。

最新記事
Amazon
時計
最新コメント
最新トラックバック
カテゴリ
月別アーカイブ
FC2ブログランキング
気に入ったら下記をクリックしてください。

FC2Blog Ranking

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

ニューラルネットワークデモ

最近人工知能;AI (Artiicial_Intelligence)がいろいろな分野で適用されてきているようですが、あるサイトでこの人工知能の基本要素であるニューラルネットワークのデモを公開していました。下記にそれを示します。ニューラルネットワークを実感できて面白いですよ。

下記にデモ画面を示します。

スポンサーサイト



DNA事始め

ずいぶん間隔が空いてしまいました。鉄道模型レイアウトの話を続けたいのですが、なにぶん初心者なのにやりたいことがたくさんあって思うほどに作業が進まずしたがってブログに書けるほどの成果もまだない状況でずいぶんご無沙汰してしまいました。

今回は幾分ぶっ飛んだ話になりますが、DNA(デオキシリボ核酸)事始めの巻きです。しかしすぐに生物学の話をするのはあまりにも負荷が重すぎますので、今回は別の切り口でいきます。取り上げる本は坂村健先生の「痛快コンピュータ学」。DNAの話なのに何故コンピュータと不思議に思われるかもしれませんが、この本の中に面白い記述がありました。デジタル信号についてモールス信号から始まって、サンプリングと量子化(昨今の音楽ファイルや画像はすべてこの手法でデジタル化されていますね。)、2進法やブール代数等いかにもコンピュータの話題とおぼしき中に「生命もデジタルだ!」という項目があります。

坂村先生曰く:

アナログ信号は連綿と続く遺伝の連鎖の途中で劣化等により間違った情報が伝わってしまう。しかし自然はよく考えられていて、人類が生まれる前にもうすでに遺伝情報をすべてデジタル信号で伝える策を施している!!

DNAの場合は2進法ではなくて4種類のコードで表されている。DNAは高分子化合物だが4つの塩基が結びついたものである。たった4個!
A (アデニン)
C (シトシン)
G (グアニン)
T (チミン)


DNA.png
Wikipediaから転載


遺伝情報はDNA鎖上の3個の塩基を1セットとしてカウントしている。これを(トリプレット・コドン)と呼ぶ。
1つのコドン情報からアミノ酸が作られそのアミノ酸がDNAに記された順番に組合わさることで身体を作るタンパク質や生命維持に欠かせない酵素がつくりだされる。4種類ある塩基がコドンを作るのでその組み合わせは64種類になりそのうち61種のコドンは20種類のアミノ酸に対応し残り3個は遺伝子情報はここで終わりという目印に使われています。

トリプレットコドンの解読表
トリプレットコドンの解読表

略号一覧
略号一覧

上記のような記述がありました。なかなか面白いと思いました。

痛快!コンピュータ学 (集英社文庫)痛快!コンピュータ学 (集英社文庫)
(2002/03)
坂村 健

商品詳細を見る


PM2.5の世界的な分布

微小粒子状物質PM2.5(Particulate Matter)は髪の毛の10分の一の大きさで人体の肺の奥深くに侵入し、成分によっては喘息、気管支炎、心臓血管病などの疾患に多大な悪影響を及ぼすといわれている粒子です。昨今中国大陸から偏西風によって日本上空にも流れて来て大きな問題になっています。

正確なPM2.5の濃度測定には地上に設置した空気中の粒子を測定するセンサーが必要なのですが、開発途上国等ではそのようなデータを取る事が難しく、場合によっては不可能ともいえるのですが、その測定の不備を補う目的でNASAでは人工衛星をつかって宇宙空間からそのようなデータを測定できる方法はないか研究が続けられています。測定はMISR (Multi-Angle Imaging SpectroRadiometer)とMODIS (or Moderate Resolution Imaging Spectroradiometer) と呼ばれる人工衛星に搭載した分光放射照度計で実施されます。

上空からだと雲によって測定が邪魔をされたり、雪のような明るい場所では正確な測定が困難だとか、幾多の干渉問題を克服しなければなりません。最近のEnvironmental Health Perspectivesという雑誌にカナダのダルハウジー大学の研究者が発表したPM2.5に関する地図があります。この地図は2個の衛星をつかって全アエロゾルの総量を混合した値の分布を示したもので、NASAがWebで掲載してます。この地図は2001-2006年にわたる平均値をあらわしています。

800px-483897main_Global-PM-map.jpg

ただしここで注意しなければならないのは測定されているPM2.5の量が自然の粒子か人工的な物かの区別が困難だということです。都市近くの発電所や車の排気ガスに寄って発生する物や砂漠の鉱物の塵など色々です。今後の研究はどのようなPM2.5が健康にとって問題なのかを突き止めていく必要がありそうです。そのような課題はありますが、人工衛星を使ったこれらの測定結果はPM2.5環境状況をつかむ第一歩といえます。

さてこのような理解の上で上記の図をみると、主に旧大陸の赤道に近い領域に密度の高い所があるのがよくわかります。驚くのは北アフリカのサハラ砂漠地域での量の多さです。これらは多分自然にそのまま存在している粒子かもしれません。それと中国やインドの量の圧倒的な多さです。これらは人工的な産業廃棄プロセスによって生成されている粒子であると推察されます。偏西風の関係で日本にも影響があるのですがこの図では中国エリアの10%ぐらいの濃度で推移しているようです。

北アメリカも自動車の排気などで相当悪いと思ったんですが、この図を見る限りにおいては限られた都市部のみが極小的に高くその他の地域はあまり濃度がたかくない傾向を持っていますね。やはり広大な国土が幸いしているのでしょうか。NASAの説明では世界人口の80%以上の人がWHO(世界保健機関)の定める をこえたPM2.5を吸い込んでいることになるそうです。

詳細は:New Map Offers a Global View of Health-Sapping Air Pollution

上記の情報の他にWHO(世界保健機構)は2000年における大気汚染に関係する死亡者の国別分布は下記のようになっていると報告しています。単位は100万あたりの死亡者数です。
Air Pollution

NASAの発表しているPM2.5の図は地理的に粒子状物質が分布しているかを示していますが、WHOの図は国別なので、この二つの図を同じ観点から議論は出来ませんが、大体同じような傾向を示していますね。これをみると意外に日本の割合も高いことが分かります。

参照元: WHO; The urban environment




リーマン予想:素数の世界への探訪(その3)

今回はリーマン予想の第三弾です。今回はゼータ関数を少し脇に置いて素数定理について述べてみたいと思います。この記事はジョン・ダービーシャー著の「素数に憑かれた人たち」を自分なりに理解した内容で記述しています。本書は勘所を分かりやすく説明していて、あたかも自分が数学者になったような気分にさせられる憎い演出が施されています。

素数に憑かれた人たち ~リーマン予想への挑戦~素数に憑かれた人たち ~リーマン予想への挑戦~
(2004/08/26)
John Derbyshire、松浦 俊輔 他

商品詳細を見る


さて、前回までの記事は次のリンクでご覧頂けます。
リーマン予想:素数の世界への探訪
リーマン予想:素数の世界への探訪(その2)


リーマンの原論文は「与えられた量よりも小さな素数の個数について」という題名で発表された内容である事に注目したいと思います。つまりこの論文の目的は与えられた引数を考えた場合、以下の素数の個数を求める式を考案する事でした。

今この関数(素数個数関数)をと呼ぶことにしましょう。は数学では円周率をあらわしますが、ここのはギリシャ文字でpをあらわし素数(Prime)のpを意味します。したがって円周率そのものとは全く関係がありません。紛らわしいのですが、素数の個数をあらわす関数として慣習的に使われているのでここでもそれを踏襲します。

さてリーマンはこの を何らかの明示式(Explicit equation)であらわす事を試みました。を与えて計算をすると以下の素数の個数が正確に算出される計算式を導き出す事です。その手段としてまずリーマンはゼータ関数 などの考え方を予備段階で導入したのです。

今回はこの素数個数関数について少し考察してみたいと思います。のイメージをみるために百聞は一見に如かず、 が20位までの関数のグラフを書いてみました。このグラフは数値解析ソフトMaximaで描かれた物で確たる解析論的な数式から計算されたものではありません。しかし正確に をあらわしています。

第3-1図:素数個数関数(x=20)
素数個数関数(0_21)
ここでは1を素数に勘定していません。という感じですかね。暗算でも確認することができます。それでは引数を200位にするとどうなるかを描いてみました。

第3-2図:素数個数関数(x<200)
素数個数関数(0_200)
グラフがギザギザになっていますが鳥瞰してみるとグラフの傾きがが大きくなる程小さくなっているようです。さて問題はこのが大きくなっていった場合、解析的な近似がどのようになるか今回の話です。数学者というのは結構感を働かすことがあるのですが、ガウスなどは上記のグラフを見てグラフ曲線の傾きの逆数と自然対数の変化が似ているなと予想したのです。その辺の事情を下表のようにまとめました。

第3−1表:素数個数関数の近似
PNT_data6.png
(出典:素数に憑かれた人たち、すこしモディファイしました)

468px-Carl_Friedrich_Gauss.jpg上記の表から素数個数関数 が無限大に大きくなると等しくなると仮定しますと、下記の式が導かれます。表の一番右の欄を見てください。ただしこれはあくまで予想です。

  

これを変形して、下記のような関係がいえるのではないかということになります。これはあのガウスやルジャンドルが提唱したもので素数定理と呼ばれています。両辺を繋ぐ波のような記号は大体等しいという意味になります。

式(3-1)... 

更に話を進めてもう一つの近似式を求めてみたいと思います。 と名づけてその定義は、

式(3-2)...

とします。なぜここで急に積分などがでてくるのか?少々荒っぽいのですが、説明をトライします。上記の式(3-1)をよく眺めると変数 近傍の素数の密度(あるいは素数である確率)は

式(3-3)...   

近傍の微小区間にある素数の個数は

式(3-4)...   

と書くことができます。これは の変化の割合は のほうが相当大きいので が変化する 区間では の値はほとんど変わらないであろうという考え方が基にあるからです。さて区間 までの素数の総数は区間 からはじまりますので上記式(3-4)の和を取って下記の式を得ます。

式(3-5)...

これを滑らかにすると積分になるので式(3-2)が導かれます。さて、、

Maximaで計算した式(3-2)の値:
Li(x).png
%i26の計算は%i21と%o21でもとめたの値をから引いた計算で答%o26が-753になっているという事を示しています。

この値と比べた結果を下表3-2に示します。

第3-2表:素数個数関数の近似その2
PNT_data5.png
(出典:素数に憑かれた人たち、すこしモディファイしました)

この表を見ると先ほどの の近似式よりのほうが精度がいいのがわかります。この二種類の近似式と素数個数関数の関係を下記のようにあらわすことができます。

式(3-5)...   

これを素数定理(Prime Number Theorem; PNT)と呼びます。これら3組の関数は殆ど等しいという話です。

この3組の関数を の範囲でグラフにすると下図のようになります。

第3-3図;素数定理の様子
素数定理(0-2000)

赤のグラフ、 緑のグラフは、青のグラフは  です。

リーマンは彼の1865年の論文で、この程度の近似では満足せず、もっと直接をあらわす式をさがしたのでした。この辺は次回で。



リーマン予想:素数の世界への探訪(その2)

前回(2012年12月27日)のリーマン予想の続きです。今回は数値解析の無料ソフト「Maxima」を使ってゼータ関数の素性をさらに探りたいと考えました。

解析ソフト(Maximaなど)には既に組み込み関数としてZeta(x)が用意されていますので、その引数の条件を変えていろいろなグラフを描けます。が、それでは単にお絵描きをしているという程度の話で、本当にリーマンのゼータ関数を理解したことになるのかという素朴な疑問をもちました。そこでまずゼータ関数に関して少しおさらいをしてみることにします。前回の記事では明確でなかった関数の定義域についての考察も行いたいと思います。

それを踏まえてグラフを描いたのが今回の話題です。さて,,

ステップ1 下記の式から始まります。所謂原型です。

式(2-1)  

最後の書き方はそれぞれの項の和を意味していて、nが1から無限大までのあるいはの和という書き方と考えます。nは1を含む自然数です。式(2-1)は s>1であれば収束します。s<=1の範囲では発散してしまい答がありません。したがってこの形の式ではs>1のみを定義域と考えなければならないでしょう。

さて、式(2−1)が如何に素数と関係していくかを示しましょう。オイラーが仕掛けたやりかたを見ていきましょう。

を書けた式をつくりそれを式(1)から引きます。そうすると



上記の結果、うまい具合に分母の偶数部分(正確には2の倍数)が消えます。

式(2-2)   

同じやり方で上記の式(2)にをかけると

式(2-3)    

上記の計算の結果3とその倍数(9,15,21,27など)が消えていきます。さらに3の次の素数5を同じようにしてかけると

式(2-4)   

になって5の倍数が消えていきます。この段階では5以下は全て素数になっています。この作業はエラトステネスのふるいと呼ばれギリシア時代に考案された素数を探す作業の変形版とかんがえられます。さすがオイラーですね。この作業を繰り返すと左辺は全ての素数で構成する積の形の式になるのです。さて右辺はこの繰り返しにより1に近づいていく事が直感で分かりますね。この作業を無限に繰り返して進めたとして右辺を1にします。また右辺を全ての素数関数の積とかんがえると次のような式が導かれます。

式(2-5)   

少し形を変えて

式(2-6)   

これは式(2-1)に等しいので、

式(2-7)   

これはオイラーが素数の形であらわしたゼータ関数です。前回の記事で示しました式と同じ形が導入できました。

ただしこの段階ではsは1以上の数と考えられます。S=1の場合は調和級数と言ってもっとも慎ましく無限に発散します。s=-1と考えると式(1)は、

式(2-8)   
になり発散します。したがって上記の式はs>1の場合において意味を持っているといえます。

ステップ2 定義域の拡張その1:

このあとリーマンはこの関数を解析接続という手法を用いてこれを手直しをします。ただこのステップが高校程度の数学で展開できるようなシロモノではなく、結構苦労することになります。つまり上記の式では定義される変数の範囲がs>1であった物を全複素数領域で使えるようにしたのです。そこに飛ぶ前にちょっと準備運動をします。新しい関数を考えます。エータ関数と呼びましょう。次のような形をしています。



さて、ちょっとここでテクニカルな変更を加える事とします。このエータ関数を下記のように変形します。するとこのエータ関数は見事にゼータ関数であらわされることが分かります。

 


逆にエータ関数が分かればゼータ関数の値も求まりますね。

式(2-9)   

の変数sの定義域はs>0なのでゼータ関数の領域はs>0に広がりました。ちなみに になりますので  となります。もし式(2-1)だけを定義していればこのようにゼータ関数の0.5の関数値は無限大になって答がありませんが、定義を拡張する事でこのような有限の値を求めることができました。

ステップ3 定義域の拡張その2:

このような定義の拡張(解析接続)を全複素領域に広げてリーマンは下記のような漸化式を提唱しました。この式の導入はまた別途述べたいと思います。結構数学的な腕力が必要です。ここでは記するだけとしましょう。

式(2-10-1)     

ここで はガンマ関数と呼ばれている関数でn!(nの階乗)を複素数まで拡張した関数です。

または s=1-sと書き換えて、

式(2-10-2)   

これでゼータ関数は複素数全域で定義することができました。しかしこの段階でもs=1+0iの点は発散します。

また変数sがマイナスの偶数 だと  になりますがなのでゼータ関数はゼロになります。これをゼータ関数の自明なゼロ点といいます。前回の記事の第3図を参照してください。

またこの式は荒っぽく表現するとがきまるとが判明するという事です。もしs=1/2だと
になります。

さあようやくゼータ関数の全貌が見え始めました。上記式(2-10−1)および(2-10−2)から分かる事は がわかると が求められ、 がわかると が求められるわけですね。つまりs=1/2を中心にして複素平面上の左右上下が対称的につながっている事を示しています。

今使用しているMaximaやその他の数値解析ソフトは上記のような考え方を基本に計算できるようなアルゴリズムを用意したのですね。ゼータ関数はまだいろいろな表現方法がありますが、この話はこれぐらいにしましょう。

ゼータ関数のグラフ:

それでは、ゼータ関数の性質を調べる元々の道に戻りたいと思います。前回描画出来なかったグラフがMaximaで色々表現できました。それをここで述べたいと思います。

  Zeta(Re+Im)=0_2.png Contour(Abs(zeta(s)).png
 第2-1図                    第2-2図

第2-1図:ゼータ関数の実数部=0 (赤)、虚数部=0 (青)の二種類のグラフを同一面に描いた物。この二つの曲線の交点がゼタ関数のゼロ転位なります。図から分かるように負の偶数は全てゼロになっています。他のゼロ点は実数が0.5の虚数線上にあることが分かります。

第2-2図は同じくゼータ関数の絶対値を等高線であらわしたグラフです。同じように実数部が0.5上の直線に極点(ゼロ点)が存在することが分かります。

20130105234348349.png  20130105234349eae.png

   第2-3図                               第2-4図

さて上記のグラフは先ほどまでのものと違ってゼータ関数の実数部を横軸、虚数部を縦軸にとったものです。ある複素数(s)にたいしてゼータ関数が与える数値を描いたグラフです。この曲線は s=0.5+ti上をtを0から第2-3図は35まで、第2-4図は150まで動かしたときのゼータ関数の値です。スタートは

です。この値はこの記事の式(2-9)に0.5を代入して得られています。つまりですね。第2-3図も第2-4図も同じく-1.46..+0iの所です。ここからsが増加していくと反時計回りに曲線が動いていき、横軸を越えると時計回りになり、(0,0)を通ります。ここがゼータ関数のゼロ点ですね、0.5+35iまで動かしたのが第2-3図で0.5+130まで動かしたのが第2-4図です。

それでは0.5ではなくて0.3+tiと0.8+tiで同じようなグラフを書いてみましょう。

zeta-2_at_off_critical_line.pngzeta_function_at_off_critical_line.png
第2-5図                    第2-6図

第2-5図は0.3+tiでt<150まで。第2-6図は0.8+tiでt<150の範囲で描いたグラフです。ご覧のように両方とも曲線は0,0を通っていませんね。つまりこの2種類の変数sにかんしてゼータ関数はゼロ点を持っていないということになります。

なお、各グラフはその上をクリックしますと拡大されますので見やすくなります。

前回の記事でもコメントしましたが、数値解析はこのゼータ関数のゼロ点に関する証明を与える物ではありませんが直感としてこのような状況になっているという事は分かりますね。さて次回はこのゼータ関数と素数のもう少し深い関係を調べてみたいとおもいます。