계산 기하학 연구자들이 BSS / 실제 RAM 모델을 선호하는 이유는 무엇입니까?


40

배경

실수에 대한 계산은 자연수에 대한 계산보다 복잡합니다. 실수는 무한한 객체이고 셀 수는 많지 않으므로 실수는 유한 알파벳의 유한 문자열로 충실하게 표현할 수 없습니다.

람다 미적분학, 튜링 머신, 재귀 함수와 같은 다른 계산 모델이있는 유한 문자열에 대한 고전적인 계산 가능성과는 달리 ... (적어도 문자열의 함수에 대한 계산 가능성에 대해서는) 동등한 것으로 판명됩니다. 호환되지 않는 실수. 예를 들어, 고전적인 Turing machine 모델에 가장 가까운 TTE 모델 ([Wei00] 참조)에서 실수는 무한 입력 테이프 (Turing의 oracles와 같은)를 사용하여 표시되며 비교 및 ​​결정을 결정할 수 없습니다. 주어진 두 실수 사이의 동등 관계 (유한 시간). 반면에 RAM 머신 모델 과 유사한 BBS / 실제 RAM 모델에서는임의의 실수를 저장할 수있는 변수가 있으며 비교와 등식은 모델의 원자 연산 중 하나입니다. 이와 같은 이유로 많은 전문가들은 BSS / 실제 RAM 모델이 현실적이지 않으며 (적어도 현재 디지털 컴퓨터에서는 구현할 수 없음) 효과적인 도메인 이론 모델과 같이 TTE 또는 다른 동등한 모델을 TTE보다 선호한다고 말합니다. Ko-Friedman 모델 등

경우 I 올바르게 이해 , 계산에 사용되는 기본 모델 계산 기하학은 은 IS BSS (일명 실제 RAM은 모델 [BCSS98]을 참조).

반면에, 계산 기하학 (예 : LEDA ) 에서 알고리즘을 구현할 때 대수 만 처리하고 더 높은 유형의 무한 객체 또는 계산은 포함되지 않습니다 (정확합니까?). 그래서 (아마도 순진하게) 유한 문자열보다 고전적인 계산 모델을 사용하여 이러한 숫자를 처리하고 일반적인 계산 모델 (알고리즘 구현에 사용됨)을 사용하여 정확성과 복잡성을 논의 할 수 있습니다. 알고리즘


질문 :

Computational Geometry의 연구원들이 BSS / real-RAM 모델을 선호하는 이유는 무엇입니까? (BSS / real-RAM 모델 사용을위한 이유 별 계산 기하학)

이전 단락에서 언급 한 (아마도 순진한) 아이디어의 문제점은 무엇입니까? (클래식 계산 모델을 사용하고 입력을 계산 기하학에서 대수로 제한)


추가:

알고리즘 문제가 복잡하기 때문에 BSS / real-RAM 모델에서 다음과 같은 문제를 쉽게 결정할 수 있습니다.

두 세트 감안 및 양의 정수, 하다 ?ST
sSs>tTt

이를 해결하기위한 효율적인 정수 -RAM 알고리즘은 알려져 있지 않습니다. 예를 들어 JeffE에게 감사합니다.


참고 문헌 :

  1. Lenore Blum, Felipe Cucker, Michael Shub, Stephen Smale, "복잡성과 실제 계산", 1998
  2. Klaus Weihrauch, " 계산 가능한 분석, 소개 ", 2000

3
그건 그렇고, 분명하지 않은 경우, 제곱근 문제의 합은 매우 자연스러운 기하학적 해석을합니다. 두 다각형 경로의 길이를 정수 좌표 정점과 비교하려면 해결해야합니다.
David Eppstein

답변:


42

우선, 계산 계는이를 BSS 모델로 생각하지 않습니다. 실제 RAM 모델은 Michael Shamos에 의해 그의 1978 년 박사 학위 논문 ( Computational Geometry ) 에서 정의되었으며 ,이 분야를 시작했을 것입니다. Franco Preparata는 Shamos의 논문을 1985 년에 출판 된 첫 번째 계산 기하학 교과서로 수정하고 확장했습니다. 실제 RAM은 1983 년 Ben-Or에 의해 정의 된 대수 계산 트리 모델 과 동일합니다 ( 균일 성을 제외하고 Pascal의 답변 참조! ) . , Shub 및 Smale의 노력은 실제 RAM이 확립 된 후 1989 년에 출판되었으며 계산 기하학 커뮤니티에 의해 거의 완전히 무시되었습니다.

계산 기하학에서 대부분의 (고전적인) 결과는 조합 기하학 에서의 문제와 밀접하게 관련되어 있습니다 . 네이티브라고 말하면 임의의 점, 선, 원 등을 일급 객체로 간주하는 것이 자연 스럽기 때문에 알고리즘을 디자인하고 분석하여 계산할 때도 자연스럽게 보입니다 .

대부분의 (고전적인) 기하 알고리즘의 경우이 태도는 실제로도 합리적입니다. 평면 기하 문제에 대한 대부분의 알고리즘은 매우 적은 수의 기하 기본 요소 위에 구축됩니다. 점 가 점 의 왼쪽 또는 오른쪽에 있습니까? 점 와 통과하는 선 위, 아래 또는 선 ? 점 의해 결정된 내부, 외부 또는 원 ? 세그먼트 과 의 교차점의 왼쪽 또는 오른쪽 ? 이들 프리미티브 각각은 입력 좌표에서 저도 다항식의 부호를 평가하여 구현됩니다. (따라서 이러한 알고리즘은 약한 대수 결정에 설명 될 수 있습니다q q r q , r , s q r s tpqqrq,r,sqrst 입력 좌표가 정수인 경우, 이러한 프리미티브는 상수의 고정밀 증가만으로 정확하게 평가할 수 있으므로 실제 RAM과 정수 RAM의 실행 시간은 동일합니다.

비슷한 이유로, 대부분의 사람들이 정렬 알고리즘에 대해 생각할 때 데이터가 완전히 정렬 된 유니버스에서 가져오고 일정한 시간에 두 값을 비교할 수있는 한 정렬 하는 것을 신경 쓰지 않습니다 .

따라서 공동체는“실제”기하 알고리즘 설계와 실제 구현 사이에 관심사 분리를 개발했습니다. 따라서 LEDA 및 CGAL과 같은 패키지 개발. 정확한 계산을 수행하는 사람들에게도 기본 모델의 일부로 정확한 실제 산술을 사용 하는 실제 알고리즘과 실제 컴퓨팅 장치의 불연속적인 제한으로 인해 별도의 계산을 사용 하는 구현 사이에는 차이 가 있습니다.

예를 들어,이 세계관 내에서 계산 기하학에서 가장 중요한 열린 문제는 선형 프로그래밍을위한 다항식 시간 알고리즘의 존재입니다. 타원체 및 내부 포인트 방법은 계산되지 않습니다. 심플 렉스 알고리즘과 달리 제약 알고리즘이 합리적이지 않으면 해당 알고리즘이 종료되지 않을 수 있습니다. ( 단 불합리한 제약 행렬로 표현 될 수 볼록 polytopes의 조합 가지 유형 이되도록, 사소 제한). 그리고, 구속 행렬 합리적인 경우에도, 이러한 알고리즘의 실행 시간은에 의해 제한되지 않는 임의 의 함수 입력 크기 (차원 #constraints).×

대수 계산 트리 모델 에 크게 의존하는 몇 가지 기하학적 알고리즘이 있으므로 실제 컴퓨터에서 정확하고 효율적으로 구현할 수 없습니다 . 하나의 좋은 예는 간단한 다각형의 최소 링크 경로로, 실제 RAM에서 선형 시간으로 계산할 수 있지만 최악의 경우 정확히 표현 하려면 2 차 비트 수가 필요합니다 . 또 다른 좋은 예는 단순 범위 검색으로 알려진 가장 효율적인 알고리즘에 사용되는 Chazelle의 계층 적 절단입니다 .. 이 절단은 삼각형 레벨의 계층 구조를 사용합니다. 여기서 각 레벨의 삼각형 정점은 이전 레벨의 삼각형 모서리를 통과하는 선의 교차점입니다. 따라서 입력 좌표가 정수인 경우에도이 삼각형의 정점 좌표는 무한대 수의 대수입니다. 그럼에도 불구하고 절삭 구성 및 사용 알고리즘은 일정한 시간에 좌표를 정확하게 조작 할 수 있다고 가정합니다.

TTE, 도메인 이론, Ko-Friedman 및 기타 "현실적인"실수 계산 모델은 모두 계산 기하학 커뮤니티가 전체적으로 신경 쓰지 않는 문제를 해결합니다. .


9
아마도 전체적으로 성공을 거두었을 때, 이러한 관점은 몇 가지 이상한 왜곡을 초래했다. 예를 들어, 다중-폴리 로그 (n) 파라 메트릭 검색 알고리즘이 훨씬 간단한 로그 (숫자 정밀도) 이진 검색 알고리즘보다 선호된다.
David Eppstein

완전히 정렬 된 도메인에 대한 관심의 제한이 고전적인 하한을 산출하기 때문에 정렬을 언급해야한다는 점이 흥미 롭습니다.이 한계는 추상화 장벽을 깨뜨려 극복 할 수 있습니다 ( cstheory.stackexchange.com/questions/ 608 /… 더보기). 계산 기하학에 그러한 예가 있습니까? Ω(nlogn)
Joshua Grochow

4
여호수아 : 예, 예를 들어 보십시오 arxiv.org/abs/1010.1948
David Eppstein

1
@David Eppstein : 매우 흥미 롭습니다! 당신은 내 다른 질문에 대한 답변으로 게시 하시겠습니까 : cstheory.stackexchange.com/questions/608/...
여호수아 Grochow

15

실제 RAM / BSS 모델이 대수 계산 트리 모델과 동등한 것은 사실이 아닙니다. 후자는 다항식 깊이 트리가 지수 크기 일 수 있기 때문에 더 강력합니다. 이것은 비 균일 정보를 인코딩하기위한 많은 공간을 제공합니다. 예를 들어 Meyer auf der Heide는 대수적 (심지어 선형적인) 의사 결정 트리가 부분 집합과 같은 어려운 문제를 효율적으로 해결할 수 있지만 실제 RAM / BSS 모델에서는 (추상적으로) 불가능하다는 것을 보여주었습니다.


1
훌륭한 포인트 !!
Jeffε

4

다음은 Jeff의 탁월한 답변에 대한 의견입니다.

선형 프로그래밍 알고리즘의 복잡성 간격 (조합 대 연속)을 해결하기 위해 조건, 근사 및 반올림 개념이 제안되었습니다. 문제 인스턴스의 조건은 출력의 정확성에 대한 입력의 작은 변동의 영향을 추정합니다. 상태 개념은 Alan Turing에 의해 처음 소개되었습니다. Jim Renegar는 선형 프로그램의 상태 개념을 도입했습니다.

L. BLUM, 실제 컴퓨팅 : 튜링이 Newton을 만나는 곳 ,, AMS 공지, 볼륨 51, NUMBER 9, (2004), 1024-1034

A. TURING, 매트릭스 프로세스의 반올림 오차, Quart. J. Mech. Appl. 수학. 1 (1948), 287–308

J. RENEGAR, 조건 번호를 선형 프로그래밍의 복잡한 이론 인 SIAM J. Optim. 5 (1995), 506–524

F. CUCKER 및 J. PEÑA, 유한 정밀도 기계로 다면체 원뿔 시스템을 해결하기위한 기본 이중 알고리즘 SIAM Journal on Optimization 12 (2002), 522–554.

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