3-SAT를위한 준 다항식 회로는 사소한 것입니까?


10

변수와 절을 사용 하여 3-SAT를 고려한다고 가정하십시오 . 이 설명에 맞는 SAT 문제를 해결 하기 위해 시간 / 공간 이 걸리는 방법을 연구 중이며 임의의 양으로 조정할 수있는 오류 내에서. 그러나 캐치가 있습니다.c O ( v 2 + log c )vcO(v2+logc)

이 방법은 사전 계산 된 값의 세트를 요구하며, 그 후에 상기 설명에 적합한 임의의 3-SAT 문제를 해결할 수있다. 사전 계산 된 값은 크기 이며 각 값은 공간을 사용합니다. 실제 문제는 이러한 각 값이 계산하는 데 시간 이 걸릴 수 있다는 것 입니다. 이러한 계산 속도를 높일 수있는 방법을 찾을 수 있습니다.O ( 1 ) O ( 2 V )O(v2+logc)O(1)O(2v)

나는 경계 자체 가이 질문에 제시 된 상한을 능가한다고 생각합니다 (작은 ). 그래서 사전 계산을 허용하는지 설명하는 상한선에 도달하는 사소한 방법이 있습니까?O ( v 2 + log c )cO(v2+logc)

나는이 연구를 계속하고 모든 것이 잘되면 결과를 게시하기를 희망하지만 먼저 나쁘지 않은 방법이 있는지 알고 싶습니다.


최신 정보

이 알고리즘을 연구하는 것 외에도 관련 문제를 연구하고 있습니다. 내가 물었다 StackExchange의 IT 보안 사이트에이 질문에 당신이 관심이 있다면, 균열 및 SAT 비밀번호에 관한합니다. 적어도 하나의 답변이 이것을 반영합니다.


당신은 O (N ^ 2 + logc) 시간 / 공간이 필요하다고하는데 PSPACE에 있지 않습니까? 그러나 QSPACE (Quasi-Space)에서?
Tayfun Pay

@Tayfun 지불 : 그것은에서 실행 . 결과 모듈로에 p 를 제공하는 결정 론적 알고리즘입니다 (이 결과는 나머지 알고리즘이 만족스러운 할당을 결정하기에 충분합니다). 모든 소수에 대해 실행할 수 있습니다. 프라임을 둘 이상 실행하면 만족스러운 과제를 찾을 가능성이 높아집니다. 존재하는 경우 ( p - 1 ) / p 의 만족스러운 과제를 찾을 수 있습니다 . O(v(2+logc))p(p1)/
Matt Groff

O (N ^ (2 + log (c))) SPACE가 필요합니까?
Tayfun Pay

@Tayfun Pay : 예. 공간 고려 사항을 줄일 수있는 방법을 찾지 못했습니다.
Matt Groff

1
제목을 더 적절한 제목으로 변경하도록 제안합니다. 현재 제목은 매력적으로 보이지 않지만 질문 자체는 그렇게 보입니다.
오카모토 요시오

답변:


16

당신이 공부하고있는 것이 잘 풀렸다면 분명히 사소한 것이 아닙니다.

이는 3SAT가 크기 (비 균일 한) 회로를 가지고 있음을 의미합니다 . 그리고, 모든 언어 N P (다항식 시간 계층)은 준 - 다항식 (예했을 N O ( 로그 의 C , N ) ) 크기 회로.nO(logn)NPnO(logcn)

이 걸렸다해도 크기 만의 데이터 구조를 생성하기 위해 사전 처리 시간 2 O를 ( 로그 2 N을 ) 다음 정확하게 크기의 임의 3SAT 쿼리에 응답 할 수있는 N2 O를 ( 로그 2 N을 ) 높은 확률 3SAT으로 무작위 시간 알려진 알고리즘을 회로로 변환하여 알려진 다항식 크기 ​​회로를 사용합니다. 이렇게하면 사전 처리로 인해 알려진 알고리즘 시간 제한이 개선되지 않지만 불균일 한 결과로 여전히 흥미로울 것입니다.22n2O(log2n)n2O(log2n)

"임의의 양으로 조정할 수있는 오류 내에서"는 무엇을 의미합니까? 알고리즘이 무작위입니까?


: 답장 주셔서 감사합니다. 알고리즘은 무작위 화되지 않습니다. 알고리즘 자체의 실제 실행 시간은 내가 설명한 것처럼 간단하지 않습니다. 그러나 기본적으로 반복 실행을 통해 오류를 제거 할 수 있습니다. 따라서 번 반복하면 오류 확률이 1 / ( 2 x ) 미만으로 줄어 듭니다 . 알고리즘에 대해 너무 많이 공개 할까 걱정하기 때문에 세부 정보를 제공하는 것을 망설입니다. 엑스1/(2엑스)
Matt Groff

3
알고리즘을 무작위화할 수는 없지만 오류를 줄이기 위해 반복적으로 실행할 수 있습니까? 나는 당신이 당신의 질문을 이해하기 위해 적어도 몇 가지 더 많은 세부 사항을 제공해야한다고 생각합니다.
Ryan Williams

2
그의 알고리즘은 각 프라임 에 대해 (만약 작동한다면) 만족하는 할당 수가 p 의 배수가 아닌 경우 알고리즘은 만족스러운 할당을 찾습니다.p그는 "만약 존재하는 경우 의 만족스러운 과제를 찾는 변화"라고 잘못 말하고있다 .(p1)/p 에 대한 런타임의 의존성 이 크지 않으면, SAT에 대한 (결정 론적) 준-다항식 크기의 회로를 생성합니다.p

전처리 단계에는 필요합니다 . "알려진 알고리즘을 회로로 변환하는 알려진 방법"을 참조 할 수 있습니까? 따라서 오류를 줄이려면 전처리를 n 번 실행해야합니다 . 나는 이것이 준 회로로 변환 될 수 있는지 의심합니다. 이것이 사소한 알고리즘에 비해 어떤 이점이 있습니까? pn
Zirui Wang

@ZiruiWang : . 데이터 구조가 정확하게 확률 쿼리에 응답 가정 3 / 4 . 가라 100 개 N 크기의 데이터 구조의 사본 2 O를 ( 로그 2 N을 ) 마다 다른 랜덤 비트 스트링 시드. 모든 사본의 대다수 답변을 가져 가십시오. 이것은 에러가있는 확률 적 알고리즘 quasipolynomial 시간 미만이고 1 / 2 N . 적절한 시드를 하드 코딩하여 준 다항식 크기 ​​회로로 변환 할 수 있습니다. BPPP/poly3/4100n2O(log2n)1/2n
Ryan Williams

3

결과가 유효하다면 사소한 발전이 될지 모르겠지만 테스트 할 수있는 문제는 다음과 같습니다.

문제. 함수 합니다. 감안 Y { 0 , 1 } N 찾아 X { 0 , 1 } N 되도록 F ( X ) = Y .f:{0,1}n{0,1}ny{0,1}nx{0,1}nf(x)=y

가 작은 회로에 의해 효율적으로 계산 될 수 있다면 결과는이 문제에 대한 일종의 해결책을 암시합니다.f

암호화 세계에서,이 문제에 대한 잘 알려진 알고리즘 (에만 사전 실행에 따라 수행 필요) 2 N 시간 2 2 N / 3 공간과 크기의 조언 출력 2 2 N / 3 ; 그런 다음 x가 주어지면 사전 계산에서 크기 2 2 n / 3 의 어드바이스 문자열을 사용하여 2 2 n / 3 시간 에서 y 를 찾을 수 있습니다 . 크기 S 의 어드바이스 문자열을 사용하도록 공간 대 시간 균형을 조정할 수 있습니다.f2n22n/322n/3xy22n/322n/3S그리고 시간이 걸릴 한, S T입니다. 내가 아는 한, 이러한 복잡성은f의 내부 구조를 고려하지 않은 알고리즘에 가장 적합하다고 생각됩니다. 특히,f가 암호로 안전한 해시 함수 인경우 최적 일 수 있습니다. (이 기술은 Hellman 시공간 트레이드 오프라고합니다.)ST=2nff

따라서 기술이 암호로 안전한 에 대한 Hellman 시공간 상쇄보다 더 잘 할 수 있다면 확실히 뉴스 일 것입니다.f

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