圏 論 モナド

Add: idiceho59 - Date: 2020-12-15 11:34:47 - Views: 8800 - Clicks: 2505

対角自然変換 j=ja:e→a,a「内部ホムの恒等射」 6. 圏 論 モナド このモナドがHaskellを学習する上でのひとつの大きな障壁であるため、モナドを理解するために、私は、圏論を学び始めた(現在も勉強中)。 圏論は数学であり、一段高い抽象的な概念を取り扱う。. 例えば 1 を渡したら 2 が返ってくる関数があったとして、どのようなタイミングや事前条件で関数を実行しても 1 => 2という同じ結果になること、そしてそれが他の入力パターンについても同様に成り立つこと。 2. 圏論を全く知らない人向けの解説です。圏論に馴染みのある方は飛ばしてもらって大丈夫です。 1. もう諦めない圏論付録―ストリング・ダイアグラム― もう諦めない圏論基礎―極限からカン拡張へ― もう諦めない圏論基礎―モノイドからモナドへ― モノイド圏と 2-圏の概念を受け入れる; モナドがモノイドであることを理解した気になる; もう諦めない圏. Monad -> Chainable/Joinable/FlatMappable 3.

See full list on alg-d. 自然変換 ap:F(a,b)→F(a),F(b) の組で、適切な条件を満たすものです。Haskell風に書けば どこかで見たような型. 双対 PDF版 微修正) 双対の例について説明します。極限・余極限やモノ射・エピ射など。 6. 圏論は最近人気がある数学の分野の1つで,その考え方はプログラミング,人工知能,物理など幅広い分野に応用されています。本書はそんな圏論を一から知りたい人に,圏論とは何かをわかりやすく解説していきます。異なるものをどうやってつなげて矢印を引き,同じようなものとして. はじめに 対象読者 数学以前 数学の基礎 ホモロジー代数 圏論.

Ø 成果も圏論の言葉で語られるので本当に使える成果が出ているか判断できない Ø 身近な成果として「モナド」があるらしいが,圏論とどう関係するのか分からない n 圏論が分かるようになりたいが,習得にはかなりの数学の習熟度が要りそう. · 圏論のモナドとHaskellのモナド 1. · 【10分で】深谷圏とホモロジカルミラー対称性【 from 】 VRアカデミア ロマ数プライム圏論 032 - Duration. とまぁ、圏論の入門以前的な話をしましたが、本エントリの主題は圏論入門ではなく、この話をさらに突き詰めていくとどうなるのか、という事なので、本格的な圏論入門は書きません。 Haskellのもっとも身近な圏論由来の概念はFunctor(関手)でしょう。圏論において関手とは圏から圏への対応付けの事を言います。HaskellのFunctorはその中でも、自己関手という特殊な関手を実装に落とし込んだものです。 我らがモナドも勿論、圏論由来の概念です。「自己関手の圏におけるモノイド対象だぜ、フフフ」ってのもありますが、クライスリ圏という圏を勉強すると、(>>=)演算子の正体が見えて来たりします。 さらに、LensやFree、Yonedaといった最近名前を聞く抽象的なライブラリも、バックグラウンドに圏論があるようですが、残念ながらこのエントリを書いてる段階で、ちゅーんさんの知識はそこまで進んで無いのです(´・ω・) わりと必要に迫られてる気がするので、しばらくすると解る人になってます。その頃になったら聞いて下さい、ドヤ顔で説明します。はい。 で、 fmap関数がFunctorのメソッドである事からわかるかもしれませんが、Listのmap関数も圏論の視点から説明する事は出来ますし、fold関数を圏論で一般化すると、catamorphismという概念が出てきます。また何気なく作った多相関数が「自然変換」と呼ばれる形になっている事は多々ありますし・・・後はあんまり意識する事は無いですが、代数的データ型自体もF始代数と呼ばれる圏論の概念として表現できまして、その事は例えば、型レベルで計算が出来るという話にもつながってきます。 とか、とか、こんな感じ?.

Haskellにはアプリカティブ関手という概念があります。Haskellではこれは「モナドと関手の中間の概念」とされていますが、圏論的にはどういう概念に相当するのでしょうか。 アプリカティブ関手の元ネタである論文では、アプリカティブ関手とはstrong lax monoidal functorである、とされています。では、strong lax monoidal functorとは一体なんなのでしょうか? それを知るためにはモノイド圏 (monoidal category) 周辺を勉強していけば良さそうです。 この記事ではHaskellの語彙と例を中心に解説していきますが、もっと圏論的な説明が読みたい人はPDFを読んでください。(風呂敷を広げ過ぎたので未完成です。すみません) モノイド圏とアプリカティブ周りのPDF:applicative. モノイド積と呼ばれる双関手 ⊠:C×C→C (モノイド圏の文献ではモノイド積を⊗で書くことも多いのですが、⊗は線型空間のテンソル積を想起させるので、あえて違う記号を選びました。四角にバッテンだからと言って文字化けしているわけではありません) 3. Functor -> Mappable 2. 二項演算 ⋅:M×M→M 3. モノイド積と内部ホムの両方を持つ圏をモノイド閉圏と呼びます。(もうちょっと詳しく言うと、モノイド積と内部ホムが随伴を介して結びついていなければなりません) モノイド閉圏は「モノイド積が右随伴を持つ圏」として定式化することもできますし、実際そうしている文献もあります。 モノイド閉関手とモノイド閉自然変換も、雰囲気で定義できます。特に、モノイド閉圏においてはlaxモノイド関手と閉関手が実質同じ概念になります。. Haskellの勉強をするついでに、圏論の勉強もちょこっとやっています。 分かりやすそうな圏論の本がありました。 「圏論の道案内」という本です。 圏論の道案内 ~矢印でえがく数学の世界~ (数学への招待シリーズ) 作者: 西郷甲矢人,能美十三 出版社/メーカー: 技術評論社 発売日: /08/09. 圏 論 モナド モナドは言うまでもなく Haskell の極めて重要な概念であるが、実はこれらは本来圏論に由来するものである。 モナド は圏から同じ圏への関手であり、さらにいくつかの追加の構造を提供する。.

圏論とSwiftへの応用 / iOSDC Japan - Speaker Deck; プログラマのためのモナド(圏論) / cat4pg - Speaker Deck; Swiftプログラミングと論理 〜そして帰ってきた圏論〜 圏 論 モナド / Swift and Logic, and Category Theory - Speaker Deck. 集合圏の直積(デカルト積)や、線型空間の圏におけるテンソル積を一般化した概念をモノイド積と呼びます。ベースとなる圏が同じでも、複数のモノイド積が定まることがあります(同じ集合圏にも、直積と直和という異なる2つのモノイド積が定まる)。 Hask圏(Haskellの型を対象、関数を射とみなした圏。厳密には圏にはならないという話があるので、ボトムのことは都合よく忘れる)においては、タプル (,)や Either がモノイド積を与えます。 圏とその上のモノイド積の組をモノイド圏と呼びます。より詳しく言えば、モノイド圏とは、以下の組です: 1. 圏論におけるモナドの定義は次のようなものである。 定義 1. 自然同型 i=ia:a→e,a 圏 論 モナド 5.

22)には 「圏(category)とは対象(object)と射(arrow,morphism)とからなるある種のシステムだ。」とあり、次のような定義が続く。. . See full list on blog. モナド (圏論) 数学の一分野である圏論において、モナド(monad)あるいはトリプル(triple)とは(自己)関手と2つの自然変換の三つ組である。 モナドは随伴関手の理論で使われ、半順序集合上の閉包作用素を任意の圏の上へ一般化する。. 一般的な圏よりもより豊かな圏がある。いくつかある中で論理学やコンピューター・サイエンスにおいて重要なのはCartesian Closed Categoryとトポス(Topos)である。 エクスポネンシャル(Exponentials) AとBを或る圏Cの対象とする。AによるBのエクスポネンシャルとは、或る対象Iと或る射e:I×A→Bが存在していて、それは次の性質を満たす。任意の対象Cと任意の射f:C×A→Bに対して、射ˉf:C→Iがただ1つ存在して、f=e∘ˉf×1Aが成り立つ。 エクスポネンシャルは同型写像の限りでただ1つである。I=BAと書き、e=evA,B:BA×A→Bと書く。 AによるBのエクスポネンシャルは次のようにも言える。つまり、それはコンマ圏(¯×A)⇒Bの終対象である。 エクスポネンシャルにはその名の通りExponentialの性質を満たしている。つまり、 (1): AX×AY≅AX+Y (ax×ay=ax+y) A0≅1 (a0=1) (2): (AX)Y≅AX×Y ((ax)y=ax×y) A1≅A (a1=a) (3): (A×B)X≅AX×BX ((a×b)x=ax×bx) 1X≅1 (1x=1) 圏CがCartesian Closed Category(CCC)であるとは、すべての有限積とエクスポネンシャルをもつ圏のことである。ここでは終対象1も含まれている。 Setにおいて、BA=g:A→BおよびevA,B(a,g)=g(a)。ここでevA,B:A×BA→Bであり、g∈BAである。 ブール代数はCCCである。ba:=¬a∨bと定義すれば、baはエクスポネンシャルである。つまり任意の元c∈Bと射c∧a≤bに対して、c≤baとba∧a≤bが成り立つ。 λ-calculi λ計算はCCCの応用例である。まだ詳しい中身は勉強していない。 トポスはCCCよりも条件が強い圏である。 サブオブジェクト・クラシファイヤー(Subobject-classifiers) 終対象1をもつ圏Cを考える。Cのサブオブジェクト・クラシファイヤーであるとは、圏Cの対象Ωと射true:1→Ωのあつまりであり、次の性質を満たす。 任意のモノモルフィズムf:A→Dに対して、ただ1つの射χf:D→Ωが存在して、 これがプルバックである。 Setにおいて2はΩであり、. プログラミング言語によって、多変数関数の扱いは色々あります。C言語やJavaScriptのように「0個もしくは複数個の引数を取れる関数」を基本とするもの、MLやHaskellのように「1引数の関数」を基本とし、複数の引数をとる関数はタプルやカリー化を使うものです。 圏の射は、MLやHaskellのような「関数が1引数」の言語に似ていると言えます。複数の引数をとる射は a×b→cという風に、始域の側を直積やテンソル積として表現できます。あるいは、集合圏や線型空間の圏ではカリー化によって「関数を返す」射として同等の射を表現することもできます。 この「関数」に相当する対象は「内部ホム」と呼ばれ、cb とか hom(b,c) とか色々な書き方がされますが、ここでは b,c と書くことにします。(圏の定義に使うホムセット Hom(b,c) は圏によらず「集合」(またはクラス)ですが、 cb やhom(b,c)など内部ホムは「圏の対象」であることに注意してください) 集合圏や線型空間の圏のような「内部ホムを持つ圏」を一般的に取り扱うために、閉圏を定義します。 文献によってはモノイド積の右随伴として内部ホムを定義していますが、ここではモノイド積を仮定せずに内部ホムを定義します。 閉圏とは、以下の組です: 1. 数学の一分野である圏論において、モナド(英語: monad )あるいはトリプル(英語: triple )とは(自己)関手と2つの自然変換の三つ組である。モナドは随伴関手の理論で使われ、半順序集合上の閉包作用素を任意の圏の上へ一般化する。.

Ar⇄sBがr∘s=1Bを満たしているとする。このとき、sをセクションと言い、rをリトラクションと言う。さらにセクションsがリトラクションでもあるとき、つまり、s∘r=1Aであるとき、sはアイソモルフィズム(同型写像)であると言う。 セクションはスプリット・モニックとも言い、リトラクションはスプリット・エピックとも言う。つまり、セクションならばモノモルフィズムであり、リトラクションならばエピモルフィズムである。したがって、アイソモルフィズム(同型写像)はバイモルフィズムである。 射f:A→Bとする。 fがモノモルフィズムであるとは任意の対象Cと任意の射のペアCg⇉gAに対して、f∘g=f∘hならば、g=hが成り立つことである。 エピはモノの双対的な概念である。 圏 論 モナド バイモルフィズムとはモノかつエピであることである。 Setにおいてはアイソモルフィズムとバイモルフィズムは同じである。つまりモノはセクションでもあり、エピはリトラクションでもある。 圏 論 モナド しかし一般的な圏においてはそうとは限らない。. See 圏 論 モナド full list on ubiteku. 極限 PDF版 更新、微修正) より一般の極限・余極限と、表現可能関手について説明します。 5. モナドと同様,ファンクタも圏論に由来する概念のひとつです.しばしば "関手" とも訳されます. リストの要素を操作する関数 map を一般化した fmap という関数があります.. 圏論とは何か PDF版 微修正) 本当に何も知らない人向け。圏の定義と例を使って,圏論がどういうものなのかを紹介します。 2. 例: 圏 論 モナド 位相空間上の層 PDF版 微修正) 圏論に慣れる為の具体例の一つとして,層を取りあげてみます。興味が無ければ飛ばして大丈夫です。 5. 圏論の「モナド」という言葉は、哲学の「モナド」から名付けられました。 ウィキペディアで見てみると モナド は曖昧さ回避になっていますが、 ここは大本である モナド (哲学) を見てみましょう。. Monad (モナド) c.

右単位則 a⋅e=a モノイド圏ではベースとなる集合が圏で、二項演算は双関手、単位元は単位対象となります。結合法則や左右の単位則は、等式ではなく自然同型に置き換えられました。というのも、圏論では「対象として同じである」ことは重要ではなく(対象はただのラベルに過ぎないので)、「対象が同型である」とした方が都合がいいからです。 例として、Haskellのタプル (,)について、モノイド圏の構成要素を書き出してみましょう。 1. 例: 基本亜群 PDF版 微修正) 圏論に慣れる為の具体例の一つとして,「圏論とは何か」で出てきた基本群をもう少し詳しく説明します。興味が無ければ飛ばして大丈夫です。. See full list on ywatanabevltmathscilogic. コンマ圏 PDF版 微修正) 圏の構成法の中で最も重要なコンマ圏を説明します。 4.

双関手:(,) 2. 何回「倍返し」したのか記録しておいて欲しい 3. 「Elixir試飲録 (4) – オブジェクト指向と関数型の違い」で触れたように、オブジェクト指向ではシステムの構成要素であるオブジェクトの「インターフェース」にフォーカスすることによって、システムの表現を単純化し、さらには疎結合による柔軟性を獲得していた。しかし一方で、インターフェースに現れない内部的なデータの流れは隠蔽されるため、インターフェースだけでシステムの(厳密な)状態遷移を把握することは困難になる。 少ない記述で多くを実現しようとするオブジェクト指向に対して、関数型、特に純粋関数型では、原理的に関数(入出力の変換)として書かれたことしか起こらないので、不測の事態が起こりづらく、より信頼性の高いシステムを構築しやすいと言える。しかし、逆に言えば、全てのデータの流れを入出力の変換として明示的に表現しなければならないので、時にはコードが冗長になってしまうケースがあるだろう。 圏 論 モナド この関数型の欠点とも呼べる冗長さを軽減するために導入されたのが「モナド」と呼ばれるコンセプトである。. See full list on tune. 第2章を読むに当たって、必要な基本的事項を説明します。 1. モナドの定義が出来上がったので、圏論での最も重要な概念である随伴との関係について述べておこう。ウィキペディアでは随伴は次のように定義されている。圏&92;(&92;mathcalC&92;)と&92;(&92;mathcalD&92;)との間の随伴とは、二つの関手 &92;begineqnarray. id関数が恒等射 と対応します。これが実際に圏となる事は、上記の道具立てがちゃんと整っている事を一つ一つ確認してみればわかるでしょう。. 結合法則 (a⋅b)⋅c=a⋅(b⋅c) 5.

圏論は,1940 年代の位相幾何学が生まれ故郷だ.「自然に同じと見なせる」とか,ある対象あるいは対応が,その他大勢の中で「普遍的」であるとか,そういうことをきちんとした言葉で述べたい,形式化したい,というのが圏論の開拓者たち Eilenberg や Mac. 前半(第i章〜第v章)では、予備知識をしぼった上で、圏論の基本的な内容を初学者にもわかりやすいよう丁寧に解説、そして後半(第vi章〜第xii章)ではモナドと代数、モノイダル圏、アーベル圏のほか、組み紐付きモノイダル圏や高次元圏といったさらに. 関数合成が射の合成 4. . X:X→Tが存在する。 始対象とは、終対象の双対的な概念である、つまり圏Cの始対象Iとは双対圏Copの終対象である。 Setにおいて終対象はシングルトン∗であり、始対象は空集合 ∅である。 また、ブール代数*2それ自体をひとつの圏とみなすと、終対象は最大元1であり、始対象は最小元0である。 もしも終対象が存在するならばそれはただ1つしか存在しない。つまりもし2つの終対象T1,T2があるならば、T1はT2と(キャノニカル)同型である。T1≅T2。これは始対象も同様である。 AとBを対象とする。対象PがAとBの積であるとは、2つの射の組み ApA←PpB→Bが存在して、次の性質を満たすものである。任意の対象Xと任意のペア(f:X→A,g:X→B)に対して、ある射 h:X→Pがただ1つ存在して、f=pA∘hとg=pB∘hが成り立つ。 AとBの積Pはただ1つしか存在しない。したがってPをA×Bと書ける。 双対積は積の双対である。 Setにおいて積はカルテジアンプロダクトである。 ブール代数Bを1つの圏とみなすとa,b∈Bに対して、aとbの積はaとbの下限(infimum)a∧bであり、aとbの双対積はaとbの上限(supremum)a∨bである。 Exercise 1: A≅1×A Exercise 2: A×B≅B×A Exercise 3: A×(B×C)≅(A×B)×C 射Af⇉gBとする。fとgのイクアライザーとは対象Eと射e:E→Aを持ち、それは次の性質を満たす。f∘e=g∘eであり、任意の対象Xと任意の射h:X→Aに対して、f∘h=g∘hならば、h=e∘kとなるただ1つの射k:X→Eが存在する。 コイクアライザーはイクアライザーの双対的な概念である。 Exercise 1: イクアライザーはモノモルフィズムである。 射Af→Cg←Bとする。fとgのプルバックとは、ある対象Pと射Ap1←Pp2→Bが存在して、次の性質を満たす。f∘p1=g∘p2であり、さらに任意の対象Xと任意の射h:X→A,k:X→Bのペアに対して、f∘h=g∘kならば、h=p1∘lとk=p2∘lが成り立つ射l:X→Pがただ1つ存在する。 コプルバックはプルバックの双対的な概念である。 いくつかの定理がある。 プルバックは重要である。. 対称モノイド圏とは、モノイド圏の左右の入れ替えができる圏です。例えば、Haskellでは という関数でタプルの左右を入れ替えられますね。 内部ホムに関して(対称閉圏)は という関数によって引数の左右を入れ替えられます。. right unitorと呼ばれる自然同型 ϱ=ϱa:a⊠e∼⟶a associator, left unitor, right unitorは「一貫性(コヒーレンス)条件」と呼ばれる条件を満たします(詳しくはPDFを見てください)。 モノイド圏の構成要素と比較するために、普通のモノイドの定義も思い出しておきましょう: 1.

数学の一分野である圏論において、モナド(英語: monad )あるいはトリプル(英語: triple )とは(自己)関手と2つの自然変換の三つ組である。モナドは随伴関手の理論で使われ、半順序集合上の閉包作用素を任意の圏の上へ一般化する。. と、偉そうにタイトルを掲げてみたんですけど、ここまで書いて、いざ本題に入ろうとしたら、あの、あれです、どうしてもポエーっとなってしまって(´・ω・)←今こんな顔してます というわけで、ここに書かれている内容はかなーり独断と偏見にまみれてると思ってお読みください。☆(ゝω・)vてへっ とりあえず、間違いなく言える事として、銀の弾丸にはなり得ないという事だけははっきりと述べておきましょう。. 普遍性 PDF版 微修正) 圏論で重要な考え方の一つ「普遍性」について説明します。 4. 「strong lax monoidal functor」のlax monoidal functorの部分はわかりましたが、strongの部分はまだです。そのために関手の「強度」の概念を見ていきます。. 1 グラフ,オートマトン,モノイド,圏 3 2 極限と余極限 16 3 自由代数,等式理論,ローヴェア理論 29 4 モノイド,モノイダル,モナド 51 5 普遍射,随伴,そしてモナド 73 6 アイレンベルグ-ムーア代数 89 7 圏論による論理学 96 8 補遺,あとがき,参考文献 108 1.

left unitorと呼ばれる自然同型 λ=λa:e⊠a∼⟶a 6. 圏 論 モナド モナドは情報科学などで注目されており、 圏論では「米田の補題」など話題はたくさんありますが、この後は「数学物理」グループで、 解りやすい図解と興味深い話題で投稿を続けておられる結城浩氏や多くのネット上の書き込み などを参照し勉強を続け. 単位元 e∈M 4.

米田の補題 PDF版微修正) 3. 圏論の話題はたくさんあるんですね。 とりあえず基本だけでいいや。 もっと圏論を学びたい人向けのオンラインで読めるオススメ資料. この講義では、圏論を用いたプログラム意味論の概要を紹介しつつ、そもそもプログラム意味 論に求められる数学とはどのようなものなのか、なぜ圏論なのか、という素朴な疑問に、私なり に答えてみたいと思います。 1 プログラミング言語の意味論とは. 関数は入力を出力に変換するものだと説明したが、その変換以外のことが一切起こらないこと 2. 関数型プログラミング(特に純粋関数型)は、システムの状態遷移を余すところなく関数の入出力として表現することで、システムの動きを明確にしようとする。全てを入出力として表現するので、ビジネスロジックにとって重要な「本来の入出力」以外の「おまけの入出力」がどうしても必要になってくる。 つまり、関数と関数の間を受け渡されていくデータには、常に何らかのおまけが含まれている可能性があるということだ。そのおまけは、例えば、処理に失敗した際のエラー情報だったり、値が存在しないかもしれないという可能性だったり、あるいは入出力には現れない文脈的なデータだったりする。このおまけの応用範囲がとても広いというのが、モナドのつかみどころのなさの一因になっていることは間違いなさそうだ。 しかし、関数の方はこのおまけを解釈するようにはできていないかもしれない、あるいはむしろ、特定のおまけを想定して関数を書いてしまうと、その関数の汎用性が大きく損なわれてしまうので、できれば本来必要な計算だけに集中したい。 そこで、おまけを想定しない関数を、おまけ付きの入出力を持つように変換するアダプター的な仕組みがあれば、本来の計算とおまけを切り離せる。この仕組みがモナドである。 より正確に言うと、この変換には三つのタイプがあり、その中の一つがモナドと呼ばれている。 具体的には、 のような関数を、あたかも、 のように扱えるようにしたい。この変換に対応するアダプターをそれぞれ、 a.

KSB:河原研究室発表会 (河原康雄先生還暦記念) 年7月29日 圏論のモナドとHaskellのモナド 九州大学 大学院数理学研究院 溝 口 佳 寛 2. 圏論の方から来た人向け: デカルト積やテンソル積の一般化である「モノイド積」の話と、「内部ホム」の話をします。文献によっては内部ホムはモノイド積の右随伴として導入されますが、ここではモノイド構造を仮定せずに内部ホムの定式化(閉圏)をします。 Haskellの方から来た人向け: この記事ではHaskellにおけるアプリカティブ関手の使い方は解説しません。Haskellの方から来た読者はすでにアプリカティブ関手をある程度知っており、圏論的な話にチョット興味がある、と仮定します。 これを読めば、「モナドは自己関手の圏におけるモノイド対象だよ、何か問題でも?」と同じノリで「アプリカティブ関手はモノイド圏における強laxモノイド関手だよ、何か問題でも?」と言って他人を煙に巻くことができます。. Applicative -> Zippable 厳密にはこれらの語が意味するところとは. step 1: 圏論におけるモナドの定義. はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。. 単位対象:単位(ユニット)型 () 3. 関手 −,−:Cop×C→C 3.

圏 論 モナド

email: [email protected] - phone:(401) 259-5761 x 6537

Disco floor - フォート スイッチ

-> 中島 ば お 本
-> 筋 トレ ビジネス エリート

圏 論 モナド -


Sitemap 3

塩野 寛 - リターンズ ファミスタ レジェンド