Assista a esse vídeo em: MP4 (1280 X 720 px) | MP4 (640 X 360 px)
Este vídeo descreve o que são os problemas NP-completos e como provar que um problema pertence a essa classe de complexidade.
Computabilidade: noção intuitiva, modelos computacionais, equivalência entre modelos e tese de Church, funções não-computáveis e o problema da parada. Enumerabilidade e decidibilidade: problemas não-decidíveis e semi-decidíveis. Linguagens formais e autômatos: sistemas de estados finitos, autômatos finitos, linguagens regulares, expressões regulares, gramáticas regulares, autômatos com pilha, linguagens livres de contexto e gramáticas livres de contexto, hierarquia de chomsky.
Introduzir o conceito de complexidade dos algoritmos e conscientiza-lo das limitações da ciência da computação, habilitando-o a melhor resolver problemas com o auxílio do computador. Introduzir os conceitos de linguagem formal e autômatos, para auxiliar a resolver outra classe de problemas relacionados às linguagens de programação.