이것은 기본적인 질문 일지 모르지만 내쉬 평형 계산 및 선형 퇴행성 테스트와 같은 주제에 대한 논문을 읽고 이해하려고 시도했으며 실수가 입력으로 지정되는 방법을 확신하지 못했습니다. 예를 들어, LDT에 특정 다항식 하한이 있다고 언급 될 때 실수는 입력으로 취급 될 때 어떻게 지정됩니까?
이것은 기본적인 질문 일지 모르지만 내쉬 평형 계산 및 선형 퇴행성 테스트와 같은 주제에 대한 논문을 읽고 이해하려고 시도했으며 실수가 입력으로 지정되는 방법을 확신하지 못했습니다. 예를 들어, LDT에 특정 다항식 하한이 있다고 언급 될 때 실수는 입력으로 취급 될 때 어떻게 지정됩니까?
답변:
Kaveh의 답변에 동의하지 않습니다. 선형 프로그래밍 및 내쉬 평형의 경우 부동 소수점이 허용 될 수 있습니다. 그러나 부동 소수점 숫자와 계산 기하학은 매우 잘못 혼합됩니다. 반올림 오류는 알고리즘의 조합 가정을 무효화하여 종종 충돌을 일으 킵니다. 보다 구체적으로, 많은 계산 기하학 알고리즘은 주어진 값이 양수인지, 음수인지 또는 0인지를 검사하는 원시 테스트에 의존합니다. 해당 값이 0에 매우 가깝고 부동 소수점 반올림으로 인해 잘못된 부호가있는 경우 나쁜 일이 발생할 수 있습니다.
대신, 입력은 종종 정수 좌표를 갖는 것으로 가정되며, 중간 결과는 종종 오버플로를 피하기 위해 충분히 높은 정밀도를 가진 유리수 또는 대수로 정확하게 표현됩니다. 이러한 숫자에 대한 부동 소수점 근사값을 사용하여 계산 속도를 높일 수 있지만 부호 테스트에서 정답을 얻을 수있을 정도로 숫자가 0에서 충분히 멀어 질 수있는 상황에서만 가능합니다.
전산 기하학에있는 대부분의 이론적 알고리즘 논문에서,이 문제는 입력이 정확한 실수이고 입력 값에서 저도 다항식의 근의 부호에 대한 정확한 테스트라고 가정함으로써 회피됩니다. 그러나 기하학적 알고리즘을 구현하는 경우이 모든 것이 매우 중요합니다.
또한 이론과 실제에서 실수에 대한 계산을 지정하는 여러 가지 접근 방식을 조사하는 최신 정확한 실제 산술에서 간격 도메인의 역할에 대한 Andrej Bauer의 이야기를 살펴볼 수도 있습니다 .
이것은 귀하의 질문에 대한 직접적인 답변이 아니며 Raphael 에 대한 답변 입니다. 최근에 coinduction을 사용하여 실수 계산을 지정하는 작업이 꽤있었습니다. 여기 주제에 관한 기사가 있습니다.
정확한 실수 계산을위한 공동 계산 , Ulrich Berger 및 Tie Hou : 컴퓨팅 시스템 이론 볼륨 43, 숫자 3-4, 394-409, DOI : 10.1007 / s00224-007-9017-6
정확한 실제 산술에서의 일치 성 추론 , Milad Niqui, 컴퓨터 과학의 논리적 방법, 4 (3 : 6) : 1–40, 2008.
Coinductive 양식에서 미적분 Dusko 파블로 마틴 Escardo, 저소득 1998 년.
그들은 전체 범위의 실수 계산을 거의 다루지 않지만 다양한 문제를 해결하기 위해 진보하고 있습니다.
실수에 대한 계산의 계산 복잡도는 Blum, Cucker, Shub 및 Smale에 의해 고려됩니다 . 다음은이 책에 대한 부분 설명입니다.
고전적인 계산 이론은 Goedel, Turing, Church 및 Kleene의 연구에서 시작되었으며 이론적 컴퓨터 과학의 매우 성공적인 프레임 워크였습니다. 그러나이 책의 주제는 대부분의 알고리즘이 실수 알고리즘 인 현대 과학 계산을위한 부적절한 기초를 제공한다는 것입니다. 이 책의 목표는 고전 이론의 주요 주제를 통합하고 수학, 수치 분석 및 과학 컴퓨팅의 문제에 더 직접 적용 할 수있는 공식적인 계산 이론을 개발하는 것입니다. 그 과정에서 저자들은 다음과 같은 근본적인 문제를 고려합니다. Mandelbrot는 결정 가능한가? 간단한 2 차지도의 경우 Julia가 정지 세트입니까? 뉴턴의 진짜 복잡성은 무엇입니까 방법? 일정 수의 단계에서 배낭 문제를 결정하는 알고리즘이 있습니까? Hilbert Nullstellensatz는 다루기 어려운가요? 4 차 다항식의 실제 0을 찾는 데 문제가 있습니까? 선형 프로그래밍이 실제보다 다루기 쉬운가?
이 책에 대한 리뷰는 ACM SIGACT News 에서 찾을 수 있습니다 .
저자가 선형 프로그래밍, 내쉬 평형 계산, ... 대부분의 논문 (실수에 대한 계산 / 복잡성에 관한 논문이 아닌 논문)에서 실수 입력에 대해 이야기 할 때 실제 숫자를 의미하지는 않습니다. 그것들은 그들의 조작 (대수)으로 인해 발생하는 합리적인 숫자와 숫자입니다. 따라서 유한 문자열로 표현 된 것으로 생각할 수 있습니다.
반면에, 논문이 분석의 계산 및 복잡성에 관한 경우, 그들은 일반적인 계산 모델을 사용하지 않고, 실수에 비해 계산 불가능한 다양한 계산 / 복잡성 모델이 있습니다.
논문에서 실수에 대한 계산 모델을 지정하지 않은 경우 첫 번째 사례, 즉 합리적인 숫자라고 가정 할 수 있습니다.
계산 기하학이 다릅니다. CG의 대부분의 논문에서 저자가 알고리즘의 정확성과 복잡성에 대해 논의 할 모델을 지정하지 않으면 BSS (일명 실제 RAM) 모델이라고 가정 할 수 있습니다.
모델은 현실적이지 않으므로 구현이 간단하지 않습니다. (이것은 CCA의 일부 사람들이 Ko-Friedman / TTE / Domain 이론 모델을 선호하는 이유 중 하나 이지만,이 모델의 문제점은 실제로 부동 소수점 계산만큼 빠르지 않기 때문입니다.) BSS 모델의 알고리즘이 반드시 구현 된 알고리즘의 정확성으로 전달되는 것은 아닙니다.
Weihrauch의 책 은 다른 모델들 사이의 비교를 포함합니다 (9.8 장). 세 페이지 만 읽을 가치가 있습니다.
(CG에 더 적합한 세 번째 방법도 있습니다.이 백서를 살펴보십시오.
Chee Yap, " EGC에 따른 실제 계산 이론 "
여기서 EGC는 정확한 기하 계산 입니다.)
그들은 그렇지 않으며 일반적으로 할 수 없습니다. 우리는 계산 모델로 계산할 수있는 수의 입력 (및 출력과 함수) 만 처리 할 수 있습니다. 특히, 모든 입력은 유한해야하지만 모든 실수가 유한 표현을 갖는 것은 아닙니다.
요청에 따라 특정 실수의 다음 자리를 생성하는 일종의 오라클 (스트림과 같은)을 추측 할 수 있습니다. 그렇지 않으면 (임의의 정확한) 근사치로 살아야합니다.