전원 집합의 하위 집합에 대한 가장 짧은 표현은 어떻게 찾습니까?


13

다음 문제에 대한 효율적인 알고리즘이나 NP 경도 증명을 찾고 있습니다.

하자 세트되고 ⊆ P ( Σ ) 의 서브 세트의 세트 Σ . 각 L ∈ A 에 대해 { w k + i ∣ 0 ≤ i < | 와 같은 k ∈ N 이 있도록 최소 길이 의 시퀀스 w ∈ Σ ∗ 를 찾으십시오. 패 | } = L 입니다.ΣA⊆P(Σ)Σw∈Σ∗L∈Ak∈N{wk+i∣0≤i<|L|}=L

예를 들어,에 대한 = { { , B는 } , { , C는 } } , 워드 w = B C는 대하기 때문에, 문제에 대한 해결책이 { , B } 거기 K = 0 에 대해, { , C } 거기에 K = 1 .A={{a,b},{a,c}}w=bac{a,b}k=0{a,c}k=1

내 동기 부여에 관해서는 유한 오토 마톤의 가장자리 세트를 나타내려고 노력하고 있는데, 각 가장자리는 입력 알파벳의 문자 세트로 레이블을 지정할 수 있습니다. 단일 문자열을 저장 한 다음 각 가장자리에 해당 문자열에 대한 포인터 쌍을 유지하고 싶습니다. 내 목표는 해당 문자열의 길이를 최소화하는 것입니다.


1
즉, 문제는 시퀀스 순서로 세트이고 최대화 Σ를 | L i ∩ L i + 1 | ? L1,…,Ln∑|Li∩Li+1|
— Karolis Juodelė

@ KarolisJuodelė, 경우 요소를 L 에 넣어야하기 때문에 충분하지 않다고 생각합니다.Li,Li+1,Li+2경우 L i 인 경우에도 i ∩ L i + 2의 요소 를 w에 두 번있기 때문에 + 1 . 예 { { , B } , { , C } , { , D는 } } , 당신이 공유 할 수 을Li∩Li+2wLi+1{{a,b},{a,c},{a,d}}a처음 두 개 또는 마지막 두 개 사이에 있지만 가장 짧은 는 b a c a d 일 것 입니다. wbacad
— avakar

또한 @ KarolisJuodelė는 또한 일부 , L i ⊆ L j 에 대해 "이웃 순서"가 총계가 아닌 경우와 같이 더 복잡한 경우도 있습니다. i≠jLi⊆Lj
— avakar

내가 질문을 올바르게하면 세트가 이면 단어 c 를 응원하기 만하면됩니다. o w o w l w o l f 는 주어진 요구 사항을 만족하지만, 그러한 단어와 해결책은 (가능한) 최소한 c o w l f ? :)A={{c,o,w},{o,w,l},{w,o,l,f}}cowowlwolfcowlf
— MindaugasK

@MindaugasK, 맞습니다, 아주 좋은 예 :)
— avakar

답변:


4

나는 Hamiltonian 경로 에서 감소를 발견하여 NP-hard 문제를 입증 한다고 생각 합니다.

단어 를w∈Σ∗질문에서이를 만족시키는 조건 (각 경우에, L ∈ , 거기 m ≥ 1 이되도록 { w m + I | 0 ≤ I < | L | } = L ) .AL∈Am≥1{wm+i∣0≤i<|L|}=L

원래 문제의 결정 버전을 고려, 즉 일부 여부를 결정 와 K ≥ 0 , 증인있다 최대 길이의 K . 이 문제는 원래 문제를 다항식 시간 의 오라클 로 사용하여 해결할 수 있습니다 (가장 짧은 증인을 찾은 다음 길이를 k와 비교 ).Ak≥0Akk

이제 축소의 핵심을 위해. 를 단순하고 방향이없는 연결된 그래프라고 하자 . 각 v ∈ V 에 대해 L v = { v } ∪ { e ∈ E ∣ v ∈ e }를 꼭짓점 v 와 모든 인접한 모서리를 포함하는 집합으로 둡니다 . 설정 Σ = E 와 = { L의 V | V ∈ V } . 그런 다음 GG=(V,E)v∈VLv={v}∪{e∈E∣v∈e}vΣ=EA={Lv∣v∈V}G길이가 최대 2 인 에 대한 증인이있는 경우에만 해밀턴 경로를 갖습니다 | 전자 | + 1 .A2|E|+1

증명. 하자 의 해밀턴 경로 수 G 및 H = { 예 1 , 예 2 , ... , 즉 N - 1 } 경로상의 모든 에지들의 집합. 각 정점 v 에 대해 집합 U v = L v ∖ H를 정의하십시오 . 각 U v 에 대해 임의의 순서 α v 를 선택하십시오 . 단어v1e1v2…en−1vnGH={e1,e2,…,en−1}vUv=Lv∖HαvUv L v 1 이기 때문에 α v n 은 A 의 증인입니다 .w=αv1e1αv2e2…en−1αvnALv1는 서브 스트링 , L vα1e1 으로E N - 1 α, n은및 각각V의I,I∉{1,N},L의 VLvnen−1αnvii∉{1,n} 는e i - 1 u v i ei로 표시됩니다. 또한, 각 에지E는두 번 발생w제외| V| −H에서1 개의모서리 (한 번발생하고V의각 꼭지점이 한 번 발생하여| 승| =2| 전자| +1.Lviei−1uvieiEw|V|−1HV|w|=2|E|+1

다른 방향의 경우,하자 에 대한 임의의 증인이 될 대부분에 길이 2 | 전자 | + 1 . 분명히, 각각의 e ∈ E 와 v ∈ V 는 w 에서 적어도 한 번 발생합니다 . 일반성을 잃지 않으면 서 각 e ∈ E 는 w 에서 최대 두 번 발생 하고 각 v ∈ V 는 정확히 한 번 발생 한다고 가정합니다 . 그렇지 않으면 w 에서 요소를 제거하여 더 짧은 증인을 찾을 수 있습니다 . 하자 H ⊆ E가 발생 모든 에지들의 집합wA2|E|+1e∈Ev∈Vwe∈Ewv∈VwH⊆E정확히 한 번 w . 위의 가정을 감안할 때, | 승 | = 2 | 전자 | − | H | + | V | .w|w|=2|E|−|H|+|V|

u e 1 e 2 … e k v 형식 의 의 연속 하위 문자열을 고려하십시오. 여기서 u , v ∈ V , e i ∈ E 입니다. 우리는 말을하는 U , Vwue1e2…ekvu,v∈Vei∈Eu,v 가 인접 해 . 만약 알 다음 전자 나 =이 { U는 , V } 때문에 전자 나 번만 발생 아직은 두 정점에 인접한 G . 따라서 최대 하나ei∈Hei={u,v}eiG H에 있을 수있다. 마찬가지로첫 번째 정점 이전 또는 마지막 정점 이후에는 w 에서 H의 모서리가 발생할 수없습니다.eiHHw

지금, 꼭짓점 | H | ≤ | V | − 1 . 거기서부터는 | 승 | ≥ 2 | 전자 | + 1 . 우리가 가정하기 때문에 | 승 | ≤ 2 | 전자 | + 1 , 우리는 평등을 얻습니다. 거기에서 우리는 얻을 | H | = | V | − 1 . 비둘기 구멍 원리에 따르면 H 의 가장자리가 있습니다.|V||H|≤|V|−1|w|≥2|E|+1|w|≤2|E|+1|H|=|V|−1H 인접한 각 정점 쌍 사이 . 나타내고 시간 1 시간 2 ... H N - 1 개 의 모든 요소 H 그들에 나타나는 순서 w . 그것은 v를 따릅니다wh1h2…hn−1Hw 의 해밀턴 경로 인 G . ◻v1h1v2h2…hn−1vnG◻

해밀턴 경로의 존재를 결정하는 문제는 NP-hard이고 위의 감소는 다항식이기 때문에 원래의 문제는 NP-hard입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.