Linguagens FormaisVisão geral
Teoria da Complexidade
Uma classe de complexidade agrupa problemas de decisão pelo recurso que basta para resolvê-los. Aqui o recurso é tempo: algoritmo determinístico em nᵏ, ou verificador polinomial equivalente a uma máquina de Turing não determinística.
O mapa P ⊆ NP, os algoritmos em nᵏ, o certificado e as reduções ≤ₚ deste tópico partem dessa classificação.
As páginas se agrupam em quatro blocos. O primeiro monta o mapa das quatro classes e marca quais inclusões valem, inclusive a recusa de NP ⊆ NP-difícil.
O segundo decide se um procedimento determinístico cabe em nᵏ no comprimento da entrada: Euclides, busca em largura, Dijkstra.
O terceiro define NP pelas duas escritas equivalentes — ramificação não determinística e verificador com certificado — e coloca um problema na classe conferindo o testemunho.
O quarto prova completeza: L está em NP e SAT ≤ₚ L, via Cook–Levin e Karp.
Classes P, NP, NP-completo e NP-difícil lê CAM ∈ P no mapa. Algoritmos de Tempo Polinomial prova CAM ∈ P pela busca em largura em |V|+|E|.
Tempo determinístico nᵏ está em Algoritmos de Tempo Polinomial. Máquina não determinística, ou o par verificador + certificado de tamanho polinomial, está em Algoritmos de Tempo Polinomial Não Determinístico.
Definir NP e conferir soma de subconjuntos está em Algoritmos de Tempo Polinomial Não Determinístico. Colocar TSP e clique nas versões de decisão, pelo certificado, sem redefinir NP-completo, está em Problemas NP Adicionais.
L ∈ NP e SAT ≤ₚ L, Cook–Levin e 3-SAT ≤ₚ CLIQUE estão em Problemas NP-Completos. Só o certificado de ciclo hamiltoniano de custo ≤ k ou de clique de tamanho ≥ k, sem a redução, está em Problemas NP Adicionais.
Páginas deste tópico
Classes P, NP, NP-completo e NP-difícil
ProMédia incidência no POSCOMP21 min de leitura · 14ª mais cobrada em Linguagens Formais
Mapa P ⊆ NP; NP-c = NP ∩ NP-hard; CAM ∈ P; P fechada sob complemento.
Algoritmos de Tempo Polinomial
ProMédia incidência no POSCOMP13 min de leitura · 20ª mais cobrada em Linguagens Formais
P = DTM em tempo n^{O(1)}; Euclides, BFS, Dijkstra como exemplos.
Algoritmos de Tempo Polinomial Não Determinístico
ProBaixa incidência no POSCOMP13 min de leitura · 31ª mais cobrada em Linguagens Formais
NP = NDTM polinomial = verificador + certificado; Subset-Sum.
Problemas NP-Completos
ProMédia incidência no POSCOMP15 min de leitura · 18ª mais cobrada em Linguagens Formais
L NP-c sse L ∈ NP e SAT ≤p L; Cook–Levin + Karp; sem NP ⊆ NP-hard.
Problemas NP Adicionais
ProBaixa incidência no POSCOMP4 min de leitura · 28ª mais cobrada em Linguagens Formais
TSP e clique na versão decisão, via certificado; sem redefinir NP-c.