• ベストアンサー

集合のユニークな要素数の数式表現について

集合のユニークな要素数(重複する要素を除いた後の要素の数)を数式表現したいのですが、 どのように表現すれば良いのかわかりません。 例えば、集合A={1, 2, 1, 2, 3}の場合だと、 1,2,3の”計3個”を数式で表現(定義)したいです。 もちろん、単純な要素数なら、|A|といった形式で表現できますし、 集合の中での唯一の要素の数(上の例だと「3」の1個)であれば、 条件式とセットで容易に表現できると思うのですが、 ユニークな要素の数となると、うまく表現できずに困っています。 どなたかお知恵を拝借できないでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • boiseweb
  • ベストアンサー率52% (57/109)
回答No.5

質問の「問題の定義」をはっきりさせてくれないと,回答に困ります. まず,前提として,数学での通常の用語として「集合」と称した時点で,要素の「重複」は一切あり得ません,というか,議論することが不可能です. {1,2,3} も {1,2,1,2,3} も {1,1,1,2,2,2,2,2,3,3} も,どれも「同一の集合」の異なる表現です.したがって,A={1,2,1,2,3} と宣言したら,その時点で A={1,2,3} も A={1,1,1,2,2,2,2,2,3,3} も同時に成立します. |A| という記号が表すのは,集合Aそのものが保持している固有の情報としての「要素の数」です.集合Aを {1,2,3} と表そうと {1,2,1,2,3} と表そうと {1,1,1,2,2,2,2,2,3,3} と表そうと,要素の数が3であることは不変です.「Aを書き表したときの見かけの要素数」は,Aの具体的な書き表し方によって変わってしまうので,Aが保持する固有の情報とはいえません. 「集合Aを『たまたま』『誰かがどこかで』A={1,2,1,2,3} という式で書き表した」としても,集合Aが定められた後では,「(重複を含めて)見かけ上5個の要素を書き並べてAを書き表した」という情報は無効になる(集合Aはその情報を保持しない)のです.Aが保持する情報は「持っている要素は1,2,3の3個だ」ということだけで,(書き表したときに)要素の重複があったかどうかという情報は一切無効化されます.集合とはそういうものです. 「A={1,2,1,2,3} とすると |A|=5」という主張は,|A| という記号の解釈を誤っているだけでなく,「そもそも集合Aは『5』という情報を保持していない(それをAから取り出すことは不可能)」という意味で根本的におかしいです. したがって,「要素の重複」を考えに入れて議論しようとするなら,「集合」を使って議論するのではダメで,multiset(要素の重複を考えに入れる集合概念の拡張)なり,リスト(列)なり,集合とは異なるデータ形式でもって対象を表現しなければなりません. 以上の前提をふまえて,質問の意図を推し量ると,たぶん,次のどちらかでしょう. (1) A を『multisetとして』A={1,2,1,2,3} (1,2は重複度2,3は重複度1でAに属する)と定めるとき,Aの「重複を含めた要素数」(5)と「ユニークな(重複を除いた)要素数」(3)を表すための『記法』は何か? (2) 〈1,2,1,2,3〉というリスト(列)が具体的に与えられたとき,重複を含めた要素数(5)はリストの長さと一致するから容易に得られるが,「ユニークな要素数」(3)の情報を得るための手続き(アルゴリズム)はどのように記述できるか? (1)については,multisetの理論で確立された記法の習慣があれば,それに従えばよいでしょう(multisetの理論でどんな記法の習慣があるのか,私は知りませんし,調べる意欲もありません).あるいは,定義をはっきり述べたうえで,独自に記法を導入するという方法もあるでしょう. 新しい記号を導入しないでなんとか書こうとするなら,「そもそもmultisetを既存の数学概念でどう記述するか」を決める必要があります(すでに述べた理由で「集合」を使うのではダメです.たぶん,数列を使うとか,写像のtargetとして表すとかでしょう…).「ユニークな要素数を式で表す」のは,multisetの記述方法を決めた後の話です. 質問の意図が(2)だとしたら,プログラミングの演習問題みたいなものですから,自分で考えてください.

flowflow_2010
質問者

お礼

ご丁寧な回答ありがとうございました。 質問内容は指摘いただいた(1)に近いと思いますが、 multisetの理論に踏み込む以前に、 私が「集合」の定義を勘違いしていました。 (他の方がコメントされていた通りです。) 他の方からの回答も非常に役に立ったのですが、 回答が最も丁寧だったのでベストアンサーに選ばせて頂きます。 (他のコメントをいただいた皆様、すみません。) ありがとうございました。

その他の回答 (5)

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.6

濃度の概念は、集合間の全単射によって定義します。 要素数というのは、有限な濃度の別称です。 二つの集合 A と B の間に全単射な写像が存在するとき、 「A と B は濃度が等しい」と言い、|A| = |B| と書きます。 また、C_n = { 0, 1, 2, …, n-1 } という集合の族を考え、 |A| = |C_n| のことを |A| = n と略記します。 これが、要素数 |A| の定義ですが、 「数式で表現(定義)」するのは難しいと思います。 全単射の存在は論理式で書けるとしても、 C_n に普遍的な名称がないし、 C_n から n への写像にも普遍的な名称がない。 上記のように自然言語で書いたほうが、早いですよ。

noname#125931
noname#125931
回答No.4

1と3で誤った/混乱を招く回答をしてしまいました。 A={1,2,1,2,3}なら2の方の言うとおり|A|=3だと思います。 集合の要素の数は「ユニークな要素の数」として定義されています。 質問されている方はA={a_i: i∈I}の形の集合の場合に|A|=|I|と思っているように見受けられます。 上の例ならI={1,2,3,4,5}で|I|=5ですが|A|={1,2,3}です。

noname#125931
noname#125931
回答No.3

1は勘違いでした。 結局|f(I)|ですね。 Iがたかだか加算なら♯{jεJ:j=f(i) for some iεI}のように書くのでしょうか。 あまり意味はありませんが。

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.2

何か勘違いをしているようですが、 A ={ 1, 2,1,2, 3 }のとき、 |A|= 3 です。|A|= 5 ではありませんよ。

noname#125931
noname#125931
回答No.1

問題にされている集合は、添字付けられた系、A={A_i}_{iεI}に限定されると思います。 これを族として見るなら、写像f:I→Jとも捉えることができます。 各iεIについてf(i)=A_iで定義するのです。 問題の要素数(一般には濃度)は、|f^{-1}(J)|だと思います。