이차 시간에 일반 언어의 교차 공허함 결정


23

하자 NFA 쌍이에 의해 주어진 두 개의 정규 언어가 될 입력으로.M 1 , M 2L1,L2M1,M2

인지 확인하고 싶다고 가정하자 . 이것은 의 제품 오토 마톤을 계산하는 2 차 알고리즘으로 명확하게 수행 할 수 있지만 더 효율적인 것이 있는지 궁금합니다.M 1 , M 2L1L2M1,M2

여부를 결정 하는 알고리즘이 있습니까? 가장 빠른 알려진 알고리즘은 무엇입니까?L 1L 2o(n2)L1L2


5
누구든지 좋은 아이디어가 있다면 알려주세요.하지만 현재 공개 된 문제입니다. 선형 시간 으로이 문제를 해결할 수 있다면 기본적으로 n 비트의 메모리 만 사용하는 비 결정적 시스템으로 해결할 수있는 모든 문제는 시간에 결정적으로 해결할 수 있습니다 . 2n2
Michael Wehar

6
나는 그것이 여전히 이차 이하에 열려 있다고 생각합니다. 더 많은 정보 : rjlipton.wordpress.com/2009/08/17/…
Michael Wehar

4
예를 들어 (Michael의 의견을 바탕으로), 지수 지수 가설은 지수가 2 여야 함을 암시합니다. 지수 지수 가설에서 따를 수도 있다고 생각합니다.
Ryan Williams

4
RB : 당신의 크기의 두 DFAS의 비어 있는지를 테스트 할 수 있다고 가정 시간 와 . 이제 크기가 인 DFA가 있는 경우 첫 번째 DFA와 나머지 DFA 의 곱을 작성할 수 있습니다 . 그리고, 시간에 비어 있는지 시험 어떤이며 보다 낫다 . vzn :이 상을 수상한이 논문은이 스레드에서 논평 한 @MichaelWehar가 작성했습니다. 마이클, 시간이 있다면 답을 제출할 수 있습니다! n 1 + ε ε < 1 k n k / 2 k / 2 ( n k / 2 ) 1 + ε = n 1nn1+εε<1knk/2k/2nk(nk/2)1+ε=n12k+ε2knk
Michael Blondin

4
@RyanWilliams 안녕 Ryan, 왜 기하 급수적 인 가설이 더 약하다는 것은 두 개의 DFA에 대한 교차 비 공백을 더 빨리 해결할 수 없다는 것을 의미합니까? 다른 사람이 나에게 이것을 한 번도 제안했습니다. :)
Michael Wehar

답변:


22

간단한 대답 : 대해 시간에 실행되는보다 효율적인 알고리즘이 존재 하면 강력한 지수 시간 가설이 반박됩니다.δ < 2O(nδ)δ<2


우리는 더 강력한 정리를 증명할 것이고 간단한 대답이 따를 것입니다.

정리 : 시간 에 두 개의 DFA에 대한 교차 비 공백 문제를 해결할 수있는 경우 n 비트의 메모리 만 사용하여 결정 불가능하게 해결할 수있는 모든 문제는 결정 가능하게 해결됩니다 시간.p o l y ( n ) 2 ( δ n / 2 )O(nδ)poly(n)2(δn/2)

정당성 : 시간 에 두 개의 DFA에 대한 교차 비 공백을 해결할 수 있다고 가정합니다 . 읽기 전용 입력 테이프와 읽기 / 쓰기 바이너리 작업 테이프가있는 비 결정적 Turing 머신 M을 제공하십시오. 길이 n의 입력 문자열 x를 지정하십시오. M이 이진 작업 테이프에서 n 비트 이상의 메모리에 액세스하지 않는다고 가정하십시오.O(nδ)

입력 x에 대한 M의 계산은 유한 한 구성 목록으로 나타낼 수 있습니다. 각 구성은 상태, 입력 테이프의 위치, 작업 테이프의 위치 및 작업 테이프를 나타내는 최대 n 비트의 메모리로 구성됩니다.

이제 작업 테이프가 반으로 나뉘어져 있다고 가정하십시오. 즉, 우리의 왼쪽 부분이 세포의 오른쪽 섹션 세포를. 각 구성은 왼쪽 조각과 오른쪽 조각으로 나눌 수 있습니다. 왼쪽 부분은 상태, 입력 테이프의 위치, 작업 테이프의 위치 및 왼쪽 섹션 의 비트로 구성됩니다. 오른쪽 부분은 상태, 입력 테이프의 위치, 작업 테이프의 위치 및 오른쪽 섹션 의 비트로 구성됩니다.Nn2Nn2Nn2n2

이제 상태가 왼쪽 조각 인 DFA 과 상태가 올바른 조각 인 DFA 를 만듭니다. 알파벳 문자는 이동 상태, 테이프 헤드 이동 방법 및 작업 테이프의 활성 셀 조작 방법을 나타내는 지시 사항입니다.D 2D1D2

아이디어는 과 가 입력 x에 대한 M의 계산에 해당하는 명령 목록을 읽고 함께 유효하고 수용 가능한지 확인하는 것입니다. 두 와 정보가 입력 문자에 포함되기 때문에 테이프 헤드가 어디에 항상 동의 할 것이다. 따라서 에게 작업 테이프 위치가 왼쪽 조각에있을 때 명령이 적절한 지 확인 하고 가 오른쪽 조각에있을 때 확인하도록 할 수 있습니다.D 2 D 1 D 2 D 1 D 2D1D2D1D2D1D2

전체적으로 각 DFA에 대해 최대 상태와 최대 개의 고유 알파벳 문자가 있습니다. p o l y ( n )poly(n)2n/2poly(n)

초기 가정에 따르면 시간에 두 DFA에 대한 교차 비 공통성을 해결할 수 있다고 가정합니다 .poly(n)2(δn/2)

도움이 될 것입니다 : https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/


CNF-SAT는 메모리의 비트를 사용하여 해결할 수 있습니다. 여기서 k는 변수 수입니다. 위의 구성을 사용하여 시간 에 두 DFA에 대한 교차 비 공통성을 해결할 수 있으면 시간. 따라서 간단한 대답이 있습니다.k+O(log(n))O(nδ)poly(n)2(δk/2)

의견, 수정, 제안 및 질문을 환영합니다. :)


1
위의 원래 질문을 제외하고는 모두 NFA 에 대한 것이 었습니다 . 모든 것이 여전히 뒤 따릅니 까? 또한 몇 가지 주요 세부 사항이 빠져 있습니다. 종이 가치가있는 것 같습니다. 아니면 모두 출판 된 것입니까? 만약에 plz가 인용하거나 거기에 번호가 붙은 정리 등을 묶는다면 가능하다면 표준 복잡성 클래스 L, P, NP, PSpace, ExpTime 등으로 더 자세히 설명하는 것이 도움이 될 것입니다. 방향 "강한"2-way DFA 교차점 공허 하한 ( ?) → SETH ...? 무엇을 보여줘야합니까? Ω(n2)
vzn

1
안녕하세요 VZN, NFA의 교차점 문제는 DFA의 교차점 문제보다 약간 어렵습니다. 그러나, NFA에 대한 교차 비 임계에서 DFA에 대한 교차 비 임계로의 파라미터 화 된 감소가 있기 때문에 그렇지 않다 . 이것은 첫 번째 논문에서 언급됩니다. kk
Michael Wehar

1
양방향 DFA를 언급 할 때 의미하는 바를 더 자세히 설명 할 수 있습니다. 에 대한 비 공허함 문제 DFA의 단지에 대한 교차 비 공허함 문제로 어려운 것을 양방향 - 우회전 편도 DFA의를. 링크 : cs.stackexchange.com/questions/13456/…(2k2)k
Michael Wehar

1
표준 복잡성 클래스의 관점에서 이것을 다음과 같이 수 있습니다. 은 SETH가 거짓임을 암시합니다. 쓸 때 양방향 읽기 전용 입력 테이프와 양방향 읽기 / 쓰기 바이너리가있는 비결정 튜링 머신의 경우 공간을 의미합니다 작업 테이프. N S p a c e ( 2 log ( n ) ) 2 log ( n )NSpace(2log(n))DTime(n)NSpace(2log(n))2log(n)
Michael Wehar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.