不等式
俺 < 絶叫マシン ≦ 彼女 < ゴキブリ
半順序集合でないのが救い.
だいぶ前から不思議に思っていた「共役関数に関する双対性」にやっと具体的なイメージが沸いた.
数学的にきちんとした話をしたい訳ではないので,厳密な話はここでは取り扱わない.興味のある方は,共役関数やFenchel 双対性などで調べるべし.
感覚的に理解するために,(突然だが)次の二つの空間を考える.
A:生徒空間
B:基準空間
A は生徒全体から成る空間である.一方 B は「生徒を選別するような基準」を点(元)とするような空間である.
[普通のとらえ方]
基準を一つ決めれば生徒空間を二分割できる.なぜなら「生徒がその基準を満たすか否か」という選別が可能だからである.即ち,次の対応関係が成立する.
生徒空間での直線⇔基準空間での点
※何で二分割するのが直線だけやねん,とかいう突っ込みはもっともだがここでは無視.
[双対的なとらえ方]
生徒を一人決めれば基準空間を二分割できる.なぜなら「その生徒が満たす基準か否か」という選別が可能だからである.即ち,次の対応関係が成立する.
生徒空間での点⇔基準空間での直線
この意味で生徒空間と基準空間は双対的である.
これはまた,空間における領域に二つの決め方があることを暗示している.つまり,
[ボトムアップ的な決め方]
領域はその領域に含まれる点全体から成る
[トップダウン的な決め方]
領域は「空間を分断する直線の組」から成る
※凸領域じゃないと駄目でしょう,とかいう突っ込みももっともだがここでは無視.
そして,一つの空間でボトムアップ的な決め方をしている時は,もう一方の空間ではトップダウン的な決め方をしている事になる.もちろん逆も真.
やっとすっきり解決した.めでたい.
日本語に訳すと「行列補完問題」とでも言うのかな?仕事の関係でこの種の文献をいくつかあたる必要がありました.
どういう問題なのか大雑把に説明すると,
1.行列の成分のうちいくつかは値が判明している
2.行列は一定の性質Aを持つ
3.上記の性質Aを満たすように残りの成分を構成的に定める
2番目の性質Aによってさらに細かい問題種別に分けることができます.大事なのはむしろ3番目で,「性質Aを満たすように残りの成分が有すべき必要十分条件を求める」ではなく「性質Aを満たす具体例を手っ取り早く構成する方法は無いのか」という点が問題となってきます.
この分野を勉強する過程で,対称行列の変形とグラフ理論の間に結構関係がある事を知りました.具体的には行(=列)と同じ数だけの頂点を用意し,成分が 0 か非 0 かを辺の有無で表現するのですが,このグラフの性質から「上手く変形できるかどうか」を判定することができます.
これは最初に考えた人は偉いなあと思いました.
最近仕事の関係上,この分野の本を色々読む必要性が出てきているのですが,意外に読みやすいです.なんでかなと理由を考えてみたのですが,多分数学の本と比べると「つまり何をやりたいのか」ということがはっきりしてるからだろうなと思いました.
大体においてまともな数学の本だと「結局あんたは何がいいたいのか?」という所を補足するのに結構な時間がかかってしまいますが,最適化の分野だとそういう所にかかる時間が少ない気がしますね.
ただ,目的を探るまでを第一ラウンドとするならば,議論の細部を詰めていく第二ラウンドも当然あるわけで,こっちに関しては最適化の分野もそう簡単ではないです.特にネックとなるのが,大規模問題の取り扱い.どちらかというと実例をいじくり回すタイプの私としては,「このアルゴリズムは大規模問題に対してうまくいく」という説明を具体的に納得するのが難しい.いちいち全部プログラム書く訳にもいかんし,手計算で確認できるのは小規模な例だけです(まあ,そのためのアルゴリズムですからね).この辺は結構普遍的な問題ですな.
大学以上の数学の習得には、とにかく時間がかかると言われている。私もその主張に基本的に同感である。実際、今私が使いこなせる数学としては、それなりの時間をかけて習得したものしか残っておらず、適当に勉強したものはかなり頭の中から抜けている。
現在数学の研究者になっている方々は、基本的にある時期から朝から晩まで一日中数学をやるようになった人たちであることは疑いない。そういう人が主張する勉強方法が「一日中数学に浸かる」という方法であることは、ある意味当然だと言える。
しかしながら、(こういうことを言うと、数学屋さんには怒られるかもしれないが)「ある程度の時間をかけて、ある程度の数学を取得する方法論」みたいなものがあって良いと思う。社会人になってみて思ったが、理系の人間でも、大学教養程度の数学をきちんと使いこなせる人はまれである。いろいろ意見はあるだろうが、私見を言わせて頂くと、はっきり言って教養課程の数学は難しい(別に専門が簡単だと言っている訳ではない)。特に片手間で数学をやる人間にとっては習得は大変だと思う。一方で、数学科の連中のように、絶えず数学をする人間なら、(何度も目にすることになるので)いつの間にか自然に習得できる。
別に「毎日三分の学習で大学数学が理解できる本」とか、そういう主張をするつもりではない。ただ、それなりに数学に触れる人(適当だが、週に20時間程度)がそれなりの数学を習得する方法論があってよいだろうと思う。
高校数学と大学数学で、言葉の意味する所が違う為に混乱するというのはよくあるケースだろう。私が思うに、微分というのは、その最たるものの1つである。
実は(改めて実はと言う程のものでもないが)、「微分する」という言葉には二つの意味がある。ひとつは「局所線形近似する」という意味で、もう1つは「導関数を求める」という意味である。困ったことに、高校で取り扱う関数は大半が入力も出力も一次元のケースなので、両者の差がぼやけて見える。導関数が1つしかなく、それを求めることがそのまま局所線形近似(つまり接線)につながるからだ。
私は最初ここがわかっていなくて、全微分というのが何なのかさっぱりわからなかった。意外に私と同じ経験持ってる人いるんじゃないかなあ。
緩和法という言葉をご存知でしょうか?
理学部数学科の方にはあまりなじみの無い単語かもしれませんが、最適化の分野では頻繁に使われる手法です。まあ、(ある意味)手法と言えるほどのたいしたものでもなく、極論すれば単に条件を緩めた問題を解いているだけです。
条件を緩めた問題を解いて何がうれしいのかと言うと、得られた答えが本来の問題の解の下界値となるからです(勿論最小化問題の場合です)。
?という人の為にもう少し補足。例えば、条件A、B、C以下でのある関数の最小値を求める問題があったとします。そして、この条件Cというのが非常に厄介で、手も足も出ないような条件だったとしましょう。この場合、条件A、Bの範囲では最小値を求めることができます。ここで得られた最小値は本来求めたい最小値ではないものの、本来求めたい最小値より小さい値である事は明らかです。最小値自体の値に興味がある場合などは、こんなものを求めても役には立ちませんが、例えば「一定予算以内に収まるかどうか」という場合であれば、この手の手法を十分活用できます。何故なら、「条件を緩めた最小値が予算を上回る」のであれば、「本来の最小値が予算内に収まる訳が無い」と言えるからです。
結局やってることは、受験数学等でおなじみの「必要条件から答えを絞り込む」というのと殆ど同じなんですが、意外に応用範囲が広いです。
突然ですが、皆様数学と理科の違いをご存知でしょうか。
何々?数学は数学現象を取り扱い、理科は自然現象を取り扱う?まあ、それも間違ってはいませんが、私が言いたいのはそういう事ではありません。
実は、学問としての性質上、数学は演繹的で、理科は帰納的なのです。もう少し噛み砕いて言うと、「数学で一番偉いのは公理であり、理科で一番偉いのは実験結果である」とも言えるでしょう。例えば、数学の問題を解いているときに何か公理に違反する現象が出てくるようなら、それはその現象の導出過程に必ず何かしらの問題があります。一方理科では、実験結果で法則と異なった現象が見られても、直ちにその現象に問題があると結論づける事はできません。何故なら、数学とは違って法則自体が間違っているという可能性があるからです。あくまで理科の法則とは実験結果から演繹的に導き出されるものだからでしょう。
私が上記の事に気がついたのは、実は高校生の終わりぐらいでした。ですので、それまでは「何でわかっている事をわざわざ実験するんだ、あほらしい」てな事を考えておりました。浅はかでしたね。
意外に、この辺の話に気づいていない中学生・高校生はいると思うので、(特に理科の教師は)この辺の話を一度はきちんとするべきではないかなあと。
良く見に行くブログでこういうテーマが扱われていた。
私の結論を述べる前に、そもそも数学における定理とはどういうものか考えてみたい。
まず、「定理」がないと何が困るのか。仮にここに全知全能の神様がいたとする。神様は定理などなくても何も困らない。何故なら、神様には全てが明らかであるからだ。つまり、「定理」というのは、その主張を明らかと思えない人がいて、はじめて意味があるものである。
では明らかでないが成り立つ事柄は何でも「定理」とすればよいのかと言えば、それもまたおかしな話である。もしそんなことが成り立てば、世の中の数学の証明問題はほぼ全部定理という事になりかねない。よく使われる事実であるからこそ「定理」という汎用性の高い形でまとめる意味がある。
要は、「一見成立が明らかでなく」かつ「使用頻度が高い」ものが数学の定理として然るべきであると私は考えている。
前置きが長くなったが、「証明」という作業は「一見成立が明らかでない」ものを「明らかに成立する」ものに言い換える役割を果たしている。従って、「元々明らかな主張の証明」あるいは「読んでも理解できない証明」には意味がない。
「証明」を読む上で大切なのは、「不思議なこと」がどこでどう「明らかなこと」に変わったのかを意識すること、であると私は思う。論理を追うのは実は大して重要ではない。「不思議なこと」が「明らかなこと」に変わるためには、どこかに以前の自分では気づかなかった何か(当然これには個人差がある)があるはずで、証明を辿る中でそれを突き止めることこそが重要である。
なんか偉そうな文章になってしまいましたが・・・。まあいいか(^^)
独立行政法人化がなされた現在では、だいぶマシになったようであるが、京大理学部数学系の3回生前期の講義内容には、正直ぶったまげた。
私が3回生当時の講義は「ホモロジー論」「環論と体論」「積分論」の3つで、全て二コマ分の授業時間を使う。(後、微分方程式も確かあったような)加えてそれぞれの授業に相当する演習があり、これがまた二コマ分であった。
ホモロジー論では、単体複体のホモロジー及びコホモロジーを取り扱い(コホモロジーに関しては最後まではいかなかったが)、環論と体論では、環上の加群及びガロア理論等の体論を学ぶ。また、「積分論」ではルベーグ積分を取り扱う。
はっきり言って普通の人間なら、一日中数学をやっていても対処不能である。実際この時期、私からみて(抜群に出来るというわけではないが)それなりに優秀だった人間が、最前線から次々と脱落した。
大体2回生時に多様体をやらせる時点で間違ってると思うのだが・・・。
結果として、私は3回生時に幾何と解析を捨てた。後で解析に関してはある程度勉強し直したが、幾何は今でもよくわからない部分が多い。別に幾何や解析が嫌いだった訳ではなく、「気がついたら代数しかわからなくなっていた」というのが事実だ。
しかし、私が何より驚いたのは、当時2回生であったにもかかわらず全ての演習に出席し、難問を解きまくっていた人物がいたことだ(聞くところによると、数学だけでなく物理の演習でも同様だったらしい・・・)。また、彼の話は今後取り上げたいと思う。
たいそうなタイトルを付けてしまいましたが、そんなに特別な内容ではありません。今回書いてみたいなと思ったのは、
数学によるモデル化はどの程度信用できるのか
という話です。
少し昔の話になりますが、私は数学の研究者になるのを止めようと決めた後、最初に脳のモデル化の研究をしている研究室をいくつか訪問してみました。
「ああそうか、わかったぞ」と思った時、一体脳ではどういう事が起きているのか、という事を哲学的でもなく医学的でもないアプローチで捉えたかったというのが一番の理由です。
そこで私は自分の考えを教授に色々話してみたのですが、その時次のような事を言われました。
「どんなに良い脳のモデルを作っても、それはモデルでしかない」
若干意味の取りにくい文章なので、少し説明します。例えば私が何かしら脳のモデルを出したとします。このとき、「そのモデルが実際の脳とどれくらい近いのか」という事を判断する絶対的な基準が無いということです。
勿論、「人間の脳ならこれくらいはできてしかるべきだ」という基準をいくつか定めて、その条件をどの程度満たすのかという視点からモデルの良し悪しを決めることは可能です。
ですが、その基準を満たしたからといってそれが人間の脳の構造をきちんと表しているのかというと、当然そんな事はありません。
実は冒頭に述べた「数学によるモデル化」も、原理的にはこれと同じ問題を含んでいます。
確かに数学は、数学的に定義された対象に対しては(若干の問題点はあるものの)少なくとも間違った解を出すことは 100 %ありません。
しかし、「数学によってモデル化した問題がおかしな解を出す」という現象は十分にありえます。何故なら数学自体が間違うことはありませんが、「そういう風に数学を適用して本当に大丈夫なのか」という部分に関して人間が間違うことがあるからです。しかも始末の悪いことに、この間違いをきちんと摘出する完全な方法は原理的に在り得ません。
要は「数学は数学で説明できる範囲でしか答えを保障しない」という事ですね。確かに言われてみれば結構当たり前の話ですが。
私は「数学は現実世界とかなりの互換性を有している」と思っています。しかし、上記のような話も念頭においておかないと、思わぬところで足元をすくわれると思います。
社会人になって扱う数学が変わった訳ですが、半年ほど経過して「工学分野での数学と純粋数学でどの辺りが違うのか」がだいぶわかってきました。今日はこの話をしたいと思います。
もちろん工学の分野なので、「役に立つ」あるいはもっと端的に「金になる」事が要求されます。ですがこの辺りの事実は普通に考えれば当たり前の話で、学生時代の私でも気が付いていました。
学生時代の私に欠けていた視点は次の二つです。
1.求解時間による制約
2.近似の取り扱い
どちらも工学部の人から見れば当たり前の話かもしれませんが、私には新鮮な事だったのでどういう事か説明したいと思います。
1について、
純粋数学では解を得る手続きが有限回だとわかれば、そこで証明は終了です。例え10秒で解けようが、10億年かかろうが有限は有限です。
ですが工学の分野ではそれは困ります。これは「単に早いほうが有利だ」程度の問題では無いことに注意してください。
もちろん上に挙げた10億年とかいうような例はあからさまに駄目なのですが、場合によっては「1分なら OK だが2分では駄目」とかいう事がありえます。
例えば、「電車のダイアグラムが乱れた際に直ちに修正する事が必要である」というケースなどはこれに相当します。こういった問題の場合は、「時間はかかるが正しい解が得られる方法」は全く意味がありません。こういったケースがあることを学生時代はあまり意識していませんでした。
2について、
高校時代から私は近似というものが嫌いでした。「答えは正しいものが良いに決まってる。近似は近いかもしれないが、正解じゃないだろ。」とか勝手なことを考えてました。まあ間違ってるわけではないのですが。
しかしながら計算機を使う以上、値は近似で入出力せざるを得ません。ですが、近似には「して良い近似」と「良くない近似」があります。言い方を変えれば、「少しずれてても良い問題」と「少しずれるだけでおおごとになる問題」とがある訳です。天体望遠鏡のレンズ調整などは後者ですね。要は問題によって要求される精度が違うという事です。
ここでネックになってくるのは、「複雑な問題の場合、どこまでの近似が許されるのかよくわからん」という事です。そういえばうちの大学でも某教授(昔は2chに専用スレッドあり)が「変な値が出た時、問題の定式化が悪いのか、計算機の近似が悪いのか原因の特定するのは難しい」という話をのたまっていました。
現在この話を身にしみて感じています。
高校で数学を履修した人で、開区間と閉区間を知らない人はいないと思います。そこで問題です。
開区間は何故開で、閉区間は何故閉なのか
一言で言うならば「極限演算で閉じているから閉」というのが理由です。
以下、上の説明で意味がわからんという人用の説明。例えば、 a(n) = (1/2)^n という実数列を考えてください。この数列の第 n 項 a(n) は任意の自然数 n に対して開区間 (0,1) に含まれます。しかし、 a(n) の極限値 0 は(0,1)に含まれません。一方で、閉区間 [0,1] には両方とも含まれます。
大雑把に言うと、無限まで持っていって仲間はずれになってしまう可能性があるかないかと言う事ですかね。一般的に、極限演算に対して閉じている集合の性質を完備と呼びます。新しい空間を作って微分を定義しようと思っても、そいつが完備でなかったらナンセンスな訳ですな( ゚Д゚)y ー。実際、実解析、複素解析はあっても、有理解析はありません。有理数は完備じゃないですからね。
ココログベーシックでも「続きを読む」の機能がついたら便利なのですが、プラス/プロにグレードアップしないとこの機能がついてこないみたいです(-人-)。あんまりお金払いたくないので、しばらくはこれで我慢。
初めて C 言語を勉強したときに私には納得できなかった記号がありました。
それは、代入演算子 = です。
「= は等号だろう。なんでこれが代入やねん。」これが当時(といっても半年ほど前なだけですが)の私の素直な感想でした。
しかしながら、よくよく考えてみると数学の世界でもあいまいな記述(記号)と言うのはたくさんあります。 f(x) が関数そのものを指しているのかそれとも x の f による像のことを指しているのかという問題などは有名ですが、この件で私は = もそこまできちんとした記号ではないなあと感じました。
何故かといいますと、例えば C では条件判定をするときに演算子 == を用います。一方で、関数を実行した後の結果 x は返り値として return xで返されます。この結果を保存する際に代入演算子 = が用いられます。
ところが数学では、
このどちらも = で統一されてしまいます。
例1)
x-2=0 ⇒ x=2
(x-2=0 という条件が成り立つなら x は 2 である)
例2)
3+5=8
( 3 と 5 を足したら 8 になった)
もちろんきちんと述語論理で書けばこういう問題は起きませんが、数学の世界では結局わかればOKなのに対して、コンピュータ言語の世界ではコンパイラ様が全てなので、記号の厳密性という意味では後者のほうがしっかりしていると感じました。
某所で面白い問題を見つけました。
以下引用です。
正の実数 a と b が 1/a+1/b=1 を満たし、更に、ある自然数 m と n に対し [ma]=[nb] が成り立つならば、 a と b はともに有理数であることを証明せよ。
証明はそれほど簡単ではないですが、特に難しいというわけでもなく、大体次のような感じになると思います。
(pf)
[ma] <= ma < [ma]+1
[nb] <= nb < [nb]+1
この二つの式にそれぞれ 1/a 1/b を掛けて足し合わせると
[ma]/a + [nb]/b <= m+n <= [ma]/a + [nb]/b + 1/a + 1/b
条件より 1/a + 1/b = 1、また [ma] = [nb] が与えられているからこれを p (整数)と置くことができて、
p <= m+n < p+1
が言える。
p も m+n も整数なので等号が成立する。
これは最初に掲げた2式についても等号が成立することを意味する。
つまり
[ma] = ma
[nb] = nb
これより a, b は有理数。
ここまでは良かったのですが、この問題の意味する所を考えてはたと手が止まってしまいました。要約するとこの問題はこういう事を言っています。
「ある条件を満たす無理数 a, b に対しては、それぞれを何倍(自然数倍)してもその整数部分が一致することはない」
そんな事が許されて良いのか?
直感的にはむしろ成立しなさそうな気がするくらいの命題だったが、まあ入試問題に出るくらいだから間違ってはいないんだろうなあ、とか考えつつより直感的な証明がないかとしばらく考え続けました。
途中は省略しますが、この問題(元々の問題)は厳密には次のように言い換えられます。
「x >= 0 を無理数とする、このとき 1 + x , 1 + 1/x はそれぞれ何倍(自然数倍)してもその整数部分が一致することはない」
この命題も最初は納得いかんなあとか思ってたのですが、次のように考えることでおそらく正しいだろうという目星がつきました。
1 + x = x( 1 + 1/x)
なので、最初は x を自然数で近似することを考える。
これでうまくいかない場合は
h(1 + x) = hx(1 + 1/x)
h:自然数 なる h を用意する。
うまく h を取れば [hx] はいくらでも hx に近づける事ができる。
例えば、x = π としてみよう。
まず、x = 3.14.... なので最初は 3 と近似する。
このとき右辺は 3 + 3/x
左右比較すると、 [x] = 3 は良いのだが、
残念なことに 3/x < 1
よって左辺は 4 右辺は 3 となり整数部分は不一致(-人-)
(以下、右辺左辺とは、それぞれの辺にガウス記号を付けたものを考える)
次に 10x を近似する。つまり今度考える式は
10(1 + x) = 10x( 1 + 1/x )
このとき 10x = 31.41.... なので 31 と近似する。
このとき右辺は 31 + 31/x
左右比較すると、 [10x] =31 は良いのだが、またしても残念なことに 31/x < 10
よって左辺は 41 右辺は 40 となり整数部分は不一致。
これが何度も繰り返される。
では近似の方法が悪いのではないか?と考えるのが自然であるが、実はそうではない。
10x = 31.41.... を今度は 32 と近似してみよう(今度は上から押さえにかかった)
このとき考える式は
10(1 + x) = 32( 1 + 1/x )
となるので、右辺は 32 + 32/x
左右比較すると、今度は 10 = [32/x] は良いのだが、[10x] = 31 < 32 で今度は右辺のほうが大きくなってしまう。
(左辺 41 右辺 42)
いくら近似の精度を上げても(もちろん下げても)これと同様の現象が起こる事が証明できるので、ようやく私は納得できました。
1/a + 1/b = 1 という条件がそれだけクリティカルだという事だと思います。
最後になりましたが、私は証明できなかった本問の拡張を提示します。解けた人は教えて欲しいです。
「二つの無理数 a, b を自然数倍していったときの整数部分が排他的になるような(つまり今回の問題のような)無理数 a, b が満たすべき必要十分条件は何か」
ジャイアニズムと言えば
「お前のものは俺のもの、俺のものも俺のもの」
という変則共産主義的発想がもっとも有名ですが、
次のような主張もあります。
「いつ返さないと言った、
永久に借りておくだけだぞ」
のび太に漫画を返してくれといわれた時の台詞です。
まあ最初の主張よりはマシかと思いますが、残念ながらこの主張は述語論理的には正しくありません。
何故なら、
自由変数 t :時刻
命題 A(t) :時刻 t においてジャイアンの手元に漫画がある(便宜上、ジャイアンかのび太のどちらかが漫画を持ってるとします)
としたときに、
∀t A(t) ⇔ ∃t ¬A(t)
が成り立つからです。
ジャイアニズムと数学の共存は難しそうです。
10/2
訂正します。
∀t A(t) ⇔ ∃t ¬A(t) を
∀t A(t) ⇔ ¬(∃t ¬A(t)) に置き換えてください。
参考までに意味を書くと
左側:どの時刻でもジャイアンが漫画を持っている
右側:のび太が漫画を持っている時刻はない
となります。
今日本屋で適当に雑誌を読んでいたら、こんな記事がありました。
「学年に100人の生徒がいて、その100人の平均IQが100であることがわかっている。今、この中から無作為に50人を選び出し、その中の一人のIQを調べたところ150だった。この50人の平均IQはいくらか?」
少し考えた後、私は解答を100.5と予測し、答えのページを見てみたのですが、解答は何故か101。そこの解説いわく。
残りの49人の平均値は100と考えられるから101が正解。全体的に平らになるから100だと勘違いしないようにしましょう。
そうなのか?
私は統計とか全然勉強してないので、何か勘違いしてるのかもしれませんが、一人が150と判明した時点で、残りの99人の平均は99.5だと考えたら駄目なんですかね?納得いかんなあ。
誰か詳しい方いたら解説お願いします。
1=0.9999・・・・に納得がいかない人が
いるらしい。その理由を聞いてみると、
「0.9999・・・・は9がいつまでも並ぶだけで、
決して1ではないから」だそうである。・・・・(*)
ううむ。
「0.9999・・・・は、0.の後に
9がいつまでも並ぶ数だ」
という考え方が間違っている。
正確には「0.9999・・・・は、
0.9、0.99、0.999、・・と並べて
いったときの極限値である」が正しい。
極限値であるとはどういうことかと言うと、
必ずしも、「最終的に到達する値」を意味しない。
ただ、「どこまでも近づくことができる値」
というだけである。
だから、(*)の主張は(勘違いをしているだけで)
別にそんなにおかしい事は言っていない。
0.の後に9がどれだけ並んでも1にはならない。
しかしそれと、1=0.9999・・・・とは
また別の話である。
ついでに紹介。
学校では教えてくれない数学
ここにはこの手の数学ネタが結構あって面白いです。
Recent Comments