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).

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.