SlideShare a Scribd company logo
数学プログラムを

Haskell で書くべき6の理由
早稲田大学基幹理工学部

数学科四年 石井大海
自己紹介
石井大海(いしい・ひろみ)
早稲田大学数学科四年(楫元研究室)
専門:集合論、計算機代数
四月から筑波の数学研究科に進学
塩谷研・照井研
発表内容
純粋関数型言語 Haskell の紹介
今年一年間 Haskell で計算機代数ライブラリを
書いてきた経験を踏まえて
実装や言語の詳細は後程捕まえて いて下さい
純粋関数型言語 Haskell
純粋関数型言語?

Haskell??
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
要するに?
Haskell は

記述力が凄い
Haskell は

記述力が凄い
Haskell は

記述力が凄い
何がどのように?
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
簡潔な記述・見掛け上無限を扱える
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
簡潔な記述・見掛け上無限を扱える
安全性の保証・数学的構造の抽象化
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
簡潔な記述・見掛け上無限を扱える
安全性の保証・数学的構造の抽象化
アルゴリズムに適した記述が可能
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
簡潔な記述・見掛け上無限を扱える
安全性の保証・数学的構造の抽象化
アルゴリズムに適した記述が可能
効率的なプログラムの記述
宣言的・純粋関数型
宣言的・純粋関数型
C, Ruby……命令的・手続型
何をどうするか記述する
(命令する)
ループが基本
def fib(n)
a = b = 1
for i in 1..n
a, b = b, a + b
end
return a
end
宣言的・純粋関数型
C, Ruby……命令的・手続型
何をどうするか記述する
(命令する)
ループが基本
Haskell:宣言的、関数型
何がどうであるか記述する
(宣言する)
再帰が基本
def fib(n)
a = b = 1
for i in 1..n
a, b = b, a + b
end
return a
end
fib :: Int → Int → Int
fib 0 = 1
fib 1 = 1
fib n = fib (n-2) + fib (n-1)
宣言的・純粋関数型
C, Ruby……命令的・手続型
何をどうするか記述する
(命令する)
ループが基本
Haskell:宣言的、関数型
何がどうであるか記述する
(宣言する)
再帰が基本
def fib(n)
a = b = 1
for i in 1..n
a, b = b, a + b
end
return a
end
fib :: Int → Int → Int
fib 0 = 1
fib 1 = 1
fib n = fib (n-2) + fib (n-1)
宣言型の方が数学の「定義」に近い
代数的データ型
Haskell における共用体・構
造体(のようなもの)
既存の型の直積・直和で表
現
再帰的な定義も余裕
数学の定義をそのまま書き起
こせる
data Bool = False | True
data List a = Nil
| Cons a (List a)
!
data Expr
= Num Integer
| Neg Expr
| Plus Expr Expr
| Mult Expr Expr
| If Expr Expr Expr
パターンマッチ
帰納的に定義した型の値を、その形によって場合分
けできる
再帰的にデータを走査する際に便利
例:構文木の評価
eval :: Expr -> Int
eval (Num i) = i
eval (Neg i) = negate (eval i)
eval (Plus n m) = eval n + eval m
eval (Mult n m) = eval n * eval m
eval (If p t f) = if p == 0 then f else t
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
簡潔な記述・見掛け上無限を扱える
安全性の保証・数学的構造の抽象化
アルゴリズムに適した記述が可能
効率的なプログラムの記述
遅延評価
Haskell は必要になるまで値を評価しない
C, Ruby の && や ¦¦ の振舞いに似ている
これらは第一引数の値で結果が決まる場合、
第二引数は評価しない
Haskell ではデフォルトで全てがこの評価戦略
遅延評価の例
可算無限の対象を扱える(列挙できるなら)
下:素数から成る無限リスト(注:これはとても非効率)
全部読もうとすると当然止まらないが、一部分だけ使う分
には問題ない
sieve [] = []
sieve (n : ns) =
n : sieve [ m | m ← ns, m `mod` n ≠ 0]
!
primes = 2 : sieve [3, 5 ..]
!
primesUpto100 = takeWhile (≦ 100) primes
遅延評価の応用例
有限次元代数とは限らない多項式環の剰余環
イデアルが零次元なら剰余環は有限次元、有限
個の元の乗算表を用意すれば良い
➡ 乗算表の値を必要になるまで遅延しておけば、
無限次元であっても扱うことが出来る!
遅延評価は思わぬメモリ漏れを引き起こしもする
ので、注意が必要
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
簡潔な記述・見掛け上無限を扱える
安全性の保証・数学的構造の抽象化
アルゴリズムに適した記述が可能
効率的なプログラムの記述
強力な型システム(1)
静的型付き:コンパイル時に型をチェック(これはCも同じ)
Ruby など:実行時に型エラーで不正終了することがある
こうしたバグが防げるだけで、デバッグが格段に楽になる
型推論:コンパイラが型を推定してくれるので、大抵型を自分
で書かなくても大丈夫
型安全
型が付いたプログラムは(何かの意味で)絶対に刺さらない
C, C++, ... : 型安全ではない:cast や printf で簡単にSEGV
Haskell, OCaml:型安全である
型安全性と型の意味
そもそも型とは?
○ 値の種類を表すタグ
int は自然数、char は文字、[int] はint値のリスト etc, etc...
◎ 値や関数の不変条件の表明
実際に不変条件として振る舞うには、システムが型安全性を
満たす必要がある
Haskell の型は十分強力なので、配列の境界条件や変数条件
などを型の制約として書ける
安全性を静的に保証出来る!
強力な型システム(2)
型クラス(アドホック多相)
似た操作・演算を持つ型を抽象化出来る
オブジェクト指向の mix-in やトレイトに相当
応用例:有理数型や有限体型に対して個別に線型代数やグレブナー
基底計算を実装するのではなく、一般の体について実装出来る
class Field k where
zero :: k
one :: k
(+) :: k -> k -> k
(*) :: k -> k -> k
recip :: k -> Maybe k
強力な型システム(3)
多相型(パラメトリック多相)
リストや木など、中身に関係のないデータ構造
や関数を総称的に定義出来る
以下は二分木とその深さの例
data Tree a = Leaf a | Branch (Tree a) (Tree a)
!
depth :: Tree a -> Int
depth (Leaf _) = 0
depth (Branch t t') = 1 + max (depth t) (depth t')
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
簡潔な記述・見掛け上無限を扱える
安全性の保証・数学的構造の抽象化
アルゴリズムに適した記述が可能
効率的なプログラムの記述
柔軟な副作用の制御
副作用とは?
Haskell は純粋関数型言語
Haskell の関数は全て数学的な意味での関数
純粋 = 同じ引数に対して同じ値を返す
最適化や並列化に有利・定義順を気にしなくてよい
副作用……関数の純粋性を破るような作用
入出力、乱数の生成、etc...
純粋だと何が嬉しいか
データの部分構造を共有出来る
関数の定義順を気にする必要がない
同じ計算を二度しなくて済む(答えが変わらな
いから)
Q. 副作用なしでどうやっ
てプログラムを書くの?
モナドによる副作用の制御
圏論のモナドの概念を使って副作用を抽象化する
副作用を持ち得る値はモナドに包んで扱う
型 a を持つけど何らかの意味で副作用を含むものをモナドで包んで
m a 型の値として区別する
代表的なモナド
入出力:IO、非決定性計算:リスト、失敗計算:Maybe、

破壊的代入:ST などなど
IO Int : 入出力を伴った整数、

[String]:文字列のリストまたは文字列を使った非決定性計算
モナドを理解せずとも

Haskell は使える
型レベルで副作用が区別されることが大事
IO モナドや ST モナドの場合、副作用を外に取り出すことは
出来ない
C とか Ruby のように、手続型っぽく副作用を書くことが出来る
自前の「モナド」を定義でき、DSL が手軽に作れる
使う副作用の種類を限定でき、型によって副作用を使う場所が区
別出来る
代入や破壊的変更によるバグを防げる
例:クィックソート
一般的に Haskell の例として出される qsort
実はこれは偽物
pivot してない、in-place じゃない、遅い……
qsort :: [Int] → [Int]
qsort [] = []
qsort (a : as) =
qsort [x | x ← xs, x ≦ a] ++ [a]
++ qsort [y | y ← ys, y > a]
例:クィックソート
破壊的変更による本物のクィックソート(抜粋)
(出典:Quicksort in Haskell)
qsort' l r =
if1 (r > l) $ do
i ← auto l
j ← auto (r+1)
let v = a[l] :: E m a
iLTj = i < (j :: E m i)
while iLTj $ do
while ((i += 1) < mub && a[i] < v)
skip
while (a[j -= 1] > v) skip
if1 iLTj $ a[i] =:= a[j]
a[l] =:= a[j]
qsort' l (j-1)
qsort' i r
副作用:まとめ
型により副作用と純粋な関数を分離できる
記述するアルゴリズムの性質に応じて、数学的
な関数として記述するか、破壊的変更や可変状
態を使って手続的に記述するかが選べる
手軽に DSL が作れる
Haskell の特徴
宣言的・純粋関数型
代数的データ型
遅延評価
強力な型システム
柔軟な副作用の制御
並列・並行処理が得意
より数学らしいプログラム
簡潔な記述・見掛け上無限を扱える
安全性の保証・数学的構造の抽象化
アルゴリズムに適した記述が可能
効率的なプログラムの記述
時間切れorz
今後の課題
数値計算は LAPACK などへの高レベルなバインディン
グがある
記号計算系のライブラリが圧倒的に不足
効率的な計算の為にはモジュラー計算や記号線型代
数のライブラリの開発が必要
効率的なプログラムを書くのにはコツが必要
どの言語でもそうだが、ノウハウの蓄積が必要
入門書
すごい Haskell 楽しく学ぼう!
他言語での経験がある人向けの、肩肘の張らない解説書の邦訳
関数プログラミング入門 Haskell で学ぶ原理と技法
Haskell を使って、関数型プログラミングの考え方を基礎から学ぶ良書。
型システム入門
型システムに関する定番教科書の邦訳。
この三冊にはレビュアーとして参加してたりします(自慢)
Purely Functional Data Structures
純粋関数型を生かしたデータ構造の解説書
まとめ
Haskell は数学的プログラムを記述するのに適す
宣言的にも手続的にも書ける
遅延評価による計算量の工夫
リッチな型システムが安全性や表現力を増加
詳細はシンポジウムで!

More Related Content

What's hot

数式からみるWord2Vec
数式からみるWord2Vec数式からみるWord2Vec
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
Yoshihiro Mizoguchi
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
Takahiro Kubo
 
圏論とHaskellは仲良し
圏論とHaskellは仲良し圏論とHaskellは仲良し
圏論とHaskellは仲良し
ohmori
 
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
Deep Learning JP
 
データに内在する構造をみるための埋め込み手法
データに内在する構造をみるための埋め込み手法データに内在する構造をみるための埋め込み手法
データに内在する構造をみるための埋め込み手法
Tatsuya Shirakawa
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
Momoko Hayamizu
 
方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用
Ryo Iwaki
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
hagino 3000
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
 
日曜数学会_ガロア体上の符号とQRコード_Kuma
日曜数学会_ガロア体上の符号とQRコード_Kuma日曜数学会_ガロア体上の符号とQRコード_Kuma
日曜数学会_ガロア体上の符号とQRコード_Kuma
NotoriShannonlover
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
Preferred Networks
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
Preferred Networks
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展
Deep Learning JP
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
 
幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro
Ichigaku Takigawa
 
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
Masashi Shibata
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
Deep Learning JP
 
Hessian free
Hessian freeHessian free
Hessian free
Jiro Nishitoba
 

What's hot (20)

数式からみるWord2Vec
数式からみるWord2Vec数式からみるWord2Vec
数式からみるWord2Vec
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
圏論とHaskellは仲良し
圏論とHaskellは仲良し圏論とHaskellは仲良し
圏論とHaskellは仲良し
 
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
 
データに内在する構造をみるための埋め込み手法
データに内在する構造をみるための埋め込み手法データに内在する構造をみるための埋め込み手法
データに内在する構造をみるための埋め込み手法
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 
方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
日曜数学会_ガロア体上の符号とQRコード_Kuma
日曜数学会_ガロア体上の符号とQRコード_Kuma日曜数学会_ガロア体上の符号とQRコード_Kuma
日曜数学会_ガロア体上の符号とQRコード_Kuma
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro
 
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
 
Hessian free
Hessian freeHessian free
Hessian free
 

Similar to 数学プログラムを Haskell で書くべき 6 の理由

プログラミングHaskell(第1章)
プログラミングHaskell(第1章)プログラミングHaskell(第1章)
プログラミングHaskell(第1章)
yaju88
 
Flang kkd1
Flang kkd1Flang kkd1
Flang kkd1
florets1
 
オブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programmingオブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programming
Tomoharu ASAMI
 
Object-Funcational Analysis and design
Object-Funcational Analysis and designObject-Funcational Analysis and design
Object-Funcational Analysis and design
Tomoharu ASAMI
 
Vim scriptとJavaとHaskell
Vim scriptとJavaとHaskellVim scriptとJavaとHaskell
Vim scriptとJavaとHaskell
aiya000
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Naoki Aoyama
 
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックス
Tomoharu ASAMI
 
Scalaノススメ
ScalaノススメScalaノススメ
Scalaノススメ
Yasuyuki Maeda
 
並行プログラミング with Haskell
並行プログラミング with Haskell並行プログラミング with Haskell
並行プログラミング with Haskell
coil_kpc
 

Similar to 数学プログラムを Haskell で書くべき 6 の理由 (10)

プログラミングHaskell(第1章)
プログラミングHaskell(第1章)プログラミングHaskell(第1章)
プログラミングHaskell(第1章)
 
Flang kkd1
Flang kkd1Flang kkd1
Flang kkd1
 
オブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programmingオブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programming
 
Object-Funcational Analysis and design
Object-Funcational Analysis and designObject-Funcational Analysis and design
Object-Funcational Analysis and design
 
Vim scriptとJavaとHaskell
Vim scriptとJavaとHaskellVim scriptとJavaとHaskell
Vim scriptとJavaとHaskell
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
 
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックス
 
Scalaノススメ
ScalaノススメScalaノススメ
Scalaノススメ
 
並行プログラミング with Haskell
並行プログラミング with Haskell並行プログラミング with Haskell
並行プログラミング with Haskell
 

More from Hiromi Ishii

ものまね鳥を愛でる 結合子論理と計算
ものまね鳥を愛でる 結合子論理と計算ものまね鳥を愛でる 結合子論理と計算
ものまね鳥を愛でる 結合子論理と計算
Hiromi Ishii
 
Freer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible Effects
Hiromi Ishii
 
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
Hiromi Ishii
 
実数の集合はどこまで可測になれるか?
実数の集合はどこまで可測になれるか?実数の集合はどこまで可測になれるか?
実数の集合はどこまで可測になれるか?
Hiromi Ishii
 
(数式の入った)本をつくる
(数式の入った)本をつくる(数式の入った)本をつくる
(数式の入った)本をつくる
Hiromi Ishii
 
御清聴ありがとうございました
御清聴ありがとうございました御清聴ありがとうございました
御清聴ありがとうございました
Hiromi Ishii
 
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Hiromi Ishii
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底
Hiromi Ishii
 
Algebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすくAlgebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすく
Hiromi Ishii
 
Yesod でブログエンジンをつくってみた
Yesod でブログエンジンをつくってみたYesod でブログエンジンをつくってみた
Yesod でブログエンジンをつくってみた
Hiromi Ishii
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
Hiromi Ishii
 
Yesodを支える技術
Yesodを支える技術Yesodを支える技術
Yesodを支える技術
Hiromi Ishii
 
Alloy Analyzer のこと
Alloy Analyzer のことAlloy Analyzer のこと
Alloy Analyzer のこと
Hiromi Ishii
 
Invertible-syntax 入門
Invertible-syntax 入門Invertible-syntax 入門
Invertible-syntax 入門
Hiromi Ishii
 
最終発表
最終発表最終発表
最終発表
Hiromi Ishii
 
Metaprogramming in Haskell
Metaprogramming in HaskellMetaprogramming in Haskell
Metaprogramming in Haskell
Hiromi Ishii
 
Template Haskell とか
Template Haskell とかTemplate Haskell とか
Template Haskell とか
Hiromi Ishii
 
実践・完全犯罪のつくり方
実践・完全犯罪のつくり方実践・完全犯罪のつくり方
実践・完全犯罪のつくり方
Hiromi Ishii
 

More from Hiromi Ishii (18)

ものまね鳥を愛でる 結合子論理と計算
ものまね鳥を愛でる 結合子論理と計算ものまね鳥を愛でる 結合子論理と計算
ものまね鳥を愛でる 結合子論理と計算
 
Freer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible Effects
 
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
 
実数の集合はどこまで可測になれるか?
実数の集合はどこまで可測になれるか?実数の集合はどこまで可測になれるか?
実数の集合はどこまで可測になれるか?
 
(数式の入った)本をつくる
(数式の入った)本をつくる(数式の入った)本をつくる
(数式の入った)本をつくる
 
御清聴ありがとうございました
御清聴ありがとうございました御清聴ありがとうございました
御清聴ありがとうございました
 
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底
 
Algebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすくAlgebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすく
 
Yesod でブログエンジンをつくってみた
Yesod でブログエンジンをつくってみたYesod でブログエンジンをつくってみた
Yesod でブログエンジンをつくってみた
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 
Yesodを支える技術
Yesodを支える技術Yesodを支える技術
Yesodを支える技術
 
Alloy Analyzer のこと
Alloy Analyzer のことAlloy Analyzer のこと
Alloy Analyzer のこと
 
Invertible-syntax 入門
Invertible-syntax 入門Invertible-syntax 入門
Invertible-syntax 入門
 
最終発表
最終発表最終発表
最終発表
 
Metaprogramming in Haskell
Metaprogramming in HaskellMetaprogramming in Haskell
Metaprogramming in Haskell
 
Template Haskell とか
Template Haskell とかTemplate Haskell とか
Template Haskell とか
 
実践・完全犯罪のつくり方
実践・完全犯罪のつくり方実践・完全犯罪のつくり方
実践・完全犯罪のつくり方
 

Recently uploaded

「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
shogotaguchi
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
Takayuki Nakayama
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo Lab
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo Lab
 
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
CRI Japan, Inc.
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
Toru Tamaki
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
たけおか しょうぞう
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
Natsutani Minoru
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo Lab
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
Sony - Neural Network Libraries
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
chisatotakane
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
Toru Tamaki
 

Recently uploaded (12)

「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
 
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
 

数学プログラムを Haskell で書くべき 6 の理由