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


13

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

하자 세트되고 P ( Σ ) 의 서브 세트의 세트 Σ . 각 L A 에 대해 { w k + i0 i < | 와 같은 k N 이 있도록 최소 길이 의 시퀀스 w Σ 를 찾으십시오. | } = L 입니다.ΣAP(Σ)ΣwΣLAkN{wk+i0i<|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 iL i + 1 | ? L1,,Ln|LiLi+1|
Karolis Juodelė

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

또한 @ KarolisJuodelė는 또한 일부 , L iL j 에 대해 "이웃 순서"가 총계가 아닌 경우와 같이 더 복잡한 경우도 있습니다. ijLiLj
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 ) .ALAm1{wm+i0i<|L|}=L

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

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

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

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

u e 1 e 2e k v 형식 의 의 연속 하위 문자열을 고려하십시오. 여기서 u , v V , e iE 입니다. 우리는 말을하는 U , Vwue1e2ekvu,vVeiEu,v 가 인접 해 . 만약 알 다음 전자 =이 { U는 , V } 때문에 전자 번만 발생 아직은 두 정점에 인접한 G . 따라서 최대 하나eiHei={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를 따릅니다wh1h2hn1Hw 의 해밀턴 경로 인 G . v1h1v2h2hn1vnG

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

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