ふと気になったものを淡々と解説していく「関数」

プログラミングの講座で、さらっと関数という言葉を使用していた。

プログラミングにおける関数は、0個以上の情報を受け取り、一定の決まった処理を行う塊だった。

また、戻り値として指定したものを元の処理に返すことができた。

…これは、関数という言葉の特殊な例だろう。

では、一般的な「関数」とは何なのだろうか。

というわけで、今回はこの関数というのが何なのかを調べてみよう。

スポンサーリンク

「関数」の辞書的な意味

広辞苑先生に聞いてみよう。

①〔数〕数の集合Aから数の集合Bへの写像y=f(x)のこと。xを独立変数、yを従属変数という。Aが複素数の集合ならば、特にfを複素変数関数という。Aとして2次元空間、3次元空間、…の部分集合をとる時は、2変数関数、3変数関数、…(総称して多変数関数)という。函数。
②コンピューターで、与えられた入力パラメーターに基づき、定められた処理を実行しその結果を出力する一連の命令群。ソフトウェアの作成時には、関数の入力パラメーターと出力の値だけを理解すればよく、モジュール化が図れる。

かん‐すう【関数】クワン‥ – 広辞苑無料検索

プログラミングで解説したものは②だ。関数を作成するメリットも書かれている。

とはいえ、今回は①の方を深堀りしてみよう。

数学的な関数

広辞苑では集合だの写像だの書かれているが、先にちょっと具体的にしてみよう。

中学・高校でやった関数

中学の頃にやった関数を覚えているだろうか。

比例反比例一次関数二次関数などを扱っていた。

これらは、関数の具体的な例だ。

この場合の関数の定義は、以下のように表せる。

ある数\(x\)を一つ決めたとき、それに対応する\(y\)の値がただ一つに定まるならば、
\(y\)を\(x\)の関数と呼ぶ。

要するに、\(x\)を一つに決めたら\(y\)も一つに決まるような関係のことだ。

具体例として、比例\(y = ax\)を考えてみよう。\(a\)は定数とする。

このとき、\(x\)をどんな値にしようと、\(y\)の値は必ず\(ax\)となる。

\(x\)を決めると\(y\)も決まるので、これは関数だ。

反比例は、実数から0を除いた部分でこれが成り立っている。

一次関数は比例と同じく成り立つのはわかるだろう。

二次関数\(y = ax^2\)はちょっと見てみよう。先に言うと、これも関数だ。

これについて、\(x\)が例えば2のとき、-2のときを考えると、両方とも\(y\)の値は\(4a\)となる。

が、これは\(x\)の値が一つ決まると\(y\)も一つになるという関係は成り立っている。

つまり、関数で問題ない。

では、一つクイズ。高校の内容だ。

原点(0, 0)、半径1の\(x^2 + y^2 = 1\)について、\(y\)は\(x\)の関数だろうか。

どうだろうか。

答えは、関数ではない

なぜかというと、例えば\(x = 0\)の時。

このとき、\(y\)の値は1、もしくは-1となる。

\(x\)を一つに決めたのに、\(y\)が二通り存在するので、これは関数ではない

では、もう一つクイズ。ちょっと日常に絡めてみよう。

一定の大きさの郵便物を送るとき、その重さ\(x\)と、郵送料金\(y\)について、\(y\)は\(x\)の関数と言えるだろうか。

例として、以下のようなイメージだ。

重さ\(x\)郵送料金\(y\)
50g以下120円
100g以下140円
150g以下210円
250g以下250円
500g以下390円
1kg以下580円

ちなみに、これは郵便局の公式ホームページから2020/3/25に引用した定型内郵便の料金表だ。

間違っていては怖いので、実際送る際はしっかり公式ページを参照して欲しい

で、これが関数かどうか、というクイズ。

こちらは、関数だ。

重さが決まると、それに対する料金も必ず一つに定まるからだ。

同じ形、重さなのに料金が変わってはおかしいだろう。

ここまで、数式的な関数だ。

これを拡張して、広辞苑の意味を見ていこう。

集合で見る関数

さて、広辞苑の内容をもう一度見てみよう。

二つの集合\(A\)、\(B\)があり、片方からもう片方への写像と書かれている。

今度はこの集合写像というやつを見てみよう。

まず、集合から。

集合とは

集合とは、0個以上の要素を一つの塊と見なしたもののことだ。

中括弧で囲み、その中に要素を書く

例えば、サイコロの目を集合で表すと、\(\{1, 2, 3, 4, 5, 6\}\)となる。

このとき、同じ要素が複数入っていたり、順番が変わっているだけの場合は、同じ集合と見なせる。

\(\{1, 2, 3, 5, 4, 6\}\)や\(\{1, 1, 2, 2, 3, 4, 5, 6\}\)もサイコロの目の集合と同じということだ。

写像とは

では、ここで二つの集合を見てみよう。

一つは上に書いたサイコロの目で\(A\)とし、もう一つは\(B = \{10, 20, 30, 40, 50, 60\}\)とでもしてみよう。

このとき、集合\(A\)の要素を受け取って、その数を10倍する処理\(f\)を考えてみる。

そうすると、どんな\(A\)の要素も、\(f\)によって処理すると必ず\(B\)の要素になっている

このように、片方の集合の要素を入れ、それによる出力がもう片方の集合の要素になっているとき、この処理のことを写像と呼ぶ。

これが、関数の正体だ。

中学や高校での関数に当てはめると…

比例一次関数等については、二つの集合がともに実数となっている。

つまり、実数から実数への写像というわけだ。

そう考えると、全て写像の定義に綺麗に沿っていることになる。

ただし、反比例実数から0を除いているということに注意。

まとめ:関数

今回は、関数とは何かについて見てきた。

数学的な関数とは、二つの集合について、片方の要素を受け取って、もう片方の要素にするような処理のことだ。

これが実生活に使えるかどうかは置いておいて、案外はっきりと定義が説明できる人も少ないのではないだろうか。

こんなふうに、実は正確な意味を知らないものは意外と存在する。

これからも、気になったら調べてみようと思う。

コメント

タイトルとURLをコピーしました