写像とは、ある集合のそれぞれの要素に、別の集合の要素をただ一つ対応させる規則です。この記事では、写像の定義と主な用語、単射・全射・全単射の違い、各分野での役割を整理し、最後に「入力と出力の対応」という見方をAIの設計に生かす方法を紹介します。
写像の定義:「それぞれに」「ただ一つ」
集合 A のそれぞれの要素に、集合 B の要素をただ一つ定める規則 f を、A から B への写像と呼び、f:A→B と書きます。A の要素 a が b に対応することを f(a)=b、または a↦b と表します。
この定義には二つの条件があります。A のすべての要素に行き先があること(全域性)と、行き先が一つに決まること(一意性)です。
- 実数 x に x² を対応させる規則は、どの実数にも値がただ一つ決まるので写像です
- 足し算は、実数の組 (x,y) に和 x+y を対応させる写像と見なせます
- f(x)=1/x を実数全体で考えると、x=0 で行き先がないので、そのままでは写像になりません。0 を除いた実数に限れば写像です
- 正の数にその平方根を対応させる規則は、4 に対して 2 と負の2の二つが対応するので写像ではありません
二つの条件が欠けると、f(a) を使った計算が定まらず、別の写像と合成することもできなくなります。写像が安心して使える道具なのは、この二つの条件があるからです。
主な用語:終集合と値域は違う
f:A→B で、A を始集合(定義域)、B を終集合と呼びます。a の行き先 f(a) を a の像といい、A のすべての要素の像を集めたものを値域 f(A) または Im(f) と書きます。逆に、B の部分集合 D に写ってくる A の要素全体を、D の逆像 f⁻¹(D) と呼びます。
つまずきやすいのは、終集合と値域の違いです。終集合は、議論の枠組みとして先に指定する「行き先の候補」です。値域は、実際に写ってきた要素の集まりで、終集合の一部にすぎないことがあります。この区別が、次の全射の判定に直結します。
単射・全射・全単射
写像は、対応の仕方で三つに分けられます。
単射は、異なる要素が同じ行き先に重ならない写像です。f(x)=2x+1 は単射ですが、g(x)=x² は 1 と負の1がどちらも 1 に写るので単射ではありません。
全射は、終集合のどの要素にも、写ってくる要素が少なくとも一つある写像です。実数から実数への f(x)=x³ は全射ですが、g(x)=x² は負の数に写ってくる実数がないので全射ではありません。ただし、終集合を0以上の実数に変えれば全射になります。終集合の取り方で性質が変わる例です。
全単射は、単射でもあり全射でもある写像で、要素どうしが過不足なく一対一に対応します。写像が逆写像 f⁻¹ を持つための必要十分条件は、全単射であることです。
有限集合では、単射があれば A の要素数は B 以下、全射があれば B 以上、全単射があれば等しくなります。この考え方は、カントールによる無限集合の大きさの比較の土台にもなっています。
合成と、各分野での役割
f:A→B と g:B→C があれば、まず f、次に g を当てる合成写像 g∘f が作れます。合成は結合法則を満たし、各要素を自分自身に写す恒等写像は、合成での「1」の役割を果たします。
写像は、数学の各分野で、それぞれの構造を保つ形で使われます。代数学では、演算を保つ準同型写像と、それが全単射である同型写像が使われます。解析学では、関数の空間から関数の空間への写像を作用素と呼び、微分や積分がその例です。位相空間論では、開集合の逆像が開集合になる写像を連続写像と呼び、逆写像も連続な全単射を同相写像と呼びます。ドーナツの表面と取っ手のついたコーヒーカップの表面が同相である、という話はよく知られています。
入力と出力の対応で、AIの役割を設計する
写像の考え方は、AIに仕事を任せる設計にもそのまま使えます。どんな入力が来たら、どんな出力を返すのか。その対応がすべての入力に決まっていて、しかも一つに定まっているかを確かめるのです。
自分用のAIを作るとき、想定外の入力に行き先がなければ、AIは推測で答えます。同じ入力に複数の答え方があり得るなら、出力がぶれます。入力の範囲を決め、入力ごとに返す形を一つに決めておくことが、使えるAIへの近道です。
拙著『ChatGPT 誰でも1時間でできる! はじめてのGPTsのつくり方』は、ChatGPTをカスタマイズして自分用のAIアプリ(GPTs)をつくる実践書です。どの情報を渡し、どんな役割を持たせ、どこまで任せるかを設計する手順が、入力と出力の対応を決める作業として具体的に分かります。
このテーマを社内の研修や講演で取り上げたい場合は、講演と研修の案内をご覧ください。
