이론적 컴퓨터 과학에 대한 일반적인 거짓 신념


62

08/12/08에 편집 :

더 많은 사람들이 자신의 의견을 공유 할 수 있도록 질문을 수정하려고합니다. 우리는 당신의 공헌이 필요합니다!

이 게시물은 MO의 한 주제에서 영감을 얻었습니다 . 수학에 대한 일반적인 거짓 신념의 예 . 큰 목록은 때때로 그 품질을 통제하기 어려운 많은 답변을 생성하지만 MO 관련 게시물의 성공 후 나는 TCS에 대한 일반적인 거짓 신념을 나열하는 것이 도움이 될 것이라고 확신합니다.

그러나이 사이트는 연구 수준의 질문에 대답하기 위해 설계되었으므로 와 같은 예 는 비 다항식 시간을 나타냅니다 . 한편, 우리는 어렵지 않을 수있는 몇 가지 예를 원하지만, 세부적인 생각 없이도 합리적으로 보입니다. 우리는 예제가 교육 적이기를 원하며, 처음으로 주제를 연구 할 때 나타납니다.NP

이 분야에서 공부하는 사람들에게 나타나는 이론적 컴퓨터 과학에 대한 일반적인 거짓 신념의 (사소하지 않은) 예는 무엇입니까?

정확히 말하면, TCS의 놀라운 결과반 직관적 인 결과 와 다른 예제를 원합니다 . 이런 종류의 결과는 사람들을 믿기 어렵게하지만 사실입니다. 여기서 우리는 사람들이 언뜻보기에는 사실이라고 생각할 수있는 놀라운 예를 요구하지만, 더 깊이 생각한 후에는 결함이 드러납니다.


목록에 대한 정답의 예로, 이것은 알고리즘 및 그래프 이론 분야에서 나옵니다.

들어 - 노드 그래프 G 하는 k 개의 -edge 분리기 S는 크기의 에지들의 부분 집합 K 의 노드 G S는 두 개의 인접하지 않은 부분들로 분할 될 수는 각각 최대로 구성 3 N / 4 노드 . 우리는 다음과 같은 "lemma"를 가지고 있습니다 :nGkSkGS3n/4

나무는 1 가장자리 분리기가 있습니다.

권리?


게시물이 CW로 요청되었다고 표시되었습니다.
Hsien-Chih Chang 張顯 之

답변:


59

이것은 계산 기하학에 공통적이지만 다른 곳에서는 고유 합니다. 실제 RAM에 대한 알고리즘은 효율성의 손실없이 정수 RAM으로 (문제의 정수 제한을 위해) 전송할 수 있습니다. 표준적인 예는“가우시안 제거는 시간에 실행된다”는 주장 이다. 실제로, 부주의 한 제거 순서는 지수 적으로 많은 비트를 갖는 정수를 생성 할 수있다 .O(n3)

더 나쁘지만 여전히 불행하게도 일반적입니다. 플로어 기능이 있는 실제 RAM의 알고리즘을 효율 손실없이 정수 RAM으로 전송할 수 있습니다. 실제로 실제 RAM + 플로어는 PSPACE 또는 #P의 모든 문제를 다항식 단계로 해결할 수 있습니다 .


5
가우시안 제거 오해는 매우 널리 퍼져 있습니다. 아마도 문제의 일부는 우리가 종종 유한 분야에서 일하고 문제가 없기 때문에 잊어 버린다는 것입니다.
slimton

"우리는 정수 가우시안 제거를 수행 한 후 해결책을 찾는 방법을 알고 있습니다."
Albert Hendriks

40

방금 다른 소식을 들었 습니다 . 이 게시물에 대한 @XXYYXX의 답변 이 기여했습니다 .

  • 모든 N P 문제에서 X 로 다항식 시간 (또는 로그 공간)이 감소하면 문제 X는 하드 입니다.
  • 지수 시간 가설을 가정하면 3-SAT에는 하위 지수 시간 알고리즘이 없습니다. 또한 3-SAT는 입니다.
  • 따라서 -hard 문제 X에는 지수 지수 시간 알고리즘이 없습니다. 그렇지 않으면 X에 대한 서브 지수 시간 알고리즘 + 다항식 시간 감소 = 3-SAT에 대한 서브 지수 시간 알고리즘.N

그러나 우리는 NP-hard 문제들에 대한 서브 지수 식 시간 알고리즘을 가지고 있습니다.


나는 같은 인상을 받았다.
Mohammad Al-Turkistany

이것이 지수 시간 가설에 대해 무엇을 알려줍니까? 아니면이 추론에서 어떤 결점을 놓쳤습니까?
Mikhail Glushenkov

2
포인트 3에 결함이 있습니다. 그것은 내가 오랫동안 오해 한 것입니다. :)
Hsien-Chih Chang 張顯 之

결함을 찾을 수 있는지 확실하지 않습니다. 그 이후인가요 모두 문제가 EXPTIME에있을 것입니다 때문에, 감소는 반드시 다항식이 아니어야하지만 시간이 기하 급수적으로 될 수 있음 (때문에 ETH에?)
chazisop

43
다항식 시간 감소는 입력 크기를 다항식 양으로 변경할 수 있습니다. 따라서 n 크기의 Q 인스턴스를 n 제곱 크기의 P 인스턴스로 줄이면 P의 경우 2 대 루트 n 알고리즘은 Q의 경우 2 대 n 알고리즘 만 제공합니다.
Russell Impagliazzo

29

하나는 전체를 설명 할 때 올해 대중화되었다 거짓 믿음은 여러 번 이야기한다 문제가 있기 때문에, P가 효율적으로 설명되어 있습니다 :

" 이면 수많은 문제를 효율적으로 해결할 수 있습니다. 그렇지 않은 경우에는 불가능합니다"=

경우 해결 될 수 O ( N g O O g O L 개의 P는 L 개의 전자 X ) 다음 P = N P . 아무도이 알고리즘을 실행한다고 생각하지 않습니다.에스에이O(ngoogolplex)P=NP

경우 , 여전히위한 알고리즘 수 T에 S를 P 에서 실행 N의 로그 ( 기록 없음을 ) 보다 작은 경우, n은 5N 2 (32) . 대부분의 사람들은 해결 할 수있는 행복보다 더 많은 것 T S P를 그렇게 빨리 40 억 개 도시.PNPTS로그(로그)5232에스



6
를 통해 앨런 펄리스를, - "당신은 모든 다항식 시간 알고리즘, 나는 오히려 실행됩니다 지수 알고리즘이" 괴델의 분실 문자 및 P = NP가 .
Pål GD

24

이것은 실제로 수학에 대한 잘못된 믿음이지만 TCS 컨텍스트에서 자주 발생합니다. 임의의 변수 Y 가 독립적 인 경우 Z 에 대한 조건 은 독립적으로 유지됩니다. ( ZXY 와 무관 하더라도 거짓 입니다.)엑스와이엑스와이


2
사람들이 왜 그것이 거짓인지 신속하게 인식 할 수 있도록 권장하는 간단한 예가 있습니까?
DW

21
말하는 Y는 독립적으로 균일하고 랜덤 비트이고, Z = X + Y가 (모드 2). 그런 다음 ZX 와 독립적이며 Y 와 독립적 이지만 XY 를 나타내거나 그 반대 임을 알면서 Z에 대해 조절됩니다 . XYZ=X+YZXY엑스와이
MCH

22

분산 컴퓨팅 = 분산 고성능 컴퓨팅 (클러스터, 그리드, 클라우드, seti @ home 등)

분산 알고리즘 =이 시스템에 대한 알고리즘.


스포일러 : 이것이 "거짓 믿음"처럼 들리지 않는다면 PODC 및 DISC와 같은 회의를 살펴보고 분산 컴퓨팅의 이론적 측면을 연구 할 때 사람들이 실제로 어떤 일을하고 있는지 확인하는 것이 좋습니다.

일반적인 문제 설정은 다음과 같습니다. 노드 가 개인 주기가 있습니다 . 노드는 세트 { 1 , 2 , 에서 고유 식별자로 레이블이 지정됩니다 . . . , 폴리 ( n ) } ; 노드는 결정 론적이며 동기 방식으로 서로 메시지를 교환합니다. 최대 독립 세트를 찾는 데 ( n 의 함수로서) 몇 개의 동기식 통신 라운드 가 필요합니까? 최소 n / 1000 개의 노드가 있는 독립 세트를 찾으려면 몇 번의 라운드가 필요 합니까? [이 두 질문에 대한 답은 정확히 Θ ( log {1,2,...,poly(n)}nn/1000 1986년부터 2008년까지 발견.]Θ(logn)

즉, 사람들은 종종 중앙 집중식 알고리즘의 관점에서 완전히 사소한 문제를 연구하고 모든 종류의 슈퍼 컴퓨팅 또는 고성능 컴퓨팅과 거의 공통점이 없습니다. 요점은 확실히 더 많은 프로세서 또는 이와 유사한 것을 사용하여 중앙 집중식 계산 속도를 높이 지 않습니다.

목표는 계산 복잡도에 따라 기본 그래프 문제를 분류하여 복잡도 이론을 구축하는 것입니다 (예 : 필요한 동기 라운드 수, 전송되는 비트 수). 사이클에서 독립적 인 세트와 같은 문제는 무의미 해 보이지만 중앙 집중식 컴퓨팅에서 3-SAT와 유사한 역할을합니다. 이는 매우 유용한 축소의 시작점입니다. 구체적인 실제 응용 프로그램의 경우 그리드 및 클러스터의 컴퓨터 대신 통신 네트워크의 라우터 및 스위치와 같은 장치를 살펴 보는 것이 좋습니다.

이 잘못된 믿음이 완전히 무해한 것은 아닙니다. 실제로 분산 알고리즘 이론과 관련된 작업을 일반 TCS 사용자에게 판매하는 것은 상당히 어렵습니다. TCS 회의에서 재미있는 심판 보고서를 받았습니다 ...


1
컴퓨팅에 관해서는 이것이 잘못된 믿음이 아니라 구식이라고 말하고 싶습니다. 멀티 코어 프로세서 이외에도 소규모 분산 컴퓨팅은 고성능 프로세서의 사소한 경우였습니다. 코어가 "컴퓨터"이지만 네트워크가 없어서 아주 작은 거리에 있으면 새로운 문제가 발생합니다. 그러나 분산 알고리즘을 m> = 2 노드에 사용해야한다는 데 동의합니다.
chazisop

사람들이 병렬 컴퓨팅과 분산 컴퓨팅을 혼동한다고 말하는 것입니까?
Sasho Nikolov

나는 당신의 주장이 이론적 인 컴퓨터 과학자에게는 적용되지 않는다고 생각하지만 이론적 인 배경이없는 실무자에게는 적용될 수 있습니다. Sasho Nikolov가 지적했듯이 현장에서 일하는 사람들은 병렬 컴퓨팅과 분산 컴퓨팅의 차이점을 잘 알고 있습니다. 클러스터, 그리드, 구름 등에서 발생하는 문제는 컨텍스트에 따라 엄격하게 달라집니다. 예를 들어, 클러스터 나 클라우드를 사용할 때 실패를 가정하지 않지만 그리드에 대해서는 실패합니다. 등등.
Massimo Cafaro

또한이 과학계에서 분산 알고리즘은 Nancy Lynch, Hagit Attiya, Jennifer Welch, Gerard Tel 등에서 흔히 볼 수있는 문제에 대한 알고리즘입니다. 따라서 이러한 알고리즘은 특정 이론적 분산 컴퓨팅 모델을 위해 설계되었으며 사용 된 리소스 (시간 복잡성, 메시지 복잡성, 비트 복잡성, 라운드 수 등) 측면에서 필요에 따라 분석됩니다.
Massimo Cafaro

@MassimoCafaro : 물론 분산 컴퓨팅 분야에서 일하는 사람들은 분산 컴퓨팅이 무엇인지 알고 있습니다. 그러나 나의 경험은 이론적 인 컴퓨터 과학자들은 일반적으로 분산 컴퓨팅이 무엇인지 모른다는 것입니다.
Jukka Suomela

20

초등 적이지만 처음으로 점근선 표기법을 다룰 때 일반적입니다. 다음은 점화식에 "입증"고려 T ( 1 ) = 1 :T(n)=2T(n/2)+O(nlogn)T(1)=1

우리는 귀납법으로 증명합니다. 기본 경우에는 입니다. n 보다 작은 모든 숫자에 대해 관계가 유지된다고 가정합니다 .n=1n

T(n)=2T(n/2)+O(nlogn)=2O(n/2logn/2)+O(nlogn)=O(nlogn/2)+O(nlogn)=O(nlogn)

QED입니까?


16
나는 학생들이 이것을하는 것을 보았다. 이 표기법 남용 및 기입 함정 하나 가 아닌 F ( X ) O ( g ( X ) ) . f(x)=O(g(x))f(x)O(g(x))
Aaron Roth

이론적 컴퓨터 과학의 연구원들도이 오류의 변형을하는 것을 보았습니다.)
Jeremy

12

최근까지 나는 시간 T ( n ) 에서 실행 되는 모든 멀티 테이프 튜링 기계 이 다음의 시간 O ( T ( n ) log T ( n ) ) 에서 두 개의 테이프로 보이지 않는 Turing machinne M o 로 시뮬레이션 될 수 있다고 생각 했습니다. 감각:MT(n)MoO(T(n)logT(n))

  • 헤드 의 움직임은 입력 길이에만 의존영형
  • 동일한 길이의 모든 입력에 대해 는 동시에 멈 춥니 다 ( Θ ( T ( n ) log T ( n ) ) ).영형Θ(()로그())

( 예를 들어 rjlipton 의이 게시물 참조 )

인 경우 두 번째 줄은 일반적으로 유지되지 않습니다 . 우리는 순서의 완벽한 시간 작도 기능을 필요 Θ ( T ( N ) 로그 T ( n은 ) ) (볼 (완전) 시간 작도 기능의 정의에 대한 질문을) 또는 우리가 허용 할 필요가 M의 O는 무한한 시간 동안 실행 (우리는 M o 가 수락 상태에 도달 한 후이자형엑스나는이자형이자형엑스나는이자형Θ(()로그())영형영형 시간). 문제는 일반적으로 시간이 작도에 그입니다 T는 : NN 우리는 "측정"할 수없는 Θ ( T ( N ) 로그 T ( N ) ) 시간의 단계 O를 ( T ( N ) 로그 T ( N을 ) ) 하지 않는 한 E X P T I M E영형(()로그()):Θ(()로그())영형(()로그()) .이자형엑스나는이자형=이자형엑스나는이자형

이 주장의 증거는 여기 Q1의 답변에 대한 증거와 매우 유사 하므로 주요 아이디어 만 제공합니다.

임의의 문제 인출 , L { 0 , 1 } * . 그런 다음 k N 이 존재하고 , st L2 n k 단계 로 NDTM M 에 의해 해결 될 수 있습니다 . 각 단계에서 M 은 단순화를 위해 최대 두 개의 다른 상태로 진행 한다고 가정 할 수 있습니다 . 다음 함수를 정의하십시오 f ( n ) = { ( 8 n + 2이자형엑스나는이자형L{0,1}kNLM2nkM 입증 될 수F가시간 construcible이다.

f(n)={(8n+2)2if (first logn+1k bits of bin(n))L8n+1else
f

이제 끔찍한 튜링 머신이 시간 에서 실행된다고 가정합니다 . 그런 다음 g 는 시간을 완전히 구성 할 수 있습니다.g(n)=Θ(f(n)logf(n))g

이제 다음 알고리즘이 해결합니다 .L

  • 입력 에서 n 은 이진 표현 x 00 0 ( | x | k - 1 0) 의 숫자가 됩니다. 그 다음은 , X = ( 제 K xnx000|x|k1.x=(first logn+1k bits of bin(n))
  • 계산 시간에서 g ( N을 ) . 경우 g ( N은 ) 한 후 충분히 큰 X L , 다른 X L . (이것은 충분히 큰 n 에서만 작동합니다 . g 에 얼마나 큰가 .)g(n)g(n)g(n)xLxLng

이 알고리즘은 지수 시간으로 실행되며 해결 합니다. 이후 L N E X P - T I M E는 임의이고, E X P - T I M의 E = N E X P - T I M E .LLNEXPTIMEEXPTIME=NEXPTIME


11

여기 내 두 센트가 있습니다 :

복잡성 클래스 , 무작위 로그 스페이스R P 의 아날로그 , 즉 비 결정적 로그 스페이스 머신 M에 의해 해결 될 수있는 결정 문제 로 정의됩니다 .RLRPM

  • 긍정적 인 예를 들면, 확률로 수락 적어도 1 / 2 ;M1/2
  • 음수의 경우 은 확률 1로 기각합니다 .M1

또한 기계는 항상 정지합니다.

정의가 정확합니까? (아니)


9

하자 g는 완전히 시간 - 작도 기능 수 (입력에서 DTM 존재 즉, 1 , n은 정확히 수 F ( N ) (RESP. g ( N ) )과 같이)과 보자 F를 ( N + 1 ) = O ( g ( n )) ) .fg1nf(n)g(n)f(n+1)=o(g(n))

비결정 시간 계층은 여러 번 인 (표면적) 으로 언급 . (증거 : Google에 비 결정적 시간 계층을 요청하십시오).나는이자형(에프())나는이자형(())

음, 계층 구조는 실제로 합니다. 우리는 예 필요 F ( N ) g ( N ) 에 대한 N T I M E ( F ( N ) ) N T I M E ( g를 (나는이자형(())나는이자형(에프())에프()() . 함수 들어 F , g 되도록 F ( N + 1 ) = O ( g ( N ) ) , F ( N ) g ( N ) 이 매우 일반적이다. 그러나 엄밀히 말하면 비 결정적 시간 계층은 여러 번 피상적으로 언급됩니다.나는이자형(에프())나는이자형(())에프,에프(+1)=영형(())에프()()

표시 해당 모두 완전 시간 작도 위해 보유하지 않는 F , g 번째 F ( N + 1 ) = O ( g ( n ) ) , f ( n ) = { n + 1 n  홀수 (나는이자형(에프())나는이자형(())에프,에프(+1)=영형(())g(N)=F(N+1)(2). fg가 완전히 구성 가능하고f(n+1)=o(g(n))임을 쉽게 알 수 있습니다. 결정적 시간 계층 구조에서 우리는 몇 가지 언어가 있다는 것을 알고LNTIME((N+1

에프()={+1 이상한(+1)그밖에
g(n)=f(n+1)2fgf(n+1)=o(g(n)){ 0 , 1 }에 걸쳐 N T I M E ( ( n + 1 ) 2 ) . 정의 L 1 = { 0 X 1 0 X 2 ... 0 X N ; x 1 x 2x nL } .LNTIME((n+1)3)NTIME((n+1)2){0,1}
L1={0x10x20xn;  x1x2xnL}.

다음은 따른다 . 에서 것을 쉽게 알 수있다 L 1L1NTIME(f(n)) 다음 L N T I M E ( ( N + 1 ) (2) ) , 진정한하지 않다. 따라서 L 1N T I M EL1NTIME(g(n))LNTIME((n+1)2) .L1NTIME(f(n))NTIME(g(n))


9

Valiant-Vazirani는 무작위로 U P 로 줄이거 나 N PR P U P 또는 N PR 이라고 말합니다.N아르 자형아르 자형=아르 자형아르 자형영형나는에스이자형

밀접하게 잘못된 믿음 관련 : 언어의 클래스 L 결정적 폴리 시간 검증와 같은 그 X 엑스에스에스영형에스


'모든 경우에 의미 론적 속성'은 무엇을 의미합니까?
T ....

1
@ 777 : 의미 속성은 TM / 알고리즘 자체의 구조 (일명 구문)에서 직접 확인할 수 없습니다. 이 문구는 쉼표를 지나서 계속하면 더 의미가 있습니다. 즉, "모든 경우에 증인이 최대 한 명입니다"
Joshua Grochow

-2

μ엑스{엑스=μ}


9
이것은 이론적 컴퓨터 과학 학생들에게는 공통된 잘못된 믿음 이지만 이론적 컴퓨터 과학 연구원 들에게는 그렇게 일반적이지 않습니다 .
Jeffε
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.