두 문자열의 셔플은 문자를 새 문자열로 산재하여 각 문자열의 문자를 순서대로 유지함으로써 형성됩니다. 예를 들어 및 MISSISSIPPI
의 셔플입니다 . 두 개의 동일한 문자열이 섞인 문자열 사각형을 호출하겠습니다 . 예를 들어 and 는 셔플이므로 정사각형 이지만 문자열 은 정사각형이 아닙니다.MISIPP
SSISI
ABCABDCD
ABCD
ABCD
ABCDDCBA
문자열이 정사각형인지 아니면 NP-hard인지 결정하는 빠른 알고리즘이 있습니까? 명백한 동적 프로그래밍 접근법이 작동하지 않는 것 같습니다.
(1) 각 문자가 최대 네 번 여섯 번 나타나는 문자열과 (2) 두 개의 고유 한 문자 만있는 문자열 은 다음과 같은 특수한 경우에도 어려운 것처럼 보입니다 . Per Austrin이 아래에 지적한 것처럼 각 문자가 최대 4 번 나타나는 특수한 경우를 2SAT로 줄일 수 있습니다.
업데이트 : 이 문제에는 경도를 쉽게 향상시킬 수있는 또 다른 공식이 있습니다.
정점이 정수 1-n 인 그래프 G를 고려하십시오. 끝점 사이의 실제 간격으로 각 모서리를 식별합니다. 한 구간에 다른 구간이 제대로 포함되면 G의 두 모서리가 중첩 됩니다. 예를 들어 가장자리 (1,5) 및 (2,3)은 중첩되지만 (1,3) 및 (5,6)은 중첩되지 않으며 (1,5) 및 (2,8)은 중첩되지 않습니다. 가장자리 쌍이 중첩 되어 있지 않으면 G에서 일치하는 부분은 중첩 되지 않습니다 . G에 중첩되지 않은 완벽한 일치가 있는지 여부를 결정하는 빠른 알고리즘이 있습니까? 아니면 문제가 NP-hard입니까?
문자열을 섞지 않는 것은 분리되지 않은 파벌 조합 (같은 문자 사이의 가장자리)에서 중첩되지 않은 완벽한 일치를 찾는 것과 같습니다. 특히, 이진 문자열을 셔플 링하는 것은 두 개의 도끼 의 분리 된 결합에서 중첩되지 않은 완벽한 일치를 찾는 것과 같습니다 . 그러나이 문제가 일반 그래프에 어려운지 또는 흥미로운 그래프 클래스에 대해 쉬운 지조차 알 수 없습니다.
완벽한 비 쉽게 찾을 수 다항식 시간 알고리즘이 교차 matchings은.
업데이트 (2013 년 6 월 24 일) : 문제가 해결되었습니다! 이제 정사각형 문자열을 식별하는 것이 NP- 완전하다는 두 가지 독립적 인 증거가 있습니다.
2012 년 11 월, Sam Buss와 Michael Soltys는 3- 파티션 에서 축소를 발표했는데 , 이는 9 자리 알파벳 이상의 문자열에서도 문제가 어렵다는 것을 보여줍니다. " 컴퓨터 시스템 과학 저널 ," 스퀘어 해제는 NP-Hard "를 참조하십시오 .
2013 년 6 월 Romeo Rizzi와 Stéphane Vialette는 가장 긴 공통 하위 시퀀스 문제 에서 축소를 발표했습니다 . " 셔플 제품에 대해 사각형 인 단어 인식 ", Proc. 러시아 제 8 회 국제 컴퓨터 과학 심포지엄 , Springer LNCS 7913, 235–245 쪽.
비 중첩 완벽한 matchings을 찾는 것은 인해 슈 아이 쳉 리와 "2009 페이지에 명나라 리에, NP-어렵다는 간단한 증거도있다 2 간격 패턴이 개방 문제에 ", 이론 컴퓨터 과학 (410) (24 ~ 25은 ) : 2410–2423, 2009.