함수 f가 #P에 있고, 길이가 N 인 입력 문자열 x가 주어지면, 값 f (x)는 묶인 음이 아닌 숫자 입니다. (NP 검증기의 허용 경로 수의 관점에서 정의를 따릅니다.)2poly(N)
이것은 많은 기능이 흥미롭지 않은 이유로 #P 외부에 있다는 것을 의미합니다 .-- f가 음수이거나 언급 한 경우 함수가 보다 빠르게 증가하기 때문 입니다. 그러나 논문에서 모형화 된 n- queens 문제의 경우 이는 입력 값 n 을 이진으로 인코딩 하도록 결정한 저자의 결정에 불과합니다 . 예상 입력이 단항 문자열 1 n 이면 f ( 1 n ) : = (유효한 n 수2poly(N)nn1nf(1n):=n-queen 구성)은 주어진 구성의 유효성을 검사하는 간단한 NP 검증기에 의해 확실히 #P에 있습니다.
더 흥미로운 이유로 #P 외부에 (추론 적으로) 놓여있는 일부 함수를 탐색하려면 다음을 고려하십시오.
- UNSAT : ψ 가 만족할 수없는 부울 수식 이면 이고 , 그렇지 않으면 f ( ψ ) : = 0 입니다. NP = coNP가 아니면이 기능은 #P에 없습니다. 아마도 더 일반적인 계산 클래스 GapP에 있지 않을 것입니다. 즉, UNSAT는 두 #P 함수의 차이 f-g가 아닐 수 있습니다. 그러나 더 일반적인 계산 복잡성 클래스 P # P 에 있으며, 여기에는 실제로 Toda의 정리에 의해 전체 다항식 계층이 포함됩니다.f(ψ):=1ψf(ψ):=0P#P
이 예제는 "계산 문제"가 아니기 때문에 마음에 들지 않을 수 있습니다. 그러나 다음 두 가지는 :
부울 수식 ψ ( x , ⋅ ) 가 일부 y 에 대해 설정 될 수있도록 x 에 할당 된 횟수입니다.f(ψ(x,y)):=xψ(x,⋅)y
수 (X) 전체의 적어도 절반,되도록 Y , ψ ( X , Y는 ) = 1 .f(ψ(x,y)):=xyψ(x,y)=1
후자의 두 가지 문제는 오라클이 #P에 액세스하더라도 효율적으로 계산할 수있는 것으로 알려져 있지 않습니다. 그러나 소위 "카운팅 계층 구조"내에서 계산할 수 있습니다. 이 클래스로 분류 된 좀 더 자연스런 문제에 대해서는 이 최신 논문을 참조하십시오 .
내쉬 평형을 세는 것은 분명히 # P-hard 입니다. 여기를 참조 하십시오 . 또한 검색 문제가 쉬운 문제라도 #P를 계산하기가 어려울 수 있습니다 (예 : 완벽한 일치 계산).