プロが教える店舗&オフィスのセキュリティ対策術

集合のユニークな要素数(重複する要素を除いた後の要素の数)を数式表現したいのですが、
どのように表現すれば良いのかわかりません。

例えば、集合A={1, 2, 1, 2, 3}の場合だと、
1,2,3の”計3個”を数式で表現(定義)したいです。

もちろん、単純な要素数なら、|A|といった形式で表現できますし、
集合の中での唯一の要素の数(上の例だと「3」の1個)であれば、
条件式とセットで容易に表現できると思うのですが、
ユニークな要素の数となると、うまく表現できずに困っています。

どなたかお知恵を拝借できないでしょうか。

よろしくお願いします。

A 回答 (6件)

質問の「問題の定義」をはっきりさせてくれないと,回答に困ります.



まず,前提として,数学での通常の用語として「集合」と称した時点で,要素の「重複」は一切あり得ません,というか,議論することが不可能です.
{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)だとしたら,プログラミングの演習問題みたいなものですから,自分で考えてください.
    • good
    • 0
この回答へのお礼

ご丁寧な回答ありがとうございました。

質問内容は指摘いただいた(1)に近いと思いますが、
multisetの理論に踏み込む以前に、
私が「集合」の定義を勘違いしていました。
(他の方がコメントされていた通りです。)

他の方からの回答も非常に役に立ったのですが、
回答が最も丁寧だったのでベストアンサーに選ばせて頂きます。
(他のコメントをいただいた皆様、すみません。)

ありがとうございました。

お礼日時:2011/01/06 17:34

濃度の概念は、集合間の全単射によって定義します。


要素数というのは、有限な濃度の別称です。

二つの集合 A と B の間に全単射な写像が存在するとき、
「A と B は濃度が等しい」と言い、|A| = |B| と書きます。
また、C_n = { 0, 1, 2, …, n-1 } という集合の族を考え、
|A| = |C_n| のことを |A| = n と略記します。

これが、要素数 |A| の定義ですが、
「数式で表現(定義)」するのは難しいと思います。
全単射の存在は論理式で書けるとしても、
C_n に普遍的な名称がないし、
C_n から n への写像にも普遍的な名称がない。

上記のように自然言語で書いたほうが、早いですよ。
    • good
    • 0

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}です。
    • good
    • 0

1は勘違いでした。


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

何か勘違いをしているようですが、


A ={ 1, 2,1,2, 3 }のとき、
|A|= 3 です。|A|= 5 ではありませんよ。
    • good
    • 0

問題にされている集合は、添字付けられた系、A={A_i}_{iεI}に限定されると思います。


これを族として見るなら、写像f:I→Jとも捉えることができます。
各iεIについてf(i)=A_iで定義するのです。
問題の要素数(一般には濃度)は、|f^{-1}(J)|だと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!