SAT는 문맥이없는 언어입니까?


12

나는 모든 만족할 수있는 명제 논리 공식, SAT 의 언어를 고려하고 있습니다 (이것은 유한 알파벳을 갖기 위해 우리는 명제 문자를 적절한 방법으로 인코딩 할 것입니다 . [편집 : 대답은 질문에 대한 대답이 강력하지 않을 수 있다고 지적했습니다 다양한 인코딩으로 인해 더 구체적이어야합니다-아래 내 결론 참조] ). 내 간단한 질문은

SAT는 문맥 - 자유 언어?

첫 번째 추측은 오늘 (2017 년 초)의 대답은 "이것은 복잡한 이론에서 해결되지 않은 질문과 관련이 있기 때문에 아무도 모른다"는 것입니다. 그러나 이것은 사실이 아니지만 (아래 답변 참조) 완전히 거짓은 아닙니다. 다음은 우리가 알고있는 것들에 대한 간략한 요약입니다 (명백한 것부터 시작).

  1. SAT 는 규칙적이지 않습니다 (대칭 괄호로 인해 명제 논리의 구문조차 규칙적이지 않기 때문에)
  2. SAT 는 상황에 따라 다릅니다 (LBA를 제공하는 것은 어렵지 않습니다)
  3. SAT 는 NP-complete (Cook / Levin)이며, 특히 다항식 시간에 비 결정적 TM에 의해 결정됩니다.
  4. SAT 는 단방향 비 결정적 스택 오토마타 (1-NSA)로도 인식 할 수 있습니다 (WC 라운드, 중간 레벨 언어의 인식 복잡성 , 스위칭 및 오토마타 이론, 1973, 145-158 http://dx.doi.org/ 참조). 10.1109 / SWAT.1973.5 )
  5. 문맥이없는 언어에 대한 단어 문제는 자체 복잡성 클래스 ( https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl 참조 )CFL
  6. , 여기서 LOGCFL CFL로 환원 할 수있는 로그 공간 문제 클래스입니다(https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl 참조). NLLOGCFL 인 것으로 알려져있습니다.CFLLOGCFLAC1LOGCFLCFLNLLOGCFL
  7. NLNPNL=NPNC1PHNPLOGCFLLOGCFL

그러나이 마지막 점은 여전히 SAT 가 에없는 것으로 알려져 있습니다 . 일반적으로 과 계층 의 관계에 대한 질문을 잘 이해하지 못했습니다 .CFLCFLNC

비고 (일부 초기 답변을 본 후) : 공식이 결속적인 정규 형식이 될 것으로 기대하지 않습니다 (답변의 본질에 차이를 만들지 않으며 일반적으로 CNF도 공식이므로 인수가 여전히 적용됩니다. 상수의 변수 수 버전 문제는 구문에 괄호가 필요하기 때문에 규칙적인 실패라고 주장합니다.)

결론 : 저의 복잡성 이론에서 영감을 얻은 추측과 달리 SAT 에 상황이 없다는 것을 직접 보여줄 수 있습니다 . 따라서 상황은 다음과 같습니다.

  1. 그것은 것으로 알려져있다 SAT가 있다 문맥 자유하지 (즉 SAT가 아닌 ,) 하나가 코딩하는 "직접"사용하는 가정하에 명제 변수가 이진 숫자로 식별되는 식의을 (일부 추가 기호는 연산자 및 구분 기호에 사용됩니다.CFL
  2. SAT 가 에 있는지 여부는 알 수 없지만 "대부분의 전문가는 의미하기 때문에 그렇지 않다고 생각 합니다. 이는 또한 SAT의 다른 "합리적인"인코딩에 컨텍스트없는지 여부를 알 수 없음을 의미합니다 (NP-hard 문제에 대해 로그 공간을 수용 가능한 인코딩 노력으로 가정 할 경우).LOGCFLP=NP

이 두 점이 의미하지는 않습니다 . 이것은 문맥이없는 (예 : ) 언어가 (따라서 ) 인 언어를 보여줌으로써 직접 표시 할 수 있습니다 .CFLLOGCFLLLOGCFLanbncn


그렇다면 P = NP입니다.
Ryan

1
SAT에 컨텍스트가없는 경우 동적 프로그래밍 (CYK 알고리즘)은 SAT의 멤버쉽을 테스트하기위한 다항식 시간 알고리즘을 제공하여 P = NP를 제공합니다. P = NP조차도 SAT에 문맥이 없음을 의미하지는 않습니다. 이 변수 인코딩은 크레딧보다 더 중요 할 것 같습니다. 세부 사항을 해결하지는 못했지만 변수에 단항 또는 이진 "아래 첨자"를 추가하면 충분히 큰 인덱스를 위해 (x 및 x)와 (x 및 x)를 구별하는 데 문제가 있다고 생각합니다.
AdamF

P = NP 결론을 주장하기 전에 표현에 대해 정확해야합니다. 예를 들어, 숫자 N을 인수 분해하는 것은 N에서 다항식 시간입니다 (흥미로운 질문은 N을 이진수로 기록하는 데 필요한 비트 수 또는 로그 N에 관한 것입니다).
Aryeh

나는 P = NP 결론을 알고 있었기 때문에 그 대답은 "그렇다"(예 : ;-)를 표현하는 데 약간 도발적이어서 미안하다고 예상되지 않았다. 나는 이것이 실제로 알려진 것인지 또는 단순히 "대부분의 전문가들이 믿는 것"인지 궁금합니다. (이제 대답은 전자가 사실임을 분명히 나타냅니다; 적절한 과정에서 하나를 선택하겠습니다).
mak

답변:


7

잘 알려진 결과를 혼합하여 사용하는 대체 증거입니다.

한다고 가정:

  • 변수는 정규식d=(+|)1(0|1)
  • CNF 공식을 나타내는 데 사용되는 ( 일반 ) 언어 ( 는 다음과 같습니다. ; 것을 단지 참고 변수 이름 변경에 유효한 모든 CNF 공식을 잡고.Σ={0,1,+,,,})S={d+(d+)((d+(d+)))}S

예를 들어 은 다음과 같이 : ( 연산자가 보다 우선합니다 ) .φ=(x1x2)x3sφ=+1+1011S

한다고 가정 세인트 상응하는 화학식 만족할 수있다 CF이다.L={sφSφ}

정규 언어와 교차하면 여전히 CF 언어를 얻습니다. 또한 , 과 같은 동질성을 적용 할 수 있으며 언어는 CF로 유지됩니다.R={+1a1b1ca,b,c>0}h(+)=ϵh()=ϵ

그러나 우리가 얻는 언어는 다음과 같습니다 : , 이면 "source"공식은 는 만족할 수 없습니다 ( 와 유사 ). 그러나 은 잘 알려진 비 CF 언어 모순입니다.L={1a1b1cab,ac}a=b+xaxaxba=cL


다른 접근 방식에 여전히 공개적 인 문제가 있기 때문에이 답변을 수락했으며 (의견 참조) 다소 기본적인 주장이 마음에 듭니다. 인수가 선택한 인코딩에만 해당되고 컨텍스트가없는 언어로 연결되는 다른 간단한 (로그 스페이스) 인코딩을 찾을 수 있는지 여부는 실제로 알 수 없음을 강조하는 것이 좋습니다.
mak

1
@mak : SAT의 다른 "합리적인"인코딩은 비슷한 기술로 CF가 아닌 것으로 증명 될 수 있습니다. 아마도 또 다른 흥미로운 방향은 좀 더 일반적인 증거를 얻기 위해 일종의 대각선을 적용 할 수 있는지 연구하는 것입니다. SAT 수식은 주어진 입력에서 푸시 다운 오토마타를 시뮬레이트하는 계산을 인코딩하며, 받아들이지 마 그러나 그것은 단지 퍼지 아이디어 일뿐입니다.
Marzio De Biasi

문자열이 일반 언어인지 확인하는 방법은 P입니다. SAT가 Reg. 그런 다음 NP = coNP입니다. L이 Reg. L이 아닌 경우에 맞는 공식을 고려하십시오. NP에 있으므로 SAT 공식으로 표현할 수 있습니다. 그렇지 않은 언어입니다.
Kaveh

5

변수의 수가 유한 한 경우 만족할만한 연결의 수도 그러하므로 SAT 언어는 유한하며 따라서 규칙적입니다. [편집 :이 주장은 CNFSAT 형식을 가정합니다.]

그렇지 않으면 와 같은 수식 을 로 인코딩하는 것에 동의합시다. . 우리는 Ogden의 명예 를 사용 하여 만족스러운 모든 연결의 언어에 컨텍스트가 없음을 증명할 것입니다.( 17 + ~(x17¬x21)(x1x2x3)(17+~21)(1+2+3)

하자 오그의 표제어에 "표시"일정하고 포화-화학식 고려 모국어 절 구성 - 즉, 인코딩 , 여기서 구성된 진수 인 그들. 우리는 를 로 표시 한 다음 의 적절한 분해에 대한 모든 펌핑 (오그 덴의 정리 정리 참조)도 만족할 수 있어야합니다. 그러나 포함하는 절이 이를 쉽게 차단할 수 있습니다 . 여기서 는 보다 짧은 시퀀스입니다.w ( 1 p ) ( x N ) N p p 1 p w x q q 1 p w x q wpw(1p)(xN)Npp1pwxqq1p예를 들어, 다른 모든 절이 그러한 모든 의 부정을 있습니다. 이는 가 "음성 펌핑"속성에 실패하고 언어에 컨텍스트가 없다는 결론을 내립니다. [참고 : 펌핑이 잘못된 문자열을 생성하는 사소한 경우는 무시했습니다.]wxqw


참고 : 한정된 수의 변수에 대해 언어가 유한하다는 주장에 따라, 조항 또는 절 내에서 변수를 무한정 여러 번 반복하는 것을 암묵적으로 허용하지 않습니다
Aryeh

... 그러나 나는 언어가 여전히 규칙적이라고 생각합니다. 왜냐하면 "필수적으로 구별되는"공식의 유한 한 집합 (즉, 사소한 반복없이)을 취한 다음 다양한 반복을 허용하기 때문입니다.
Aryeh

규칙적인 주장은 CNFSAT에만 적용됩니다 (제 질문에 설명을 추가했습니다).
mak

4
유한하게 많은 변수에 임의의 비 CNF 공식이 있더라도, 만족도 (그리고 그 문제에 대해 논리적으로 동등한 두 공식을 구별 할 수없는 모든 언어)는 문맥이없는 것으로 쉽게 보입니다. 그러나 나는 이것의 관련성을 보지 못합니다. 유한하게 많은 변수에서 수식의 만족도는 SAT의 복잡성과 아무 관련이없는 사소한 문제입니다.
Emil Jeřábek

1
좋아, 나는 문제를 본다-나는 암시 적으로(클래식 펌핑 보조 정리에서와 같이) 길이를 제한 할 수 있으며 문자열에서의 위치에 대해 무언가를 지정할 수 있습니다. 나는 펌핑 보조 정리를 처음부터 다시 수행하여 논쟁을 해결할 수 있다고 생각합니다. 우리는 첫 번째 변수를 1의 긴 시퀀스로 만들 것입니다 .1의 연속 하위 문자열을 생성하는 일부 하위 트리는 pidgeonhole 원리를 적용하기에 충분히 깊어 야합니다. |xyz|
Aryeh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.