• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
モナモナ言うモナド入門
 

モナモナ言うモナド入門

on

  • 2,361 views

モナドは友達、こわくないよ。

モナドは友達、こわくないよ。

Statistics

Views

Total Views
2,361
Views on SlideShare
2,282
Embed Views
79

Actions

Likes
4
Downloads
20
Comments
0

4 Embeds 79

https://twitter.com 75
http://d.hatena.ne.jp 2
http://blog.kzfmix.com 1
https://www.google.co.jp 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    モナモナ言うモナド入門 モナモナ言うモナド入門 Presentation Transcript

    • モナモナ言うモナド入門 2012.11.17 hiratara
    • 今日話すこと✦ 圏論から目を背けずに 、 モナドの定義を淡々と✦ 図はスライド作るの面倒なので板書で✦ タイトルは@kazu_yamamoto さんの 「モナモナ言わないモナド入門」の オマージュ
    • 今日話すこと✦ モナドは数学の概念✦ よほどの数学嫌いでもない限り、 回り道をして誤摩化す必要はない
    • ゃ駄目だ。逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄
    • 圏(Category)
    • 圏(Category)✦ C0 - 対象の集合。A, B, C, ...✦ C1 - 射の集合。f, g, h, ...✦ dom: C1 → C0 - 定義域✦ cod: C1 → C0 - 値域
    • 圏(Category)✦ id: C0 → C1 - 恒等射✦ dom (id A) = cod (id A) = A✦ ∘: C1×C1 → C1 - 合成 (C1×C1 := {<g, f>| dom g = cod f})✦ dom g ∘f = dom f, cod g ∘f = cod g
    • 圏(Category)✦ h ∘(g ∘f) = (h ∘g) ∘f - 結合律✦ id ∘ f = f ∘ id = f - 恒等射
    • 関手(Functor)
    • 関手(Functor)✦ 圏Cと圏Dについて、関手F : C → Dとは、 F : C0 → D0 - 対象関数 F : C1 → D1 - 射関数 の組
    • 関手(Functor)✦ dom Ff = F(dom f), cod Ff = F(cod f)✦ F id = id✦ F (g ∘f) = Fg ∘ Ff
    • 自然変換(Natural Transformation)
    • 自然変換(Nat)✦ 関手F, G:C → D について、 自然変換α:F→Gとは、 α : C0 → D1 (dom αA = FA、cod αA = GA)
    • 自然変換(Nat)✦ 任意のCの射f : A → Bについて、 αB∘Ff = Gf∘αA
    • 補足)垂直合成✦ F, F’,F’’:C→C’ α:F→F’, β:F’→F’’について、β.α:F→F’’を (β.α)A := βA∘αA と定義。
    • 水平合成✦ F, F’:C→C’、G, G’:C’→C’’ α:F→F’, β:G→G’について、β∘α:FG→F’G’を (β∘α)A := βF’A∘GαA (= G’αA∘βFA) と定義。
    • モノイド(Monoid)
    • モノイダル圏✦ 圏C、双関手□:C×C→C、対象I、 自然同型α:(-□-)□-→-□(-□-)、 λ:I□-→id、ρ:-□I→idについて、
    • モノイダル圏✦ (C, □, I, α, λ, ρ)がモノイダル圏とは、 任意の対象W, X, Y ,Zについて、 W□α(X, Y, Z)∘α(W, X□Y, Z)∘α(W, X, Y)□Z =α(W, X, Y□Z)∘α(W□X, Y, Z) X□λ∘α(X, I, Y) = ρ□Y
    • モノイド✦ モノイダル圏 (C, □, I, α, λ, ρ)において、 対象M、射µ:M□M→M、η:I→Mが モノイドとは、 µ∘id□µ∘α(M, M, M) = µ∘µ□id µ∘η□id = λ, µ∘id□η = ρ
    • モナド(Monad)
    • モナド✦ 関手 T:C→C、自然変換η:id→T、µ:TT→T (T, η, µ)がモナドとは、 µ∘Tµ = µ∘µT µ∘Tη = µ∘ηT = id