はじめMath! Javaでコンピュータ数学

第29回 分類・選別・選択 集合の数学

この記事を読むのに必要な時間:およそ 2.5 分

鋸(のこ)げんのう(金槌),(かんな)。大工道具には様々な種類があります。大きさの違いまで考えればきりがありません。釘にもたくさんの種類があります。普通に見かける釘は「丸釘」といいます。軟らかくて脆(もろ)い石膏ボードの打ち付けに使う釘は,特に細く長い専用の釘です。胴体に凹凸のついた「ねじ釘」というものもあり,これはいったん打ち込まれると抜くのがやっかいです。大工さんはこのような各種のくぎを工具箱に分類・整理しておき,必要に応じて選び,適材適所で釘を選択しています。

大工さんに限らず,たくさんのものを管理するためには,分類・選別・選択といった作業が日常的に行われます。そうしないと,いざ必要なものを選択するとき大変な目に遭うことでしょう。

情報の分類・選別・選択を,より厳密に効率よく表現する数学的な道具が,これから学ぶ「集合の数学」です。一見当たり前のことでも,集合の数学を活用して整理すると,そこに新しい発見をすることがあります。集合の数学を活用すると意外にも大きなメリットがあるのです。

この記事が,読者の皆さんの問題解決効率を高め,新たな発見に役立てばよいなと期待しています。

図29.1 分類・選別・選択で効率よく仕事をしよう

図29.1 分類・選別・選択で効率よく仕事をしよう

改めて「集合」ってなんですか?

集合とは,数学的にはいくつかの「もの」からなる「集まり」のことです。あまりに抽象的すぎて,わかったような,わからないような,狐につままれているような気になるかもしれません。先ずは「集合の数学を学ぶことで,日頃何気なく行っている「ものの集まり」の表現や操作をきっちり出来るようになる」というメリットがあると思ってください。

一つ例を示しましょう。図29.2に一つの図を示します。この図は直感的で何も数学的に見えないかもしれません。四角と丸が無造作に書かれています。

図29.2 集合の数学のメリット

図29.2 集合の数学のメリット

この図の書き方やルールについてはやがてきちんと学ぶものとして,ぱっと見て,この図が「みかんは全てオレンジ色です。」「りんごには赤色のものと青色のものがあります。」ということがきっちり表されていると納得出来るでしょうか?きっと納得できると思うのです。疑問を差し挟む余地は無いと思います。

こんな図,描くまでもないんじゃない?というご指摘はごもっとも。しかしこれはお話を簡単にするための例ですからご容赦を。こんな簡単な図であっても,図にしたからこそ得られるメリットがあるのです。それは「ものごとをキッチリ表現できる」こと,そして「図を書いた人が,当初想定していなかった事実が図に表れる」ことなのです。そんな夢みたいなことがあるの?そう,あるのです。この度の場合はそれほど重要な事実ではありませんが,確かに先ほどの文章では意図していなかったことが図から読みとれるのです。

例えばこんな具合です。

  • 「みかんはりんごではありません。」「りんごはみかんではありません。」

いえいえ,怒らないでください。しかし,確かにさっき述べた文章の意図には無かったものでしょう?当たり前かもしれませんが,当初は思いもしなかった事実をはっきりとこの図が言い表しているのです。

更に,このように図を読むことも出来ますよ。

  • 「赤色や青色のみかんはありません。」「オレンジ色のりんごはありません。」

もし,現実世界の事実と図示した事実が矛盾するようであれば,新発見をしたのかもしれませんし,自分の考えの誤りに気づかされたのかもしれません。数学によって自分の中に他者の目を得たとも言えます。すばらしいことだと思いませんか?

集合の数学とプログラミング言語

この集合という数学の道具は,コンピュータ・プログラマにとって,たとえそれと意識しなくとも大変身近なものです。例えば,プログラミングを学ぶ人は,データの集まり(集合ですね)を取り扱うために,配列という仕組みを早晩学びます。配列には,数値を格納したり,名前(文字)を格納したりできます。格納した値を並べ替えたり,一番大きいものをさがしたりします。格納する値の数が多ければ多いほど,コンピュータはその真価を発揮します。

配列というプログラミング言語の仕組みは,少々物足りなく感じることがあります。あるとより便利な機能はJava言語ではコレクションクラスというもので備えています。ただ,このコレクションクラスは大変シンプルで,集合の数学を活かすにはまだまだプログラマが付け加えなければならない機能が残されています。では,どんな機能があると便利なのでしょうか。次回からはそのようなことも学びましょう。

著者プロフィール

平田敦(ひらたあつし)

地方都市の公立工業高等学校教諭。趣味はプログラミングと日本の端っこ踏破旅行。2010年のLotYはRuby。結城浩氏のような仕事をしたいと妄想する30代後半♂。

コメント

コメントの記入