は、私が二組、set1 = {a,b,c,d,e,f}
とset2 = {a,b,c,d,e,g}
を持っていると言います。むしろ明示的にこれらを表現するよりも、私たちは{a,b,c,h}
を表現したい場合は、我々はcommon - d - e + h
としてそれを表すことができセットの簡素化
common = {a,b,c,d,e}
set1 = common + f
set2 = common + g
のようなものを作りたいです。
私の目標は、使用する最適な共通部分を生成できるように基本的です。一般的なセクションは1つしかありませんが、これは難しいことではありませんが、複数を許可する必要があります(無制限ではありません。最適によって
、Iは「発現エレメントの最小数」を意味します。したがって、上記の例では、common
変数を作成するためには5(要素数)のコストがかかります。次に、1と2の両方をコスト2(1つは共通参照、もう1つは余分な要素を追加)に設定し、合計7になります。同様に、参照先の要素を減算の「コスト」1
別の例として、 {a,b,c,d}, {a,c,d,e}, {e,f,g,h} and {e,f}
は、これは多くの挑戦となる複数の共通部分を可能にすることにより
common1 = {a,c,d}
common2 = {e,f,g}
set1 = common1 + b
set2 = common1 + e
set3 = common2 + h
set4 = common2 - g
とすることができるであろう。このタイプの問題の名前、またはそれに類するものがありますか?それは圧縮に関連する可能性があるようだが、私はこれでどこから始めるにはあまりにも多くのリソースを見つけることができませんでした。
releventことができるいくつかの他の詳細:
- が有効であることができる一組を表現するために複数の共通部分を参照するために許可されるが、必須ではありません。私のユースケースについて
- 、セットは、典型的には約20の要素と約10の異なるセットであろう。
おそらく関連:[正式な概念分析](HTTPS://en.wikipedia。org/wiki/Formal_concept_analysis)。 –
要素を複数の共通セットに含めることはできますか?例えば。コモン1 = {a、b、c、d};共通2 = {d、e、f、g}; set1 = {a、b、c、d、e、f、g} =コモン1 +コモン2 - d。 – m69
ええ、共通のセットにある問題はありません。 - それはセットではないので、指定されていないので、重複は無視されます。 –