Web Developer's Struggle Memories

日々の業務から思ったこと、学んだことを書き連ねていきます。

「ピザのトッピング」と「天ぷら蕎麦」を例に「食品」に群が定義できるか?

自分の尊敬する技術者であるYusuke Saito氏が、先日Facebookで以下のようなことを呟かれてました。

www.facebook.com

これがピザの話かと思いきやの話で、驚きもあったがめっさ面白い話だったのでご紹介w

※以下、引用文の記号や字の大小などは多少変更させていただきました。

まずは群の定義

  1. 結合法則
  2. 単位元の存在
  3. 逆元の存在

という3つの条件を満たすような、「集合と二項演算の組((集合, 演算)と表したりします)」はとなる。また、上記の条件の「1だけ満たすもの」を半群、「1, 2両方満たすもの」をモノイドと言う。 今回は、これらを確認していきます。

パイナップル on スパゲティ on ピザ

パイナップル on スパゲティ on ピザ の話。

食品に食品を on していっても、それは全体として食品になり、食品はonという演算について閉じていると言える。

(パイナップル on スパゲティ) on ピザ = パイナップル on (スパゲティ on ピザ) であり、他の食品でもこれは成り立つので、(食品, on)半群をなすと言える。

上記ですが、食品という集合の元として、パイナップル・スパゲティ・ピザが例として引き合いに出されています。 「そもそも食品という言葉の定義がされていない! パイナップルは食材で、他2つは料理でしょ!」というご指摘もあるかと思いますが、 今回はそこは目をつむっていただけると幸いです…

今回の演算onの意味は、食品の上に食品を乗せる(重ねる)ですが、注意したいのはこの順番です。 明記されてはいませんが、以下となります。

集合食品の任意の元A, Bに対し、

 A on B → A / B(Bの上にAが乗っている状態)

となります(/(スラッシュ)ですが、今回は分数ではないです)。

これは整数という集合における+(加算)と同じではありませんが性質は似ていますね。 食品の上に食品を乗せても食品、と言うのは上でSaito氏もおっしゃられています。

後は、演算on結合法則について見ると、

 (パイナップル on スパゲティ) on ピザ → パイナップル / スパゲティ / ピザ

 パイナップル on (スパゲティ on ピザ) → パイナップル / スパゲティ / ピザ

となるため、=(イコール)が成り立ちます。したがって、これは半群と言えますね(゚∀゚)

無し

「トッピングは無しで」が言い方として認められる(「無し」をトッピングしている)ので、食品に「無し」を加えた拡張食品を考えると、(拡張食品, on)はモノイドになる。

無し on ピザ = ピザ on 無し = ピザ

次に元無しについて触れられています。元無しは、集合食品に対する単位元となるため、モノイドと言えます(゚∀゚) 集合論で言うところの、空集合φですね。

また、「トッピング」というのは、演算onの別の言い方をしているだけで、onのことです。 Saito氏は、集合食品に、無しという元を加えた集合を拡張食品、とされましたが、 無しそのものは食品とはいえないので、これを加えた集合を定義しないとモノイドにはなりません。

したがって、(拡張食品, on)は群の3つの条件の1, 2は満たすので、モノイドとなります。

〇〇抜き

トッピングを外す方向のものとして、「◯◯抜きで」というものがあるが、これは自然な拡張とは言えない。

天ぷら抜き on 天ぷら on そば = そば

うん、どう見ても「天ぷら抜き on」は無理がある。そもそも「天ぷら抜き」そのものを食品と認めるのか。いやどう考えても食品ではない。それよりも何よりも、「天ぷら on 天ぷら抜き」は最後には天ぷらをのせてしまっているじゃないか。やはり自然な解釈として、「抜き」をそもそも別の演算であると考えるべきだ。

ということで、これは群にはならない。

今度は〇〇抜きという言葉について、天ぷら蕎麦を例に言及されていますが、ちょっと曖昧な言葉の用い方をされているのかな、と思いました。 まず、見方によって結果が異なります。 ◯◯抜きを、

  1. 元とみる
  2. 演算としてみる

という2つの見方です。

▼「元としてみる」

◯◯抜きを元として考えますが、これは集合拡張食品の元として言えるか否かが、話の焦点になるかと思います。

論1
〇〇抜きはトッピングといえる、「トッピング」は集合拡張食品の元といえる。したがって三段論法から〇〇抜きは集合拡張食品の元と言える。

論2
〇〇抜きは明らかに食品とは言えないので、集合拡張食品の元とは言えない。
 
「論1」の場合、上記のSaito氏が言われている

天ぷら抜き on 天ぷら on そば = そば

という演算が成り立ちます。 この時「天ぷら抜き」は「天ぷら」の逆元となります。さらに、無しの逆元は無しとなるため、 集合拡張食品には逆元の存在が定義できますので、(拡張食品, on)は群となります。
 
「論2」の場合、上記の演算が成り立ちませんので、群とは言えません。(*1

この話は、〇〇無しでも同様です。 では単に抜きという元を考えると、これは集合拡張食品に存在し得るか?という疑問がわきますが、 さすがにこれは「食品」とはいえないため、抜きも集合拡張食品には存在し得ません。

▼「演算としてみる」

(拡張食品, 抜き)という組み合わせですが、

① 天ぷら蕎麦 抜き 天ぷら 抜き そば = 無し
② パイナップル 抜き スパゲティ 抜き ピザ = ?

という2つの式を考えることができると思います。 ①については成り立つかなと思いますのでこれは群となりそうですが、 ②については流石に成り立ちません。したがって、(拡張食品, 抜き)は群になりません。

終わりに

数学の話ですが、日常のもので考えると物凄く具体的でイメージしやすく、面白かった。 多少言葉遊びなきらいもありますが、こういう考え方を活かして教育に反映できれば良いなと思いました。 また数学で遊びたいものです♪

*1:逆元の定義ができるのであれば群となりますが、自分は定義できませんでした