ラムダ計算 単語


ニコニコ動画でラムダ計算の動画を見に行く

ラムダケイサン

1.5千文字の記事

ラムダ計算(lambda calculus)とは、何でも関数を用いて計算してしまう方法である。

概要

ラムダ計算とは、関数についての3つの操作だけであらゆる計算が可、すなわちチューリング完全を実現できるという理論である。LISPをはじめとする関数型言語理論的根拠となっている。1930年代Alonzo Churchという数学者が提唱したが、最初に思いついたのはAlonzo Churchではないらしい。

ラムダ計算は以下の3つの操作からなる。きちんと説明しようとするとよくわからない記号だらけになるので、おおざっぱにだけ記載しておく。

  • α変換: 関数名前をつけて置き換えることができる。
  • β変換: 関数には実際に代入して計算することができる。簡約ともいう。
  • η変換: 2つの関数がすべての引数について同じ値を返すとき、2つの関数は同値であるとみなす。

η変換は何を当たり前のことを言っているんだと思うかもしれないが、たとえば1からnまでの整数の和をめるのに、1から順番に数を足していく方法でも、等差数列の和の公式を使う方法でも、計算方法は違えど同値であるということである。

ラムダ式

上記操作においては、関数も数値と同じように引数にしたり戻り値にしたりできる、高階関数が前提となっている。このため、数値がx = 1というような書き方ができるように、関数名前をつけて置き換えられる必要がある。

Alonzo Church自身は、たとえば f(x) = x2+ x + 1 のときに、関数 f 自体を f = λx.(x2+ x + 1) といった書き方をしており、これをラムダ式(lambda expression)と呼んだ。

プログラミングにおいては使用できる文字の制約などにより上記とは少し異なる記法を採用していることがほとんどだが、実質的には同じことなのでそれらもラムダ式と呼ばれている。

名前の由来

ラムダ式に用いられる記号 λ に由来するわけだが、この λ 自身の由来については2説あり、偽についてはあまりはっきりしていない。

由来がある説

Rosserという人が1984年に以下のように報告している。

Russell と Whiteheadが、関数を抽化するときの記号に「x̂(結合文字非対応環境用に書くと、âのaをxにしたもの)」を用いていた。Alonzo Churchは、この表記法にちなんで、「∧x」という記号を使用するようになった。その後印刷しやすいように「∧」の代わりに「λ」を使用するようになった(ちなみにλの大文字Λ(≠∧)である)。

由来なんかない説

Alonzo Church自身は後年「とにかく記号が必要だったからたまたまλを選んだ」と語っており、この話を信じるなら特に由来はないということになる。一般には面で報告された「由来がある説」の方が信頼性が高いということになるが、面とはいえ他人がした報告である。一方こちらはAlonzo Church本人の言葉であり、そう聞いた人が1人だけというわけでなく2人いるということなので、こちらもそれなりに信憑性が高い。

関連項目

関連商品

ニコニコ市場は2023年11月に終了しました。ニコニコ市場は2023年11月に終了しました。

この記事を編集する

掲示板

  • 8 ななしのよっしん

    2022/01/22(土) 15:32:45 ID: WuxxWRKph6

    関数を値として扱える概念って事でいいのか?

  • 👍
    0
    👎
    0
  • 9 ななしのよっしん

    2022/01/22(土) 15:37:05 ID: HN8AB4phi2

    ぷろぐらむが実行中に書き換わるってことや!!!

  • 👍
    0
    👎
    0
  • 10 ななしのよっしん

    2023/02/18(土) 17:04:53 ID: vlMZeyUx78

    Aを100回繰り返すって関数にAとしていろんな処理(関数)渡せるって考えから発展していくと理解はしやすい
    本質があってるのかは知らん

  • 👍
    0
    👎
    0

おすすめトレンド

ニコニ広告で宣伝された記事

急上昇ワード改

最終更新:2025/12/13(土) 17:00

ほめられた記事

最終更新:2025/12/13(土) 17:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP