サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
bitterharvest.hatenablog.com
6.米田の補題 今回の記事は、米田の補題(Yoneda lemma)である。圏論の定義の中で、個人名がついている定理や補題はそれほど多くない。これから紹介する補題は、数少ない例の一つである。そして、重要な定義であることには間違いない。それも、かなり難解なものと想像してもよいだろう。でも、圏論のすばらしさを知るためには、この補題の理解を欠かすことはできない。 米田の補題はとても抽象的な理論であるが、この理論を正確に理解するためには、具体的な応用例が必要だ。そこで、今回もまた、具体的な例を求めて、長い時間をかけて検討した。やっとまとまったので紹介しよう。 6.1 具体例 1) 横歩きするカニ リモコンからの遠隔操作でおもちゃを動かして楽しんでいる人も多いと思う。ラジコン飛行機、レーシングカー、最近では、ドローンだ。コントロールボタンを操作することで、これらの機器が自由に動き回る。何とも面白いお
2.コモナド 今回の記事はコモナド(余モンドとも言われる)だ。モナドはあちらこちらで出会うことが多いが、コモナドについての説明はそれほど多くない。今回の記事でも示すが、実はコモナドの概念はとても面白く、現実の世界の中でこれはコモナドではと思うことが多々ある。同窓会などで、久しぶりにかつてのクラスメイトに会って、昔話に話を咲かせているときに、思い出が違っていることにビックリすることが往々にしてある。事実は変わらないはずなのだが、年月がたつにつれてそれぞれの記憶が変容し、異なってしまったのだろう。これなどコモナドのよい例だと思うのだが、正しいかどうかは記事を読んでから確認して欲しい。 2.1 コモナドの定義 コモナドとモナドは双対概念だ。コモナドは、モナドを定義したときの射の矢印の方向を反対にするだけなのだが、その概念から受け取る感覚は、随分と異なるものになる。圏論でのモナドは哲学からの借用語
『プログラマのための圏論:上級編(上)』はこれまで、プログラマのための圏論(上級編)で説明してきたことをまとめました。圏論での重要な概念である、極限、米田の補題、随伴関手についてまとめてあります。
5. 表現可能関手 日本の歴史を学んでいるといくつもの学説に出会う。それらの中で、圏論との関わりが面白いと思った学説が中世史にあったので、それを最初に紹介しよう。 一つは、「権門体制論」である。黒田俊雄氏の学説で、中世の国家体制は、公家権門(執政)、宗教権門(護持)、武家権門(守護)の三つの権威から成り立っていて、それらは相互補完的な関係にあると主張されているものである。 また、佐藤進一氏は、室町時代初期の統治体制を「将軍権力の二元論」だと言っている。これは将軍権力が主従的支配権と統治的支配権に分割され、運用されているという学説で、主従的支配権はいわゆる「御恩と奉公」を基盤とした軍事、統治的支配権は「建武式目」をベースとした法による統治である。 二つの学説に対しては賛否両論があるようだが、歴史認識から離れて、数学の圏論という立場からは、構成要素を重視している「権門体制論」は「対象」という視
4.自由モノイド 圏論では、普遍性という概念はとても大切である。普遍性は、その言葉が示すように、数学の多くの分野で共通する性質を示したものである。前の記事で説明した極限と余極限も広い分野での共通の性質であるため、圏論での重要な普遍性の一つとなっている。ここでは、普遍性のさらなる例として自由モノイドを説明する。 4.1 自由モノイドの定義 加算や乗算などの二項演算子を用いて計算されるものはモノイドと呼ばれる。モノイドについても普遍性を考えることができる。それは自由モノイドと呼ばれるものだ。これを説明するために、モノイドについて、まずは、集合論での定理から始めてみよう。 1)集合論での定義 集合論でのモノイドは、ある集合\(M\)に対して、 1) 二項演算子\(\mu\)が存在し、\(\mu : M \times M \rightarrow M\)である。 2) 単位律が成り立つ。即ち、単位元
bitterharvest’s diary A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語
プログラマのための圏論(初級編)では、自然変換まで説明した。ここまで理解すると本当の意味で圏論を自由に扱えるようになる。上級編では、これまでの理解を踏まえて、さらに圏論の奥義を学ぶことにしよう。 1.極限 圏論の特徴は抽象階層だと思う。圏は、対象と射によって構成される構造だ。従って適当に、対象と射を選ぶことによって、圏を作ることができる。下図では、圏\(\mathcal{B}\)は、対象\(A,A’\)と射\(f,f’,f’’\)により構成されている(圏を構成するには、このほかに、合成や恒等射などを必要とするがここでは本質的なものだけで記述する)。 さらに、圏を対象にして、圏と圏との関係を射とすることで、抽象的な圏を作成することができる。この操作を繰り返すことで、より抽象的な圏を得ることができる。 下図では、圏\(\mathcal{B}\)を対象\(B\)にして、新たな圏\(\mathca
『プログラマのための圏論』は(上・中)の後の部分をまとめ(下)にしてPDFファイルにしました。参考にしてください。なお、(上)のホームページはこちら。 (中)のホームページはこちら。
『プログラマのための圏論』は(上)の後の部分をまとめ(中)にしてPDFファイルにしました。参考にしてください。なお、(上)のホームページはこちら。
『プログラマのための圏論』はこれまでの分をまとめてPDFファイルにしました。参考にしてください。
2.圏の定義 圏論の核となる圏の定義はとても単純である。抽象化は、細かいことを切り捨て、本質となている部分を取り出していく作業である。別の言い方をすると、数学の様々な分野での固有な部分を切り捨て、それらに共通する部分を抜きだすことである。圏論は抽象化の結果なので、その定義が単純なのは当たり前だとも思えるが、抽象化された後に得られた概念が大切なので、それらを少し詳しく説明する。 2.1 対象 数学で一番重要な概念は、等しいという概念だと思う。等しいという概念を最初に理解するのは、おそらく、三角形の合同だろう。二つの三角形を重ね合わせることができるなら、二つの三角形は等しいと学ぶ。しかし、これでは、数学的な厳密性を欠くので、一片とその両端の角がそれぞれ等しい時、二つの三角形は合同であるなどというように定義される。 三角形の合同は、それぞれの三角形の細かな違いを無視している。もしかすると、それぞ
1.初めに これまで、さまざまな言語でプログラミングしてきたが、一番満足しているのはHaskellである。なぜという問いに一言で答えるならば、バグが入りにくい、あるいは、プログラムが信用できるということだろう。 この記事の前に、量子力学の世界をHaskellで構築することを試みた。連続系についてはまだ説明の途中であるが、その基本となる離散系については完成している。量子力学は物理の世界でも難しい分野の一つだ。概念的に複雑な世界を記述しようとすると、とても、抽象度の高いプログラミング言語を必要とする。 現在のHaskellは、圏論(category theory)という数学を応用したプログラミング言語である。他の学問と比較すると、数学は抽象度が高い。圏論は、その中で、最も抽象度が高い分野の一つである(圏論よりも抽象度が高いのは最近話題になることが多いホモトピー型理論だ。この理論がプログラミング
1.型付きラムダ計算 バークレイの修士課程の学生だったころに、後にチューリング賞をとることになるM. Blum教授から"Theory Of Algorithms"の講義を受けた。日本の講義と比較すると、バークレイの先生たちの多くは、系統だってわかりやすく説明してくれるので、講義を楽しむことができた(もちろん、日本にも講義の上手な先生は何人かいました)。しかし、この授業だけはチャーチのラムダ計算を説明してくれた部分が難解で、教科書を何回も何回も読み直し、理解するのに随分と時間を費やした。その時の努力のおかげで、ラムダ計算に抵抗を感じることがなくなり、その後で、LispやSchemeを楽しむことができた。さらにめぐって、Haskellを好むようになるとは、講義を受けているときは想像もしなかった。 今回の記事は、型付きラムダ計算とデカルト閉圏に関する最近の研究内容である。といっても、筆者のもので
1.量子力学を学び始める 今年になってから、量子力学関係の本を多読した。いろいろなことが分かって、量子力学の中に潜んでいる数学の部分をHaskellで表現することに興味を抱いた。少し、長い連載の記事になると思うが、紹介してみたいと思う。といっても、いきなりHaskellのプログラムを示すわけにもいかないので、様々な話題を取り上げて、まずは、量子力学に馴染むことにしたい。 量子力学の本を読むきっかけとなったのは、ジム・アル=カリーリとジョンジョー・マクファレンが書いた『量子力学で生命の謎を解く』である。この本の中に、ヨーロッパコマドリが量子力学を利用して北欧から南に渡っていく話が出てくる。 職場の同僚達とワインを楽しんでいるときにこの話を紹介したところ、量子力学に詳しい友人が、この力学はとても微小な領域で働くので分子レベルのような大きなところで働くことは信じにくいと反応した。反論できるほど確
1.復習:米田の補題 米田の補題をHaskellで記述する方法については、Haskellの真髄に迫る-一般化代数的データで論じた。 米田の補題は次のように定義されていた。 \({\mathcal C}\)を圏とした時、任意の\({\mathcal C}\)の対象\(A\)と関手\(F: {\mathcal C} \rightarrow {\bf Sets}\)に対して \({\rm Nat}({\rm Hom_{\mathcal C}}(A,-),F) \cong F(A)\) である。この時、可換図式は次の通りである。 この補題は、 (forall x . (a -> x) -> f x)) ~ f a をHaskellでの記述で表せばよい。前の記事では、Newtypeで表したが、代数的データ型を用いて表すと次のようになる。 data Yoneda f x where Yoneda ::
1.お絵かき 論文を執筆する時、説明のために必ずいくつかの図を描く。特に、概念が難しい時は、図の役割はとても大きい。この頃は、Power Pointで図を描くことが多くなってきた。これは、Power Pointを用いると、割に簡単に描けることに起因している。しかし、中心同士をつなぐと、どうしても直線が水平にならないなど、不満な点も多い。ヒマワリが実をつけている様子をPower Pointで描こうとしたら、大変なことになってしまうが、繰り返しパターンの多いこの手の問題は、Diagramsは得意である。 Diagramsのギャラリーがこのホームページにある。見ているとなかなか楽しくなり、自分でも描いてみたいという衝動に駆られる。 2.Diagramsを使えるようにする DiagramsをWindows7あるいは8.1に実装するためには次のようにすればよい(注意:diagramsのインストールに
16.グラフィックスを含めて完成させる 前回までの記事で、ピンポン玉をラケットで打つ処理の部分までを完成させたが、グラフィックスの部分が完成していなかったため、ゲームそのものを楽しむことはできなかった。今回は、グラフィックスの部分を実装し、…
1.合コン 2.邪推 3.あみだくじ 4.小学生に戻って足し算 5.最大公約数の構造 6.最小公倍数の構造 7.仲間を求めて 8.二項演算子とカリー化 9.モノイドと二項演算子 10.カリー化と指数対象 11.集合間の写像 12.集合内の写像(Endomap) 13.グラフ 14.基点付集合 15.集合の圏のまとめ 16.積のまとめ 17.和(余積)のまとめ 18.写像のまとめ
1.圏の定義 一般的に、圏は次のように定義されている。圏は5つの要素と二つの条件により構成される。5つの要素は次のようになっている。 (1) 対象 圏は対象を有する。対象は、通常は大文字を用いて、\(A,B,C,..\)と表す(対象は多くの場合何かの集まりである。例えば、集合などが対象になる。しかし、集合の要素はこの場合対象とはいわない)。 (2) 射 圏は対象(複数の場合も可)から対象(こちらも複数の場合可)へ移す射を有する。射は、通常小文字を用いて、\(f,g,h,..\)と表す(これまで習ってきた関数は射となるが、射となるのは関数だけではない。これから説明するモノイドの場合はこれまでの関数とは異なる)。 (3) ドメインとコドメイン 射の出発(入力)側の対象をドメインといい、到着(出力)側の対象をコドメインという。 (4) 恒等射 射は恒等射\(id\)を有する。恒等射は自分から自分
1.全射と単射 圏論では写像は重要な概念である。簡単な圏では写像は射となるが、圏をさらに抽象化すると、写像は対象として扱われる。そこで、ここでは、写像に関する重要な性質をまとめる。全射:写像\(f:X \rightarrow Y\)とした時、\(Y\)の任意の要素\(…
中学校の同期の仲間たちで、歴史散策と称して都内近郊の景勝地を定期的に訪れている。今回は、横浜の山手・山下地区にバラを見に行こうということになったので、その下見に出かけた。 この地域を、いかにも横浜らしいハイカラな街と感じている人も多いだろう。歴史的な建造物があちらこちらに立っていて、西洋館もある。なぜ、このような街並みができたのだろう。 この地域は、かつては居留地と呼ばれていたことを知っている人は少なくなった。子供のころ、お年寄りの人から、居留地と言われてキョトンとしたことを覚えている。そのころは外国の人を多く見かけるので、そのように呼ばれるのだろう程度にしか認識していなかった。 横浜市のデジタルアーカイブに明治23年の地図がある。中央左側の赤色の台形のところが山下居留地で、さらにその左側の同じく赤色で、裾が広がるようになっているところが山手居留地である。 なぜ居留地と呼ばれるようになった
このページを最初にブックマークしてみませんか?
『bitterharvest’s diary』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く