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

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

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

集合論(Set Theory)を作ったカントール(g.Cantor,1845-1918)は次のように集合を言い表しています。

集合とは,われわれの直観または思考の対象で,確定していて,互いに明確に区別されるものを一つの全体としてまとめたものである。

(寺阪秀孝編著『現代数学小辞典』ブルーバックスB325(講談社,1977)p.44)

この表現と,私たちが日常で大量のデータを取り扱うことの間にはギャップがあります。なぜなら,数学的に厳密に表現される集合は,集合に含まれるものが「互いに明確に区別されるもの」であるからです。しかし実際に私たちの取り扱うデータは,重複があったり,曖昧なものであったりします。すべての場合において,集合に含まれるものを厳格に区別して取り扱うことは,現実的に手間と効果が釣り合わないものです。これは,現実世界のデータ処理にコンピュータを用い,集合の数学を活かす場合に勘案すべきことが少なくないことを示唆しています。

しかし,集合の数学を知った上であるからこそ,現実にある「だぶり」「曖昧さ」を含んだデータを取り扱うとき,ある処理のためにどの程度の厳密さを持ち込む必要があるのか,といった判断も出来るのです。ほとんどの身近な事例の場合,意識せずそれを行っているのですが,大量のデータを業務として間違いなく処理していくためには,集合の数学の助けを借りることになるのです。SQL※1のSELECT文を使うときなどは,まさにそういう場合です。SQLのSELECT文では,AND,OR,NOTといった演算をデータの取捨選択に用います。これまでに学んだ論理の数学の知識がここでも生きるのです。

簡単な例を一つ。年賀状の名簿には,名簿の持ち主の好みの問題ですが,過去の住所も一応残しておいたりします。実家の住所であったり,互いに交流の会った頃の思いでの記録であったりするからです。集合の要素とは,本来「確定していて」⁠明確に区別される」ものなのに,ある人物に関するデータが複数あるのですから好ましくありません。年賀状を作成する場合には,最新の住所宛に一通出せばよいのです。そこで,名簿に何らかの印を付けておいて※2年賀状作成時に取捨選択するのです。まさしくこれは,集合の数学(分類・選別・選択)を適用しているのです。

※1)
SQLとは,Structured Query Language(構造化問い合わせ言語)の略で,データベースの構造や操作を表現・実装するためのデータベース言語の一つです。
※2)
データの更新日や,そのデータは古いものであるという印をつけておきます。ダーティフラグと呼んだりします。

これからの連載で学ぶこと

これからの連載では,集合の数学で用いる記号や公式の確認,配列やコレクションクラスといった集合の数学を具体的に活用するためのJava言語の仕組みを紹介していきます。

集合の数学を,効率のよいデータ処理に活かしましょう。

今回のまとめ

  • 集合の数学では論理の数学が活用されます。
  • データベースの処理は,集合の数学の活用シーンです。

コラム 本連載でベン図とオイラー図を呼び分ける理由

本連載では,論理の数学でベン図を紹介しましたた。ベン図は四角形の丸を全て交差させて描きます。複数の命題が織りなす真理値を網羅するのが目的ですから,図中の円は必ず交差し,どの円も他の円に完全に含まれることはありません。これが論理を取り扱うときのベン図のルールです図29.3(a),(b)⁠。

図29.3 論理のベン図と集合のオイラー図

図29.3 論理のベン図と集合のオイラー図

ところで,集合を取り扱う場合は,上記のベン図のルールでは窮屈です。互いに共通の要素を持たない集合を描き表すためには,円を交差させない方が直感的にわかりやすいからです。もちろん,交差させた円でもかまわないのです。その場合,要素の存在しない領域にバッテン(×)を記入して,そこに要素が存在しないことを明示するルールがあります。これを使えば,論理の時に用いたベン図のルールをそのまま活かして集合を論じることが可能です。高等学校の数学の教科書で一般的に使われるのは厳密なベン図のルールではなく,円が交差しなかったり,内包される描き方を用います図29.3(c⁠⁠~⁠f)⁠。

歴史的には,オイラーがこの図を用い始めたことからオイラー図と呼ぶようになり,集合の表現に活用されたようです。その後,より厳密な数学表現を行うために改善が加えられ,それを行った数学者の名前をとってベン図と呼び習わすようになったそうです。現在では,その違いを明確に必要とする場以外では,集合一般を扱うときにも,論理を扱うときにも図の呼称は「ベン図」で通っています。ですから,集合一般を扱うときに,この図をベン図といっても間違いだというわけではないようです。

本連載では,論理の数学を解説をする際に「ベン図は円が必ず交差し,また円は包含関係にならないこと」としました。集合の学習をするためには,その制約を外した方がより直感的に図示できますし,分かりやすいと思います。同じ名前の図を別のルールで用いるのは少々気持ち悪いですし,学ぶ側も混乱すると思い,この連載中では集合一般を論じる際の図はオイラー図と呼ぶことにしました。読者の皆様は,名前の違いにはあまりこだわらず,目の前の問題をどう表すか,そして図がどう役立つかと言うことに注目して下さい。

著者プロフィール

平田敦(ひらたあつし)

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