【らむだけいさん】
ラムダ計算 とは?
最終更新:
💡 関数だけで世界を計算する、究極のミニマリスト理論
変数、関数の抽象化、関数の適用を使って計算を表す形式体系。型なしラムダ計算はチューリングマシンと同じ計算可能性を表現でき、関数型プログラミングの理論的な基盤の一つになっている。
📌 このページのポイント
ラムダ計算って、何に使うの?
「λx.x」って、どう読むの?
関数だけで足し算もできるの?
できるよ。純粋なラムダ計算には数や足し算の記号が最初からあるわけではなく、数も関数で表す。たとえばチャーチ数の2はλf.λx.f(f x)で、fを2回適用することを表すよ。λx.x+1のような例は算術を加えた略記としては便利だけれど、そのまま純粋な体系の基本構文ではないんだ。
プログラミング言語のlambdaと同じもの?
関数を作って適用する考え方はつながっているよ。Pythonのlambda x: x + 1や、JavaScriptの(x) => x + 1は匿名関数の例。ただし、それぞれの言語には数や型、副作用などの独自の仕組みがあるので、構文や実行規則がそのまま純粋なラムダ計算と同じというわけではないんだ。
チューリングマシンと同じ能力って本当?
型なしラムダ計算とチューリングマシンは、計算できるものの範囲が同じだと示されているよ。これは速さや、どんな式も計算が終わるという保証ではない。一方、チャーチ=チューリングのテーゼは、直感的に手順で計算できるものをこうした形式的なモデルで捉えられる、という主張で、モデル間の同等性の定理とは区別するんだ。
まとめ:ざっくりこれだけ覚えればOK!
「ラムダ計算」って出てきたら「関数を作り、引数を渡して計算を表す理論体系」と思えばだいたいOK!
📖 おまけ:英語の意味
「Lambda Calculus」 = ラムダ計算
💬 ギリシャ文字λを使って関数の抽象化を表すよ。Alonzo Churchが1930年代に導入した計算の形式体系で、名前もこの記号に由来するんだ。