자연수 이외의 집합에 대한 계산 성의 개념이 있습니까?


10

자연수 이외의 집합에 대한 계산 성의 개념이 있습니까? 논쟁을 위해 과 함께 사용 되는 세트 대해 가정 해 봅시다 .NSN

"그렇습니다. 형식의 함수입니다. 여기서 는 어떤 bijection 이고 는 계산 가능한 함수 ". 나는이 정의가 두 가지 이유로 조심 스럽다. g NS f NNgfg1gNSfNN

  1. 다른 셀 수있는 세트보다 권한을 갖습니다. 계산 능력을 정의 할 때 특별한 이유는 무엇 입니까? 나는 특권 기반을 참조하지 않고 선형 대수 개념의 "좌표 없음"정의를 원할 때와 같은 방식으로 특권 세트를 참조하지 않고 계산 성의 "좌표 없음"정의를 원합니다.NNN

  2. 의 선택에 대한 질문을 제기 합니다. 나는 특히 병리학적인 와 선택에 의해 모순을 찾을 수 있다고 생각한다 . 예를 들어, 원하는 경우 I 및 아닌 일부 계산 가능한 전단 사 함수는이 경우 정말로 그 모두에 대해 계산 가능한 계산 가능하다 ?S g S = N g g f g - 1 fgSgS=Nggfg1f

    정의에서 는 계산 가능하지만 불행히도 그것은 질문을 요구하고 있습니다.g

이외의 셀 수있는 집합에 대한 계산 성을 설명하는 일반적인 방법이 있습니까?N


1
글쎄, 외에도 계산 능력은 종종 에 정의되어 있습니다 . 여기서 는 유한 알파벳입니다 ... 그러나 다시, 그 정의는 계산 가능한 형용사 따라 다릅니다. (즉, 한 방향으로 정의를 사용하여 계산할 수 있으며 Σ 정의를 사용하여 반대로 계산할 수 있습니다 ). 따라서 와 을 계산할 수있는 곳에서 확실히 할 수 있지만, 더 일반적인 질문을 구걸하는 데 동의합니다.Σ Σ NΣ N g g - 1NΣΣNΣNΣgg1
Joshua Grochow

1
타일링 시스템, 셀룰러 오토마타, 태그 시스템 등과 같은 계산 모델은 어떻습니까?
Marzio De Biasi

2
왜 우리는 에게 다른 셀 수있는 세트보다 특권을 부여해서는 안 됩니까? 우리는 그렇게하는 매우 강력한 이유가 있습니다 : CPU, 즉 계산하는 것은 (또는 이상의 유한 문자열 )에서 작동합니다. 물론 다른 세트를 선택할 수 있지만 왜 당신의 정의를 받아 들여야합니까? 계산 , 즉 CPU 와 관련하여 계산을 제외하고 계산 가능성이라고하는 주장을 어떻게 정당화 합니까? N B NNNBN
Martin Berger

1
@Martin, 나는 대답 에서 적어도 시간 복잡성과 관련하여 적어도 보다 특권을 가진다는 주장을 한다. 일부 내성 없이는 이것이 잘못된 이유는 특정 결과가 실제로 모델의 인공물 일 때 자연 스럽다고 가정 할 수 있기 때문입니다. N{0,1}N
Dan Brumleve

1
셀 수있는 세트에만주의를 기울이는 이유가 있습니까?
Andrej Bauer

답변:


12

이 질문은 리서치 수준은 아니지만 답변을 받고 있으므로 실제로 내용을 약간 명확하게하고 참조를 제공 할 수있는 답변을 제공하고 싶습니다.

이론적 컴퓨터 과학에는 분석, 대수 및 토폴로지의 계산 성을 연구하는 전 영역이 있습니다. 가장 중요한 것은 실수에 대한 계산 성의 개념입니다. 실제로 Turing 머신에 관한 Turing의 원본 ​​논문 은 다음 문장으로 시작합니다.

"계산 가능한"숫자는 소수로서 표현이 유한 수단에 의해 계산 될 수있는 실수로 간단히 설명 될 수있다.

때때로 소스로 돌아가는 비용을 지불합니다.

일반 집합에 대해 계산 성을 설정하는 방법에는 여러 가지가 있으며, 가장 일반적인 방법 중 하나는 실현 가능성 이론 입니다. 현실성 이론에 대한 아이디어는 1945 부터 Kleene의 논문 인 직관적 인 숫자 이론의 해석에 되돌아 왔지만, 이후 범주화 이론을 잘 혼합하여 계산 가능한 미니 브랜치로 일반화되고 개발되었습니다. 예를 들어 Jaap van Oosten의 저서 참조 "Realizability : 범주 측면에 대한 소개"(논리와 수학 기초, Vol. 152, Elsevier, 2008).

실현 가능성에 대한 아이디어를 매우 간략하게 설명하고 나중에 "좌표 없음"요구 사항에 대해 설명하겠습니다. Turing machine, λ calculus, 프로그래밍 언어 또는 기타 부분 조합 대수 와 같은 계산 모델로 시작하십시오 (특정한 토폴로지 공간을 "계산 모델"로 만들 수도 있습니다 . 이 물건은 일반적입니다 ). 구체적으로 튜링 기계를 고려해 봅시다. 우리는 튜링 기계를 자연수로 코딩하지만 다른 계산 모델을 취할 수 있으므로 N 의 사용이 필수적 이라고 가정 해서는 안됩니다 . (다른 가능성으로는 자연수의 제곱, 자연수의 무한한 순서, 형식화되지 않은 구문λ 미적분, 특정 범주의 게임 등)

엑스엑스엑스x X n NxXnNnXxnxX

주어 두 조립체 과 ,지도는 된다 실현 (또는 "계산 가능") 튜링 기계가 있으면 등마다, 즉 다음에 종료되고 입니다. 다시, 이는 비공식적 "프로그램"추상적 함수 것의 의미 직접 음역 대응 튜링 기계가 어떤 데이터로 표현하지 : 대응하는 요소는 않는다.(X,X)(Y,Y)f:XYTnXxT(n)T(n)Yf(x)ff

어셈블리는 실현 가능한 위치 로 확장 될 수 있습니다 . 토포스는 고차 직관 수학의 모델입니다. 이것은 모든 실현 가능성 위치 (각 계산 모델마다 하나씩 있음)에 많은 흥미로운 객체가 포함되어 있음을 알려줍니다. 예를 들어, 실수의 객체를 포함하므로 실수에 대한 계산이 가능합니다. 그러나 여기에는 Hilbert 공간, Banach 공간, 부드러운 맵의 공간 등과 같은 많은 다른 객체도 포함됩니다. 다른 계산 가능한 구조를 요청했지만 계산 능력의 전체 수학적 세계가 훨씬 향상되었습니다.

범주 이론과 주제가 무섭고 계산 가능성 이론, 범주 이론 및 논리에 어느 정도의 기술 숙련도를 요구하기 때문에, 우리는 단 하나의 구체적인 토포로 작업 할 수 있지만 모든 것을 비 추상적 인 방식으로 표현할 수 있습니다. 특히 좋은 계산 세계는 Kleene의 함수 실현 가능성 에서 비롯되며 계산 가능한 분석 의 이름을 따릅니다 .

"좌표 무료"요구 사항에 대해 언급하겠습니다.

  • 계산 모델 간을 전환하면 다양한 종류의 계산 가능한 세계가 생깁니다. 이것은 서로 다른 종류의 선형 대수를 제공하는 서로 다른 필드 간을 전환하는 것과 비슷합니다.

  • 벡터 집합에 많은 염기가있는 것처럼 집합 에는 많은 계산 구조 가 장착 될 수 있습니다 . 그러나 모든 염기가 동일하지만 모든 계산 구조 가 계산적으로 동일 하지는 않습니다 .XXX

  • 계산 구조 구체적으로 작업하면 선형 대수학에서 행렬로 작업하는 것과 약간 같습니다. 매우 유용 할 수 있지만 추상적이지 않습니다.(X,X)

  • "좌표가없는"방식으로 작업하기 위해 범주 이론의 힘을 실현하고 실현할 수 있도록 실현 가능하게 작업합니다 (예, 진부하지만 작동합니다).

  • "세계없는"방식으로 작업 할 수도 있습니다. 직관적 인 논리로 수학을 개발 한 다음 결과를 실현 가능성으로 해석합니다.


여기서 의 선택은 우리가 벡터 공간을 고려할 수있는 필드로서 R 의 선택과 유사한 것으로 보지 않습니다 . 오히려 "실현성 관계"라는 개념은 Borel 측정 값을 R 로 정의하여 측정 할 수있는 의미를 정의한 다음 "측정 가능한 공간은 R 과 함께 사용되는 것이지 , 측정 가능한 기능은 측정 가능한 맵을 유도하는 것 "이라고 선언하는 것처럼 보입니다. RR.NRRRRR
Tom Ellis

측정 공간 (일부) 위상 공간에서 자연적으로 발생 그것은 일반적으로 간주 정리 비 별도의 것들에 잴 동형 것을 . 내가 이상적으로 찾고 싶은 것은 이전 구성의 계산 이론 아날로그입니다. 계산할 수있는 무언가를 일으키는 기본 구조는 무엇입니까? 피아트에 의해 부과 된 N 과의 대응 은 특히 ​​만족스럽지 않습니다. RN
Tom Ellis

" 선택"은 없으며 계산 모델의 선택 만 있습니다. " N의 선택 "이 "튜링 머신을 사용하도록하자"(숫자로 코딩 됨)를 의미하는 경우, 요점은 다음과 같습니다. 각 계산 구조 S 를 선택할 때마다 R T ( S )를 실현할 수 있습니다. 필드의 각 선택에 대해 :에이 유사 F 당신이 카테고리 얻을 V 전자 의 C t F 를 통해 벡터 공간의 F를 . NNSRT(S)FVectFF
Andrej Bauer

세트에 측정을 부과하는 것은 실제로 세트에 계산 구조를 부과하는 것과 약간 같습니다. 두 경우 모두 일부 세트는 자연 구조와 관련이 있습니다.
Andrej Bauer

2
친애하는 Andrej, 귀하의 답변에 감사드립니다. 이 분야의 20 년 경력의 베테랑이 내 질문을 무의미한 것으로 끝내기 위해 투표하는 것보다 자신과 같은 신 생애를 밝히는 데 시간이 걸리는 것을 기쁘게 생각합니다. 또한 토포스 이론과 nLab의 페이지를 사전 연구 수준의 사람들이 액세스 할 수있는 것으로 간주됩니다.
Tom Ellis

4


-1

이는 튜링 머신의 관점에서 계산 성을 정의한 다음 튜링 머신을 즉시 잊어 버리는 방법과 유사합니다. 튜링 기계는 다른 기계만큼 좋은 정의로 밝혀 졌기 때문에 전체 동등 클래스의 모델에 대한 앵커로 사용하고 어떤 요소에서 생성하든 동일한 클래스로 끝납니다. 기본적으로 이것은 교회 튜링 논문이며 계산 가능한 비트 문자열 세트를 정의합니다.

마찬가지로, 다른 세트 에 대한 계산 성을 정의 하기 위해 비트 문자열에서 S 까지 특정 부분 함수로 고정합니다 . 실제로이 기능이 bijection 또는 injection 또는 다른 유형의 기능인지 여부는 중요하지 않습니다 (실제로 주입하고 싶지 않은 경우 프레젠테이션이 정의되지 않은 그룹을 고려하십시오. 해당 요소에 대한 고유 한 표현). 싱글 톤 세트를 계산할 수 없도록 허용하는 경우에는 의심 할 필요조차 없습니다. 이 함수를 비트 문자열에서 비트 문자열 (이미 정의 된 개념)까지 계산 가능한 bijection으로 구성함으로써 S에 대한 계산 성의 정의를 얻습니다.SSS그것은 우리가 원래 선택한 기능과 관련하여 변하지 않습니다 (우리가 합리적인 것을 고른 한). 즉, 우리의 세트 대한 CT 논문 . 그러나 합리적인 함수를 선택하지 않으면 계산 능력에 대한 다른 정의를 얻게됩니다.S

이 함수는 또한 도메인 또는 범위가 와 같은 다른 함수의 계산 성을 정의하는 역할을합니다 . 범위를 S 로 변경하여 도메인을 { 0 , 1 } * 로 유지하면 S에 대한 Kolmogorov의 복잡도에 대한 O ( 1 ) 불변 정의 도 얻을 수 있습니다. 그리고 우리가 선택한 기능은 그 자체로 계산 가능하다고 마침내 말할 수 있습니다.SS{0,1}O(1)S

그래서 귀하의 질문에 대한 대답은 아니오라고 생각합니다. 동등하지 않은 정의가 있기 때문에 이야기하고 싶은 각 세트에 대해 계산 성을 정의해야합니다. 매우 기술적이거나 교육적인 토론 외에도 합리적인 사람이 합리적인 정의를 독립적으로 상상할 수 있기 때문에 필요하지 않습니다.

그러나 는 셀 수없이 무한한 세트가되어야합니다. S 의 계산 능력에 대한 합리적인 정의는 무엇입니까 ? S{ 0 , 1 } 사이에있는 일련의 궤적이 비어 있지 않다는 것을 알면 어느 쪽이 합리적인지 알 수 없습니다. 더 자세한 내용이 없으면 운이 없습니다.SSS{0,1}

그리고 우리는 동등하지 않은 여러 대안을 발견 할 수 있습니다. 모든 나무는 붉은 잎의 일부 수와 녹색 잎의 일부 번호를 가지고, 그리고 그 모든 가정하자 에 정확히 하나의 트리가 존재 R 붉은 단풍을, 그리고 그 모든 위해 g N 에 정확히 하나의 트리가 존재 g 녹색 잎. 두 bijections는 우리가 나뭇잎을 세고 색상을 구별 할 수 있다는 의미에서 합리적입니다. 우리는 정확히 23 개의 녹색 잎이 있는 나무 또는 23 개의 잎이 있는 나무를 찾을 때까지 나무의 잎을 세면서 겨우 나무를 걷을 수 있습니다.rNrgNg2323붉은 잎. 붉은 잎 수 또는 녹색 잎 수를 사용하여 나무를 식별할지 여부는 명확하지 않습니다.이 선택으로 인해 나무 세트에 대한 계산 가능성이 동일하지 않기 때문입니다. 우리가 대신에서 계산 가능한 페어링 기능 전단 사에 카운트를 결합하여 우리의 정의를 한 경우 N (적절에 계산 가능성을 정의하는 데 N 고유하게 각 트리를 식별하는,)하지만 이것은 전단 사 함수가 아니기 때문에 상황은 더욱 심각하다 나무와 N 사이에서 , 이제 아마도 계산 가능한 모든 나무 세트가 유한합니다!N2NN2N

따라서 전체 토론을 피하기 위해서는 해당 집합에 대해 계산에 대한 합리적인 정의가있을뿐만 아니라 정확히 하나의 합리적인 정의 클래스가 있다는 것을 이해해야합니다.

시간을 복잡하게 만들면 상황이 훨씬 더 흥미로워 진다고 생각합니다. 정수만 고려하더라도 우리의 선택은 더 중요합니다. 예를 들어, 각 숫자를 네 개의 제곱의 합으로 나타내려면 어떻게해야합니까? 우리는 무작위로 접근 할 수있는 예상 2 차 시간에 기본 표현에서 시작하여 그러한 표현을 찾을 수 있습니다. 또는 다항식 시간으로 계산하거나 계산할 수없는 주요 요인의 목록으로 사용하십시오. 하드 표현을 허용하는 한도 내에서 시간 복잡도의 정밀도가 떨어집니다. 예를 들어, 우리는 의미있는 몇 가지 기능 말할 수 없습니다 우리의 표현이있는 경우 차 시간을 계산할 수있다 N을F:NNN기본 표현에서 또는 기본 표현으로 변환하는 데 2 ​​차 이상의 시간이 필요할 수 있습니다. 이 관점은 기본 표현이 다소 임의의 표준임을 보여줍니다. (기본 표현은 기본 모델이 비트 스트링에서 비트 스트링을 계산하는 모델 인 경우 " 은 2 차 시간으로 계산 가능 "과 같은 말을 할 때 염두에 두어야 할 점에서 표준입니다 . 의미를 유추합니다.)F:NN

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