2 research outputs found

    Limits of Diagonalization and the Polynomial Hierarchy

    Get PDF
    Determining the computational complexity of problems is a large area of study. It seeks to separate these problems into ones with efficient solutions, and those with inefficient solutions. Of course, the strata is much more fine-grain than this. Of special interest are two classes of problems: P and NP. These have been of much interest to complexity theorists for quite some time, because both contain many instances of important real-world problems, and finding efficient solutions for those in NP would be beneficial for computing applications. Yet with all this attention, there are still important unanswered questions about the two classes. It is known that P ⊆ NP, however it is still unknown whether P = NP or if P ⊂ NP. Before we discuss why this problem is so crucial to complexity theory, an overview of P, NP, and coNP is necessary. The class P is a model of the notion of efficiently solvable , and thus contains all languages (problems) that are decidable in deterministic polynomial time. This means that any language in P has a deterministic Turing Machine (algorithm) that will either accept or reject any input in n^k steps, where n is the length of the input string, and k is a constant. The class NP contains all languages that are decidable in nondeterministic polynomial time. A nondeterministic Turing Machine is one that is allowed to guess the correct path of computation, and seems to be able to reach an accept or reject state faster than if it was forced to run deterministically. It is unknown whether NP is closed under complementation because of this nondeterminism. It is quite easy to show a class of deterministically-solvable languages (such as P) is closed under complementation: we simply reverse the accept and reject states. This method is not viable for a nondeterministic machine, since switching the accept and reject states will result in machine that computes a completely different language. Thus the class coNP is defined as containing the complement of every language in NP. In the rest of this paper we will present structural definitions of P and NP as well as present example languages from each. These structural definitions will give insight into the arrangement of the polynomial hierarchy, which is discussed in section 3. A diagonalization proof is presented in section 4, and an explanation of the general usage of diagonalization follows. In section 5, universal languages are defined and an important result from Kozen is given. In the final section, the limits of diagonalization as they pertain to P and NP are outlined, as well as the same limits for relativized classes

    Computational complexity and the P vs NP problem

    Get PDF
    Orientador: Arnaldo Vieira MouraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matemática, Estatística e Computação CientíficaResumo: A teoria de complexidade computacional procura estabelecer limites para a eficiência dos algoritmos, investigando a dificuldade inerente dos problemas computacionais. O problema P vs NP é uma questão central em complexidade computacional. Informalmente, ele procura determinar se, para uma classe importante de problemas computacionais, a busca exaustiva por soluções é essencialmente a melhor alternativa algorítmica possível. Esta dissertação oferece tanto uma introdução clássica ao tema, quanto uma exposição a diversos teoremas mais avançados, resultados recentes e problemas em aberto. Em particular, o método da diagonalização é discutido em profundidade. Os principais resultados obtidos por diagonalização são os teoremas de hierarquia de tempo e de espaço (Hartmanis e Stearns [54, 104]). Apresentamos uma generalização desses resultados, obtendo como corolários os teoremas clássicos provados por Hartmanis e Stearns. Essa é a primeira vez que uma prova unificada desses resultados aparece na literaturaAbstract: Computational complexity theory is the field of theoretical computer science that aims to establish limits on the efficiency of algorithms. The main open question in computational complexity is the P vs NP problem. Intuitively, it states that, for several important computational problems, there is no algorithm that performs better than a trivial exhaustive search. We present here an introduction to the subject, followed by more recent and advanced results. In particular, the diagonalization method is discussed in detail. Although it is a classical technique in computational complexity, it is the only method that was able to separate strong complexity classes so far. Some of the most important results in computational complexity theory have been proven by diagonalization. In particular, Hartmanis and Stearns [54, 104] proved that, given more resources, one can solve more computational problems. These results are known as hierarchy theorems. We present a generalization of the deterministic hierarchy theorems, recovering the classical results proved by Hartmanis and Stearns as corollaries. This is the first time that such unified treatment is presented in the literatureMestradoTeoria da ComputaçãoMestre em Ciência da Computaçã
    corecore