최대 공약수 (gcd)의 복잡성


33

다음 계산 문제 (또는 관련 결정 문제)를 고려하십시오. 이진수로 인코딩 된 두 개의 양의 정수가 주어지면 최대 공약수 (gcd)를 계산하십시오. 이 문제에 포함 된 가장 복잡한 클래스는 무엇입니까? 당신은 참조를 제공 할 수 있습니까?

이 질문에서 나는 주로 실행 시간에 점근선 경계에 관심이 없지만 복잡한 클래스에 관심이 있습니다. AC에 문제가 있습니까? AC0에 속하지 않는 것으로 입증 될 수 있습니까? P와 관련된 다른 복잡성 클래스는 무엇입니까?


3
@Joe : 제 해석은 어 커가 언어 {(x, y, i) | gcd (x, y)의 i 번째 비트는 1}이며 NC, AC0 등입니다. 그러나 asker에 의한 설명이 유용합니다.
이토 쓰요시

1
그렇습니다. 결정 문제에 대한 Tsuyoshi의 문구는 내가 염두에 두었던 것입니다. 그러나 여기서 내가 제안한 복잡성 클래스를 알지 못하기 때문에 내가 제안한 복잡성 클래스에 집중하지 마십시오. gcd를 포함하는 P (또는 FP 등)의 하위 집합 인 사소한 복잡성 클래스가 궁금합니다.
Felix Breuer

1
가우스 정수의 경우 궁금합니다. 빠른 Google 검색은 일반적인 유클리드 알고리즘을 적용하는 방법을 보여 주지만 자연수와 가우스 정수의 관계에 대해서는 논의하지 않습니다. 자연수에 대한 gcd 알고리즘이 동일한 복잡도로 가우스 정수에 대한 알고리즘을 제공합니까? (응용 프로그램이 없습니다. 이것은 호기심입니다.) 또한 예상 실행 시간이 짧은 GCD 계산을위한 효율적인 무작위 알고리즘이 있습니까?
로스 스나이더


1
수정 링크 : mathoverflow.net/questions/44684/... . 경고 주셔서 감사합니다, Kaveh.
Zsbán Ambrus

답변:


44

이것은 복잡성 이론에서 가장 중요한 문제입니다. NC에서 GCD를 계산할 수 있는지, GCD를 계산하는 것이 P- 완전인지는 알 수 없습니다. 최고의 병렬 알고리즘은 하위 선형 병렬 실행 시간을 가지며, 이러한 알고리즘 중 하나는 Sorenson 때문입니다.

소렌슨 두 개의 빠른 GCD 알고리즘 . 알고리즘 저널, 1994.

내가 실수하지 않으면 NC에서 두 정수가 상대적으로 소수인지 여부를 결정할 수 있는지조차 알 수 없습니다.


고맙습니다. 제가 알고 싶었던 것입니다! 그러나 누군가 gcd를 포함하는 것으로 알려진 다른 P의 하위 집합을 알고 있다면 알려주십시오.
Felix Breuer

15
이 참조에 따라 두 정수가 소수인지 테스트도 시작됩니다 : 병렬 계산 한계 , 페이지 231, 문제 B.5.7.
Robin Kothari

4
가장 최근의 참고 문헌은 Sorenson, Jonathan P입니다.“EREW PRAM의 무작위 하위 선형 시간 병렬 GCD 알고리즘.”Information Processing Letters 110, no. 5 (2010 년 2 월) : 198-201. linkinghub.elsevier.com/retrieve/pii/S0020019009003640 .
Felix Breuer


3

2007 년에 발표 된 논문은 정수 GCD가 NC에 있다고 말합니다.

편집 : 어설 션이 아마도 거짓입니다. 의견을 확인하십시오.


4
이 논문은 출판 된 적이 없으며 저자의 웹 사이트에만 게재되었습니다. 또한, 저자 자신 은 2007 년 논문이 문제가 그의 이후 논문에서 공개 된 것으로 나열하기 때문에 자신의 2007 년 논문이 옳다고 생각하지 않는 것 같습니다 ( cs.cornell.edu/courses/CS6820/2012sp/Handouts/Sedjelmaci09.pdf ).
Emil Jeřábek은 Monica

몰랐어요 지적 해 주셔서 감사합니다.
Apoorv Gupta

1
나는 이런 종류의 답변이 다운 투표되어야한다고 생각하지 않습니다.
알레산드로 코센 티노
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.