Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
ohmori
PPTX, PDF
8,058 views
圏論とHaskellは仲良し
このスライドは第6回プログラマのための数学勉強会で使用しました。
Education
◦
Read more
11
Save
Share
Embed
Embed presentation
Download
Downloaded 44 times
1
/ 11
2
/ 11
Most read
3
/ 11
4
/ 11
5
/ 11
6
/ 11
7
/ 11
8
/ 11
9
/ 11
Most read
10
/ 11
Most read
11
/ 11
More Related Content
PPTX
圏論は、随伴が全て
by
ohmori
PDF
圏論のモナドとHaskellのモナド
by
Yoshihiro Mizoguchi
PDF
SAT/SMTソルバの仕組み
by
Masahiro Sakai
PDF
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
by
akio19937
PDF
PEGで構文解析をする
by
jiro4989
PDF
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
by
takuyayamamoto1800
PDF
グラフニューラルネットワーク入門
by
ryosuke-kojima
PDF
すごい constexpr たのしくレイトレ!
by
Genya Murakami
圏論は、随伴が全て
by
ohmori
圏論のモナドとHaskellのモナド
by
Yoshihiro Mizoguchi
SAT/SMTソルバの仕組み
by
Masahiro Sakai
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
by
akio19937
PEGで構文解析をする
by
jiro4989
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
by
takuyayamamoto1800
グラフニューラルネットワーク入門
by
ryosuke-kojima
すごい constexpr たのしくレイトレ!
by
Genya Murakami
What's hot
PDF
PFP:材料探索のための汎用Neural Network Potential_中郷_20220422POLセミナー
by
Matlantis
PDF
ZDD入門-お姉さんを救う方法
by
nishio
PPTX
冬のLock free祭り safe
by
Kumazaki Hiroki
PDF
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
by
Hori Tasuku
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
PDF
Turbulence Models in OpenFOAM
by
Fumiya Nozaki
PPTX
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
PPTX
30分で分かる!OSの作り方
by
uchan_nos
PPTX
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
by
Shota Imai
PDF
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PPT
Bloom filter
by
Kumazaki Hiroki
PPTX
ホモトピー型理論入門
by
k h
PDF
MLflowによる機械学習モデルのライフサイクルの管理
by
Takeshi Yamamuro
PDF
中3女子でもわかる constexpr
by
Genya Murakami
PDF
いまさら聞けない!CUDA高速化入門
by
Fixstars Corporation
PDF
最適化超入門
by
Takami Sato
PPTX
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
by
RyuichiKanoh
PPT
メタプログラミングって何だろう
by
Kota Mizushima
PPTX
劣モジュラ最適化と機械学習1章
by
Hakky St
PFP:材料探索のための汎用Neural Network Potential_中郷_20220422POLセミナー
by
Matlantis
ZDD入門-お姉さんを救う方法
by
nishio
冬のLock free祭り safe
by
Kumazaki Hiroki
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
by
Hori Tasuku
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
Turbulence Models in OpenFOAM
by
Fumiya Nozaki
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
30分で分かる!OSの作り方
by
uchan_nos
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
by
Shota Imai
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
Bloom filter
by
Kumazaki Hiroki
ホモトピー型理論入門
by
k h
MLflowによる機械学習モデルのライフサイクルの管理
by
Takeshi Yamamuro
中3女子でもわかる constexpr
by
Genya Murakami
いまさら聞けない!CUDA高速化入門
by
Fixstars Corporation
最適化超入門
by
Takami Sato
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
by
RyuichiKanoh
メタプログラミングって何だろう
by
Kota Mizushima
劣モジュラ最適化と機械学習1章
by
Hakky St
Viewers also liked
PDF
実践Scalaでペアノの公理
by
Yasuki Okumura
PPTX
加法よりも低レベルな演算を考える
by
Yu(u)ki IWABUCHI
PDF
【展開用】日曜数学会 Sinc関数の積分について
by
和人 桐ケ谷
PDF
nichiyou vol.4
by
tsu nuts
PDF
最大公約数に関するささやかな知見
by
ayatsuka
PPTX
かんたんベジェ曲線
by
Yu(u)ki IWABUCHI
PDF
SwiftでRiemann球面を扱う
by
hayato iida
PPTX
Riemann球面に内接する直方体[第四回日曜数学会]
by
Yuto Horikawa
PPTX
営業会社の開発組織を成長させるためにやったこと
by
Daisuke Kotaki
PDF
ベルヌーイ数を割る素数 - 第4回 #日曜数学会
by
Junpei Tsuji
PDF
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
by
Ken'ichi Matsui
PDF
第4回日曜数学会スライド by まこぴ~
by
Makoto Kohno
PPTX
Packing
by
Tatsuki SHIMIZU
PDF
暗号文のままで計算しよう - 準同型暗号入門 -
by
MITSUNARI Shigeo
PPTX
Poincare embeddings for Learning Hierarchical Representations
by
Tatsuya Shirakawa
実践Scalaでペアノの公理
by
Yasuki Okumura
加法よりも低レベルな演算を考える
by
Yu(u)ki IWABUCHI
【展開用】日曜数学会 Sinc関数の積分について
by
和人 桐ケ谷
nichiyou vol.4
by
tsu nuts
最大公約数に関するささやかな知見
by
ayatsuka
かんたんベジェ曲線
by
Yu(u)ki IWABUCHI
SwiftでRiemann球面を扱う
by
hayato iida
Riemann球面に内接する直方体[第四回日曜数学会]
by
Yuto Horikawa
営業会社の開発組織を成長させるためにやったこと
by
Daisuke Kotaki
ベルヌーイ数を割る素数 - 第4回 #日曜数学会
by
Junpei Tsuji
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
by
Ken'ichi Matsui
第4回日曜数学会スライド by まこぴ~
by
Makoto Kohno
Packing
by
Tatsuki SHIMIZU
暗号文のままで計算しよう - 準同型暗号入門 -
by
MITSUNARI Shigeo
Poincare embeddings for Learning Hierarchical Representations
by
Tatsuya Shirakawa
Similar to 圏論とHaskellは仲良し
PDF
Introduction to Categorical Programming
by
Masahiro Sakai
PDF
Introduction to Categorical Programming (Revised)
by
Masahiro Sakai
PDF
圏とHaskellの型
by
KinebuchiTomo
PDF
たのしい関数型
by
Shinichi Kozake
PPT
融合変換による最適化の理論的基盤と正当性 (2006-06-27)
by
Masahiro Sakai
PDF
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
by
Yoichi Nakayama
PDF
Cartesian Closed Category
by
Sosuke MORIGUCHI
ODP
Haskell
by
todorokit
PDF
Haskell Lecture 1
by
Yusuke Matsushita
PDF
関数プログラミング入門
by
Hideyuki Tanaka
PDF
Haskell超入門 Part.1
by
Yuichi Watanabe
PDF
プログラミングHaskell(第1章)
by
yaju88
PDF
すごいHaskell読書会#1 in 大阪
by
yashigani
PDF
すごいHaskell読書会 第六章 発表資料
by
Hiromasa Ohashi
PDF
すごいHaskell楽しく学ぼう 第6章
by
aomori ringo
KEY
モナドがいっぱい!
by
Kenta Sato
PDF
すごいHaskell楽しく学ぼう-第12章モノイド-
by
Hiromasa Ohashi
PDF
Scala 初心者が米田の補題を Scala で考えてみた
by
Kazuyuki TAKASE
PDF
Haskell勉強会 in ie
by
maeken2010
PDF
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
by
Tomoharu ASAMI
Introduction to Categorical Programming
by
Masahiro Sakai
Introduction to Categorical Programming (Revised)
by
Masahiro Sakai
圏とHaskellの型
by
KinebuchiTomo
たのしい関数型
by
Shinichi Kozake
融合変換による最適化の理論的基盤と正当性 (2006-06-27)
by
Masahiro Sakai
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
by
Yoichi Nakayama
Cartesian Closed Category
by
Sosuke MORIGUCHI
Haskell
by
todorokit
Haskell Lecture 1
by
Yusuke Matsushita
関数プログラミング入門
by
Hideyuki Tanaka
Haskell超入門 Part.1
by
Yuichi Watanabe
プログラミングHaskell(第1章)
by
yaju88
すごいHaskell読書会#1 in 大阪
by
yashigani
すごいHaskell読書会 第六章 発表資料
by
Hiromasa Ohashi
すごいHaskell楽しく学ぼう 第6章
by
aomori ringo
モナドがいっぱい!
by
Kenta Sato
すごいHaskell楽しく学ぼう-第12章モノイド-
by
Hiromasa Ohashi
Scala 初心者が米田の補題を Scala で考えてみた
by
Kazuyuki TAKASE
Haskell勉強会 in ie
by
maeken2010
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
by
Tomoharu ASAMI
圏論とHaskellは仲良し
1.
圏論とHaskellは 仲良し 法政大学 大森健児
2.
自己紹介 1969年5月卒業 1972年9月卒業 1969-85 企業の研究所で マルチプロセッサシステム 2016.2.29最終講義 1985-2016大学で教育と研究
3.
圏論 数学は、元来、抽象的だが、 その中で最も抽象的なのが圏論 それぞれの分野を圏とし、 それらに共通するものを扱う カテゴリーには、 ・集合の圏 ・モノイドの圏 ・群の圏 ・ベクトル空間の圏 ・グラフの圏 ・実数の集合と 連続関数の圏 ・位相空間の圏 ・デカルト閉圏 圏とは 1.対象(集合:要素の集まり) 2.射(関数) 3.ソース、ターゲット 4.恒等射 5.合成(結合律) 例:自然数の加算 (モノイド) 𝑛 恒等射:0 合成: + 0 1 ・ 例:自然数の加算 +𝑛 恒等射:0 合成: +𝑚 °
+𝑛 = +(𝑚 + 𝑛) +0 +1 ・ ℕ カリー化 𝑓 𝑔 ℎ 𝐴 𝐵 𝐶 例:集合と写像の圏 𝑥 𝑦 𝑧 𝑤 𝑢 𝑣 𝑎 𝑏 𝑐 𝑑 𝑒 𝑥 𝑦 𝑧𝑢 𝑣 𝑤 𝑑 𝑒𝑎 𝑏 𝑐 𝑋 𝑃 𝑠 𝑡 例:グラフの圏 ノードとエッジを対象に
4.
圏論 𝑛 例:自然数とその列 [𝑛] 𝐹 = [
] 米田の補題 Nat(Hom 𝑆𝑒𝑡𝑠(𝑋, _), 𝐹) ≅ 𝐹(𝑋) X Hom 𝑆𝑒𝑡𝑠(𝑋, _) 圏𝐶 𝐹(𝑋) 圏𝑆𝑒𝑡𝑠 𝐹 随伴関手Hom 𝐴(𝐿(𝐵), 𝐴) ≅ Hom 𝐵(𝐵, 𝑅(𝐴)) 圏𝐵 圏𝐴 𝐿 𝑅 赤ん坊 の世界 雑音 中学生 の世界 会話中学生:職場体験 𝑎 𝑏 𝑏 ∘ 𝑎 = 𝑏 + 𝑎 (+𝑎) (+𝑏) +𝑏 ∘ +𝑎 = + 𝑏 + 𝑎 𝐹 𝒞1 ࣝ2 ℕ ℕ ℕ 例:カリー化からモ ノイドへの写像 関手: 圏𝒞から圏𝒟への関手𝐹: 𝒞 → 𝒟とは、圏𝒞の対象𝐴を圏𝒟の対象𝐹(𝐴)に対応付け、圏𝒞の 射 𝑓: 𝐴 → 𝐵を圏𝒟の対象𝐹(𝑓)に対応付ける関数の組で、次の二つの条件を満たすものである。 1) 𝒞の任意の二つの射𝑓: 𝐴 → 𝐵, 𝑔: 𝐵 → 𝐶に対して、𝐹(𝑔 ⋅ 𝑓) = 𝐹(𝑔) ∘ 𝐹(𝑓)である。 2) 𝒞の任意の対象𝐴に対して、𝐹(1 𝐴) = 1 𝐹( 𝐴) である。 𝐴 𝐵 𝑓 𝒞 𝐹(𝐴) 𝐹(𝐵) 𝐹(𝑓) 𝒟 𝐹 新しい圏に
5.
Universal Properties 積の定義: 対象𝐵1, 𝐵2の積とは、対象𝑃、射𝑝1:
𝑃 → 𝐵1, 𝑝2: 𝑃 → 𝐵2から なり、次の条件を満足するものである。 任意の対象𝑋と任意の射𝑓1: 𝑋 → 𝐵1, 𝑓2: 𝑋 → 𝐵2が与えられ た時、以下の図式が可換となるような𝑢: 𝑋 → 𝑃が唯一つ 存在する。 このとき、𝑃は 𝐵1 × 𝐵2と表す。 最大公約数 積集合
6.
Universal Properties 和の定義: 対象𝐵1, 𝐵2の和とは、対象𝑄、射𝑞1:
𝑄 → 𝐵1, 𝑞2: 𝑃 → 𝐵2か らなり、次の条件を満足するものである。 任意の対象𝑌と任意の射𝑔1: 𝐵1 → 𝑌, 𝑔2: 𝐵2 → 𝑌が与えられ た時、以下の図式が可換となるような𝑢′: 𝑄 → 𝑌が唯一つ 存在する。 このとき、𝑄は 𝐵1 + 𝐵2と表す。 最小公倍数 和集合
7.
Haskell プログラミング言語で、カテゴリー(圏論)を ベースにしているのは、Haskell 関数型言語の歴史 素数 primes =
filterPrime [2..] where filterPrime (p:xs) = p : filterPrime [x | x <- xs, x `mod` p /= 0] クイックソート quicksort [] = [] quicksort (x:xs) = quicksort smaller ++ [x] ++ quicksort larger where smaller = [a | a <- xs, a < x] larger = [a | a <- xs, a >= x] 関数とは 𝑣 = 𝑣0 − 𝑔𝑑𝑡(速度) 𝑦 = 𝑦0 + 𝑣𝑑𝑡(位置) 言語 年 発明者 ラムダ計算 1930 チャーチ 圏論 1945 マックレーン LISP 1958 マッカーシー Scheme 1975 サスマン Smalltalk-80 1980 ゼロックス社 Haskell 1.0 1990 ハスケル・カリーに因 んで Haskell 2010 2010
8.
Haskellと圏論 圏 1.対象 2.射 3.ソース、ターゲット 4.恒等射 5.合成(結合律) Haskell 1.データ型(集合:要素の集まり) 2.関数(クラス・インスタンス) 3.シグニチャ データ型𝐶 𝑓 𝑔 𝑔°𝑓 データ型𝐷 𝑓′ = 𝑓𝑚𝑎𝑝 𝑓 𝑔′ =
𝑓𝑚𝑎𝑝 𝑔 𝑔′ °𝑓′ = 𝑓 𝑚𝑎𝑝 𝑔°𝑓 = 𝑓𝑚𝑎𝑝 𝑔 °(𝑓𝑚𝑎𝑝 𝑓) Haskellでの関手 随伴関手 モナド 𝑅°𝐿 モナドの例 入出力 ファイル Maybe (例外事象) モナドの利点 ドメイン固有言語 →簡単に作成 圏𝐵 圏𝐴 𝐿 𝑅 忘却関手 赤ん坊 の世界 雑音 中学生 の世界 会話 実世界 純粋な 世界
9.
関数型リアクティブ プログラミング 関数型言語を実世界へ ・ロボット ・ゲーム ・シミュレーション 動画 ビリヤード台で衝突 しあう二つのボール ビリヤード座標系 重心座標系 simulation ::
HasTime t s => Wire s () IO a (Ball, Ball) simulation = proc _ -> do rec b1 <- ball "ball1" mass1 radius1 vInit1 pInit1 -< ("ball1", c) b2 <- ball "ball2" mass2 radius2 vInit2 pInit2 -< ("ball2", c) c <- collision -< (b1, b2) returnA -< (b1, b2) 振舞い:時間を変数とする関数 イベント:ある時間での事象 例 :音楽 振舞い :曲 イベント:打鍵 デモ Time Int x Time Int 2 stepper 2 x 詳細は http://bitterharvest.hatenablog.com/entry /2015/09/24/164937
10.
さらに勉強する人のために
11.
ご清聴ありがとうございました。 http://bitterharvest.hatenablog.com でお会いしましょう。
Download