,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;;
{;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;;
ヾ;;;ハ ノ .::!lリ;;r゙ 圏論は難しい・・・
`Z;i 〈.,_..,. ノ;;;;;;;;>
,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f そんなふうに考えていた時期が
~''戈ヽ `二´ r'´:::. `! 俺にもありました
/ .\
/ .\
\ / \ /
\ ___________ . /
\ ./ \ /
| \/ \/...|
| | | |
| | | |
.._ |_| |_|_..
| | さあ‥ 逝こうか‥‥ | |
| | | |
| | | |
| | | |
| |/ ..\| |
| | | |
.._|/| _ _ _ _ _ _ _ _ ...|\|_
/ ..| | _−_−_−_−_− _ | | \
| |/_/━ ━ ━ ━ ━ ━\_\| |
.._| /_/━ ━ ━ ━ ━ ━ ━ \_\.|_
/_/━ ━ ━ ━ ━ ━ ━ \_\
/ /━ ━ ━ ━ ━ ━ ━\ \
∩___∩
| ノ ヽ
/ ● ● | たった一つの命を捨てて
|◎) ̄  ̄|| ̄ ̄ ) ミ 生まれ変わった不死身の体
彡、___||_/`\ 鉄の圏論を叩いて砕く
/ __ /´> ) クマーンがやらねば誰がやる
(___) / (_/
| /
| /\ \
| / ) )
∪ ( \
\_)
_i^i__i^i_ i^i ._i^i_ __, -―- 、___
|*||*| ∩___∩ i^i _i^i_ | | |@ll|(_/,,,, ,,,, ヽ_)
|≡||≡|| ノ ヽ ([])|;□;|.(≡)|_| |● ● | どうすれば圏論をわかりやすく
. 二二/ ● |二二( (二二二二 彡(_●_ ) ミ 説明できますかね?
| ミ ) ) / ` ''∪'' / ヽ
彡、 _ノ Gノ'フ= ___ / /i ` ー '" iヽ |
/ ヽ / / | ! / / | | | .l. i
..──|ヽ ヽ/─==i─Y-(_ノ──i二i───(⌒)
___ヽ /ヽノ └-┘ ┴ ..└┘ . ̄
| ___ i
∩___∩
|ノ⌒ ⌒ ヽ
/ ●) ●) |
Let's | ( _●_) ミ Haskell♪
彡、 |∪| 、`
/ ヽノ ヽ
/ 人 \\ 彡
⊂´_/ ) ヽ__`⊃
/ 人 (
(_ノ (_)
A B
∩___∩ /)
| ノ ヽ ( i )))
/ ● ● | / /
| ( _●_) |ノ /
彡、 |∪| ,/
/ ヽノ /´ ここにオブジェクトAとオブジェクトBがあるクマ
A → B
∩___∩
| ノ ヽ
/ > < | じつはAさんはBさんを好きなんだクマ
| //// ( _●_) ミ
彡、 l⌒l ノ
/ __ \ \ヽ
. (___) \__)
∩___∩
| ノ ヽ
/ ● ● | と、いうように
| ( _●_) ミ ある対象とある対象がなんらかの関係をもっていることを
彡、 |∪| 、`\ 圏論では「射」と言うクマ
/ __ ヽノ /´> )
(___) / (_/
| /
| /\ \
| / ) )
∪ ( \
\_)
∩___∩
| ノ ヽ A → B
/ ● ● |
| ( _●_) ミ この場合、Aさんを「ドメイン」、Bさんを「コドメイン」と言うクマ
彡、 |∪| 、`\
∩___∩
| ノ _, ,_ ヽ
/ ● ● | 別にBさんを好きじゃなくてもいいんだクマ
| ( _●_) ミ Bさんを嫌いでもいいし
彡、 |∪| ノ BさんはAさんの嫁でもいいし
⊂⌒ヽ / ヽノ ヽ /⌒つ AさんがBさんをレイ-プする、という関係でもなんでもいいクマ
\ ヽ / ヽ /
\_,,ノ |、_ノ
∩___∩
| ノ ヽ
/ ● ● | A → B
| ( _●_) ミ ココ!!
彡、 |∪| 、`\
/ __ ヽノ /´> ) この図では「→」がAさんとBさんの関係を表してるクマ
(___) / (_/ 関係というものには方向性が付き物なんだクマ
| /
| /\ \ この「関係を表した矢印」こそが「射」クマー!
| / ) )
∪ ( \
\_)
てらわかりやす
まだまだ続クマ?
\  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ (´´
\(⌒-⌒) o (´⌒(´
(・(ェ,,)・ )つ⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
/ ̄)
∩____∩. | | AさんからBさんへの「射」は1つとは限らないクマー!
| ノ ヽ.| |
/ ● ● || | くニ} {fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj「好き好き射」
| ( _●_) .ミ |
彡、. |∪| |
くニ} {fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj{fj「エロエロ射」」
/ ,へ  ̄ ̄`ヽ
/ / \ t──┐ |
(__/ > ). | |_
/ / (___)
( \
\__)
、 l _,
ヽ/⌒ヘ~
., 't,_,ノ丶 ∩、 ∩
/ ! '` | '──-' '\
,/ ● 'i,
/ ( _●_) ● i,
彡 しノ ミ あたまをやわらか〜くするクマ〜
|`:、\ 'ii __,/
'i、 ̄~~ ij 乙__ノi
^-ァ __,ノ
r^~"i' 'l
!、 ! l
~^''!, ,_ ,!_
\ l,~^''‐--::,,⊃ ) ) ) )
`'‐’
X Y Z
∩___∩ /)
| ノ ヽ ( i )))
/ ● ● | / /
| ( _●_) |ノ /
彡、 |∪| ,/
/ ヽノ /´ ここにオブジェクトXとオブジェクトYとオブジェクトZがあるクマ
∩____∩
/ ヽ X → Y YさんはXさんのいとこクマ
/ ● ● | Y → Z ZさんとYさんのいとこクマ
| ( _●_ ) ミ
彡、,, |∪| /
/__ ヽノ l\
(___u) (uニ ).
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|:::::::::::::::::::::::::::::::
|" ̄ ゙゙̄`∩::::::::::::::::
|,ノ ヽ, ヽ::::::::::::::::::::::::: X → Y
|● ● i'゙ ゙゙゙̄`''、::::::::::::::::
| (_●_) ミノ ヽ ヾつ:::::::::: ↓
| ヽノ ノ● ● i::::::::::
{ヽ,__ )´(_●_) `,ミ::::::: Z
| ヽ / ヽノ ,ノ::::::
あれ?XさんとZさんは・・・いとこ?
∩─ー、
/ ● 、_ `ヽ
/ ( ● ● |つ
| /(入__ノ ミ 所詮、XとZが
、 (_/ ノ いとこだろーと、はとこだろーと
\___ノ゙ 関係ないのさ・・・
/ 丶' ⌒ヽ:::
/ ヽ / /::: ただひとつ言えることは
/ /へ ヘ/ /::: XからZへのなんらかの関係があるかもしれない
/ \ ヾミ /|::: ってことだ
(__/| \___ノ/:::
/ /::: これを圏論では射の「合成」と呼ぶ
/ y ):::
/ / /:::
/ /:::: X → Y
/ /:::::
( く:::::::: ↓
|\ ヽ:::::
| .|\ \ ::::: Z
\ .| .i::: \ ⌒i::
\ | /:::: ヽ 〈:: [XからZへの矢印が考えられる]
\ | i:::::: (__ノ:
__ノ ):::::
(_,,/\
|
|.-──-、
| : : : : : : : : \
|: : : : : : : : : : : ヽ
|-…-…-ミ: : : : :',
| '⌒' '⌒' i: : : : :}
| ェェ ェェ |: : : : :}
| ,.、 |:: : : :;! どこで出ていこうかな・・・・・
| r‐-ニ-┐| : : :ノ
|! ヽ 二゙ノ イゞ‐′
| ` ー一'´丿 \
| \___/ /`丶、
| /~ト、 / l \
,..-──- 、
/. : : : : : : : : : \
関数Xは /.: : : : : : : : : : : : : : ヽ
クラスYを引数にする ,!::: : : :,-…-…-ミ: : : : :',
X(Y) {:: : : : :i \ / i: : : : :}
ちなみにYは {:: : : : | ェェ ェェ |: : : : :} 合成のほかの例え!!
Zという属性を. , 、 . { : : : :| ,.、 .. |:: : : :;!
持っている ヽ ヽ. _ .ヾ: :: :i r‐-ニ-┐ .| : : :ノ
} >'´.-!、ゞイ! ヽ二゙ノ イゞ‐′
| −! \` ー一'´丿 \
ノ ,二!\ \___/ /`丶、
/\ / \ /~ト、 / l \
/ 、 `ソ! \/l::::|ハ/ l-7 _ヽ
_ /- イ、_
__ /: : : : : : : : : : : (
〈〈〈〈 ヽ /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
〈⊃ } {:: : : :ノ --‐' 、_\: : ::}
∩___∩ | | {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
| ノ ヽ ! ! 、 l: :ノ /二―-、 |: ::ノ
/ ● ● | / ,,・_ | //  ̄7/ /::ノ
| ( _●_) ミ/ , ’,∴ ・ ¨ 〉(_二─-┘{/
彡、 |∪| / 、・∵ ’ /、//|  ̄ ̄ヽ
/ __ ヽノ / / // |//\ 〉
(___) / / // /\ /
わかりづらいクマ
_ /- イ、_
/: : : : : : : : : : : (
/: : : : ::;:;: ;: ;:;: ; : : : ::ゝ; 関数X → クラスY
.{:: : : :ノ --‐' 、_\: : ::}
.{:: : :ノ ,_;:;:;ノ、 ェェ ヾ: ↓
.l: :ノ /二―-、 |: ::ノ..
| //  ̄7/ /::ノ 属性Z
. 〉(_二─-┘{/
/、//|  ̄ ̄ヽ
わかんないかなコレ・・・
class X {
method( Y ) {}
}
class Y {
Z z;
}
class Z {}
\ i /
─── ・ ── ← ヌッケ
 ̄ 二─ _ // | \
 ̄ 、 - 、 / / |
-、\ \ / /
\\ \
/ \ヾ ヽ ヽ
/ \ ヾ、 | i
クマソッ // |! `i |
/// | |
/ ( | |
<_,へ 丶-、 | |
__●_ rm \ \ |! リ |
/ ヽ-'⊇) ̄`ヾ │ / | |
⊂/ ● /\_,.-、 / / / /
│ /\ / _/ / / //
⊂丿 ミ (⌒)  ̄ / / /
\__ミ / / //_ /
\_/ _二─
A → B → C H
↓ ↑ ↑ ↓
D E → F → J
↑ ↑
G H → I くまー
r -、,, - 、
__ ヽ/ ヽ__
くまー ,"- `ヽ, / ● l )
/ ● \__ (● ● i"
__/ ●)  ̄ )"__ "`;
.(_i ● ' __, '"  ̄`'(___/.i⌒i
丶_ ,i⌒i,,_(_/ ● i ̄ ̄ )_|__
__, '"  ̄ ヽ! ● ●) ミ~ ̄_● ヽ)
くまー (_/ ● i ∪ / ⊂{● | くまー
l ●( _●) (  ̄)- / -' i
/ヽ、 |∪l T i ● '")
くまー
i⌒i⌒i
| ヽ
/ 人__ヽ∩
/ / ヽ
>>498のように人間は人間同士いろんな関係をもってるクマ
/ / ● ● | 物事だってそうだクマ
( | ( _●_) ミ コレとかアレのいろんな関係で成り立っているクマ
\ 彡、 |∪| (
\ ヽノ `ー´⌒\
\ /\ \、
\ / (  ̄)
\ | ( ̄ ̄ ̄ ̄)
\ ヽ/ / ̄ ̄
\__/
∩___∩
/ ノ \ ヽ
| ● ● |
彡 (_●_) ミ
/、 |∪| ,\ 複数の「対象」と複数の「射」の集まり
, -‐- くJ( ヽノ ゝ-rr- 、、 ~~~~~~ ~~~~~
/Y ,r 、 `ー r'"^〃 、 つヒヽ これこそが「圏」 = 「カテゴリー」
,ノ '^` i! =テミ i' 天ニ ミ、 ='"^ヾ }
,/ ''=''" ノ-‐'ヾ-人,,__ノnm、''::;;,, イ
i! ,∠-―-、、 `ー'フヾ、 j 圏論(カテゴリー論)の基礎となるものだクマ
f'´ ノし `丶、 ー=ミ-JE=- /
ヾ=ニ- 彡^ 〃 ,,>、、`''ー-::,,_,,ノ
``ー--┬:, ''"~´フ ソ´`7'' ''"´
,に (`゙゙´ノ f^ヽ
,ハ ,ィ' ,;-ゝ、
/ミ`ーt!,_,ィ-‐彡''"^ヽ
/ ヾ::::::::::::::::r''" ぃ ;}
l t:::::::::::/ ノ /
l! `'T7′ / /
圏(カテゴリー)
┏━━━━━━━━━━━━━━━━━━━━━┓
┃クマー クマー クマー ┃
┃~~~~~~ ~~~~~~ ~~~~~~ ┃
┃ ↑[神] ↑[神] ↑[神] ┃
┃ [好き] [好き] . ┃
┃ A君 → Bちゃん → . C君 ┃
┃ ~~~~ ~~~~~~~~ ~~~~~ . . ┃
┃ ↑[好き] ↓[爆破] ┃
┃ . . [保有] ┃
┃ . . D君 → フェラーリ ┃
┃ ~~~~ ~~~~~~~~~~ ┃
┃ ↓[ペット] . .┃
┃ [同類] . .┃
┃ヌッケ ← 犬 .┃
┃~~~~~~ ~~~ . ┃
┗━━━━━━━━━━━━━━━━━━━━━┛
【まとめ】
┏━┓ 射 ┏━┓
┃.A.┃ → ┃.B.┃
┗━┛ ┗━┛
対象 対象
(ドメイン) (コドメイン)
上の図が基本要素
これが複数あつまり関係しあったものを圏という
ふぅ、つかれたクマー
∩___∩
| ノ ヽ ( )
/ ● ● | ( )
__| ( _●_) ミ__ ( )
(_. 彡、 |∪| 、`__ )─┛
/ / ヽ ヽノ /_/:::::/
|::::::::::| / ( ̄ ̄ ̄ヽ |:::::::| ̄
|::::::::::| |  ̄ ̄ヽ .ノ |:::::::| /
/ ̄ ̄旦 ̄ ̄ ̄ ̄ ̄ ̄ ̄/|/
/__________/ | |
| |-------------------| |
504 :
デフォルトの名無しさん:2007/02/25(日) 09:49:35
これは分かりやすいw
GJ!!
>>502 それがちょっと違う。
たとえば
A → B → C という2つの射があったときに
ここでA → Cという上の2つの射の*合成*が定義されてなかったら圏にならない。
すべてのコドメインとドメインが一致する射の組について合成が定義される
場合について、その全体を圏と呼ぶことが出来る。
↑のAAもがんばってくれw
オーム社から「クマでわかる圏論」マダー?
>>506 あー、なるほどね。そういう条件が必要だったのか。
Wikipediaのこの文章をみてちょっと理解しきれなかったんだな。
>圏 C についてその射(と射の合成可能性)だけでも全部わかっていれば、
>そのうちで恒等射になっているものが対象を示しているので著者によっては
>上の公理を満たす射の集まりを持って圏と定義することもある。
恒等射ってのがなんなのかわからん。ググっても出てこないし!
>>507 クマーとかを本に使って金もらうと炎上しそうだなw
クマーはGPLってことで
>>508 恒等射っていうのはドメインとコドメインが等しくて、
何回合成してもそれ自身と等しくなるような射。
圏のすべての対象について、一個ずつ恒等射があること
が必要。逆に言うと、恒等射があるとそれに対応する
対象がちょうどひとつあるので、恒等射と対象は
1対1に対応している。(したがって、人によっては、恒等射を
対象そのものとみなすって言うのが↑の記事、、
あ、そうだわ、・・・集合の圏とかだと冪等射がたくさん・・・orz...
だから、上の条件にプラスして、他の任意の合成可能な射
と合成して相手を変化させないという条件も必要。
ちゃんと書くと、
1:A→Aという射で他の任意の射
f:A→Bと合成して、f1=f
g:C→Aと合成して、1g=g
となるようなもの、・・・