NP-difícil: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Linha 3:
[[Ficheiro:P np np-completo np-hard.svg|thumb|300px|right|[[Diagrama de Euler]] para o conjunto de problemas [[P (complexidade)|P]], [[NP (complexidade)|NP]], [[NP-completo]], e NP-hard]]
'''NP-difícil''' (ou '''NP-hard''', ou '''NP-complexo''') na [[teoria da complexidade computacional]], é uma classe de problemas que são, informalmente, "Pelo menos tão difíceis quanto os problemas mais difíceis em NP". Um problema ''H'' é NP-difícil [[sse]] existe um problema [[NP-completo]] L que é [[Redução em tempo polinomial de Turing|Turing-redutível em tempo polinomial]] para H (i.e., L ≤ <sub>T</sub>H). Em outras palavras, ''L'' pode ser resolvido em [[tempo polinomial]] por uma [[Máquina Oracle|máquina oracle]] com um oracle para ''H''. Informalmente, podemos pensar em um algoritmo que pode chamar tal máquina oracle como uma sub-rotina para resolver ''H'', e resolver ''L'' em tempo polinomial, se a chamada da sub-rotina leva apenas um passo para computar. Problemas NP-difíceis podem ser de qualquer tipo: [[Problema de decisão|problemas de decisão]], [[Problema de busca|problemas de pesquisa]] ou [[Problema de otimização|problemas de otimização]].
<!--
{{for|a gentler introduction|P versus NP problem}}
As consequences of definition, we have (note that these are claims, not definitions):
|