機能とは、何かが何をするか、入力を出力へどう変換するか、または体系の中でどのような役割を担うかを表す広い概念である。分野をまたいで、この語は写像、操作、役割、目的といった考え方を結びつけるが、その正確な意味や形式化は文脈によって異なる。

数学

数学では、関数は、ある集合の各要素(定義域)のそれぞれに、別の集合(終域)のただ一つの要素を対応させる関係である。基本的な性質として、単射(異なる入力が異なる出力を与える)、全射(終域の各要素が少なくとも一つの入力の出力である)、全単射(その両方)がある。解析学では、関数は連続性、微分可能性、可積分性について研究されることが多い。ほかにも、算術関数、三角関数、指数関数、さらに代数構造間のより抽象的な写像などがある。

計算機科学とプログラミング

計算機科学では、関数は特定の作業を行う名前付きのコードブロックであり、通常は引数を受け取り、値を返す。関数は、モジュール化、再利用、抽象化を促進する。関連する語として、手続き、メソッド、サブルーチンなどがある。重要な区別として、同じ入力に対して常に同じ出力を返し、副作用を持たない純粋関数と、状態を変更したり外部システムとやり取りしたりする可能性のある非純粋関数がある。高階関数は他の関数を引数に取るか、他の関数を返し、再帰は自己参照によって反復を表す。

生物学と生理学

生物学では、この語は、生物や生態系の中で成分が果たす通常の活動や役割を指し、たとえば腎臓が血液をろ過する機能のように用いられる。機能の記述は、過程がどのように起こるかを示す機械論的なものにも、なぜ進化したのかを示す進化論的なものにもなりうる。研究者は、選択された結果、系全体への寄与、相互作用から生じる創発的な役割を区別する。

工学、設計、社会科学

工学では、機能はシステムや部品に求められる能力を意味し、機能分解はシステムをより小さな作業に分ける。社会科学では、機能主義は、制度や慣行が社会の安定や変化にどう寄与するかを説明し、顕在機能(意図されたもの)と潜在機能(意図されないもの)を区別する。

区別と用法

  • 関係と関数: 数学の関係は、一つの入力に複数の出力を対応させることがあるが、関数は各入力に単一の出力を対応させる。
  • 写像と過程: 数学では静的な写像が強調されることがある一方、生物学や工学では動的な過程や役割が強調される。
  • 仕様と実装: 設計では、関数は要件として定められ、さまざまな実装がそれを実現する。

議論の中でどの意味の「機能」または「関数」が用いられているかを理解すると、精密さ、因果関係、役割、測定に関する問いが明確になる。この概念が科学、技術、人文の各分野で中心的なのは、原因や作業を、観察可能な結果や目的へ結びつけるからである。