3 research outputs found

    Simple characterizations of P(#P) and complete problems

    Get PDF
    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)

    Characterising the complexity of tissue P systems with fission rules

    Get PDF
    We analyse the computational efficiency of tissue P systems, a biologically-inspired computing device modelling the communication between cells. In particular, we focus on tissue P systems with fission rules (cell division and/or cell separation), where the number of cells can increase exponentially during the computation. We prove that the complexity class characterised by these devices in polynomial time is exactly P^#P, the class of problems solved by polynomial-time Turing machines with oracles for counting problems
    corecore