パワーセットのサブセットの最短表現を見つけるにはどうすればよいですか?


13

次の問題に対する効率的なアルゴリズム、またはNP硬さの証明を探しています。

ましょうセットとすることがのサブセットのセット。ごとに、となるが存在する最小長のシーケンスを見つけます。。Σ A PΣ Σ W Σ * L A のk N { W K + I | 0 I < | L | } = LΣAP(Σ)ΣwΣLAkN{wk+i0i<|L|}=L

たとえば、場合、単語は問題の解決策です。には、場合はです。A = { { a b } { a c } } w = b a c { a b } k = 0 { a c } k = 1A={{a,b},{a,c}}w=bac{a,b}k=0{a,c}k=1

私の動機に関しては、有限オートマトンのエッジのセットを表現しようとしています。各エッジには、入力アルファベットの文字のセットでラベルを付けることができます。単一の文字列を保存し、その文字列へのポインタのペアを各エッジに保持したいです。私の目標は、その文字列の長さを最小限にすることです。


1
言い換えれば、問題は、セットをシーケンス、最大化することです?L 1L n| L IL I + 1 |L1,,Ln|LiLi+1|
カロリスJuodelė13年

KarolisJuodelė@、私はそれがためにするので、十分だとは思わないL iL i + 1L i + 2Li,Li+1,Li+2あなたは内の要素配置する必要がありL IL I + 2LiLi+2ww、彼らがいる場合でも、二回' L i + 1Li+1ます。たとえば、{ { a b } { a c } { a d } }{{a,b},{a,c},{a,d}}、最初の2つまたは最後の2つの間でaを共有できますがaaすべての中で、wwb a c a dbacadます。
avakar

さらに、@KarolisJuodelėは、一部のi jijに対してL ILのJLiLjを使用する場合があります。この場合、このような場合、「近傍順序付け」が完全ではない可能性があります。
avakar

質問に正解した場合、A = { { c o w } { o w l } { w o l f } }A={{c,o,w},{o,w,l},{w,o,l,f}}、その後、cowowlwolfという単語は指定さc o w o w l w o l fcowowlwolfれた要件を満たしますが、(可能であれば)そのような最小の単語と解決策はc o w l fcowlfですか?:)
ミンダウガスK

@MindaugasK、それは正しい、非常に素晴らしい例:)
avakar

回答:


4

ハミルトニアン経路からの減少を発見したと思うので、問題はNP困難です。

単語を証人と呼びます。質問の条件を満たしている場合(各、ようながあり)。W Σ * A L AのM 1 { W M + I | 0 I < | L | } = LwΣALAm1{wm+i0i<|L|}=L

元の問題の決定バージョンを考えます。つまり、とについて、長さが最大での目撃者がいるかどうかを決定します。この問題は、元の問題を多項式時間のオラクルとして使用して解決できます(最短の証人を見つけ、その長さをと比較します)。K 0 A KAk0Akkk

今、削減の核心です。ましょう、単純な無向、連結グラフです。各について、を、頂点とそのすべての隣接エッジを含むセットとします。セットおよび。そして、長さが最大の目撃者がいる場合にのみ、にハミルトニアンパスがあります。G = V E V VのLをV = { V } { E E | V E } V Σ = E A = { LのV | V V } G A 2 | E | + 1G=(V,E)vVLv={v}{eEve}vΣ=EA={LvvV}GA2|E|+1

証明。ましょうにおけるハミルトン経路である及び経路上のすべてのエッジの集合。各頂点に対して、セット定義します。任意の順序を選択しそれぞれの。ワードための証人である、以降ストリングで表される、 by、およびごとに、V 1 、E 1 V 2 ... E N - 1 V N G H = { E 1E 2... E N - 1 } V Uは、V = LのVH α V UとV W = α V 1、E 1 α V 2 E 2 ... E N - 1つの α Vv1e1v2en1vnGH={e1,e2,,en1}vUv=LvHαvUvN AL V 1 α1つの、E1Lの V N E N - 1つの αNViがI{1N}Lの VのIw=αv1e1αv2e2en1αvnALv1α1e1Lvnen1αnvii{1,n}Lviは表されます。さらに、各エッジはで2回発生しますが、のエッジは1回発生し、各頂点は1回発生し、ます。e i 1 u v i e i E w | V | 1 H V | w | = 2 | E | + 1ei1uvieiEw|V|1HV|w|=2|E|+1

もう一方の方向では、長さが最大の任意の証人をとします。明らかに、各とはで少なくとも1回出現します。一般性を失うことなく、各がで最大2回出現し、各が正確に1回出現すると仮定します。そうでない場合、から要素を削除することにより、より短い証人を見つけることができます。してみましょうで発生したすべてのエッジの集合とする正確に一度だけ。上記の仮定を考えると、。w A 2 | E | + 1 E E V V W E E W V V W H E W | w | = 2 | E | | H | + | V |wA2|E|+1

形式のの連続部分文字列を考え。ここで、、です。は隣接していると言います。場合、であることに注意してください。これはが1回しか発生しない、 2つの頂点に隣接しているためです。したがって、最大で 1つができます。同様に、のエッジは、最初の頂点の前または最後の頂点の後に発生することはありません。wue1e2ekvu,vVeiEu,veiHei={u,v}eiGeiHHw

今、があります 頂点、したがって。そこからます。と仮定しているため、等価性が得られます。そこからを取得します。ピジョンホールの原理により、隣接する頂点の各ペア間にからのエッジがあります。示しからすべての要素それらが現れる順序で。したがって、はハミルトニアンパスです。|V||H||V|1|w|2|E|+1|w|2|E|+1|H|=|V|1Hwh1h2hn1Hwv1h1v2h2hn1vnG

ハミルトニアンパスの存在を決定する問題はNP困難であり、上記の縮約は多項式であるため、元の問題もNP困難です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.