A Ina,Rachel, eAaron ·I N D I C E Prefa·cioa(cid:30) PrimeiraEdic‚a(cid:152)o xi Ao(A(cid:30))estudante . . . . . . . . . . . . . . . . . . . . . . . . . . xi Ao(A(cid:30))educador(a) . . . . . . . . . . . . . . . . . . . . . . . . . xii Aprimeiraedic‚a(cid:152)o . . . . . . . . . . . . . . . . . . . . . . . . . xiii Realimentac‚a(cid:152)oparaoautor . . . . . . . . . . . . . . . . . . . . xiv Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Prefa·cioa(cid:30) SegundaEdic‚a(cid:152)o xvii 0 Introduc‚a(cid:152)o 1 0.1 Auto(cid:136)matos,Computabilidade,eComplexidade . . . . . . . . . . 1 Teoriadacomplexidade . . . . . . . . . . . . . . . . . . . . . . 2 Teoriadacomputabilidade . . . . . . . . . . . . . . . . . . . . 3 Teoriadosauto(cid:136)matos . . . . . . . . . . . . . . . . . . . . . . . 3 0.2 Noc‚o(cid:152)eseTerminologiaMatema·ticas . . . . . . . . . . . . . . . . 3 Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Sequ¤e(cid:136)nciaseuplas . . . . . . . . . . . . . . . . . . . . . . . . . 6 Func‚o(cid:152)eserelac‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . . . . . . 7 Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Cadeiaselinguagens . . . . . . . . . . . . . . . . . . . . . . . . 14 Lo·gicabooleana . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Resumodostermosmatema·ticos . . . . . . . . . . . . . . . . . 17 0.3 De(cid:2)nic‚o(cid:152)es,Teoremas,eProvas . . . . . . . . . . . . . . . . . . . 18 Encontrandoprovas . . . . . . . . . . . . . . . . . . . . . . . . 18 0.4 TiposdeProva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Provaporconstruc‚a(cid:152)o . . . . . . . . . . . . . . . . . . . . . . . 22 Provaporcontradic‚a(cid:152)o . . . . . . . . . . . . . . . . . . . . . . . 22 Provaporinduc‚a(cid:152)o . . . . . . . . . . . . . . . . . . . . . . . . . 24 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 26 v vi ·INDICE Parte Um: Auto(cid:136)matos e Linguagens 31 1 LinguagensRegulares 33 1.1 Auto(cid:136)matosFinitos . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Descric‚a(cid:152)oformaldeumauto(cid:136)mato(cid:2)nito . . . . . . . . . . . . . 37 Exemplosdeauto(cid:136)matos(cid:2)nitos . . . . . . . . . . . . . . . . . . 39 De(cid:2)nic‚a(cid:152)oformaldecomputac‚a(cid:152)o . . . . . . . . . . . . . . . . . 43 Projetandoauto(cid:136)matos(cid:2)nitos . . . . . . . . . . . . . . . . . . . 44 Asoperac‚o(cid:152)esregulares. . . . . . . . . . . . . . . . . . . . . . . 47 1.2 Na(cid:152)o-determinismo . . . . . . . . . . . . . . . . . . . . . . . . . . 51 De(cid:2)nic‚a(cid:152)oformaldeumauto(cid:136)mato(cid:2)nitona(cid:152)o-determin·(cid:17)stico . . 57 Equivale(cid:136)nciadeAFNseAFDs . . . . . . . . . . . . . . . . . . 58 Fechosobasoperac‚o(cid:152)esregulares . . . . . . . . . . . . . . . . . 63 1.3 Expresso(cid:152)esRegulares . . . . . . . . . . . . . . . . . . . . . . . . . 67 De(cid:2)nic‚a(cid:152)oformaldeumaexpressa(cid:152)oregular . . . . . . . . . . . 69 Equivale(cid:136)nciacomauto(cid:136)matos(cid:2)nitos . . . . . . . . . . . . . . . 71 1.4 LinguagensNa(cid:152)o-regulares . . . . . . . . . . . . . . . . . . . . . . 82 Olemadobombeamentoparalinguagensregulares. . . . . . . 82 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 87 2 LinguagensLivres-do-Contexto 105 2.1 Grama·ticasLivres-do-Contexto . . . . . . . . . . . . . . . . . . . 106 De(cid:2)nic‚a(cid:152)oformaldeumagrama·ticalivre-do-contexto . . . . . 108 Exemplosdegrama·ticaslivres-do-contexto . . . . . . . . . . . 109 Projetandograma·ticaslivres-do-contexto . . . . . . . . . . . . 110 Ambigu¤idade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 FormanormaldeChomsky . . . . . . . . . . . . . . . . . . . . 113 2.2 Auto(cid:136)matocomPilha . . . . . . . . . . . . . . . . . . . . . . . . . 116 De(cid:2)nic‚a(cid:152)oformaldeumauto(cid:136)matocompilha . . . . . . . . . . 117 Exemplosdeauto(cid:136)matoscompilha . . . . . . . . . . . . . . . . 119 Equivale(cid:136)nciacomgrama·ticaslivres-do-contexto. . . . . . . . . 121 2.3 LinguagensNa(cid:152)o-livres-do-contexto. . . . . . . . . . . . . . . . . 130 Olemadobombeamentoparalinguagenslivres-do-contexto . 131 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 135 Parte Dois: Teoria da Computabilidade 143 3 ATesedeChurch(cid:150)Turing 145 3.1 Ma·quinasdeTuring . . . . . . . . . . . . . . . . . . . . . . . . . 145 De(cid:2)nic‚a(cid:152)oformaldeumama·quinadeTuring . . . . . . . . . . 148 Exemplosdema·quinasdeTuring . . . . . . . . . . . . . . . . . 151 3.2 VariantesdeMa·quinasdeTuring . . . . . . . . . . . . . . . . . . 157 Ma·quinasdeTuringmulti(cid:2)tas . . . . . . . . . . . . . . . . . . 157 Ma·quinasdeTuringna(cid:152)o-determin·(cid:17)sticas . . . . . . . . . . . . . 159 Enumeradores . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ·INDICE vii Equivale(cid:136)nciacomoutrosmodelos . . . . . . . . . . . . . . . . 163 3.3 ADe(cid:2)nic‚a(cid:152)odeAlgoritmo . . . . . . . . . . . . . . . . . . . . . . 164 OsproblemasdeHilbert . . . . . . . . . . . . . . . . . . . . . 164 Terminologiaparadescreverma·quinasdeTuring . . . . . . . . 166 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 169 4 Decidibilidade 175 4.1 LinguagensDecid·(cid:17)veis . . . . . . . . . . . . . . . . . . . . . . . . 176 Problemasdecid·(cid:17)veisconcernentesalinguagensregulares . . . 176 Problemas decid·(cid:17)veis concernentes a linguagens livres-do- contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 4.2 OProblemadaParada . . . . . . . . . . . . . . . . . . . . . . . . 184 Ome·tododadiagonalizac‚a(cid:152)o . . . . . . . . . . . . . . . . . . . 185 Oproblemadaparadae· indecid·(cid:17)vel . . . . . . . . . . . . . . . 190 UmalinguagemTuring-irreconhec·(cid:17)vel . . . . . . . . . . . . . . 193 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 194 5 Redutibilidade 199 5.1 ProblemasIndecid·(cid:17)veisdaTeoriadeLinguagens . . . . . . . . . . 200 Reduc‚o(cid:152)esviahisto·riasdecomputac‚a(cid:152)o . . . . . . . . . . . . . . 205 5.2 UmProblemaIndecid·(cid:17)velSimples . . . . . . . . . . . . . . . . . 211 5.3 RedutibilidadeporMapeamento . . . . . . . . . . . . . . . . . . 218 Func‚o(cid:152)esComputa·veis . . . . . . . . . . . . . . . . . . . . . . . 219 De(cid:2)nic‚a(cid:152)oformalderedutibilidadepormapeamento . . . . . . 220 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 224 6 To·p.Avanc‚adosemTeoriadaComputabilidade 231 6.1 OTeoremadaRecursa(cid:152)o . . . . . . . . . . . . . . . . . . . . . . . 231 Auto-refere(cid:136)ncia . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Terminologiaparaoteoremadarecursa(cid:152)o . . . . . . . . . . . . 236 Aplicac‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.2 Decidibilidadedeteoriaslo·gicas. . . . . . . . . . . . . . . . . . . 239 Umateoriadecid·(cid:17)vel. . . . . . . . . . . . . . . . . . . . . . . . 241 Umateoriaindecid·(cid:17)vel . . . . . . . . . . . . . . . . . . . . . . 244 6.3 Turing-Redutibilidade . . . . . . . . . . . . . . . . . . . . . . . . 247 6.4 UmaDe(cid:2)nic‚a(cid:152)odeInformac‚a(cid:152)o. . . . . . . . . . . . . . . . . . . . 249 Descric‚o(cid:152)esdecomprimentom·(cid:17)inimo . . . . . . . . . . . . . . 250 Otimalidadedade(cid:2)nic‚a(cid:152)o . . . . . . . . . . . . . . . . . . . . . 253 Cadeiasincompress·(cid:17)veisealeatoriedade . . . . . . . . . . . . . 254 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 257 Parte Tre(cid:136)s: Teoria da Complexidade 261 7 ComplexidadedeTempo 263 7.1 MedindoComplexidade . . . . . . . . . . . . . . . . . . . . . . . 263 viii ·INDICE Notac‚a(cid:152)oO-grandeeo-pequeno . . . . . . . . . . . . . . . . . 264 Analisandoalgoritmos . . . . . . . . . . . . . . . . . . . . . . . 267 Relacionamentosdecomplexidadeentremodelos . . . . . . . . 270 7.2 AClasseP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Tempopolinomial . . . . . . . . . . . . . . . . . . . . . . . . . 274 ExemplosdeproblemasemP . . . . . . . . . . . . . . . . . . . 275 7.3 AClasseNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 ExemplosdeproblemasemNP. . . . . . . . . . . . . . . . . . 285 Aquesta(cid:152) PversusNP . . . . . . . . . . . . . . . . . . . . . . . 287 7.4 NP-completetude . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Redutibilidadeemtempopolinomial . . . . . . . . . . . . . . . 290 De(cid:2)nic‚a(cid:152)odeNP-completude . . . . . . . . . . . . . . . . . . . 294 OTeoremadeCook(cid:150)Levin . . . . . . . . . . . . . . . . . . . . 295 7.5 ProblemasNP-completosAdicionais . . . . . . . . . . . . . . . . 302 Oproblemadacoberturadeve·rtices . . . . . . . . . . . . . . . 302 Oproblemadocaminhohamiltoniano . . . . . . . . . . . . . . 305 Oproblemadasomadesubconjuntos . . . . . . . . . . . . . . 312 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 314 8 ComplexidadedeEspac‚o 323 8.1 TeoremadeSavitch. . . . . . . . . . . . . . . . . . . . . . . . . . 326 8.2 AClassePSPACE . . . . . . . . . . . . . . . . . . . . . . . . . . 328 8.3 PSPACE-completude . . . . . . . . . . . . . . . . . . . . . . . . 330 OproblemaTQBF . . . . . . . . . . . . . . . . . . . . . . . . 331 Estrate·giasvencedorasparajogos . . . . . . . . . . . . . . . . . 335 Geogra(cid:2)ageneralizada . . . . . . . . . . . . . . . . . . . . . . 337 8.4 AsClassesLeNL . . . . . . . . . . . . . . . . . . . . . . . . . . 342 8.5 NL-completude . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Buscaemgrafos . . . . . . . . . . . . . . . . . . . . . . . . . . 347 8.6 NLe· igualacoNL . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 351 9 Intratabilidade 357 9.1 TeoremasdeHierarquia . . . . . . . . . . . . . . . . . . . . . . . 358 Completudedeespac‚oexponencial . . . . . . . . . . . . . . . . 366 9.2 Relativizac‚a(cid:152)o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Limitesdome·tododadiagonalizac‚a(cid:152)o . . . . . . . . . . . . . . 373 9.3 ComplexidadedeCircuitos . . . . . . . . . . . . . . . . . . . . . 375 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 385 10 To·p.Avanc‚adosemTeoriadaComplexidade 389 10.1 AlgoritmosdeAproximac‚a(cid:152)o . . . . . . . . . . . . . . . . . . . . . 389 10.2 AlgoritmosProbabil·(cid:17)sticos . . . . . . . . . . . . . . . . . . . . . . 392 AclasseBPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 Primalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Programasrami(cid:2)cantesle(cid:136)-uma-vez. . . . . . . . . . . . . . . . 400 ·INDICE ix 10.3 Alternac‚a(cid:152)o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Tempoeespac‚oalternante . . . . . . . . . . . . . . . . . . . . 407 AhierarquiadetempoPolinomial . . . . . . . . . . . . . . . . 412 10.4 SistemasdeProvaInterativa . . . . . . . . . . . . . . . . . . . . . 412 Na(cid:152)o-isomor(cid:2)smodegrafos . . . . . . . . . . . . . . . . . . . . 413 De(cid:2)nic‚a(cid:152)odomodelo . . . . . . . . . . . . . . . . . . . . . . . 414 IP=PSPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 10.5 Computac‚a(cid:152)oParalela . . . . . . . . . . . . . . . . . . . . . . . . . 426 Circuitosbooleanosuniformes . . . . . . . . . . . . . . . . . . 426 AclasseNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 P-completude . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 10.6 Criptogra(cid:2)a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 Chavessecretas . . . . . . . . . . . . . . . . . . . . . . . . . . 432 Criptossistemasdechave-pu·blica . . . . . . . . . . . . . . . . . 434 Func‚o(cid:152)esunidirecionais . . . . . . . . . . . . . . . . . . . . . . 435 Func‚o(cid:152)esalc‚apa(cid:152)o . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Exerc(cid:17)·cios,Problemas,eSoluc‚o(cid:152)es . . . . . . . . . . . . . . . . . . . . 439 Bibliogra(cid:2)aSelecionada 443 I·ndiceRemissivo 449 P R E F A· C I O A(cid:30) P R I M E I R A E D I C‚ A(cid:152) O AO(A(cid:30)) ESTUDANTE Bem-vindo(a)! Voce(cid:136)esta· prestesaembarcarnoestudodeumassuntofascinanteeimportante:a teoriadacomputac‚a(cid:152)o.Elacompreendeaspropriedadesmatema·ticasfundamen- taisdohardware,dosoftware,edasaplicac‚o(cid:152)esdecomputadores.Estudandoesse assuntobuscamosdeterminaroquepodeeoquena(cid:152)opodesercomputado,qua(cid:152)o rapidamente,comquantodememo·ria, esobrequetipodemodelocomputaci- onal. Oassuntotem conexo(cid:152)es o·bviascomapra·ticadaengenharia, e,comoem muitascie(cid:136)ncias,eletambe·mtemaspectospuramente(cid:2)loso·(cid:2)cos. Seiquemuitosdevoce(cid:136)sesta(cid:152)oansiososparaestudarestematerialmasalguns podena(cid:152)oestaraquiporsuapro·priaescolha. Voce(cid:136)podequererobterumgrauem cie(cid:136)nciaouengenhariadacomputac‚a(cid:152)o,eumcursoemteoriae· requerido(cid:151)Deus sabepor que. A(cid:2)nal de contas,teoria na(cid:152)o e· coisavelha, enjoada,e, pior ainda, irrelevante? Para ver que teoria na(cid:152)o e· nem coisa velha nem enjoada, mas ao contra·rio bastantecompreens·(cid:17)veleate· interessante,continueleia. Cie(cid:136)nciadacomputac‚a(cid:152)o teo·ricadefatotemmuitaside·iasgrandesefascinantes,maselatambe·mtemmui- tos detalhes pequenos e a(cid:30)s vezes tediosos que podem ser cansativos. Aprender qualquerassunto e· trabalho a·rduo, mas (cid:2)ca mais fa·cil e mais divertido se o as- suntoe· devidamente apresentado. Meuobjetivoprincipalaoescreverestelivro e· exporvoce(cid:136) aosaspectosgenuinamenteexcitantesdateoriadacomputac‚a(cid:152)o,sem xi xii PREFA·CIOA(cid:30) PRIMEIRAEDIC‚A(cid:152)O se perder em detalhes cansativos. Claro que a u·nica maneira de determinar se teorialheinteressae· tentaraprende(cid:136)-la. Teoria e· relevante para a pra·tica. Ela prove(cid:136) ferramentas conceituais que os praticantes usam em engenharia da computac‚a(cid:152)o. Projetar uma nova lingua- gem de programac‚a(cid:152)o para uma aplicac‚a(cid:152)o especializada? O que voce(cid:136) aprendeu sobre grama·ticas neste curso vem bem a calhar. Lidar com busca por cadeias e casamento de padro(cid:152)es? Lembre-se de auto(cid:136)matos (cid:2)nitos e expresso(cid:152)es regulares. Confrontadocomumproblemaqueparecerequerermaistempodecomputador doquevoce(cid:136) podesuportar? Pense noquevoce(cid:136) aprendeu sobreNP-completude. Va·riasa·reasdeaplicac‚a(cid:152)otaiscomoprotocoloscriptogra·(cid:2)cosmodernos,sesus- tentamemprinc·(cid:17)piosteo·ricosquevoce(cid:136) vaiaprenderaqui. Teoria tambe·m e· relevante para voce(cid:136) porque ela lhe mostra um lado mais simples, e mais elegante, dos computadores, os quais normalmente considera- mos como sendo ma·quinascomplicadas. Os melhores projetose aplicac‚o(cid:152)es de computadoressa(cid:152)oconcebidoscomelega(cid:136)nciaemmente. Umcursoteo·ricopode elevarseusentidoeste·ticoeajuda·-loaconstruirsistemasmaisbonitos. Finalmente,teoriae·bomparavoce(cid:136)porqueestuda·-laexpandesuamente. Tec- nologiadecomputadoresmudarapidamente. Conhecimentote·cnicoespec·(cid:17)(cid:2)co, emborau·tilhoje,(cid:2)cadesatualizadoemapenasunspoucosanos. Considerepor outroladoashabilidadesdepensar,exprimir-seclaramenteeprecisamente,para resolverproblemas,esaberquandovoce(cid:136) na(cid:152)oresolveuumproblema.Essashabi- lidadeste(cid:136)mvalorduradouro.Estudarteoriatreinavoce(cid:136) nessasa·reas. Considerac‚o(cid:152)espra·ticasa(cid:30) parte,quasetodomundotrabalhandocomcompu- tadorestemcuriosidadesobreessascriac‚o(cid:152)esimpressionantes,suascapacidades,e suaslimitac‚o(cid:152)es. Umnovoramodamatema·ticacresceunosu·ltimos30anospara responderacertasquesto(cid:152)esba·sicas. Aquiesta· umaquepermanecesemsoluc‚a(cid:152)o: Seeulhederumnu·merogrande,digamos,com500d·(cid:17)gitos,voce(cid:136)podeencontrar seusfatores(osnu·merosqueodividem),emumaquantidadedetemporazoa·vel? Mesmousandoumsupercomputador,ningue·matualmenteconhececomofazer issoemtodososcasossemotempodevidadouniverso! Oproblemadafatorac‚a(cid:152)o esta· relacionadoacertosco·digossecretosemcriptossistemasmodernos. Encon- treummaneirara·pidadefatorareafamae· todasua! AO(A(cid:30)) EDUCADOR(A) Este livro pretende ser um texto para o (cid:2)nal da graduac‚a(cid:152)o ou o in·(cid:17)cio da po·s- graduac‚a(cid:152)o em teoria da computac‚a(cid:152)o. Ele conte·m um tratamento do assunto desenhado em torno de teoremas e provas. Fiz algum esforc‚o para acomodar estudantescompoucaexperie(cid:136)nciapre·viaemprovarteoremas,emboraestudantes maisexperientestera(cid:152)oumavidamaisfa·cil. Meu objetivo principal ao apresentar o material tem sido torna·-lo claro e interessante. Ao fazer isso, tenho enfatizado a intuic‚a(cid:152)o e (cid:147)a grande (cid:2)gura(cid:148) no assuntoemdetrimentodealgunsdetalhesdemaisbaixon·(cid:17)vel. Por exemplo, muito embora apresente o me·todo de prova por induc‚a(cid:152)o no Cap·(cid:17)tulo0juntamentecomoutrospreliminaresmatema·ticos,elana(cid:152)odesempe- nhaumpapelimportantesubsequ¤entemente.Geralmentena(cid:152)oapresentoaspro-