Teoria da complexidade computacional
Na ciência da computação teórica e na matemática, a teoria da complexidade computacional se concentra na classificação de problemas computacionais de acordo com seu uso de recursos e explora as relações entre essas classificações. Um problema computacional é uma tarefa resolvida por um computador e pode ser resolvido pela aplicação mecânica de etapas matemáticas, como um algoritmo.[1]
É considerado inerentemente difícil se sua solução requer recursos significativos, qualquer que seja o algoritmo usado. A teoria formaliza essa intuição, introduzindo modelos matemáticos de computação para estudar esses problemas e quantificando sua complexidade computacional, ou seja, a quantidade de recursos necessários para resolvê-los, como tempo e armazenamento. Outras medidas de complexidade também são usadas, como a quantidade de comunicação (usada na complexidade da comunicação), o número de portas lógicas em um circuito (usado na complexidade do circuito) e o número de processadores (usado na computação paralela). Um dos papéis da teoria da complexidade computacional é determinar os limites práticos do que os computadores podem e não podem fazer. O problema P versus NP, um dos sete Problemas do Prêmio do Milênio, faz parte do campo da complexidade computacional.[1]
Referências
- ↑ a b «P vs NP Problem | Clay Mathematics Institute». www.claymath.org (em inglês). Consultado em 6 de julho de 2018. Arquivado do original em 6 de julho de 2018