FP, FNP 및 TFNP 클래스는 정확히 무엇입니까?


13

그의 책 Computational Complexity 에서 Papadimitriou는 다음과 같이 FNP 를 정의 합니다.

LNP 의 언어 라고 가정합니다 . 법안 9.1에는 다항식 시간 결정 가능, 다항식 균형 관계 이있어 RL모든 문자열 x : x L 인 경우에만 R L ( x , y )을 갖는 문자열 y 가 있습니다. F L 로 표시 되는 L 과 관련된 함수 문제 는 다음과 같은 계산 문제입니다.RL(x,y)xLLFL

감안할 때 x , 문자열 검색 y 되도록 RL(x,y) 와 같은 문자열이있는 경우; 이러한 문자열이 없으면 "no"를 반환하십시오.

위의 NP 언어와 관련된 모든 함수 문제의 클래스를 FNP 라고 합니다. FP 는 다항식 시간으로 해결할 수있는 FNP의 함수 문제 만 고려하면 하위 클래스 결과 입니다.

(...)

(...), 우리 는 모든 문자열 x에 대해 R ( x , y ) 와 같은 하나 이상의 y 가 있으면 FNP 총계 에서 문제 R 을 호출합니다 . 모든 총 함수 문제를 포함하는 FNP 의 서브 클래스는 TFNP 로 표시 됩니다 . xyR(x,y)

장 개요의 벤 다이어그램에서 Papadimitriou는 FP TFNP FNP를 의미합니다 .

나는 힘든 시간을 정확하게가 있음을 보유하고 왜 이해가 FP TFNP이 문제 때문에 FP는 그 자체로 총 될 필요는 없습니다.

더 잘 이해하기 위해 나는 문학을 통해 FP , FNP 및 종류에 대한 방수 정의를 성공없이 찾으려고 노력했습니다 .

저의 아주 겸손한 견해로는이 주제들에 대한 교훈적인 자료가 거의 없다고 생각합니다.

의사 결정 문제의 경우 클래스는 언어 세트 (예 : 문자열 세트)입니다.

함수 문제의 클래스는 정확히 무엇입니까? 그들은 관계, 언어, ...의 집합입니까? 확실한 정의 란 무엇입니까?


4
일반적인 표기법은 다소 조잡합니다. 먼저, FP는 NP 검색 문제의 맥락 밖에서 폴리-시간 함수 의 클래스 (따라서 총계) 를 나타 내기 위해 사용 되었습니다. 둘째, 다항식 시간으로 해결할 수있는 모든 검색 문제는 다항식 시간으로 해결할 수있는 전체 확장명을 갖기 때문에 FP의 전체 정의와 비 총계 정의 사이에는 실질적인 차이가 크지 않으므로 언어 ​​남용으로 인해 두 가지가 혼동됩니다.
Emil Jeřábek

답변:


11

Emil Jerabek의 의견은 훌륭한 요약이지만, 같은 개념을 다소 간결하게 정의하고 이러한 모든 것 사이의 관계를 명확하게 정의하는 명확한 정의를 가진 다른 클래스가 있음을 지적하고 싶었습니다.

[경고 : 정의를 올바르게 받았다고 생각하지만 아래 사항 중 일부는 개인적 취향을 반영합니다. 그 위치에 대해 명확하게 노력했습니다.]

결정 론적 세계에서 함수 클래스는 함수의 모음 일뿐입니다 (일반적으로 "함수"라는 단어의 수학적 의미, 즉 맵 ). 때때로 특정 입력에 대해 "정의되지 않은"출력 인 "부분 함수"를 허용하려고합니다. (동일하게 모든 기능이 아닌 Σ * 의 하위 집합에 정의 된 함수 )ΣΣΣ

불행히도, 대한 두 가지 정의가 떠 다니고 있으며, 내가 말할 수있는 한 (도덕적으로는 동일하지만) 동등하지 않다는 것을 알 수 있습니다.FP

  • (정의 1)는 다항식 시간으로 계산할 수있는 함수 클래스입니다. 사람들이 F N P , T F N P 에 대해 이야기하는 상황에서 F P 가 보이지 않을때마다이것이 내가 정의한 정의입니다.FPFPFNP,TFNP

비결정론 적 세계에서는 상황이 약간 재미있다. "부분, 다중 값 함수"를 허용하는 것이 편리합니다. 그러한 것을 이진 관계 , 즉 의 부분 집합 이라고 부르는 것은 당연합니다 . 그러나 복잡성의 관점에서 이러한 것들을 "비결정론 적 기능"으로 생각하는 것이 철학적으로나 정신적으로 유용하다. 이러한 정의 중 많은 부분이 다음 클래스 (명확히 알려지지 않은 경우 완전히 표준화 된 정의)에 의해 명확 해 졌다고 생각합니다.Σ×Σ

  • : 다항식 시간에 비 결정적 기계에 의해 계산 가능한 "부분, 다중 값 함수"클래스. 이것이 의미하는 것은 다중 시간 비결정론 적 기계가 있고 입력 x , 각각의 비결정론 적 분기에있어 어떤 출력을 받아 들여서 출력하거나 거부하고 출력하지 않도록 선택할 수 있다는 것입니다. 입력 x 의 "다중 값"출력은 x 를 입력으로지정했을 때 모든 비 결정적 분기의 모든 출력 집합입니다. 이 세트는 비워 둘 수 있으므로 "다중 값 함수"이므로 일부만 가능합니다. 우리는 이진 관계의 관점에서 생각하면, 관련이 대응 { ( X , Y ) : YNPMVxxx에서 계산의 일부 분기에 의해 출력됩니다  .{(x,y):y is output by some branch of the computation on input x}

  • : 총 "기능" N P M V 모든 입력에이며,X(정의에 따라서 출력한다) 적어도 하나 개의 브랜치 받아NPMVtNPMVx

  • NPSVNPMVΣ

  • NPSVtNPSVΣΣNPSVt=FPNPcoNP

NPMVNPSVNPSVNPMVcfgxgff항상 출력의 하위 집합입니다 . 적절한 질문은 모든 "함수"에 세분화 가 있는지 여부 입니다. 그렇다면 합니다.gNPMVNPSVNPMVcNPSV

  • PF (약간 덜 표준)는 폴리 타임으로 계산할 수있는 (잠재적으로 부분적인) 함수의 클래스입니다. 즉, 입력 시간에 입력 와 같은 폴리-시간 결정 기계가있는 경우 함수 ( )는 에 있습니다 . 기계 출력 및 입력 에서 기계는 출력을 생성하지 않습니다 (/ 거부 / 말 "아니오"/ 어구를 표현하려는 경우).f:DΣDΣPFxDf(x)xD

  • FNP 는 "함수 문제"의 클래스입니다 (함수가 아닌). 또한 를 "관계형 클래스"라고 부르지 만, 실제로이를 설명하기 위해 사용하는 단어는 나중에 명확하게 설명해야하므로이 정의의 일부가 아닙니다. 이진 관계 에는 관련 "함수 문제"가 있습니다. 기능 문제는 무엇입니까? 언어 / 기능 / 관계에 대해 내가하는 방식에 대한 명확한 수학적 정의가 없습니다. 오히려,이 유효한 해결책이 무엇으로 정의 같습니다 연관된 기능 문제 유효한 솔루션 임의의 (잠재적 부분) 함수 되도록 경우FNPRΣ×ΣRf(y)[R(x,y)]f 는 그러한 출력 하고, 그렇지 않으면 는 출력하지 않습니다. 는 관계 과 관련된 함수 문제의 클래스로 (쌍의 언어로 간주 될 때)이며 p 균형을 이룹니다. 따라서 는 함수의 클래스 나 언어의 클래스가 아니라 "함수 문제"의 클래스입니다. 여기서 "문제"는 대략 문제 해결의 의미로 정의됩니다.yfFNPRRPFNP

  • TFNP 다음 함수 문제의 클래스 의 관계에 의해 규정 - 예 - 상술 한 바와 같이 의 모든 위해 이러한 의미에서, 토탈 존재 되도록 .FNPRRxyR(x,y)

"모든 ( ) 함수 문제에 ( 위의 설명에 따라 가있는 경우 이 문맥에서 ... "는 다음과 같이 의 정의 2를 사용합니다 .FNPTFNPPFFPFP

  • FP (정의 2)는 다중 시간 솔루션이있는 의 함수 문제 클래스입니다 . 대해 유효한 가 아닌 특수 문자열 을 선택하고 그렇지 않으면 유효한 가 없을 때 함수 출력 가짐 으로써 솔루션 (= function)이 총계라고 가정 할 수 있습니다 . (필요한 경우 모든 앞에 1을 관계 을 수정할 수 있습니다. 그런 다음 을 문자열 0으로 사용하면 관련된 복잡성이 변경되지 않습니다.)FNPy0yxy0yRyy0

다음은 이러한 다양한 정의가 (정의 2, 와 비교되는 맥락에서 가정하기 때문에 정의해야 함)와 서로 관련되는 방법 입니다 에 . (def 2)는 (def 1)와 같습니다.FNPFPFNPNPMVcPFTFNPFPNPMVtcFP


광범위한 답변에 감사드립니다. 나는 그것을 소화하려고 노력하고 있으며 지금까지 매우 도움이되었습니다. 그러나 마지막 단락에서 FP FNPFP TFNP 를 의미한다고 가정 합니까?
Auberon

1
@Auberon : 아니요, 마지막 단락은 다양한 추측 사이에서 번역됩니다. 그것은 말한다 등,FNPFPNPMVcPF
여호수아 Grochow

@JoshuaGrochow 또는 가능하거나 계층 구조가 축소됩니까? 또한 않습니다 에서 또는 보류 반대의 반대는 (어떤 의미 하나의 방법이 보이지 않는다으로는 그럴듯하게 보인다)? NPPTFNPNPPUPPUPPTFNP
T ....

3

Joshua의 광범위한 답변 외에도 Elaine Ruch의 Automata, Computability and Complexity 의 다음 정의를 추가하고 싶습니다 .

클래스 FP : 이진 관계 는 . 임의의 입력 주어지면 와 같은 찾을 수 있는 결정적 다항식 시간 알고리즘이 있습니다 .QFPxy(x,y)Q

클래스 FNP : 이진 관계 는 . 임의의 입력 쌍 주어지면 결정적 다항식 시간 검증 경우 인지 여부를 결정합니다 . 마찬가지로 는 . 임의의 입력 주어지면 과 같은 찾을 수 있는 비 결정적 다항식 시간 알고리즘이있는 경우QFNP(x,y)(x,y)QQFNPxy(x,y)Q

이러한 정의에서 입니다. 또한 외부의 문제에 대해서도 간단히 설명합니다 .F N PFPTFNPFNPFNP

저에게 이것은 오랜 시간 동안 찾은 하나의 단일 페이지로 구성된 가장 만족스러운 리소스였습니다.


이 정의에 약간의 생각을 한 후에, 의 두 가지 '동등한'정의 가 전혀 같지 않다고 생각합니다.FNP
Auberon

나는 등가에게 관계를 가정하는 한 요구를 얻기 위해 P-경계 (이다, 다항식이 생각 등이있는 경우 하도록 , 다음이 같은 와 ). 또한 "비결정론 적 알고리즘이 를 찾는 것"의 의미를 지정해야합니다. 즉 , 비결정론 적 알고리즘이 "출력을 만든다"는 것은 무엇을 의미합니까? 이것이 제가 NPMV 정의 패밀리를 좋아하는 이유의 일부입니다.y ( x , y ) Q y | y | p ( | x | ) ypy(x,y)Qy|y|p(|x|)y
Joshua Grochow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.