El concepto de "NP-completo" fue introducido por Stephen Cook en un artículo titulado 《The complexity of theorem-proving procedures》 en las páginas 151-158 de "Proceedings of the 3rd Annual ACM Symposium on Theory of Computing" en 1971, aunque el término "NP-completo" como tal no aparece en el documento.