ebook img

Introducao a Teoria da Computacao PDF

479 Pages·2005·3.822 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Introducao a Teoria da Computacao

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-

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.