병렬 컴퓨팅 및 클래스 NC에 대한 몇 가지 질문


14

이 두 가지 주제에 대한 여러 가지 관련 질문이 있습니다.

첫째, 대부분의 복잡한 텍스트는 클래스에만 적용됩니다 . 연구를 더 깊이 다루는 좋은 자료가 있습니까? 예를 들어 아래의 모든 질문에 대해 설명합니다. 또한, 는 병렬화와의 연관성으로 인해 여전히 상당한 양의 연구를보고 있다고 가정 하지만 틀릴 수 있습니다. 복잡성 동물원의 섹션은별로 도움이되지 않습니다.NCNC

둘째, 세미 그룹 작업에 일정한 시간이 걸린다고 가정하면 세미 그룹 에 대한 계산은 있습니다. 그러나 무한 정수의 경우처럼 연산에 일정한 시간이 걸리지 않으면 어떻게 될까요? 알려진 완전한 문제가 있습니까?NC1NCi

셋째, 이후 로그 공간 알고리즘을 병렬 버전으로 변환하는 알고리즘이 있습니까?LNC2

넷째, 대부분의 사람들 은 와 같은 방식으로 라고 가정합니다 . 이것의 직관은 무엇입니까?NCPPNP

다섯째, 내가 읽은 모든 텍스트는 클래스를 언급 하지만 그 안에 포함 된 문제의 예는 제공하지 않습니다. 거기 아무도 없나요?RNC

마지막 으로이 답변 은 하위 선형 병렬 실행 시간 문제를 언급합니다 . 이러한 문제의 예는 무엇입니까? 에없는 병렬 알고리즘을 포함하는 다른 복잡성 클래스가 있습니까?N CPNC


1
또한 비슷한 질문에 유의 하십시오 .
Nicholas Mancuso

답변:


9

셋째, 이므로 모든 로그 스페이스 알고리즘을 병렬 버전으로 변환하는 알고리즘이 있습니까?LNC2

이는 표시 할 수있는 소정 (로라 바락 교과서) - 시간 TM M , 망각 TM 것을 M ' (그의 머리 움직임의 입력과 무관 즉 TM X는 ) 회로 구성 할 수 C를 N 계산하기 위해 M을 ( x ) 여기서 | x | = n 입니다.t(n)MMxCnM(x)|x|=n

증명 스케치 갖는 라인을 따라 인 시뮬레이션 M을 그 상태의 "스냅 샷"을 정의 (즉 헤드 위치가 헤드에서 심볼) 각 시간 단계에서 t는 (연산 로그 생각할). 각 단계 t 으로부터 계산 될 수있다 (X) 과 주 t를 I - 1 . 각 스냅 샷은 일정한 크기의 문자열 만 포함하고 해당 크기의 일정한 양의 문자열 만 존재하므로 t i 의 스냅 샷 은 일정한 크기의 회로로 계산할 수 있습니다.MMtitixti1ti

에 대해 일정한 크기의 회로를 구성하면 M ( x ) 를 계산하는 회로가 있습니다 . 이 사실을 사용하여 M 의 언어 가 L에 있다는 제한과 함께 회로 C nlogspace-uniform 정의에 따른다 는 것을 알 수 있습니다. 여기서 균일 성은 회로 제품군의 회로가 { C n } 컴퓨팅 M ( x ) 모두 같은 알고리즘을 가지고 있습니다. 입력 크기 n 에서 작동하는 각 회로에 대한 맞춤형 알고리즘이 아닙니다 .tiM(x)MLCn{Cn}M(x)n

다시 한 번, 균일 성의 정의에서 언어를 결정하는 회로 는 O ( log n )로 계산할 수있는 함수 크기 ( n )를 가져야 한다는 것을 알 수 있습니다 . 회로 패밀리 A C 1 은 최대 O ( log n ) 깊이를 갖습니다 .Lsize(n)O(logn).AC1O(logn)

마지막으로 문제의 관계를 나타내는 가 보여 질 수 있습니다 .AC1NC2

넷째, 대부분의 사람들 이 PN P 와 동일한 방식으로 을 가정하는 것처럼 들립니다 . 이것의 직관은 무엇입니까?NCPPNP

더 나아 가기 전에 완전성이 무엇을 의미 하는지 정의 해 봅시다 .P

언어 (P)의 경우, - 완전한 L P 및 모든 언어 P가 LOGSPACE의 환원성이이다. 또한, LP- 완료 이면 다음이 참입니다.LPLPPLP

  1. LNCP=NC

  2. LLP=L

이제 우리 는 병렬 컴퓨터 (우리의 회로)에 의해 효율적으로 결정된 언어 클래스 인 를 고려 합니다. P 에는 병렬화 시도에 저항하는 것처럼 보이는 몇 가지 문제가 있습니다 (예 : 선형 프로그래밍 및 회로 값 문제). 즉, 특정 문제는 계산을 단계적으로 수행해야합니다.NCP

예를 들어 회로 값 문제는 다음과 같이 정의됩니다.

회로 주어 , 입력 X 및 게이트 g C 의 출력 무엇 gC ( X는 ) ?CxgCgC(x)

우리는 더 나은 모든 게이트 계산보다는이를 계산하는 방법을 모르는 앞에 오는 g을 . 을 감안할 때 일부 그들은 모두 약간의 시간 단계에서 발생하는 경우 그 중 예를 들어, 병렬로 계산 될 수있다 t에 ,하지만 우리는 시간 단계에서 게이트의 출력을 계산하는 방법을 잘 모릅니다 t에 내가 와 타임 스텝의 t I + 1 명백한 어려움에 대한 게이트에 있는지 t에서 I + 1 에서 게이트의 출력을 필요 t I !ggtititi+1ti+1ti

이것이 의 직관 입니다.NCP


병렬 계산에 한계 에 관한 책이다 Garey & 존슨의 비슷한 맥락에서 -Completeness N P -Completeness 책.PNP


2 개의 참조와 부분 답변에 감사드립니다. Parallel Computation에 대한 제한 책은 내가 본 다른 책보다 더 잘 작동하지만 여전히 비교적 오래되어 원하는만큼 철저하지 않습니다.
Mike Izbicki

3

Fifth, every text I've read mentions the class RNC but gives no examples of problems it contains. Are there any?

The paper "Matching is as Easy as Matrix Inversion" by Mulmuley, Vazirani, and Vazirani has several examples of problems in class RNC2. The main one is finding a maximal matching, then they reduce other problems to this one.

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