두 단어가 언어에 인터리빙되어 있는지 확인하는 복잡성


9

알파벳 의 고정 언어 경우 -INTERLEAVING 이라고하는 다음 문제를 고려하십시오 .LAL

  • 입력 : 두 단어u,vA
  • 출력 :는 존재 여부 인터리빙 의 및 에 .uvL

여기, 두 단어 의 인터리빙uv 단어입니다 w 그 편지를 복용함으로써 직관적으로 얻을 수 있습니다 uv상대 순서를 유지하면서. 공식적으로w 인터리빙 uv 두 개의 분리 된 서브 시퀀스로 분할 할 수 있다면, 하나는 u 그리고 다른 하나는 v. 예를 들어 "bheleloll"은 "hello"와 "bell"의 인터리빙입니다.

의 복잡성은 무엇입니까 L언어에 따라 인터리빙 문제 L? 특히:

  • 만약 L규칙적이라면 두 문자열에서 동적 알고리즘으로 문제를 해결할 수 있습니다.이 문자열은 NL 클래스에 있음을 보여줍니다. 일부 일반 언어에서는 NL이 어렵습니까? 그러나 일부 일반 언어의 경우 문제는 분명히 L (결정적 로그 공간)입니다. L에 문제가있는 언어의 특징이 있습니까?
  • 만약 L 규칙적이지 않은 경우 문제는 여전히 NL에 있습니다. L다항식 온라인 결정 론적 공간 복잡성이 있습니다 ( 이 개념 또는 이전 질문여기 참조 ). 그러나 여기에는 모든 문맥없는 언어가 포함되지 않습니다. 그러나, 일부 다른 것 (예를 들어, 회문)은 또한 (예를 들어, 처음과 끝에서 동시에 동적 알고리즘을 수행함으로써) NL 인 것으로 보일 수있다. 문맥이없는 언어가 있습니까?L인터리빙 문제는 NP-hard입니까?

답변:


6

한마디 w=w1w 그리고 두 정수 i,j1ij 우리는 w(i,j) 하위 단어 wiwi+1wjw. 게다가 우리는w(0,0) 빈 단어를 나타냅니다.

  • 허락하다 u=u1umv=v1vn 고려중인 두 단어가 되십시오.
  • 문맥이없는 언어라고 가정 L Chomsky 일반 형식의 문맥없는 문법으로 지정됩니다.

상태가 동적 인 프로그램을 구성 [i,j,r,s,A] 에 의해 지정됩니다

  • 두 정수 i,j1ijm 또는 i=j=0
  • 두 정수 r,s1rsn 또는 r=s=0
  • 비단 자 기호 A 문맥이없는 문법으로

모든 주에 대해 문맥이없는 문법에 비 터미널로 시작하는 파생물이 있는지 결정하십시오. A 그리고 그것은 두 단어의 일부 인터리빙으로 끝납니다 u(i,j)w(r,s). 상태가 올바른 순서로 처리되면 (더 긴 하위 단어 앞의 짧은 하위 단어)이 결정을 쉽게 내릴 수 있습니다.

결국, 이것은 다항식 시간 알고리즘을 생성합니다. L문맥없는 언어의 인터리빙 문제 L.


감사! 실제로 나는 en.wikipedia.org/wiki/CYK_algorithm 의이 변형이 문제가 문맥이없는 언어에 대해 P에 있음을 보여주기 위해 작동 한다는 것을 알지 못했습니다 . 즉, 우리는이 알고리즘을 사용하여 문제가 NL에 있음을 보여주는 방법을 알 수 없습니다. 우리는 대수를 추측해야 할 것 같습니다 (나무의 높이). 각 추측은 대수를 나타냅니다 (즉, 끈). 이것에 대한 아이디어가 있습니까?
a3nm

2
@ a3nm 빈 단어가 CFL에 속하는지 여부는 이미 P-hard입니다.
Sylvain

@Sylvain : P-hard이지만 CFL의 함수입니다. :) 내 문제에서 언어 (또는 CFL)가 고정되어 있고 입력이 두 문자열 일뿐 이므로이 인수가 적용되지 않는다고 생각합니다.
a3nm

2
@ a3nm 죄송합니다. 언어가 수정되었다는 사실을 정말로 놓쳤습니다. 그런 다음 자연 후보는 LogCFL-hardness입니다.
Sylvain

@ 실베인 : 맞습니다, 감사합니다! 실제로 문제의 단어는 고정 CFL 언어 (예 : Greibach의 가장 어려운 언어)에서도 LogCFL-hard라고 생각합니다. 특히 내 문제가 LogCFL-hard 인 두 번째 문자열이 비어있는 CFL 언어가 있습니다 (두 번째 문자열이 비어있는 인스턴스를 사용하십시오) ). 반대로 Gamow의 알고리즘이 LogCFL (?)에 있다고 생각합니다. 아직도, 이것은 내 문제가 더 쉬운 언어에 대해 궁금해하고 어떻게 분류 할 수 있는지
궁금합니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.