Complexidade

Tamanho da entrada, tempo polinomial, certificados, P, NP e direção das reduções.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Tamanho e custo

  • O tamanho nn é o comprimento da codificação, não o valor descrito. Um inteiro N≥1N\ge1 em binário usa ⌊log⁡2N⌋+1\lfloor\log_2N\rfloor+1 bits, logo 2n−1≤N<2n2^{n-1}\le N<2^n; o caso N=0N=0 representa-se à parte com um bit. Um algoritmo com NN passos é exponencial em nn, embora seja linear no valor ou no unário.
  • Pior caso T(n)T(n): máximo de passos em entradas de comprimento nn. O(nk)O(n^k) polinomial (kk fixo); 2n2^n, n!n! não. Polinomial não garante rapidez prática.
Tarefa (nn palavra, ss estados)Custo
Simular DFAO(n)O(n)
Simular NFA por conjuntosO(ns2)O(ns^2)
Determinizar NFAAté 2s2^s estados
Thompson (expressão de rr)O(r)O(r) estados e arestas
CYK (CFG fixa em CNF)O(n3)O(n^3) tempo, O(n2)O(n^2) espaço

Testar palavra em NFA simula conjuntos, sem o DFA inteiro. Contar atualizações de eliminação ignora o crescimento dos rótulos.

P e NP

  • P: decididas por TM determinística em tempo polinomial. Regulares e CFL fixas estão em P.
  • NP: cada resposta sim tem um certificado de comprimento polinomial, verificado em tempo polinomial por um verificador determinístico. Isto equivale a uma TM não determinística que decide em tempo polinomial em todos os ramos. NP significa tempo polinomial não determinístico, não “não polinomial”.
w∈L  ⟺  ∃c, ∣c∣≤p(∣w∣) e V(w,c) aceita.w\in L\iff\exists c,\ |c|\le p(|w|)\ \text{e}\ V(w,c)\ \text{aceita}.

O verificador VV é determinístico e corre em tempo polinomial para um polinómio pp fixo; fora de LL, nenhum certificado o faz aceitar. No caminho hamiltoniano com vv vértices, o certificado é a lista de vértices, com O(vlog⁡v)O(v\log v) bits, e a verificação confirma cobertura e arestas. A inclusão P⊆NPP\subseteq NP está estabelecida; a igualdade P=NPP=NP continua em aberto. Um algoritmo exponencial conhecido não prova um limite inferior.

Reduções e NP-completude

A≤pBA\le_p B: ff computável em tempo polinomial com x∈A  ⟺  f(x)∈Bx\in A\iff f(x)\in B. Se B∈PB\in P, então A∈PA\in P. Dificuldade de BB: reduz o problema difícil a BB.

  • NP-difícil: todo o problema de NP se reduz a BB em tempo polinomial.
  • NP-completo: NP-difícil e em NP. Para provar, descreve primeiro o certificado, o seu tamanho polinomial e o verificador determinístico; depois reduz a BB um problema já NP-completo, com as duas implicações e o custo polinomial.
  • Se algum NP-completo está em P, P=NPP=NP. Só NP-difícil não garante pertença a NP nem decidibilidade.

SAT é NP-completo. Para exigir variável verdadeira: f(φ)=φ∧zf(\varphi)=\varphi\land z com zz nova (a disjunção φ∨z\varphi\lor z aceitaria fórmulas impossíveis). Atribuição estende-se com zz verdadeiro; restrição satisfaz φ\varphi.

Esta página amplia o percurso; a profundidade da avaliação atual não está confirmada.

Certificados e reduções completos.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.