실수로 복잡한 클래스가 있습니까?


14

최근에 한 학생이 NP 경도 증거를 확인하도록 요청했습니다. 그들은 다음 라인을 따라 축소를 수행했습니다.

내 문제 에 대해 NP- 완전으로 알려진 이 문제 줄입니다 (폴리 타임 다 대일 감소로) 는 NP-hard입니다.PPP

내 대답은 기본적으로 다음과 같습니다.

이후 의 값을 가진 경우가 당신이 감소를 건너 뛸 수 있도록이 하찮게 튜링 계산할 수 없습니다.PR

공식적으로는 사실이지만, 나는이 접근법이 통찰력이 없다고 생각합니다. 우리는 실제 의사 결정 (또는 최적화) 문제의 "내재적 복잡성"을 포착하여 실제 문제를 처리 할 때 직면하는 한계를 무시하고 싶습니다. 번호; 이 문제를 조사하는 것은 또 다른 하루입니다.

물론 "별도의 Subset Sum 버전은 NP-complete이므로 연속 버전도 'NP-hard'입니다."라고 말하는 것만 큼 쉬운 것은 아닙니다. 이 경우 축소는 쉽지만 선형 버전과 정수 프로그래밍과 같이 연속 버전이 더 쉬운 유명한 사례가 있습니다.

RAM 모델이 자연스럽게 실수로 확장되는 것은 나에게 일어났다. 모든 레지스터에 실수를 저장하고 그에 따라 기본 작업을 확장하십시오. 어쨌든 불연속적인 경우와 마찬가지로 균일 한 비용 모델은 여전히 ​​의미가 있지만 대수 모델은 그렇지 않습니다.

그래서 내 질문은 다음과 같이 요약됩니다. 실제 가치 문제의 복잡성에 대한 개념이 확립되어 있습니까? "표준"이산 수업과 어떤 관련이 있습니까?

Google 검색은 예를 들어 this 와 같은 몇 가지 결과를 산출 하지만, 무엇이 확립되고 /거나 유용하며 무엇이 그렇지 않은지를 말할 방법이 없습니다.


1
흥미로운 "복잡성과 실제 계산"을 찾을 수 있습니다. amazon.com/Complexity-Real-Computation-Lenore-Blum/dp/…
Kurt Mueller

당신의 학생에 대한 당신의 대답은 하나의 단순한 이유에 대한 부당한 것을 나에게 보인다 레알에 따라 잘 사용으로 수행 할 수있는 무엇이든 계산은 우리가보기에 사용되는 계산 가능한 실수를 . 이것이 학생의 목적에 사용할 수있는 대답인지는 모르겠지만 적어도 Turing 계산 가능성이 부족하면 제거해야합니다. 불행히도, 나는이 문제를 더 발전시키기에 충분히 전문가가 아닙니다.
babou

@babou 계산 능력에 관한 한, 그것은 합리적인 제한 일 수 있습니다 (그러나 그럼에도 불구하고 그들은 진술해야 할 것입니다!). 그러나 복잡성은 어떻게됩니까?
Raphael

@Raphael 내 요점은 실제로 제한이 아니며 언급 할 필요가 없다는 것입니다. 피할 수없는 일이다. 계산에서 고려할 수있는 유일한 실수는 계산 가능한 실수 (Church-Turing Thesis)입니다. 좋은 부분은 적절한 수학으로 관련 수학을 변경하지 않는다는 것입니다. 계산 가능한 실수를 넘어서는 것은 높은 수준의 튜링 계층 구조를 사용하는 것과 같은 매혹적인 추측이며 실제에 대한 영향은 거의 없습니다 (피할 수없는).
babou

답변:


8

예. 있습니다.

다른 답변에서 언급 한 실제 RAM / BSS 모델이 있습니다. 이 모델에는 몇 가지 문제가 있으며 AFAIK에는 그다지 많은 연구 활동이 없습니다. 논란의 여지가 있지만 이는 실제 계산 모델이 아닙니다 .

실제 계산 가능성에 대한보다 적극적인 개념은 더 높은 유형의 계산 모델입니다. 기본 개념은 상위 유형 함수에 대한 복잡성을 정의한 다음 상위 유형 함수를 사용하여 실수를 나타내는 것입니다.

더 높은 유형의 함수의 복잡성에 대한 연구는 적어도 [1]로 거슬러 올라갑니다. 최근 작업 확인을 위해 실제 운영자의 복잡성에 대한 Akitoshi Kawamura 논문을 확인하십시오 .

실제 함수의 복잡성에 대한 고전적인 참고 문헌은 Ker-I Ko 's book [2]입니다. Klause Weihrauch [3]의 최근 책 6 장에서는 실제 계산의 복잡성에 대해 설명하지만 복잡성보다는 계산에 중점을 둡니다.

  • [1] Stephen Cook과 Bruce Kapron, "유한 유형의 기본 가능한 기능의 특성", 1990.

  • [2] Ko-I Ko, "실제 함수의 계산 복잡성", 1991.

  • Klaus Weihrauch의 "계산 가능한 분석", 2000.


더 높은 유형의 함수 모델을 실제 RAM 모델보다 더 현실적으로 만드는 것은 무엇입니까?
Raphael

1
@Raphael, 관련 질문에서 설명했다고 생각합니다. 치료를 통해 더 많은 것을 원한다면 Weirauch의 9 장입니다. IIRC, 또 다른 좋은 것은 Tucker와 Stolenberg-Hansen의 기사입니다.
Kaveh

1
내 견해에 따르면 실제 RAM 모델에는 두 가지 주요 문제가 있습니다. 한편으로는 주요 속성 인 실수에 대한 임의의 정밀도 합리적인 근사라는 개념이 부족합니다. 다른 한편으로는 AFAIK가 모르는 실수를 비교할 수 있습니다 실제로하는 방법. 결과적으로 실제로 계산 가능한 것으로 간주되는 일부 실제 함수는 모델에서 계산할 수 없지만 모델에서 효율적으로 계산 가능한 실제 함수는 실제로 계산할 수 없습니다.
Kaveh

@Kaveh 나는 질문과 답변에서 전체 토론의 부정확성에 귀찮게합니다. 우리는 전통적인 헤아릴 수없는 실재, 또는 계산 가능한 실재에 대해 이야기하고 있습니까? 마지막 의견에서, 당신은 "실제로 계산 가능한 효율적인 것으로 생각되는 실제 함수"에 대해 이야기하고 있습니다. 그래서 저는 그것이 계산 가능한 실제에 관한 것이라고 믿습니다. 실제로 무엇을 의미합니까?
babou

8

설명하는 모델을 BSS (Blum-Shub-Smale) 모델 (실제 RAM 모델)이라고하며 실제로 복잡도 클래스를 정의하는 데 사용됩니다.

이 영역에서 흥미로운 문제는 클래스 , N P R 이며 물론 P R = N P R 인지에 대한 문제입니다 . 함으로써 P R 우리는 문제가 다항식 decidable 의미 N P R은 문제가 검증 다항식이다. 등급 N P R 에 대한 경도 / 완전성 질문이 있습니다 . N P R 완전 문제 의 예 는 입력이 실수 다항식 인 Q P S 의 2 차 다항식 문제입니다 .PRNPRPRNPRPRNPRNPRNPRQPS 변수, P 1 , . . . , P NR [ X 1 , . . . , X N ] 2 이하인 정도, 각 다항식의 가장 3 개 변수를 갖는다. 질문 공통 실제 솔루션 존재하는지 R의 N 등, 즉 P (1) ( ) , P 2 ( ) , . . . p n ( a ) = 0mp1,...,pn R[x1,...,xn]Rnp1(a),p2(a),...pn(a)=0. 이것은 완료 문제입니다.NPR

그러나 더 흥미롭게도 , (Probalistically Checkable Proofs), Reals, 즉 P C P R 클래스 와의 관계와 그것이 대수 계산 모델과 어떻게 관련되는지에 대한 연구가있었습니다 . BSS 모델 은 실수를 통해 모든 N P로 이동합니다. 이것은 문헌의 표준이며, 오늘날 우리가 알고있는 것은 N P R 에 "투명한 긴 증거"와 "투명한 짧은 증거"가 있다는 것입니다. "투명한 긴 증거"는 다음을 의미합니다. N P RP C P R에 포함됩니다 ( p o l yPCPPCPRNPNPRNPR . "거의 (대략적인) 짧은 버전"도 마찬가지라는 확장도 있습니다. n 보다 훨씬 적은 (실제) 구성 요소를 검사하여 증거를 안정화하고 결함을 감지 할 수있습니까? 이것은 직선 프로그램에 의해 주어진 (단일 시스템의) 다변량 다항식에 대한 0의 존재에 관한 질문으로 이어집니다. 또한 "투명한 긴 증거"라는 의미는PCPR(poly,O(1))n

  1. "투명" 만 읽을 수 있습니다.O(1)

  2. long-초 다항식 수의 실제 구성 요소.

증명은 묶여 있으며 실제 가치 문제를 보는 한 가지 방법은 그것이 부분 집합 합과 어떻게 관련이 있는지입니다. 실제 가치 문제에 대한 근사 알고리즘조차도 최적화와 마찬가지로 흥미로울 것입니다-선형 프로그래밍 클래스에 F P ,하지만 네, approximatability이의 경우에 완전성 / 경도에 영향을 줄 수있는 방식을 볼 수 재미있을 것 N P R의 문제. 또한, 또 다른 질문은 N P R = c o - N P R ? 3SATFPNPRNPR = co-NPR

클래스 생각하면서 , 다항식 산술에 대한 추론을 허용하도록 정의 된 카운팅 클래스가 있습니다. 반면 #의 P는 함수의 클래스는 f를 통해 정의 된 { 0 , 1 } N이 되는 기계 튜링 다항식 시간이 존재 M 과 다항식 P 속성이 함께 N NX를 { 0 , 1 } n , f ( x )NPR#Pf{0,1} NMpnNx{0,1}nf(x)튜링 머신 M{ x , y }를 허용 하는 문자열 { 0 , 1 } p ( n ) 의 개수를 계산합니다 . 실수를 위해 우리는이 아이디어를 확장합니다. 가산과 곱셈 (나눗셈, 빼기 없음) 만하는 가산 BSS 기계가 있습니다. 가산 BSS 기계 (계산중인 노드 만 가산 및 곱셈 만 허용)를 사용하면 # P에 대한 모델 이 가산 BSS 기계가 허용하는 벡터를 초과하는 모델 이됩니다. 따라서 계산 클래스는 # P a d dy{0,1}p(n)M{x,y}#P#Padd 이 수업은 Betti 수와 오일러 특성 연구에 유용합니다.


실제 RAM (Random Access Machine) 또는 BSS (Blum-Shub-Smale) 시스템은 모델이며, 앞서 언급 한 이러한 클래스에 대한 추론의 표준으로 널리 사용됩니다.
user3483902

아닙니다. 그 주장은 절대로 허위입니다. 예를 들어 CCA-Net을 살펴보고 해당 모델을 사용하는 연구원 수를 확인하십시오.
Kaveh

글의 복잡도 클래스에 사용 된 모델은 BSS 모델을 사용하며, 시간이 지남에 따라 다른 모델이있을 수 있습니다. 다른 모델이 포스트의 복잡성 클래스와 작동합니까? BTW, 의견은 해당 클래스에서 사용 된 모델에 대한 설명으로, 포스트에서 다뤘으므로 다른 모델이 있는지에 대한 설명은 없었습니다. 다시 한 번 설명은 클래스에 사용 된 모델에 대한 것이 었으며 주장은 없었습니다.
user3483902
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.