병렬 컴퓨팅으로 제한


21

P에서 알고리즘 병렬화에 대해 알려진 것에 대해 광범위하게 궁금합니다.이 주제에 대한 다음 위키 백과 기사를 찾았습니다.

http://en.wikipedia.org/wiki/NC_%28complexity%29

이 기사에는 다음 문장이 포함되어 있습니다.

NC = P인지 여부는 알 수 없지만 대부분의 연구자들은 이것이 거짓이라고 생각합니다. 이는 아마도 "내재적으로 순차적"이며 병렬 처리를 사용하여 크게 가속화 될 수없는 다루기 어려운 문제가 있음을 의미합니다.

이것이 합리적으로 들립니까? 병렬 처리를 사용하여 P의 문제를 신속하게 해결할 수없는 알려진 사례가 있습니까?



예, 합리적으로 들립니다. Papadimitriou의 Computational Complexity 책에있는 장 에서이 주제를 배우는 방법에 대해 설명합니다.
Tsuyoshi Ito

답변:


17

NC = P 인지 여부는 알려져 있지 않지만 P- 완전 문제는 본질적으로 병렬화하기 어려운 것 같습니다. 여기에는 선형 프로그래밍 및 Horn-SAT가 포함됩니다. (반면, NC의 문제는 병렬화가 상당히 쉬워 보입니다.)

질문 NC와 P 사이의 문제 :이 목록에서 몇 개가 해결 되었습니까? 참고 자료 (현재 무료로 다운로드 할 수있는 클래식 교재에 대한 링크 포함) 및 P에 있지만 병렬화 할 수없는 것으로 알려진 문제에 대한 추가 토론.

NC와 P 사이의 복잡성 클래스 구조에 대해서는 Generalized Ladner Theorem 질문을 참고하십시오 . 간단히 말해서, 그것들이 다르면 NC와 P 사이에는 엄청나게 많은 복잡성 클래스가 있습니다.

질문 NC = P 결과를 참조하십시오 ? Ryan Williams의 멋진 데모를 위해 P 내의 복잡성 클래스의 계층 구조에서 축소를 PSPACE = EXP 와 같이 아마도 축소 가능성으로 증폭시키는 것이 가능하다는 것을 보여줍니다 .

Horn-SAT의 P- 완료 결과와 위의 링크 중 하나는 대규모 계산 만 다시 쓰지 않으면 데이터베이스에서 일반 SQL 쿼리를 병렬화 할 수없는 것입니다. 적당한 양의 저장 공간. 이것은 수수께끼의 불일치 입니다. 압축에 한계가 있다고 말하는 것은 논란의 여지가 없지만, 데이터베이스 쿼리 를 병렬화 수 있다는 가정하에 작성된 기사를 종종 볼 수 있습니다.


확실히 데이터베이스 쿼리의 특정 부분을 병렬화하거나 최소한 간단한 방법으로 병렬화하지 못할 수도 있습니다. 그러나 데이터베이스 쿼리 (작업을 단순하게 유지하기 위해 하위 쿼리 제외)를 조인 된 일부 테이블에 대한 전체 테이블 스캔으로 줄일 수 있으며 조인 된 테이블 자체는 항상 병렬로 스캔 할 수 있습니다. 이것이 Oracle에서 병렬 처리 설정을 증가시킬 때 인덱스가 아닌 전체 테이블 스캔을 사용하는 경향이 더 큰 이유입니다.
sclv

@ sclv : 이것은 사실이지만 일반적으로 중간 조인이 입력 크기에서 지수가 될 수 있습니까? 따라서 조인을 통해 병렬화 할 수 있지만 지수 수의 튜플을 스캔해야합니다.
András Salamon

1
여기에서 입력 크기를 어떻게 생각하십니까? 당신이 m이있는 경우 또한, N 즉 최악의 경우에 바인딩에는 가능한 더 나은 없다 - O를 당신이 많은 튜플 것을 정확하게 반환 할 수있는 가능성은 항상있다, 십자가를 조인. 그리고 이것은 이론적 인 것보다 더 실용적이지만 일반적으로 행의 술어 성능을 병렬 처리하는 것이 아니라 IO 처리량에 대해 걱정합니다.
sclv

10

알려진 사례가 있다면 P와 NC를 분리 할 수 ​​있습니다. 그러나 P- 완료 (즉, 로그 공간 감소)로 알려진 많은 문제가 있으며, P- NP에 대해 NP- 완전 문제와 마찬가지로 P = NC를 표시하는 것과 같은 종류의 장벽을 제시합니다. 그중에는 선형 프로그래밍 및 매칭 ( 일반적으로 최대 흐름)이 포함됩니다.

케탄 멀 뮬리이 결과 판명 의미에서 1994 년 P 및 (비트 연산없이) NC의 약한 형태 구분을 NP VS P 그의 현재 프로그램 (즉, 중단 한 부분으로부터 얻어 매우 느슨한 방식 ).

' 병렬 계산에 대한 한계 '책 더 많은 내용이 있습니다.


2
조심하십시오. 일치가 P- 완전하다고 생각하지 않습니다. 다항식 아이덴티티 테스트를 통해 RNC에 일치하는 것으로 알려져 있습니다 (그래프의 Tutte 행렬의 행렬식이 동일하게 0인지 테스트). 그것이 P- 완료라면, 가능성이 거의없는 P = RNC가 뒤따를 것입니다.
slimton

아아 네가 옳아. 나는 최대 흐름에 붙어 있어야합니다. 정정 주셔서 감사합니다.
Suresh Venkat

0

나는 비슷한 질문에 대답했다 . 전산 과학 사이트 에서 병렬화로 속도를 낼 수없는 과학 컴퓨팅에는 유명한 문제 / 알고리즘이 있습니까? 여기에 인용 해 보겠습니다. 왜냐하면 그러한 문제의 매우 구체적인 사례에 대한 실용적인 관점을 제공하기 때문입니다.

아이코 날 방정식을 풀기위한 (고명 한) 빠른 행진 방법은 병렬화로 속도를 낼 수 없습니다. 병렬화에 더 적합한 아이코 날 방정식을 풀기위한 다른 방법 (예 : 빠른 스위핑 방법)이 있지만 여기서도 (병렬) 속도 향상의 가능성은 제한적입니다.

Eikonal 방정식의 문제점은 정보의 흐름이 솔루션 자체에 달려 있다는 것입니다. 느슨하게 말해서 정보는 특성 (광학의 광선)을 따라 흐르지 만 특성은 솔루션 자체에 따라 다릅니다. 그리고 이산 된 아이코 날 방정식에 대한 정보의 흐름은 더 나빠서 병렬 속도 향상이 필요한 경우 추가 근사치 (고속 스위핑 방법에 암시 적으로 존재 함)가 필요합니다.

병렬화의 어려움을 보려면 Sethian 웹 페이지 의 예제와 같이 멋진 미로를 상상해보십시오 . 미로를 통한 최단 경로상의 세포의 수는 (아마도) 상응하는 문제를 해결하는 임의의 (병렬) 알고리즘의 최소 단계 / 반복의 수에 대한 하한이다.

하한은 증명하기가 어렵고 종종 알고리즘에서 사용되는 연산에 대한 합리적인 가정이 필요하기 때문에 "(아마도)는"라고 쓴다.

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