Simple characterizations of P(#P) and complete problems

  • Authors:
  • Seinosuke Toda

  • Affiliations:
  • -

  • Venue:
  • Journal of Computer and System Sciences
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, P(#P) and PF(#P) are characterized in terms of a largely different computation structure, where P(#P) (resp., PF(#P)) is the class of sets (resp., functions) that are polynomial-time Turing reducible to #P functions. Let MidP be the class of functions that give the medians in the outputs of metric Turing machines, where a metric Turing machine is a polynomial-time bounded nondeterministic Turing machine such that each branch writes a binary number on an output tape. Then it is shown that every function in PF(#P) is polynomial-time one-Turing reducible to a function in MidP and MidP @? PF (#P); that is, PF(#P) = PF(MidP[1]). Furthermore, it is shown that for all sets L, L is in P(#P) if and only if there is a function F @? MidP, such that for every string x, x @? L, iff F(x) is odd. Thus the problem of computing medians in the outputs of metric Turing machines captures the computational complexity of P(#P) and PF(#P). As applications of the results, several natural polynomial-time many-one complete problems for P(#P) are shown, for example, given an undirected graph with integer edge weights, checking that the parity of the middle cost among all the simple circuits is complete for P(#P).