실수의 계산 복잡성의 정의를 판단하는 방법은 자연 스럽거나 적합합니까?


11

우리가 알고 있듯이, 알고리즘의 계산 복잡도의 정의는 거의 논쟁의 여지가 없지만, 실제의 계산 복잡성 또는 실수에 대한 계산 모델의 정의는 그러한 경우가 아닙니다. 우리는 Computable Analysis 책에서 Blum and Smales의 모델과 모델을 알고 있습니다. 그리고 Computable Analysis의 모델은 클래식 모델과 일치하지만 실수의 계산 복잡도 정의는 클래식 모델로 이식 될 수 없습니다.

실수의 계산 복잡성의 정의를 판단하는 방법은 자연 스럽거나 적합합니까?

그리고 실수의 계산 복잡성의 정의를 고전적인 모델로 이식하는 방법은 무엇입니까?


첫 번째 질문에서 "자연"은 매우 주관적인 개념이며 요청한 사람에 따라 하나 또는 다른 정의가 가장 자연스러운 것으로 간주됩니다. "적합한"은 BSS 모델이 계산 기하학 또는 계산 대수 기하학에 적합하고 계산 가능 분석의 모델이 계산 가능 분석에 더 적합하다는 것입니다. 나는 두 번째 질문을 이해하지 못한다.
Bruno

@Bruno, 귀하의 의견에 감사드립니다. 전산 분석의 모델을 생각하고 모델에 대한 실수의 계산 복잡성 때문에 Turing Machine과 같은 고전적인 모델의 실수 계산에 계산 복잡성의 정의를 적용하는 방법을 모릅니다 계산 가능 분석에서 해석의 표현, 즉 계산 입력에 따라 달라집니다.
XL _At_Here_8시 08 분

3
실수의 표현과 무관 한 실수 계산에는 복잡성 개념이 있다고 생각하는 것 같습니다. 어떤 것이 너를 그렇게 생각하게 만들었습니까? 고전적인 복잡성에서도 마찬가지입니다. 테이프 또는 RAM 머신이 있는지 여부, 중요도 목록 또는 01- 매트릭스 등으로 그래프를 표시하는지 여부가 중요합니다.
Andrej Bauer

3
그러나 복잡성이 표현에 의존하지 않는다는 것은 사실이 아닙니다. 어리석은 표현으로 전환하면 언제든지 알고리즘의 복잡성을 망칠 수 있습니다 . 질문은 " 입력 의 좋은 표현은 무엇입니까 ?"입니다. 불연속 문제의 경우 실제 숫자보다 응답하기가 훨씬 쉽습니다. 왜냐하면 "비트를 낭비하지 마십시오"라는 의미를 잘 알고 있기 때문입니다.
Andrej Bauer

3
BSS 모델은 계산 기하학에 적합 해 보입니다 . 관련 질문에 대한 답변을 참조하십시오 . 계산 계에 의해 사용 된 실제 RAM 모델은 Blum, Shub 및 Smale보다 거의 10 년 앞서 있습니다.
Jeffε

답변:


13

나는 그 질문이 무엇인지 정확히 확신하지 못하지만 가능한 오해를 정리하기 위해 조금만 말할 수 있습니다.

f:RR2f

f:ABA(a,f(a))f

RRR

  1. +×/||
  2. xkNp,q|xp/q|2k
  3. xyx<y
  4. (xn)n|xn+1xn|2nlimnxn

이러한 조건이 올바른 이유를 설명하는 오래된 정리가 있습니다 (참조는 이 백서의 소개 참조). 이러한 이론은 또한 이러한 두 실수의 표현이 계산적으로 동형 일 수 있음을 보여줍니다. 즉, 우리는 그것들을 프로그램으로 번역 할 수 있습니다. 이것은 잘못된 아이디어를 버리는 정확성에 대한 몇 가지 기준을 설정합니다.

예를 들어, 사람들은 "이론 수는 유한 정보로 표현 될 수 있으므로, 이수를 합리적 수로 사용하면 비이성 수는 무한 정보로 표현되어야합니다." 이런 종류의 일은 위의 네 번째 조건을 위반하기 때문에 작동하지 않습니다 (이성수의 한계를 고려하십시오-합리적으로 수렴한다는 것을 어떻게 알 수 있습니까?).

위의 조건에서 제거하는 또 다른 예는 Blum-Shub-Smale 모델입니다. 시퀀스에서 한계를 계산할 수 없기 때문입니다. BSS 모델은 실수 자체가 아니라 이산 된 순서의 하위 필드 (어떤 매개 변수가 있든 생성 된)에서 작동한다고 말하는 것이 좋습니다.

실수의 정확한 표현 중 일부는 다른 것보다 더 효율적이지만, 실수는 무한한 대상이기 때문에 논의하기가 다소 어려운 주제입니다. Matthias Schröder 합리적인 복잡성 이론을 위해서는 표현의 위상 적 특성에주의를 기울여야한다고 지적했다 .

마지막으로, 어떻게 우리는 맵의 복잡성 측정해야 , 우리의 좋은 표현이 가정 ? 은 함수 또는 무한한 정보 스트림 또는 그와 같은 것으로 표현 되기 때문에 더 높은 유형의 복잡성 개념 중 하나를 사용해야합니다 . 사용중인 표현에 따라 달라집니다.f:RRRxR

BSS 모델은 또한 산술 연산을 계산하는 합리적인 회로 복잡도 모델입니다. 이 모델은 실수가 아니라 다른 것에 관한 것임을 명심하십시오.


2
귀하의 답변에 감사드립니다. 나는 계산 복잡성에 대한 일부 개념에 대해 불편 함을 느끼고, 참조를 읽고 한 번 생각하고, 내가 왜 그렇게 불편한지 설명 할 수있는 적절한 것을 찾을 수 있다면 예를 들었습니다 (이것은 재미있게 들리지만 내 경험은 말해줍니다) 불편 함을 느끼면 특이한 것이있을 것입니다.)
XL _At_Here_There 's November

4
내 경험상, 새로운 지식에 대해 불편 함을 느끼는 것은 좋은 신호이며 일반적으로 깨달음의 전제 조건입니다.
András Salamon

3

가능성있는 또 다른 모델은 실행 가능한 RAM 모델입니다. 이것은 실제 계산, 실행 가능한 RAM 또는 불연속 산술 연산을 모두 사용하는 수정 된 RAM 모델을위한 수정 된 실제 RAM 모델입니다. 이 모델을 사용하면 실제 작업과 개별 작업을 수행 할 수 있으며 Turing 모델과 상호 교환이 가능합니다. 실행 가능한 RAM 모델은 불확실성으로 정의 된 정밀도를 가지므로 는 변수 불확실성 1 / (k + 1)까지만 실수를 비교할 수 있습니다. 이를 통해 근사 계산이 가능합니다. 또한 실행 가능한 Real Random Access Machines 에서 Vasco Brattkaa 및 Peter Hertlingb 상태-Turing 모델 및 Feasible Real RAM 모델과 관련이 있습니다. 시간에 튜링 머신에서 계산 가능한 모든 기능<kO(t) 시간에 RAM에서 계산 가능 하며, 그 반대의 경우에는 Turing 머신에 대해 함수를 계산하는 오버 헤드가 있습니다 (실제 RAM이 에서 함수를 계산하는 경우 TM은 . 토폴로지 고려 사항이 유용한 것으로 지적되었으므로 실제 계산을 가능하게하는이 계산 모델에 대해 개발 된 토폴로지 컨텍스트가 있는지 여부는 알 수 없습니다. 정밀하게.O(t)O(t)O(t2log(t)log(log(t)))


실행 가능한 RAM 모델에 대한 참조를 해 주시겠습니까?
XL _At_Here_11시

"...이 참조 상태 ..."영역에서 위의 내용을 참조하십시오.
user3483902

2
Brattka & Hertling의 작업을 지적 해 주셔서 감사합니다. 실현 가능한 RAM 모델에는 고차 함수가 포함되어 있지 않으며 특히 (빠른) 코시 시퀀스의 한계를 계산할 수 없으므로 "실제"를 정확하게 구현하는 것으로 계산하지 않습니다. 그것은 "최상위 수준"에서 한 가지 한계를 계산할 수 있습니다.
Andrej Bauer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.