SlideShare a Scribd company logo
怖くないよ
怖くないよ




たのしい関数型
        ー関数型言語入門
目的
本勉強会の趣旨




   本セッションは関数型入門です
   たのしく関数型を学ぶことを目的
   としております。
つまりですね
目的
本勉強会の趣旨 -ATENDより




    本セッションは関数型入門です
    たのしく関数型を学ぶことを目的
    としております。
大事なことなので
2回いいました
注意事項
注意事項

    Monad
          圏論
     ストリクト解析  がどうとか



  α-変換、β-簡約      がどうとか



関数型には難しい概念もありますが・・
注意事項

    Monad
          圏論
     ストリクト解析   がどうとか



  α-変換、β-簡約       がどうとか



当セッションの範囲外です
注意事項




関数型には怖い人がいるらしいですが・・特に東方
注意事項




会場を間違えていませんか?
注意事項




THIS IS スパルタ!!
注意事項




ないです
たのしく
学びましょう~
Status
                        所属       : SIer
                        Java     : 195
                        Scala    : 30
      小酒 信一             Hakell   : 35
 システムアーキテクト
                        協調性      : 2
 せいべつ : おとこ
 レベル     : 0x24         さいだいHP : 24
 Twitter : s_kozake     さいだいMP : 1
                        ステータス : 緊張
 E GATEWAY ノートPC
 E 結婚指輪               GOLD :              0
関数型とは?
関数型とは?
副作用を持たない関数を中心にして
プログラムを組み立てる手法
関数型とは?
副作用を持たない関数を中心にして
プログラムを組み立てる手法

副作用を持たない関数とは?
同じ関数をなんど呼び出しても。
同じ引数についていつも同じ結果
「今回」f(x) = a なら、「次回」もf(x)=a
関数型とは?
副作用を持たない関数を中心にして
プログラムを組み立てる手法

副作用を持たない関数とは?
同じ関数をなんど呼び出しても。
同じ引数についていつも同じ結果
「今回」f(x) = a なら、「次回」もf(x)=a
           =



        等式推論
具体例
JavaでListを扱うコード

  List<Integer> list = new ArrayList<>();
  list.add(1);
  list.add(2);
  list.add(3);

  System.out.println(list.get(0));   // 1

  list.set(0, 4);
  System.out.println(list.get(0));   // 4
具体例
JavaでListを扱うコード

  List<Integer> list = new ArrayList<>();
  list.add(1);
  list.add(2);
  list.add(3);

  System.out.println(list.get(0));   // 1

  list.set(0, 4);                           副作用
                                            副作用
  System.out.println(list.get(0));   // 4

Listの内部状態を変更している
具体例
ScalaでListを扱うコード

  val list = List(1, 2, 3)

  println(list(0))    // 1

  val list2 = list.updated(0, 4)
  println(list(0))    // 1
  println(list2(0))   // 4
具体例
ScalaでListを扱うコード

  val list = List(1, 2, 3)

  println(list.apply(0))     // 1

  val list2 = list.updated(0, 4)
  println(list.apply(0))     // 1
  println(list2.apply(0))    // 4



新しいListを作成している
具体例
JavaのStringクラス

  final String str = "abc";

  System.out.println(str);      // "abc"
  final String str2 = str.substring(1);

  System.out.println(str);      // "abc"
  System.out.println(str2);     // "bc"



JavaのStringクラスは不変
なぜ関数型?
なぜ関数型?
CPUのマルチコア化
・10年後には、コア1000!?
・今まで以上に平行プログラミングが重要
・副作用のない関数型は並行処理と相性がいい
なぜ関数型?
CPUのマルチコア化
・10年後には、コア1000!?
・今まで以上に平行プログラミングが重要
・副作用のない関数型は並行処理と相性がいい



  Java8にラムダが導入されるのも、
  CPUコア数増加に対応し、並行処理を
  効率よく扱うため
なぜ関数型?
高階関数
・関数がファーストクラスオブジェクト
・コードパターンを再利用しやすい
・リストのライブラリが使いやすい
  ・map
  ・fiter
  ・foldl / foldr
  ・find
  ・etc..
なぜ関数型?
内部DSL
・Domain Specific Language、領域特化言語
・高階関数や遅延評価をもつ関数型は
 内部DSLを作成しやすい。
 「ホスト言語」として有力候補
なぜ関数型?
・「HOW」から「WHAT」へ
                 ハードウェア性能の向上
                             関数型
                   オブジェクト   オブジェクト
                     指向型     指向型

          手続き型     手続き型     手続き型


・クイックソートのコード例
 qsort [] = []
 qsort(x:xs) = qsort l ++ [x] ++ qsort r
                 where l = [a | a <- xs, a < x]
                       r = [a | a <- xs, a >= x]
なぜ関数型?
ハッカーになれる!?

LISP は、それをモノにしたときのすばらしい
悟り体験のために勉強しましょう。
この体験は、その後の人生でよりよい
プログラマーとなる手助けとなるはずです。
たとえ、実際には LISP そのものをあまり
使わなくても。
 ~ハッカーになろう~より抜粋
 http://cruel.org/freeware/hacker.html
リストとは?
リストとは?
・同じ型の要素の並び
 関数型言語として最も代表的なデータ構造

・神は言われた。「リストあれ」
 リストを処理するのが関数型言語の
 プログラミングというほど、関連が深い

・単一方向の線型リスト
   head   tail   head   tail   []

    1             2
リストとは?
コード例(HaskellのREPLでの例)
リストとは?
コード例(HaskellのREPLでの例)


            zs


                      0       ys


                 xs                    []

                          1   2    3
リストとは?
文字列もリストとして扱われる
タプルとは?
タプルとは?
・有限個の要素の組。
 各要素の型は異なってもいい

・要するに、構造体

・要素数0のタプルはユニットと呼ばれる
 要素数2のタプルは組、3は三つ組
タプルとは?
人間関係で考えると




   組        二股 三つ組
タプルとは?
リスト内包表記とは?
リスト内包表記とは?
・数学の内包表記は、既存の集合から
 新しい集合を生成する。
    2
 { X | X ∈ {1..5}} = {1, 4, 9, 16, 25}

・既存のリストから新しいリストを生成する
 のがリスト内包表記
リスト内包表記とは?
    2
 [ X | X ← [1..5]]
         生成器
リスト内包表記とは?
複数の生成器も列挙できる。

[ X×Y | X ← [1..3],Y←[1..3]]

           生成器       生成器
リスト内包表記とは?
Javaで書くと、こんなイメージ
   List<Integer> xs = new ArrayList<Integer>();
   xs.add(1); xs.add(2); xs.add(3);

   List<Integer> ys = new ArrayList<Integer>();
   ys.add(1); ys.add(2); ys.add(3);

   List<Integer> ret = new ArrayList<Integer>();

   for (int x : xs) {
     for (int y : ys) {
       ret.add(x * y);
     }
   }

   System.out.println(ret);
リスト内包表記とは?
ガードと呼ばれる論理式も使用できる

[ X | X ← [1..10], X `mod` 2 =0]

        生成器           ガード
リスト内包表記とは?
複数の生成器とガードの組み合わせ
[ X×Y | X ← [1..4], even X, Y←[1..4], oddY]

         生成器       ガード 生成器 ガード




 [(0×1), (0×3),(2×1), (2×3),(4×1), (4×3)]
リスト内包表記とは?
Javaで書くと、こんなイメージ

   for (int x : xs) {
     if (x % 2 == 0) {
       for (int y : ys) {
         if (y % 2 == 1) {
           ret.add(x * y);
         }
       }
     }
   }

   System.out.println(ret);
リスト内包表記とは?
Scalaでは、for式をリスト内包表記として
使える

  scala> for (x <- 0 to 4 if x % 2 == 0;
              y <- 0 to 4 if y % 2 == 1) yield x * y
  res3: scala.collection.immutable.IndexedSeq[Int] =
        Vector(0, 0, 2, 6, 4, 12)
リスト内包表記とは?
関数zip
2つのリストをとり、対応する要素を組として
1つのリストをつくる関数

  zip [1,2,3] [4,5]



  短いリストにあわせられる
  短いリストにあわせられる
リスト内包表記とは?
zipを人間関係で考えると


ListW

ListM


           余りは切り捨てられます
           余りは切り捨てられます
再帰関数とは?
再帰関数とは?
・関数自身を使って定義された関数のこと

・関数型言語では、ループを実現する仕組み
 として再帰が使われる。



・クイックソートのコード例
qsort [] = []
qsort(x:xs) = qsort l ++ [x] ++ qsort r
                where l = [a | a <- xs, a < x]
                      r = [a | a <- xs, a >= x]
再帰関数とは?
Nまで階乗を求める関数 func

   0 × 1 × 2 ×... N
副作用を伴うループを使ったケースと
副作用を伴わない再帰を使ったケースで
書いてみる。
再帰関数とは?
副作用を伴うループを使ったケース


    def fact(n :Int):BigInt = {
      var ret = BigInt(1)
      for (i <- 1 to n) {
        ret = ret * i
      }
      ret
    }
再帰関数とは?
副作用を伴わない再帰を使ったケース


    def fact(n :Int):BigInt = {
      if (n == 0) {
        1
      } else {
        n * fact(n - 1)
      }
    }
再帰関数とは?
副作用を伴わない再帰を使ったケース


    def fact(n :Int):BigInt = {
      if (n == 0) {
        1
      } else {
        n * fact(n - 1)
      }
    }


0の階乗は1             <=基底部
nの階乗は n + (n-1)の階乗 <=再帰部
再帰関数とは?
再帰関数の考え方

1. 型を定義する
 factはInt型のnを受け取り、BigInt型を返す
 def fact(n:Int):BigInt

2. 場合分けをする
3. 簡単な方を定義する
4. 複雑な方を定義する
再帰関数とは?
再帰関数の考え方

1. 型を定義する
2. 場合分けをする
 nが0の場合
 nが0以外の場合

3. 簡単な方を定義する
4. 複雑な方を定義する
再帰関数とは?
再帰関数の考え方

1. 型を定義する
2. 場合分けをする
3. 簡単な方を定義する
0の階乗は1


4. 複雑な方を定義する
再帰関数とは?
再帰関数の考え方

1. 型を定義する
2. 場合分けをする
3. 簡単な方を定義する
4. 複雑な方を定義する
nの階乗は n × (n-1)の階乗
再帰関数とは?
再帰の問題点
   > scala Fact1 10000
   284625968091705451890641321211986889...
   >
   > scala Fact2 10000
   java.lang.StackOverflowError
                       :
再帰関数とは?
再帰の問題点
   > scala Fact1 10000
   284625968091705451890641321211986889...
   >
   > scala Fact2 10000
   java.lang.StackOverflowError
                       :


   fact(3)
   = 3 × fact(2)
                      スタックの使いすぎ
   = 3 × 2 × fact(1)
   = 3 × 2 × 1 × fact(0)
   =3×2×1×0
再帰関数とは?
StackOverflowErrorが発生しないfact定義
   def fact(n: Int):BigInt = {
     def factorial(n: Int, acc: BigInt):BigInt = {
       if (n == 0) {
         acc
       } else {
         factorial(n - 1, n * acc)
       }
     }
     factorial(n, 1)
   }
再帰関数とは?
  def fact(n: Int):BigInt = {
    def factorial(n: Int, acc: BigInt):BigInt = {
      if (n == 0) {
        acc
      } else {
        factorial(n - 1, n * acc)
      }
    }
    factorial(n, 1)
  }

 fact(3) = factorial(3, 1)         スタックを
         = factorial(3 - 1, 3 * 1) 消費しない
         = factorial(2 - 1, 2 * 3)
         = factorial(1 - 1, 3 * 6)
         = 24
再帰関数とは?
  def fact(n: Int):BigInt = {
    def factorial(n: Int, acc: BigInt):BigInt = {
      if (n == 0) {
        acc
      } else {
        factorial(n - 1, n * acc)
      }
    }
    factorial(n, 1)
  }

 fact(3) = factorial(3, 1)         スタックを
         = factorial(3 - 1, 3 * 1) 消費しない
         = factorial(2 - 1, 2 * 3)
         = factorial(1 - 1, 1 * 6)
         =6
再帰関数とは?
末尾再帰とは

  一番最後に自分自身を再帰的
  に呼び出している関数

  末尾再帰関数の結果値を持ち運ぶ
  引数accはアキュムレータと呼ばれる

  ちなみに、Java8よりJavaにも
  末尾再帰が導入されるらしい
ラムダとは?
         だっちゃ
ラムダとは?
 引数のパターン、および
 引数から結果を計算する本体
 からなる、関数名を含まない式。
ラムダとは?
 引数のパターン、および
 引数から結果を計算する本体
 からなる、関数名を含まない式。
 要は無名関数
ラムダとは?
 引数のパターン、および
 引数から結果を計算する本体
 からなる、関数名を含まない式。
 要は無名関数

 こんな感じ=>
     λx.x+x
引数のパターン    結果を計算する本体
ラムダとは?
 こんな感じに使える

 >(λx.x+x) 2
 4
ラムダとは?
例えば、add関数

  add x y = x+y
このようにも表現できる


  add = λxy.x+y
ラムダとは?
JavaScriptと比較すると分かりやすい。
(厳密にはちがいますが。。)

add = λxy.x+y

varadd = function(x,y){ return x+y; }
ラムダとは?
Haskell
   > let f = n -> n * n
   > :type f
   f :: Integer -> Integer
   > f(10)
   100


Scala
    scala> val f = (n:Int) => n * n
    f: Int => Int = <function1>

    scala> f(10)
    res0: Int = 100
ラムダとは?
Java8
   public static interface Func<T, R> {
     public R eval(T p);
   }

   public static void main(String[] args) {
     Func<Integer, Integer> f = (Integer n) -> n * n;
     System.out.println(f.eval(10));
   }


 > java Lambda
 100
ラムダとは?
                 SAM(Single Abstract Method) type
                 SAM(Single Abstract Method) type
Java8
   public static interface Func<T, R> {
     public R eval(T p);
   }

   public static void main(String[] args) {
     Func<Integer, Integer> f = (Integer n) -> n * n;
     System.out.println(f.eval(10));
   }

                             インターフェース実装の
                             インターフェース実装の
 > java Lambda                シンタックスシュガー
                              シンタックスシュガー
 100
高階関数とは?    高
           い
           意
       そ   識
       れ   で
       が   書
      高俺   く
      階の
      関
      数
      だ
高階関数とは?
引数として関数を取ったり、
返り値として関数を返したりする関数

高階関数を利用したライブラリ関数が
超便利!
 ・map
 ・fiter
 ・foldl / foldr
 ・find
 ・etc..
高階関数とは?
    好きな関数:if

     そうだ!if式を作ろう

     ( ゚∀゚)o彡°
高階関数とは?
Haskell
   myIf :: Bool -> a -> a -> a
   myIf cond t f = case cond of
                          True -> t
                          False -> f



実行結果
    > let a = myIf (1==1) (n -> n+n) (n -> n*n)
    > :type a
    a :: Integer -> Integer
    > a 10
    20
高階関数とは?
Scala
   def myIf[T] (cond: Boolean, t: => T, f: => T):T =
     cond match {
       case true => t
       case false => f
   }

   val a = myIf(1 == 1, (n:Int) => n + n, (n:Int) => n * n)
   println(a(10))

実行結果
   > scala MyIf
   20
高階関数とは?
Java8
public static <T, R> Func<T, R> myIf(boolean cond,
                                     Func<T, R> t, Func<T, R> f) {
  return cond ? t : f;
}
public static void main(String[] args) {
  Func<Integer, Integer> a =
      myIf(1==1,(Integer n) -> n + n, (Integer n) -> n * n);
  System.out.println(a.eval(10));
}

実行結果
> java MyIf
20
クロージャーとは?
クロージャーとは?
Scala                             実行結果
object Closure extends App {      >scala Closure
  def inc(n:Int): () => Int = {   2
    var m = n                     3
    () => { m = m + 1; m }        11
  }                               12

    val f1 = inc(1)
    val f2 = inc(10)

    println( f1() );
    println( f1() );

    println( f2() );
    println( f2() );
}
クロージャーとは?
クロージャーとは関数の一種

引数以外の変数を、自身が定義された環境
において解決する仕組み

関数とメモリ空間のセット
関数にメモリ空間がくっついているイメージ
カリー化とは?
          カリー
           カリー
カリー化とは?
カレーじゃないよ。
論理学者 Haskell Curry さんの名前から
つけられた。
関数は関数を返り値として返せる性質を
活かし、二つ以上の引数を持つ関数を、
一度に一つの引数を取る関数として定義する
ことをカリー化と表現する。
カリー化とは?
x と y の和を求めるadd関数




              a -> (a ->a)
          add は1つの数値をとり、
          数値をとって数値を返す関数
          を返す
カリー化とは?
x と y の和を求めるadd関数




            部分適用 という
カリー化とは?
Scala
   scala> def add(x:Int)(y:Int) = x + y
   add: (x: Int)(y: Int)Int

   scala> val addOne = add(1)_
   addOne: Int => Int = <function1>

   scala> addOne(10)
   res0: Int = 11
How to Study?
How to Study?
おすすめ本(Haskell)
  プログラミングHaskell   ふつうのHaskellプログラミング
How to Study?
おすすめ本(Scala)
  Scala 第2版(コップ本) Scala実践プログラミングの3章
ご清聴ありがとうございました!

More Related Content

What's hot

Freer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible Effects
Hiromi Ishii
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法Takuya Akiba
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法nishio
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
Haruka Oikawa
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたって
Tsuyoshi Matsudate
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
 
私を SKI に連れてって
私を SKI に連れてって私を SKI に連れてって
私を SKI に連れてって
Susisu
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
murachue
 
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
parrotstudio
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
 
120901fp key
120901fp key120901fp key
120901fp key
ksknac
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
 
F#の基礎(嘘)
F#の基礎(嘘)F#の基礎(嘘)
F#の基礎(嘘)
bleis tift
 
シンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るなシンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るな
hoxo_m
 
正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?
kwatch
 

What's hot (20)

Freer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible Effects
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたって
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
私を SKI に連れてって
私を SKI に連れてって私を SKI に連れてって
私を SKI に連れてって
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
 
120901fp key
120901fp key120901fp key
120901fp key
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
 
F#の基礎(嘘)
F#の基礎(嘘)F#の基礎(嘘)
F#の基礎(嘘)
 
シンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るなシンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るな
 
正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?
 
llvm入門
llvm入門llvm入門
llvm入門
 

Viewers also liked

プログラミングの基礎振り返りスライド1
プログラミングの基礎振り返りスライド1プログラミングの基礎振り返りスライド1
プログラミングの基礎振り返りスライド1
sunotora
 
GLT#13 Naruhiko Ogasawara
GLT#13 Naruhiko OgasawaraGLT#13 Naruhiko Ogasawara
GLT#13 Naruhiko Ogasawara
Naruhiko Ogasawara
 
Fftw誰得ガイド
Fftw誰得ガイドFftw誰得ガイド
Fftw誰得ガイド
chunjp
 
今日から始めるClojure
今日から始めるClojure今日から始めるClojure
今日から始めるClojure
Kiyotaka Kunihira
 
OCamlの多相Variant紹介 #fpstudy
OCamlの多相Variant紹介 #fpstudyOCamlの多相Variant紹介 #fpstudy
OCamlの多相Variant紹介 #fpstudykyon mm
 
Material
MaterialMaterial
Material
_TUNE_
 
20120519 inverse fizzbuzz を解いてみよう
20120519 inverse fizzbuzz を解いてみよう20120519 inverse fizzbuzz を解いてみよう
20120519 inverse fizzbuzz を解いてみよう
HiroSuga
 
代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法
syamino
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみた
Hiroshi Maekawa
 
恊働ロボットCOROの開発における形式的仕様の適用事例
恊働ロボットCOROの開発における形式的仕様の適用事例恊働ロボットCOROの開発における形式的仕様の適用事例
恊働ロボットCOROの開発における形式的仕様の適用事例
Life Robotics
 
OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法Hiroki Mizuno
 
第一回関数型言語勉強会 大阪
第一回関数型言語勉強会 大阪第一回関数型言語勉強会 大阪
第一回関数型言語勉強会 大阪Naoki Kitora
 
Haskell Day2012 - 参照透過性とは何だったのか
Haskell Day2012 - 参照透過性とは何だったのかHaskell Day2012 - 参照透過性とは何だったのか
Haskell Day2012 - 参照透過性とは何だったのかKousuke Ruichi
 
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!
Ra Zon
 

Viewers also liked (15)

プログラミングの基礎振り返りスライド1
プログラミングの基礎振り返りスライド1プログラミングの基礎振り返りスライド1
プログラミングの基礎振り返りスライド1
 
GLT#13 Naruhiko Ogasawara
GLT#13 Naruhiko OgasawaraGLT#13 Naruhiko Ogasawara
GLT#13 Naruhiko Ogasawara
 
Fftw誰得ガイド
Fftw誰得ガイドFftw誰得ガイド
Fftw誰得ガイド
 
今日から始めるClojure
今日から始めるClojure今日から始めるClojure
今日から始めるClojure
 
OCamlの多相Variant紹介 #fpstudy
OCamlの多相Variant紹介 #fpstudyOCamlの多相Variant紹介 #fpstudy
OCamlの多相Variant紹介 #fpstudy
 
Material
MaterialMaterial
Material
 
20120519 inverse fizzbuzz を解いてみよう
20120519 inverse fizzbuzz を解いてみよう20120519 inverse fizzbuzz を解いてみよう
20120519 inverse fizzbuzz を解いてみよう
 
代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみた
 
恊働ロボットCOROの開発における形式的仕様の適用事例
恊働ロボットCOROの開発における形式的仕様の適用事例恊働ロボットCOROの開発における形式的仕様の適用事例
恊働ロボットCOROの開発における形式的仕様の適用事例
 
OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法
 
Haskell超入門 Part.1
Haskell超入門 Part.1Haskell超入門 Part.1
Haskell超入門 Part.1
 
第一回関数型言語勉強会 大阪
第一回関数型言語勉強会 大阪第一回関数型言語勉強会 大阪
第一回関数型言語勉強会 大阪
 
Haskell Day2012 - 参照透過性とは何だったのか
Haskell Day2012 - 参照透過性とは何だったのかHaskell Day2012 - 参照透過性とは何だったのか
Haskell Day2012 - 参照透過性とは何だったのか
 
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!
 

Similar to たのしい関数型

命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへNaoki Kitora
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
Ouka Yuka
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
SatoYu1ro
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
Ransui Iso
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Naoki Aoyama
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
啓 小笠原
 
プログラミング言語Scala
プログラミング言語Scalaプログラミング言語Scala
プログラミング言語Scala
TanUkkii
 
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]Ra Zon
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
Ransui Iso
 
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーNode.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
mganeko
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Shintaro Fukushima
 
関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』
Kenta USAMI
 
PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)
t-sin
 
関数プログラミング ことはじめ (再)
関数プログラミング ことはじめ (再)関数プログラミング ことはじめ (再)
関数プログラミング ことはじめ (再)
Suguru Hamazaki
 
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]Ra Zon
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
Lispでやる記号微分
Lispでやる記号微分Lispでやる記号微分
Lispでやる記号微分
Keiichi Watanabe
 

Similar to たのしい関数型 (20)

命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
 
プログラミング言語Scala
プログラミング言語Scalaプログラミング言語Scala
プログラミング言語Scala
 
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
 
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーNode.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
 
ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
 
関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』関数型都市忘年会『はじめての函数型プログラミング』
関数型都市忘年会『はじめての函数型プログラミング』
 
PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)
 
関数プログラミング ことはじめ (再)
関数プログラミング ことはじめ (再)関数プログラミング ことはじめ (再)
関数プログラミング ことはじめ (再)
 
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
Lispでやる記号微分
Lispでやる記号微分Lispでやる記号微分
Lispでやる記号微分
 

More from Shinichi Kozake

SIerアーキテクト視点でみたKotlinの紹介
SIerアーキテクト視点でみたKotlinの紹介SIerアーキテクト視点でみたKotlinの紹介
SIerアーキテクト視点でみたKotlinの紹介
Shinichi Kozake
 
あなたとAndroid!?今すぐダウンロード
あなたとAndroid!?今すぐダウンロードあなたとAndroid!?今すぐダウンロード
あなたとAndroid!?今すぐダウンロード
Shinichi Kozake
 
Kotlinで関数拡張しちゃうぞ![修正版]
Kotlinで関数拡張しちゃうぞ![修正版]Kotlinで関数拡張しちゃうぞ![修正版]
Kotlinで関数拡張しちゃうぞ![修正版]
Shinichi Kozake
 
とある現場のシステムアーキテクチャ
とある現場のシステムアーキテクチャとある現場のシステムアーキテクチャ
とある現場のシステムアーキテクチャ
Shinichi Kozake
 
関ジャバの間においでよ!
関ジャバの間においでよ!関ジャバの間においでよ!
関ジャバの間においでよ!
Shinichi Kozake
 
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情についてあなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
Shinichi Kozake
 
Web API Design for JAX-RS
Web API Design for JAX-RSWeb API Design for JAX-RS
Web API Design for JAX-RS
Shinichi Kozake
 
ゆるふわアーキを支える技術
ゆるふわアーキを支える技術ゆるふわアーキを支える技術
ゆるふわアーキを支える技術
Shinichi Kozake
 
Nullなのはいけないと思います!
Nullなのはいけないと思います!Nullなのはいけないと思います!
Nullなのはいけないと思います!
Shinichi Kozake
 
生きろ!チーム開発! 300人月の仲間はみな死んだ
生きろ!チーム開発! 300人月の仲間はみな死んだ生きろ!チーム開発! 300人月の仲間はみな死んだ
生きろ!チーム開発! 300人月の仲間はみな死んだ
Shinichi Kozake
 
システムアーキテクト~My batis編~
システムアーキテクト~My batis編~システムアーキテクト~My batis編~
システムアーキテクト~My batis編~
Shinichi Kozake
 
Play!30分クッキング
Play!30分クッキングPlay!30分クッキング
Play!30分クッキング
Shinichi Kozake
 
システムアーキテクト
システムアーキテクトシステムアーキテクト
システムアーキテクト
Shinichi Kozake
 
Xtend30分クッキング やきに駆動
Xtend30分クッキング   やきに駆動Xtend30分クッキング   やきに駆動
Xtend30分クッキング やきに駆動
Shinichi Kozake
 
Xtend30分クッキング
Xtend30分クッキングXtend30分クッキング
Xtend30分クッキング
Shinichi Kozake
 
鹿駆動
鹿駆動鹿駆動
鹿駆動
Shinichi Kozake
 
MyBatisで流れるようなメソッドチェーン
MyBatisで流れるようなメソッドチェーンMyBatisで流れるようなメソッドチェーン
MyBatisで流れるようなメソッドチェーンShinichi Kozake
 
play framework 勉強会 in 関西
play framework 勉強会 in 関西play framework 勉強会 in 関西
play framework 勉強会 in 関西
Shinichi Kozake
 

More from Shinichi Kozake (19)

SIerアーキテクト視点でみたKotlinの紹介
SIerアーキテクト視点でみたKotlinの紹介SIerアーキテクト視点でみたKotlinの紹介
SIerアーキテクト視点でみたKotlinの紹介
 
あなたとAndroid!?今すぐダウンロード
あなたとAndroid!?今すぐダウンロードあなたとAndroid!?今すぐダウンロード
あなたとAndroid!?今すぐダウンロード
 
Kotlinで関数拡張しちゃうぞ![修正版]
Kotlinで関数拡張しちゃうぞ![修正版]Kotlinで関数拡張しちゃうぞ![修正版]
Kotlinで関数拡張しちゃうぞ![修正版]
 
とある現場のシステムアーキテクチャ
とある現場のシステムアーキテクチャとある現場のシステムアーキテクチャ
とある現場のシステムアーキテクチャ
 
関ジャバの間においでよ!
関ジャバの間においでよ!関ジャバの間においでよ!
関ジャバの間においでよ!
 
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情についてあなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
 
Web API Design for JAX-RS
Web API Design for JAX-RSWeb API Design for JAX-RS
Web API Design for JAX-RS
 
ゆるふわアーキを支える技術
ゆるふわアーキを支える技術ゆるふわアーキを支える技術
ゆるふわアーキを支える技術
 
Nullなのはいけないと思います!
Nullなのはいけないと思います!Nullなのはいけないと思います!
Nullなのはいけないと思います!
 
生きろ!チーム開発! 300人月の仲間はみな死んだ
生きろ!チーム開発! 300人月の仲間はみな死んだ生きろ!チーム開発! 300人月の仲間はみな死んだ
生きろ!チーム開発! 300人月の仲間はみな死んだ
 
システムアーキテクト~My batis編~
システムアーキテクト~My batis編~システムアーキテクト~My batis編~
システムアーキテクト~My batis編~
 
Play!30分クッキング
Play!30分クッキングPlay!30分クッキング
Play!30分クッキング
 
システムアーキテクト
システムアーキテクトシステムアーキテクト
システムアーキテクト
 
Xtend30分クッキング やきに駆動
Xtend30分クッキング   やきに駆動Xtend30分クッキング   やきに駆動
Xtend30分クッキング やきに駆動
 
Xtend30分クッキング
Xtend30分クッキングXtend30分クッキング
Xtend30分クッキング
 
鹿駆動
鹿駆動鹿駆動
鹿駆動
 
MyBatisで流れるようなメソッドチェーン
MyBatisで流れるようなメソッドチェーンMyBatisで流れるようなメソッドチェーン
MyBatisで流れるようなメソッドチェーン
 
About Jobs
About JobsAbout Jobs
About Jobs
 
play framework 勉強会 in 関西
play framework 勉強会 in 関西play framework 勉強会 in 関西
play framework 勉強会 in 関西
 

Recently uploaded

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 

Recently uploaded (15)

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 

たのしい関数型