Introdução à Complexidade de Kolmogorov

40

description

Texto introdutório à teoria da informação proposta por Andrei Kolmogorov na década de 60.

Transcript of Introdução à Complexidade de Kolmogorov

Page 1: Introdução à Complexidade de Kolmogorov

Introdu� ~ao �a Complexidade de Kolmogorov�Carlos A. P. CampaniIFM - UFPel - CP 354, CEP 96010-900,Pelotas/RS, Brasil ampani�ufpel.t he.brPaulo Blauth MenezesII - UFRGS - CP 15064, CEP 91501-970,Porto Alegre/RS, Brasilblauth�inf.ufrgs.br1 Introdu� ~aoA omplexidade de Kolmogorov, proposta por Kolmogorov omo uma teoria algo-r��tmi a da aleatoriedade, �e uma teoria profunda e so�sti ada que trata da quantidadede informa� ~ao de objetos individuais, medida atrav�es do tamanho de sua des ri� ~ao al-gor��tmi a. Ela �e uma no� ~ao moderna de aleatoriedade, e refere-se a um on eito pontualde aleatoriedade, ao inv�es de uma aleatoriedade m�edia omo o faz a teoria das probabili-dades.Em 1948, em seu trabalho l�assi o \The Mathemati al Theory of Communi ation", C.Shannon [26℄ fundou uma nova �area ient��� a, fundamentada em teoria das probabilidades[14, 23℄ e em problemas de engenharia rela ionados om omuni a� ~ao de dados, hamadateoria da informa� ~ao. O prop�osito original de Shannon era quanti� ar a informa� ~aoque transita por um sistema omposto de transmissor, re eptor e anal. No entanto,Shannon entendia a informa� ~ao omo o tamanho (ou quantidade) em bits das mensagensque informam sobre objetos uja o orren ia tem uma distribui� ~ao de probabilidade bemde�nida, n~ao expressando nada a respeito das omplexidades dos objetos em si. Nestetexto nos referimos a esta teoria omo teoria da informa� ~ao de Shannon ou teoria dainforma� ~ao l�assi a [6, 15℄.Nos anos 60, Kolmogorov, Solomono� e Chaitin [3, 4, 17, 18, 28, 29℄ desenvolveram, deforma independente, uma teoria da informa� ~ao baseada no tamanho dos programas paraa m�aquina de Turing [8, 13℄. Esta teoria re ebeu v�arios nomes: omplexidade algor��tmi a;teoria algor��tmi a da informa� ~ao; omplexidade de Kolmogorov; K- omplexidade; aleato-riedade de Kolmogorov-Chaitin; omplexidade esto �asti a; omplexidade des ritiva; om-plexidade do tamanho de programas; entropia algor��tmi a; e probabilidade algor��tmi a;entre outras denomina� ~oes. Conven ionou-se hamar a �area generi amente de omplexi-dade de Kolmogorov em homenagem ao famoso matem�ati o russo, e fundador da �area,Andrei Nikolaevi h Kolmogorov (1903-1987).�Este trabalho �e par ialmente �nan iado por: CNPq (Projetos HoVer-CAM, MEFIA), UFRGS (Pro-jeto Hyper-Automaton), FAPERGS (Projeto QaP-For) e CAPES/UFPel.1

Page 2: Introdução à Complexidade de Kolmogorov

Neste trabalho, al�em da teoria, vamos apresentar algumas apli a� ~oes importantes dateoria, parti ularmente as om maior relevan ia em Cien ia da Computa� ~ao. Para a ompreen� ~ao dos prin ipais resultados ser�a ne ess�ario apresentar alguns assuntos de teoriada informa� ~ao l�assi a, embora n~ao seja o objetivo deste texto obrir tais aspe tos em todaa sua profundidade. Devido a limita� ~oes de espa� o, preferimos dar enfase aos prin ipaisresultados te�ori os da �area.Por ser este um texto pioneiro em portugues, adotamos algumas tradu� ~oes de ex-press~oes que n~ao tinham equivalente em nenhuma publi a� ~ao anterior. Optamos portraduzir plain omplexity omo omplexidade b�asi a, referindo-nos �a omplexidade omooriginalmente de�nida por Kolmogorov, e pre�x omplexity omo omplexidade de pre�xopara nos referirmos �a omplexidade de�nida usando-se odi� a� ~ao livre de pre�xo.Entre as origens da omplexidade de Kolmogorov desta am-se:Aleatoriedade Um dos problemas nos fundamentos de teoria das probabilidades �e umala una na de�ni� ~ao de seq�uen ia aleat�oria. Uma de�ni� ~ao formal e robusta deseq�uen ia aleat�oria �e de grande importan ia para os estudos nesta �area. Este �e umdos resultados mais importantes de omplexidade de Kolmogorov;Complexidade Estado-s��mbolo Em um famoso artigo, Shannon [27℄ provou que qual-quer m�aquina de Turing pode ser transformada em uma m�aquina de Turing equi-valente que possui apenas dois estados pelo a r�es imo de s��mbolos ao seu alfabeto.Tamb�em provou que qualquer m�aquina de Turing pode ser transformada em umaequivalente que possui apenas dois s��mbolos em seu alfabeto atrav�es da adi� ~ao denovos estados. Mais importante que isto, observou que o produto estado-s��mbolopermane ia aproximadamente onstante e postulou que este produto ara terizavaa omplexidade de um dado problema;Prin ��pio de O am Este prin ��pio, devido a William of O kham (1290?-1349?), dizque \entidades n~ao devem ser multipli adas al�em da ne essidade". Signi� a que,entre diversas hip�oteses (ou teorias) onsistentes om os fatos, devemos es olher amais simples;Teoria da Informa� ~ao de Shannon A teoria da informa� ~ao l�assi a preo upa-se oma odi� a� ~ao de mensagens. Parti ularmente pro ura obter uma odi� a� ~ao �otima(sem redundan ia). Shannon mostrou que, em um anal sem ru��do (sem erros), otamanho deste �odigo �otimo oin ide om o valor da entropia da distribui� ~ao deprobabilidade da fonte;Teoria da Computabilidade A omplexidade de Kolmogorov �e de�nida usando-se am�aquina de Turing [8, 13℄. A existen ia da m�aquina de Turing universal garanteque a omplexidade de Kolmogorov seja um on eito objetivo, pois a omplexidaden~ao depende da m�aquina es olhida omo referen ia para medi-la.O objetivo original do trabalho de Kolmogorov era obter uma de�ni� ~ao formal deseq�uen ia aleat�oria [12℄. Kolmogorov observou que algumas seq�uen ias bin�arias (seq�uen iasde zeros e uns) podiam ser omprimidas algoritmi amente. Nos dias de hoje, a maioriadas pessoas est�a a ostumada a usar programas de ompress~ao de dados, tais omo winzip,gzip, arj, et . O prin ��pio de fun ionamento destes programas �e en ontrar regularidades noarquivo que deve ser omprimido e substituir estas subseq�uen ias regulares por des ri� ~oesmais urtas. Por exemplo, a string bin�aria1101|{z}pre�xo 000 � � �00| {z }1000 zeros 10110| {z }su�xo2

Page 3: Introdução à Complexidade de Kolmogorov

poderia ser omprimida usando-se o seguinte m�etodo: Ap�os o pre�xo informamos simples-mente que a seguir apare er�a uma seq�uen ia de 1000 zeros. Podemos obter isto odi� andoo pre�xo de forma que ada bit seja dobrado e om o uso do �odigo 01 omo mar a para�nalizar o pre�xo. A seguir, os 1000 zeros s~ao representados pelo n�umero 1000 em bin�ario(100010 = 11111010002) odi� ado da mesma forma, seguido de um zero e do su�xo,obtendo-se ent~ao11110011| {z }pre�xo odi� ado 01|{z}mar a 11111111110011000000| {z }1000 em bin�ario odi� ado 01|{z}mar a 0|{z}0 10110| {z }su�xo ;signi� ando 1101 + 1000� 0 + 10110.Esta des ri� ~ao, obtida da string bin�aria original de 1009 bits, possui apenas 38 bits.Este m�etodo poderia ser repetido para todas as subseq�uen ias longas de zeros e uns dastring, por�em este m�etodo n~ao �e muito geral e e� iente.Kolmogorov postulou que seq�uen ias que n~ao podem ser omprimidas algoritmi amen-te em uma des ri� ~ao de tamanho muito menor que a seq�uen ia original s~ao seq�uen iasaleat�orias (no sentido esto �asti o do termo). Assim, as seq�uen ias simples s~ao aquelasque apresentam regularidade e as seq�uen ias omplexas (ou aleat�orias) s~ao aquelas queapresentam irregularidade (s~ao in ompress��veis).Poderiamos omparar a omplexidade de Kolmogorov de uma string om o \tamanho omprimido" da string. A omplexidade de Kolmogorov asso ia a ada string bin�aria umvalor que �e a sua \ omplexidade", de�nida omo o tamanho de sua des ri� ~ao. Assim, se dizque um objeto �e simples se possui uma des ri� ~ao urta. Por exemplo, o n�umero 1000000,embora grande, possui baixa omplexidade pois pode ser representado pela des ri� ~ao \ummilh~ao", enquanto que 1000277, mesmo tendo a mesma magnitude, possui uma des ri� ~aomaior (\um milh~ao duzentos e setenta e sete"). Ainda permane e uma d�uvida, poisdiferentes m�etodos de des ri� ~ao resultam em diferentes valores de \ omplexidade". Porexemplo, usando a representa� ~ao num�eri a na base 2 omo m�etodo de des ri� ~ao, 102410(= 210 = 100000000002) pare e ser mais \simples" que 100010, enquanto que na base 10pare e o ontr�ario. Kolmogorov resolveu este problema mostrando que existe um m�etodoinvariante (ou assintoti amente �otimo) para medir a omplexidade.Se vo e fosse desa�ado a apostar ontra uma moeda e fosse apresentado a umaseq�uen ia de 20 aras, vo e duvidaria da honestidade da moeda, pois tais seq�uen iasregulares, na distribui� ~ao uniforme, s~ao raras. Isto se deve ao fato de existirem maisdes ri� ~oes longas que urtas e, portanto, faltam des ri� ~oes urtas para des rever stringsmais longas. Podemos provar isto por um argumento simples de ontagem. Seja n1 < n2,ent~ao o n�umero de des ri� ~oes bin�arias urtas de tamanho n1 �e 2n1 e o n�umero de stringsbin�arias longas de tamanho n2 �e 2n2, om 2n1 muito menor que 2n2. Assim, a maioria dasstrings bin�arias, na distribui� ~ao uniforme, s~ao irregulares.Podemos identi� ar as des ri� ~oes om programas para a m�aquina de Turing (pro edi-mentos efetivos) e as strings om suas sa��das. Assim, na nossa ompara� ~ao om programasde ompress~ao de dados, o arquivo omprimido seria a des ri� ~ao, e o programa de des- ompress~ao seria a m�aquina de Turing. Mas, qual dos in�nitos programas que omputamuma dada string devemos es olher para expressar esta medida de omplexidade? Pode-mos identi� ar os programas para a m�aquina de Turing om hip�oteses (ou teorias) sobre aregra de forma� ~ao da string dada. Dentro do esp��rito do prin ��pio de O am, es olhemoso menor programa que omputa a string omo medida da omplexidade. A omplexidadede Kolmogorov �e simplesmente o tamanho da menor des ri� ~ao efetiva ( omput�avel) que omputa um determinado objeto, ou seja, o menor programa que omputa uma sa��da.Ela de�ne uma medida quantitativa do onte�udo de informa� ~ao do objeto. Al�em disto,podemos de�nir uma omplexidade ondi ional de x dado que se onhe e y. Neste aso,3

Page 4: Introdução à Complexidade de Kolmogorov

y fun iona omo uma \di a" para a m�aquina omputar x, e esta omplexidade expressaa quantidade de informa� ~ao que deve ser agregada �a informa� ~ao ontida em y para obterx. Suponha que um amigo seu viajasse para Marte e esque esse de levar a tabela delogaritmos om ele. Vo e poderia enviar para ele a tabela literalmente, bit a bit, usandosua onex~ao de internet interstelar. No entanto, uma forma de e onomizar a sua onex~ao om Marte seria enviar para ele um programa que omputa a tabela (o que ele estariafazendo em Marte, pre isando de uma tabela de logaritmos, e ainda por ima sem uma al uladora que possua a fun� ~ao logaritmo prede�nida?!). Este programa, omo sabemos,�e muitas vezes menor que a tabela de logaritmos. Desta forma, a tabela de logaritmos�e um objeto de baixa omplexidade de Kolmogorov, pois sua des ri� ~ao �e muito menorque o seu tamanho literal. Na verdade, o pro esso de omprimir dados �e um aspe toessen ial na ien ia. \Fazer ien ia" �e omprimir uma grande quantidade de informa� ~oessobre um fenomeno (as observa� ~oes) em uma des ri� ~ao m��nima (uma teoria) [3℄. �E f�a ilper eber que a de�ni� ~ao de seq�uen ia aleat�oria baseada em omplexidade de Kolmogorov�e muito r��gida e ex lui qualquer algoritmo que gera n�umeros pseudo-aleat�orios de podergerar n�umeros genuinamente aleat�orios, pois tal seq�uen ia de n�umeros �e gerada por umprograma simples e, portanto, a seq�uen ia obtida tem uma des ri� ~ao muito pequena.Por�em, diferentes programas de ompress~ao/des ompress~ao podem forne er diferentestaxas de ompress~ao e esta medida de omplexidade passa a depender do programa de ompress~ao usado (m�aquina de Turing es olhida). Se vo e pre isasse enviar um arqui-vo omprimido a um amigo e n~ao tivesse erteza que seu amigo possui o programa dedes ompress~ao adequado, vo e poderia enviar junto om os dados omprimidos o pr�oprioprograma de des ompress~ao. Este �e o prin ��pio usado nos arquivos que podem ser auto-extraidos. Desta forma, o tamanho de qualquer arquivo omprimido seria a soma dostamanhos dos dados omprimidos e do programa. A m�aquina do seu amigo agiria o-mo uma m�aquina universal, exe utando (ou simulando) o programa de des ompress~ao.Ent~ao, a omplexidade expressa em qualquer m�aquina seria a mesma, a menos de uma onstante (o tamanho do programa de simula� ~ao) que �e independente dos dados a serem omprimidos e, portanto, assintoti amente desprez�avel.Suponha que vo e deva omputar algum resultado usando omo linguagem de progra-ma� ~ao BASIC e depois PROLOG. Sabendo que existe um interpretador BASIC es rito emPROLOG e vi e-versa, vo e sabe que os programas em ambas as linguagens ter~ao o mesmotamanho, a n~ao ser por uma onstante que n~ao depende do problema sendo resolvido, ques~ao os tamanhos dos interpretadores de ambas as linguagens. Neste sentido, os interpre-tadores BASIC e PROLOG s~ao m�aquinas universais, e os programas BASIC/PROLOGs~ao as des ri� ~oes da sa��da desejada. Hoje em dia �e muito omum o uso de emuladoresde m�aquinas, que permitem o uso de um programa desenvolvido para uma m�aquina ouarquitetura em outra. Este tipo de programa aptura a id�eia de simula� ~ao de m�aquinas.O uso de fun� ~oes par iais re ursivas (m�aquinas de Turing) omo m�etodo de espe i�- a� ~ao da omplexidade permite a existen ia de um m�etodo universal (m�aquina de Turinguniversal), tornando as omplexidades expressas em diferentes m�etodos assintoti amenteiguais. Isto ara teriza esta omplexidade omo um atributo intr��nse o do objeto [2℄.Em 1964 Solomono� publi ou um modelo de inferen ia indutiva (previs~ao por om-press~ao de dados) [28, 29℄, que onstituiu-se naquilo que muitos on ordam foi uma dasmaiores ontribui� ~oes feitas por um pesquisador da �area. Tal modelo onstitui-se emuma teoria geral do ra io ��nio indutivo om grande poten ial de apli a� ~ao em inteligen iaarti� ial. Seja j:j o tamanho de uma string bin�aria e U uma m�aquina universal. Elepropos identi� ar a probabilidade pr�evia sobre todas as strings bin�arias om o tamanho4

Page 5: Introdução à Complexidade de Kolmogorov

dos programas para U que omputam a string dada,PU(x) = Xp omputa x em U 2�jpj :Ele provou que basta forne er a probabilidade expressa pelo menor programa, poisela \absorve" as restantes. Seja m esta distribui� ~ao pr�evia universal dis reta. Usando-sea pr�evia universal na regra de Bayes [23℄ �e poss��vel inferir valores futuros de qualquerseq�uen ia. Pela regra de Bayes sabemos que a probabilidade de uma string x ser seguidade um 1 �e a fra� ~ao entre a probabilidade pr�evia de x1 pela probabilidade de x, m(1jx) =m(x1)=m(x). Esta abordagem identi� a o fenomeno omputa ional n~ao s�o omo umfenomeno algor��tmi o, mas tamb�em omo um fenomeno probabil��sti o.Uma das grandes vantagens das provas matem�ati as usando-se a omplexidade deKolmogorov �e que, diferentemente do que o orre nas provas tradi ionais que devem on-siderar todas as instan ias do problema, estas provas usam apenas uma string bin�ariaque �e tomada omo aleat�oria. Usualmente o m�etodo tenta estabele er uma ontradi� ~ao,supondo a string in ompress��vel e deduzindo que ela �e ompress��vel. Por exemplo, a provaque existem in�nitos n�umeros primos (M. Li & P. Vit�anyi [22℄, exemplo 1.1.2, p�agina 4).Basta supor o ontr�ario. Ent~ao, qualquer n�umero n pode ser expresso omo poten iasdos m n�umeros primos da hip�otese. Assim, qualquer n�umero poderia ser expresso omon = pa11 pa22 : : : pamm , onde p1; p2 : : : pm s~ao primos. As poten ias a1; a2 : : : am tem magnitudelogn e, portanto, poder��amos des rever n omm log logn bits. Como um n in ompress��veln~ao pode ser expresso om menos de logn bits, temos uma ontradi� ~ao. �E importanteobservar que neste trabalho log sempre denotar�a o logaritmo na base dois.2 Nota� ~aoNeste texto ser�a usada a nota� ~ao j�a onsagrada no livro de M. Li & P. Vit�anyi [22℄, om pequenas adapta� ~oes. Seguimos a onven� ~ao de hamar a omplexidade b�asi a deC, a omplexidade de pre�xo de K e a semimedida enumer�avel universal dis reta de m.Seguindo a onven� ~ao usada em [32℄, hamamos a maior fun� ~ao monotoni a res ente quelimita C(:) por baixo de m(:). Pr(A) denota a probabilidade de algum evento aleat�orioA e Pr(AjB) a probabilidade ondi ional de A dado que o orreu B. Pr(A \ B) �e aprobabilidade da o orren ia simultanea dos eventos A e B [23℄.R e N denotam, respe tivamente, o onjunto dos n�umeros reais e o onjunto dosn�umeros naturais. A ardinalidade de um onjunto A �e indi ada por A. Se (x; y) �eum elemento do produto artesiano A � B ent~ao x 2 A e y 2 B. Denotamos por[a; b℄; [a; b); (a; b℄ e (a; b) os intervalos abertos e/ou fe hados, om a; b 2 R.Denotamos o tamanho de uma string bin�aria (n�umero de d��gitos bin�arios) por j:j.Assim, j1010j = 4. O valor absoluto de um n�umero �e denotado por abs(:). Ent~ao,abs(�2) = 2. min f denota o valor m��nimo de f . Por exemplo, minf3; 7; 10g = 3. maxdenota o valor m�aximo de um onjunto. Representamos a on atena� ~ao de duas strings xe y por xy, e hamamos x pre�xo de xy. Todos os log s~ao sempre logaritmos na base dois.Se x �e uma string bin�aria, x denota a vers~ao autodelimitada de x. Se X1; X2; X3; : : : �euma seq�uen ia de vari�aveis aleat�orias, Xn denota 1nPXi.�� designa o onjunto in�nito de palavras de tamanho maior ou igual a zero sobreo alfabeto �, e �+ denota o onjunto in�nito de todas as palavras de tamanho maiorque zero. Denotamos a string aaaaa : : : a, omposta por n s��mbolos a, omo an. �representa a string ou palavra vazia, e j�j = 0. f0; 1g1 representa o onjunto de todas asstrings bin�arias unidire ionais in�nitas. Se x 2 f0; 1g1 e, portanto, x = x1x2x3 : : : , ent~aox1:n = x1x2 : : : xn. O ilindro �x denota o onjunto �a 2 f0; 1g1 : a1:jxj = x.5

Page 6: Introdução à Complexidade de Kolmogorov

b: ( h~ao) representa o maior n�umero inteiro menor ou igual a um n�umero. Assim,b2,7 = 2. d:e (teto) denota o menor inteiro maior ou igual a um n�umero. Por exemplo,d2,7e = 3. � denota o predi ado \muito menor que".Letras aligr�a� as mai�us ulasM;U ; : : : s~ao usadas para designar m�aquinas, de formaqueMp = x signi� a que o programa p omputa a string x na m�aquinaM. x� denota omenor programa que omputa a string ou o n�umero natural x.f(x) " g(x) signi� a que a fun� ~ao f se aproxima por baixo da fun� ~ao g no ponto x.fn ! f signi� a que a seq�uen ia de fun� ~oes fn onverge para f .O somat�orio ser�a indi ado porP e o produt�orio por Q. Pnk=0 ak denota o somat�orioa0+a1+a2+ � � �+an. Px2� denota o somat�orio sobre todos os elementos de um onjunto�, e Px pode ser usado quando o dom��nio de x �e onhe ido e �obvio. Adi ionalmente,podemos indi ar um predi ado que limita o somat�orio, por exemplo, Pi:i<j signi� a osomat�orio sobre todos os i menores que j.Finalmente, O(:) designa a nota� ~ao assint�oti a. Portanto, se f(x) �e O(g(x)), ent~aopara todo x � x0, f(x) � g(x), para algum x0 e alguma onstante .3 Entropia e Informa� ~aoSuponha pensar na informa� ~ao em termos de mensagens enviadas por um anal que one ta um transmissor e um re eptor [6, 26℄. Podemos transmitir os dados atrav�es de �odigos alfanum�eri os, bin�arios, �odigo Morse , et . A �uni a exigen ia �e que transmissore re eptor on ordem sobre a interpreta� ~ao de ada um dos �odigos poss��veis usados na omuni a� ~ao. Por exemplo, se estiv�essemos informando o re eptor sobre os resultadosde uma vota� ~ao sobre qual livro de �Eri o Ver��ssimo, entre \Olhai os L��rios do Campo"e \In idente em Antares", �e o melhor, transmissor e re eptor deveriam on ordar emrepresentar o primeiro livro por um 0 e o segundo por um 1 ou vi e-versa. Assim, adavoto seria representado por uma mensagem de tamanho um bit. �E importante observarque, neste trabalho, vamos supor que o anal �e sem ru��do (sem erros).Pensemos nas poss��veis mensagens omo seq�uen ias de s��mbolos do onjunto � =fa1; a2; : : : ; ang. Por exemplo, se estiv�essemos omuni ando resultados de lan� amentossu essivos de um dado teriamos � = f1; 2; 3; 4; 5; 6g, om ardinalidade � = 6.Qual a quantidade de informa� ~ao enviada em uma mensagem deste tipo?Um indiv��duo razoavelmente envolvido pro�ssionalmente om a �area de omputa� ~aonaturalmente identi� aria o onte�udo de informa� ~ao de um objeto om o tamanho em bitsdo objeto, por exemplo, o tamanho de um arquivo de um ban o de dados. Ent~ao, podemosrotular ada s��mbolo de � om n�umeros bin�arios (strings de bits). Logo, poderiamosrepresentar os n elementos de � = fa1; a2; : : : ; ang usando logn bits.Surpreendentemente podemos ter tamanhos de �odigo at�e menores que logn. Porexemplo, seja � = fa1; a2; a3; a4g om probabilidades de o orren ia dos s��mbolos Pr(a1) =3=4, Pr(a2) = 1=8, Pr(a3) = 1=16 e Pr(a4) = 1=16.Podemos usar um sistema de odi� a� ~ao mais e� iente que o enumerativo. Este sis-tema se hama �odigo pre�xado. A Tabela 1 ompara os dois tipos de odi� a� ~ao para oexemplo.O n�umero m�edio de bits transmitidos em uma mensagem as1; as2 ; : : : ; asm de tamanhom �e 1mPmk=1 jE(ask)j, onde E(x) denota a palavra de �odigo da mensagem x.De�nimos L, o tamanho do �odigo, omo sendo o n�umero m�edio de bits transmitidosquando m!1. Assim,L = limm!1 1m mXk=1 jE(ask)j = �Xi=1 Pr(ai) jE(ai)j :6

Page 7: Introdução à Complexidade de Kolmogorov

Mensagem C�odigo Enumerativo C�odigo Pre�xadoa1 00 0a2 01 10a3 10 110a4 11 111Tabela 1: Codi� a� ~ao enumerativa e pre�xadaCal ulando para o exemplo,C�odigo enumerativo L = 342 + 182 + 1162 + 1162 = 2 bits (= log�) ;C�odigo pre�xado L = 341 + 182 + 1163 + 1163 = 1; 375 bits (< log�) .De�ni� ~ao 1 Uma odi� a� ~ao bin�aria E : �! f0; 1g+ �e um mapeamento do onjunto �de todas as mensagens para o onjunto de todas as strings bin�arias de tamanho maior quezero. O mapeamento E asso ia uma palavra de �odigo E(x) para ada mensagem x 2 �.De�ni� ~ao 2 Seja x; y 2 f0; 1g�. N�os hamamos x um pre�xo de y se existe um z tal quey = xz. Um onjunto � � f0; 1g+ �e livre de pre�xo se nenhum elemento de � �e pre�xode outro elemento de �.De�ni� ~ao 3 Uma odi� a� ~ao bin�aria �e livre de pre�xo se ela gera um onjunto de �odigoslivres de pre�xo (por exemplo, veja o �odigo pre�xado da Tabela 1).Toda odi� a� ~ao livre de pre�xo �e dita uni amente de odi� �avel e instantaneamentede odi� �avel, signi� ando que ada mensagem pode ser de odi� ada sem ambig�uidades esem a ne essidade de referen ias a futuras palavras de �odigo.O Algoritmo 1 �e um exemplo de algoritmo de odi� a� ~ao livre de pre�xo [22℄.Algoritmo 1 Podemos de�nir uma fun� ~ao simples para odi� ar strings om �odigoslivres de pre�xo reservando um s��mbolo, neste aso o 0, omo s��mbolo de �naliza� ~ao [22℄.N�os podemos pre�xar um objeto om o seu tamanho e repetir esta id�eia para obter �odigosmais urtos usando a fun� ~aoEi(x) = � 1x0 para i = 0Ei�1(jxj)x para i > 0 :Ent~ao, E1(x) = jxj vezesz }| {111 � � �1 0x = 1jxj0x, om tamanho jE1(x)j = 2jxj+1. Esta odi� a� ~ao�e t~ao importante que mere e uma nota� ~ao pr�opria, x = 1jxj0x.Para obter �odigos mais urtos podemos al ular E2(x), E2(x) = jxjx, om tamanhojE2(x)j = jxj+2��jxj��+1, onde ��jxj�� denota o tamanho em bits do tamanho de x, ou seja,jlj, onde l = jxj.N�os hamamos x a vers~ao autodelimitada da string x. Strings bin�arias odi� adasdesta forma possuem a not�avel propriedade de onhe erem seu pr�oprio tamanho. Assim,�e poss��vel obter x e y a partir de xy sem ambig�uidades. Sejam as strings x = 11001e y = 101, logo, xy = 11111011001101, e podemos obter as strings originais lendo otamanho da primeira string em seu pre�xo.Na teoria das probabilidades um sistema de eventos elementares A1; A2; : : : ; An ex-pressa um onjunto de eventos em que apenas um pode o orrer em um resultado de umexperimento (por exemplo, o apare imento de 1,2,3,4,5 ou 6 no lan� amento de um dado),7

Page 8: Introdução à Complexidade de Kolmogorov

e �e hamado espa� o amostral. Dados um sistema de eventos A1; A2; A3; : : : ; An junto omsuas probabilidades p1; p2; p3; : : : ; pn om pi � 0 e Pni=1 pi = 1, hamamosA = � A1 A2 A3 : : : Anp1 p2 p3 : : : pn � (1)de esquema �nito.�E interessante apresentar uma medida do grau de in erteza asso iado a um experi-mento. Esta medida hama-se entropia [6, 15℄.O on eito de entropia originou-se na me ani a estat��sti a, onde ela �e de�nida omoo logaritmo natural do n�umero de estados de um ensemble, assim, H = lnN . O uso dologaritmo objetivava de�nir uma es ala logar��tmi a para a entropia. Shannon de�niu aentropia usando o logaritmo na base dois (devido �a odi� a� ~ao bin�aria) e atribuindo pesos(probabilidades) a ada um dos estados do ensemble, H = �p1 log p1 � p2 log p2 � � � � �pN log pN . �E f�a il ver que se os estados s~ao equiprov�aveis (pi = 1=N), esta formula� ~ao sereduz a H = logN .De�ni� ~ao 4 A entropia do esquema �nito (1) �e de�nida omoH(p1; p2; p3; : : : ; pn) = � nXk=1 pk log pk :Um resultado interessante de teoria da informa� ~ao �e a prova de que a entropia de umpro esso esto �asti o (fonte erg�odi a) oin ide om o tamanho de �odigo de um �odigo�otimo (que minimiza redundan ia na omuni a� ~ao) para as mensagens da fonte [6℄. Apre-sentaremos este resultado no Teorema 29.Uma ferramenta muito importante para prova de propriedades da entropia �e a Desi-gualdade de Jensen, que pode ser apli ada sobre fun� ~oes onvexas [6, 10, 15℄.De�ni� ~ao 5 Seja I um intervalo n~ao vazio em R. Uma fun� ~ao � �e dita onvexa em Iquando �[�1x1 + �2x2℄ � �1�(x1) + �2�(x2), para �1; �2 � 0, �1 + �2 = 1 e x1; x2 2 I.Para uma fun� ~ao onvexa � em I, o valor da fun� ~ao � dentro do intervalo I est�asempre abaixo do segmento P1P2, onde P1 = (x1; �(x1)) e P2 = (x2; �(x2)). Portanto,para que isto o orra, basta que a primeira derivada da fun� ~ao seja sempre res ente nointervalo I.Exemplo 1 A fun� ~ao log(1=x) �e onvexa no intervalo (0; 1℄, pois sua segunda derivada�e log e=x2, que �e sempre positiva no intervalo.Teorema 1 (Desigualdade de Jensen) Seja I um intervalo n~ao vazio em R e � : I ! R onvexa em I. Ent~ao para qualquer onjunto fx1; x2; : : : xng � I e qualquer onjunto den�umeros f�1; �2; : : : �ng satisfazendo �k � 0, para 1 � k � n e Pnk=1 �k = 1, vale que� nXk=1 �kxk! � nXk=1 �k�(xk) :Prova: O enun iado �e trivialmente verdadeiro para n = 2, �(�1x1+�2x2) � �1�(x1)+�2�(x2), pois esta �e a pr�opria de�ni� ~ao de fun� ~ao onvexa.Supomos que a rela� ~ao vale para n� 1. Seja agora um onjunto fx1; x2 : : : xng � I ef�1; �2; : : : �ng nas ondi� ~oes da hip�otese. Observamos que se �n = 0 ou �n = 1 nada h�a8

Page 9: Introdução à Complexidade de Kolmogorov

para provar. Supomos ent~ao �n 2 (0; 1), ent~ao Pn�1k=1 �k 2 (0; 1) e Pn�1k=1 �k = 1 � �n 2(0; 1).Fazemos �0k = �k1��n , para k = 1; 2; : : : n� 1. Observamos que Pn�1k=1 �0kxk 2 I.Sendo assim, pela onvexidade de � em I segue que� nXk=1 �kxk! = � (1� �n) n�1Xk=1 �0kxk + �nxn!� (1� �n)� n�1Xk=1 �0kxk!+ �n�(xn)e ent~ao, pela hip�otese indutiva,(1� �n)� n�1Xk=1 �0kxk! � (1� �n) n�1Xk=1 �0k�(xk) = n�1Xk=1 �k�(xk) :Assim, � nXk=1 �kxk! � nXk=1 �k�(xk) : 2Baseado na Desigualdade de Jensen podemos provar a seguinte propriedade da fun� ~ao onvexa log 1=x, que ser�a muito �util mais adiante.Teorema 2 Seja ai; bi � 0, para 1 � i � n, om Pni=1 ai > 0 e Pni=1 bi > 0. Ent~ao,nXi=1 ai log �aibi � � " nXi=1 ai# log �Pni=1 aiPni=1 bi � :Prova: Seja xi = biai , om yi = aiPnj=1 aj que impli a Pni=1 yi = 1. Segue que,nXi=1 ai log � 1xi� = " nXi=1 ai# nXi=1 yi log � 1xi� :Pela onvexidade da fun� ~ao log(1=x), e apli ando a Desigualdade de Jensen, omxk = 1=xi e �k = yi (observe que satisfaz o enun iado do Teorema 1, pois �k � 0 ePk �k = 1), obtemos" nXi=1 ai# nXi=1 yi log � 1xi� � " nXi=1 ai# log � 1Pni=1 yixi� = " nXi=1 ai# log �Pni=1 aiPni=1 bi � :E est�a provado o Teorema. 24 Complexidade de Kolmogorov4.1 Complexidade B�asi aAssumimos que existe um m�etodo de espe i� a� ~ao f que asso ia no m�aximo um objetox om uma des ri� ~ao y [22℄. Seja A o onjunto dos objetos e seja B o onjunto dasdes ri� ~oes, ent~ao f(y) = x, para x 2 A e y 2 B. Chamamos f�1 de m�etodo de odi� a� ~ao.9

Page 10: Introdução à Complexidade de Kolmogorov

Assumimos alguma enumera� ~ao padr~ao dos objetos x 2 A por n�umeros naturais n(x).Podemos entender tal m�etodo de espe i� a� ~ao omo uma fun� ~ao par ial sobre o on-junto dos naturais de�nida omo f(p) = n(x), onde p representa uma des ri� ~ao de x omrela� ~ao a f . Por enquanto n~ao faremos nenhuma restri� ~ao sobre a lasse dos m�etodosde espe i� a� ~ao e assumiremos que f pode ser qualquer fun� ~ao par ial arbitrariamentees olhida.Representamos as des ri� ~oes e objetos omo seq�uen ias de zeros e uns (strings bin�arias).Existe uma enumera� ~ao das strings bin�arias que segue a ordem lexi ogr�a� a,� 0 1 2 3 4 5 6 7 8 � � �� 0 1 00 01 10 11 000 001 � � � � :O n�umero natural i representa a i-�esima string bin�aria (a string si). Ent~ao, jsij =blog(i + 1) . Lembramos que j:j denota o tamanho em bits de uma string bin�aria, e b: denota o maior n�umero inteiro menor ou igual a um n�umero dado.De agora em diante n~ao faremos distin� ~ao entre strings bin�arias e n�umeros naturais.Assim, podemos de�nir o \tamanho" de um n�umero natural, rees revendo si omo i. Al�emdisto, podemos de�nir fun� ~oes sobre o onjunto dos naturais � : N ! N omo fun� ~oessobre strings bin�arias � : f0; 1g� ! f0; 1g� e vi e-versa. Ent~ao, podemos representarobjetos e des ri� ~oes omo strings bin�arias ou n�umeros naturais.No que se segue f : N ! N e g : N ! N denotam duas fun� ~oes par iais quaisquer.De�ni� ~ao 6 Seja x 2 A um objeto qualquer. A omplexidade do objeto x om respeito aum m�etodo de espe i� a� ~ao f �e de�nida omoCf(x) = minf(p)=n(x) jpj :Se n~ao existe uma des ri� ~ao dizemos, por de�ni� ~ao, que Cf(x) =1.Ou seja, a omplexidade de x om respeito a um m�etodo de espe i� a� ~ao f �e o tamanhoda sua menor des ri� ~ao.Considere um onjunto de m�etodos de espe i� a� ~ao distintos f0; f1; f2; : : : ; fr�1 queespe i� am objetos de A. �E f�a il onstruir um novo m�etodo f , n~ao ne essariamenteperten ente a este onjunto, que atribui aos elementos de A uma omplexidade que ex edeapenas por uma onstante a omplexidade expressa por todos os outros m�etodos do onjunto.N�os dizemos que o m�etodo f minora (ou minora aditivamente) um m�etodo g se existeuma onstante > 0 tal que Cf(x) � Cg(x) + , om � log r, pois pre isamos apenasde log r bits para espe i� ar as fun� ~oes do onjunto.De�ni� ~ao 7 Seja F uma sub lasse das fun� ~oes par iais sobre o onjunto dos naturais.Uma fun� ~ao f �e universal (ou assintoti amente �otima) para F se ela perten er a F epara toda fun� ~ao g 2 F , existe uma onstante f;g > 0 que depende apenas de f e g, talque Cf(x) � Cg(x) + f;g.A existen ia de um elemento universal no onjunto dos m�etodos de espe i� a� ~ao per-mite que este seja usado omo m�etodo de referen ia para a de�ni� ~ao da omplexidade,tornando a medida de omplexidade independente do m�etodo de espe i� a� ~ao es olhido,a n~ao ser por uma onstante. Permite assim que a medida da omplexidade seja umatributo intr��nse o do objeto, o que a torna um on eito objetivo e �util [2℄.10

Page 11: Introdução à Complexidade de Kolmogorov

De�ni� ~ao 8 Dois m�etodos f e g s~ao equivalentes se abs(Cf (x)�Cg(x)) � f;g, onde f;gn~ao depende de x. abs(:) denota o valor absoluto de um n�umero.Dois m�etodos f e g s~ao equivalentes se ada um minora o outro.Por exemplo, suponha duas linguagens de programa� ~ao tais omo BASIC e PROLOG[22℄. Como podemos es rever um interpretador BASIC em PROLOG e um interpretadorPROLOG em BASIC, podemos dizer queabs(CBASIC(x)� CPROLOG(x)) � BASIC;PROLOG ;onde BASIC;PROLOG depende apenas das linguagens BASIC e PROLOG. Seja �BASIC o �odigo ne ess�ario para interpretar BASIC em PROLOG e �PROLOG o �odigo ne ess�ariopara interpretar PROLOG em BASIC, ent~ao BASIC;PROLOG �e O(j�BASICj)+O(j�PROLOGj),a soma dos tamanhos de �BASIC e �PROLOG.Teorema 3 A lasse das fun� ~oes par iais n~ao possui um elemento universal.Prova: Suponha que f �e um elemento universal do onjunto das fun� ~oes par iais.Tome uma seq�uen ia in�nita p1; p2; p3; : : : de des ri� ~oes, tal que p1 < p2 < p3 < � � � ef(pi) = n(xi), para i � 1, om pi m��nimo. Sele ione uma subseq�uen ia q1; q2; q3; : : : daseq�uen ia original, tal que jpij < jqij=2. De�na outra fun� ~ao g tal que g(pi) = f(qi), parai � 1. Ent~ao, omo pi des reve, usando g, o mesmo objeto que qi des reve usando f ,Cg(x) � Cf(x)=2, o que �e uma ontradi� ~ao om nossa hip�otese de que f �e um elementouniversal. 2Portanto, n~ao podemos usar as fun� ~oes par iais omo m�etodo de espe i� a� ~ao. A omplexidade de Kolmogorov, ao ontr�ario, usa omo m�etodo de espe i� a� ~ao as fun� ~oespar iais re ursivas (pro edimentos efetivos). Isto permite que exista um elemento univer-sal no onjunto dos m�etodos de espe i� a� ~ao, j�a que existe uma fun� ~ao par ial re ursivauniversal. Originalmente alguns autores hamaram a omplexidade de Kolmogorov deentropia algor��tmi a ou informa� ~ao algor��tmi a.As fun� ~oes par iais re ursivas foram propostas omo uma formaliza� ~ao do on eito de\ omput�avel" (em um sentido vago e intuitivo). Uma formaliza� ~ao alternativa foi pro-posta por Turing, baseada em uma m�aquina de manipula� ~ao simb�oli a hamada m�aquinade Turing [8, 13℄. Prova-se que os formalismos m�aquina de Turing e fun� ~oes par iaisre ursivas s~ao equivalentes, o que permitiu a Turing e Chur h enun iarem a seguinteTese.Tese de Turing-Chur h A lasse das fun� ~oes algoritmi amente omput�aveis (em umsentido intuitivo) oin ide om a lasse das fun� ~oes par iais re ursivas (ou dasfun� ~oes omputadas pela m�aquina de Turing).Teorema 4 O onjunto dos programas �e enumer�avel.Prova: Basta apresentar uma bije� ~ao entre o onjunto dos programas e o onjunto dosnaturais (veja dis uss~ao em T. Div�erio & P. Menezes [8℄, se� ~ao 3.1, p�agina 68, a qualdeve ser adaptada para prover a bije� ~ao). 2Se asso iarmos �a ada m�aquina de Turing um programa que representa o seu ontrole�nito, hamado \programa de hardware", podemos on luir que o onjunto das m�aquinastamb�em �e enumer�avel.Corol�ario 1 O onjunto das m�aquinas de Turing �e enumer�avel.11

Page 12: Introdução à Complexidade de Kolmogorov

������������

������������

Controle Finito10011010011010 11010010001011

Fita de Entradaou de Programa

Fita de Trabalho

Fita de Saída

1001110 101

cabeçoteFigura 1: Computador on retoAssim, podemos de�nir uma enumera� ~ao padr~ao das m�aquinas de Turing,M0;M1;M2; : : :Seja �1; �2; �3; : : : uma enumera� ~ao das fun� ~oes par iais re ursivas. Ent~ao, existe umafun� ~ao �0, hamada fun� ~ao par ial re ursiva universal, tal que, para todo i, �0(i; x) =�i(x) [7, 22℄.Consideremos uma m�aquina de TuringM que a partir de uma string bin�aria p e umn�umero natural y omputa a sa��da x,Mp;y = x. N�os dizemos queM interpreta p omouma des ri� ~ao de x na presen� a da informa� ~ao lateral y. Em outras palavras, p �e umM-programa que transforma y em x.Devemos mostrar omo onstruir um omputador on reto para tratar om esta de-�ni� ~ao (veja a Figura 1). A m�aquina trabalha sobre strings bin�arias e possui tres �tas.A primeira �e hamada de �ta de entrada (ou �ta de programa) e �e uma �ta limitada,somente de leitura e unidire ional. A segunda �e hamada de �ta de sa��da e �e uma �taunidire ional somente de es rita. A ter eira �ta �e hamada �ta de trabalho e �e uma �tabidire ional, in�nita e de leitura e es rita. Ini ialmente a �ta de entrada armazena ades ri� ~ao (entrada ou programa) e a �ta de trabalho armazena a informa� ~ao lateral deforma literal. Todos os outros ampos da �ta de trabalho est~ao preen hidos om bran os.A �ta de sa��da est�a vazia. A m�aquina pode ler ou es rever um s��mbolo (0 ou 1), mover o abe� ote para a esquerda ou a direita uma posi� ~ao ou apagar s��mbolos da �ta de traba-lho, ou ent~ao es rever algum s��mbolo na �ta de sa��da. Depois de uma quantidade �nitade tempo a m�aquina eventualmente p�ara, tendo lido toda a string da �ta de entrada (oprograma), om a sa��da armazenada na �ta de sa��da. N~ao importa o tempo de exe u� ~aodo programa (isto s�o �e importante na omplexidade de tempo de exe u� ~ao).Caso a sa��da desejada seja uma string de tamanho in�nito, a m�aquina � a para sempreimprimindo bit ap�os bit na �ta de sa��da.De�ni� ~ao 9 A omplexidade ondi ional CM(xjy) de um n�umero x om respeito a umn�umero y �e o tamanho da menor des ri� ~ao p tal queMp;y = x,CM(xjy) = minMp;y=x jpj :Se n~ao existe uma des ri� ~ao p de x ent~ao dizemos, por de�ni� ~ao, que CM(xjy) =1.12

Page 13: Introdução à Complexidade de Kolmogorov

�A primeira vista pare e que a omplexidade ondi ional CM(:j:) depende da m�aquinaM. Kolmogorov e Solomono� observaram que, ao ontr�ario, depende muito pou o porqueexistem m�aquinas de Turing universais, apazes de simular qualquer outra m�aquina deTuring uja des ri� ~ao �e forne ida [7, 11, 17, 18℄.N�os odi� aremos as m�aquinas da enumera� ~ao men ionada no Corol�ario 1 omoi vezesz }| {111 � � �1 0p = 1i0p ;signi� ando que a m�aquina universal espera en ontrar on atenado �a esquerda da des- ri� ~ao p uma des ri� ~ao de qual m�aquina ir�a simular. Ou seja, a m�aquina universal U ir�asimular a exe u� ~ao do programa p emMi, a i-�esima m�aquina da enumera� ~ao padr~ao.Teorema 5 (Teorema da Invarian ia) Existe uma m�aquina U , hamada universal, talque para qualquer m�aquinaM e n�umeros x e y, e para algum > 0, CU(xjy) � CM(xjy)+ e depende apenas deM.Prova: Para CM(xjy) = 1 a desigualdade �e trivialmente verdadeira. Podemos mos-trar uma m�aquina universal simulando outra m�aquina qualquer. Por exemplo, onsiderea m�aquina universal U tal que U1i0p;y = Mip;y, onde Mi �e a i-�esima m�aquina na enu-mera� ~ao das m�aquinas. Suponha que M �e a n-�esima m�aquina na enumera� ~ao, ou seja,Mn =M. Logo, CM(xjy) = minMp;y=x jpje CU(xjy) = minU1n0p;y=x j1n0pj = minU1n0p;y=x jpj+ n+ 1 = CM(xjy) + n+ 1 :Ou seja, o limite superior da omplexidade expressa em U �e CM(xjy)+n+1 e eventual-mente existe um p0 tal que Up0;y = x e jp0j < jpj+n+1. Assim, CU(xjy) � CM(xjy)+n+1.Tomando = n+ 1 prova-se o Teorema, om dependendo apenas deM. 2Observe que podemos interpretar a desigualdade CU(xjy) � CM(xjy) + de duasformas diferentes: Prova do Teorema�!CU(xjy) � CM(xjy) + �Signi� ado do Teorema :Interpretando a desigualdade da esquerda para a direita, obtemos a id�eia utilizada naprova do Teorema 5, signi� ando que o limite superior da omplexidade expressa em U �e a omplexidade expressa emM. Por sua vez, interpretando a desigualdade da direita paraa esquerda, obtemos o signi� ado prin ipal do Teorema, indi ando que nenhum m�etodopode ser melhor, a n~ao ser por uma onstante, que o m�etodo universal (a omplexidadeexpressa em U �e o limite inferior da omplexidade expressa usando-se qualquer outrom�etodo), dando um arater invariante e absoluto a esta medida de omplexidade.Observe que a onstante do Teorema 5, embora possa ser grande, �e assintoti amentedesprez�avel, pois n~ao depende de x [17, 18℄. Al�em disto, por ausa da onstante , n~aone essariamente a omplexidade expressa em U �e menor que a expressa em M. Maspodemos a�rmar que, assintoti amente, a omplexidade expressa em U n~ao �e maior quea expressa emM. 13

Page 14: Introdução à Complexidade de Kolmogorov

Restringir as des ri� ~oes �as efetivas ( omput�aveis) permite que exista um m�etodo deespe i� a� ~ao universal (invariante ou assintoti amente �otimo) que obt�em uma des ri� ~aom��nima om respeito a todos os outros m�etodos (a diferen� a entre as omplexidadesexpressas usando-se diferentes m�etodos universais �e limitada por uma onstante, vejaCorol�ario 2). Como onseq�uen ia, a omplexidade de um objeto �e um atributo intr��nse odo objeto independente de um m�etodo parti ular de espe i� a� ~ao [22℄. Em [2℄ �e feitauma dis uss~ao bem ompleta sobre a boa fundamenta� ~ao, objetividade e utilidade destade�ni� ~ao de omplexidade.Fixando uma m�aquina universal U , hamada m�aquina de referen ia, e n~ao forne- endo nenhuma informa� ~ao lateral, podemos de�nir a omplexidade in ondi ional omoCU(xj�) = C(xj�) = C(x). C(xjy) representa intuitivamente a quantidade de informa� ~aoque �e ne ess�ario adi ionar �a informa� ~ao ontida em y para obter x.Corol�ario 2 Sejam U e V duas m�aquinas de Turing universais. Ent~ao abs(CU(xjy) �CV(xjy)) � , onde depende apenas de U e V.Isto �e verdade pois uma m�aquina simula a outra.Teorema 6 Existe uma onstante > 0 tal que C(x) � jxj + para toda string bin�ariax. Prova: Existe uma m�aquina M tal que Mp = p para todos os programas p. Ent~ao,pelo Teorema 5 (Teorema da Invarian ia), para toda string bin�aria x, C(x) � CM(x)+ =jxj + . 2Isto �e verdade porque existe uma m�aquina que exe uta a �opia do pr�oprio programana sa��da.Teorema 7 Existe uma onstante > 0 tal que, para todo x e y, C(xjy) � C(x) + .Prova: Construa uma m�aquinaM que para todo y e z omputa x a partir da entrada(z; y) se e somente se a m�aquina universal U omputa a sa��da x om a entrada (z;�).Ent~ao, CM(xjy) = C(x). Pelo Teorema da Invarian ia, C(xjy) � CM(xjy)+ = C(x)+ .2Teorema 8 Para qualquer fun� ~ao omput�avel f existe uma onstante > 0 tal queC(f(x)) � C(x) + , para todo x em que f(x) �e de�nida.Prova: Construa uma m�aquina universalM que omputa x simulando U e depois usax e omputa f(x), ent~ao CM(f(x)) = CU(x) e C(f(x)) � CM(f(x)) + = C(x) + . 2Isto signi� a que a apli a� ~ao de uma fun� ~ao omput�avel sobre uma string n~ao podeaumentar a omplexidade da string resultante em rela� ~ao �a original.4.2 Seq�uen ias Aleat�orias e In ompressividadeO prop�osito original da omplexidade de Kolmogorov era de�nir seq�uen ias aleat�oriasformalmente, embasando uma teoria matem�ati a das probabilidades. Naquele tempo,apenas eviden ias emp��ri as, advindas de jogos de azar e sal~oes de assinos, apoiavam ateoria do limite da freq�uen ia relativa [31℄. A teoria do limite da freq�uen ia relativa a�rmaque, em uma seq�uen ia longa de tentativas, as freq�uen ias relativas das o orren ias desu esso ou fra asso em um experimento devem onvergir a um limite, limn!1 �(n)=n =p, onde � onta o n�umero de o orren ias de su esso no experimento e p �e o limite dafreq�uen ia. Por exemplo, om uma moeda honesta, em uma seq�uen ia su� ientementelonga, p = 1=2. 14

Page 15: Introdução à Complexidade de Kolmogorov

A di� uldade om esta abordagem �e de�nir o que �e \uma seq�uen ia longa", pois qual-quer seq�uen ia de tentativas �e, obviamente, limitada em tamanho. Kolmogorov proposuma nova abordagem, de�nindo primeiro seq�uen ias aleat�orias �nitas (aleatoriedade pon-tual), via in ompressividade, e depois seq�uen ias aleat�orias in�nitas.String bin�aria aleat�oria Uma string bin�aria �e dita aleat�oria se sua omplexidade �eaproximadamente igual ao tamanho da string.Assim, de�nimos as strings simples omo sendo aquelas que s~ao regulares ou om-press��veis, e as strings aleat�orias ou omplexas omo sendo aquelas que possuem irregu-laridade (s~ao in ompress��veis) [3℄.Esta de�ni� ~ao de Kolmogorov foi mais tarde aprimorada por Martin-L�of [16, 22, 24,30, 31, 32℄. Demonstra-se que a de�ni� ~ao de Martin-L�of garante que toda string aleat�oriaque a satisfa� a, om erteza possui todas as propriedades de aleatoriedade que podemser testadas efetivamente (por um programa de omputador) produzida por uma fontealeat�oria (esto �asti a) na m�edia. Observe que �e ne ess�ario supor que exista um algoritmode omputador apaz de testar a string por de� ien ia de aleatoriedade.Suponha que vo e possui uma de�ni� ~ao pr�opria de \teste estat��sti o para eviden iarn~ao-aleatoriedade". Podemos dizer que toda string que respeita a sua de�ni� ~ao om erteza respeitar�a a de�ni� ~ao de Martin-L�of. A prova de Martin-L�of baseia-se na existen iade um teste de aleatoriedade universal [11, 24, 30, 31, 32℄.Sejam as seguintes strings bin�arias:111111111111111111110101010101010101010101001101011000110101Nossa intui� ~ao nos diz que as duas primeiras strings n~ao podem ser aleat�orias poistem pequena probabilidade de o orrer em uma seq�uen ia de lan� amentos de uma moedahonesta, enquanto que a �ultima pare e ser aleat�oria. No entanto, todas as tres seq�uen iastem, segundo a teoria das probabilidades, a mesma probabilidade de o orrer, onsideradaa distribui� ~ao uniforme (medida de Lebesgue), o que pare e ser um paradoxo.A primeira string pode ser omputada pelo seguinte programa:FOR i := 1 TO 20 PRINT 1Strings deste tipo, om tamanho n, podem generi amente ser omputadas pelo seguinteprograma: FOR i := 1 TO n PRINT 1 ujo tamanho (em n�umero de bits, pois supomos programas bin�arios) �e o tamanho darepresenta� ~ao em bits de n mais bits para a rotina que imprime. Assim, o tamanho doprograma �e O(logn).J�a a �ultima string pare e ter sido riada pelo lan� amento de uma moeda. Por n~aopossuir uma regra simples para a sua forma� ~ao (ou gera� ~ao), n~ao poderia ser omputadade uma forma ompa ta. Seria ne ess�aria a es rita da pr�opria string na sa��da da m�aquinapelo programa: PRINT 01001101011000110101Logo, o tamanho do programa para omputar strings deste tipo seria n+ , ou O(n).Ou seja, aproximadamente igual ao tamanho da pr�opria string.15

Page 16: Introdução à Complexidade de Kolmogorov

De�ni� ~ao 10 Para uma onstante > 0, n�os dizemos que a string x �e -in ompress��velse C(x) � jxj � .Na De�ni� ~ao 10, a onstante desempenha o papel de \taxa de ompress~ao".De�ni� ~ao 11 Se uma string x �e -in ompress��vel para um valor > 0, ent~ao n�os dizemosque x �e in ompress��vel.�E fa il provar a existen ia de strings bin�arias in ompress��veis no sentido da De�ni-� ~ao 11.Teorema 9 Existe pelo menos uma string in ompress��vel de tamanho menor ou igual an. Prova: Segue do fato que existem 2n � 1 programas bin�arios de tamanho menor quen, porquePn�1i=0 2i = 2n� 1, mas existem muitas mais strings bin�arias de tamanho menorou igual a n (2n+1 � 1). 2Isto se deve ao fato de existirem menos des ri� ~oes urtas que longas. Ent~ao, existemstrings que n~ao tem uma des ri� ~ao signi� ativamente menor que seu pr�oprio tamanho.Podemos determinar quantas strings de tamanho n s~ao -in ompress��veis. Sabemosque do total de 2n strings de tamanho n temos 2n� � 1 que n~ao s~ao -in ompress��veis.Portanto, o n�umero de strings de tamanho n que s~ao -in ompress��veis �e 2n � 2n� + 1.A fra� ~ao de strings de omprimento n que s~ao -in ompress��veis no total de 2n strings �e,para um n grande o su� iente, 1 � 2� . Sabemos que para um , 1 < < n, grande osu� iente, 1� 2� tende a 1. Logo, a maioria das strings s~ao in ompress��veis.Podemos agora provar o seguinte Teorema, uja apli a� ~ao �e muito importante e se onstitui no hamado m�etodo da in ompressividade.Teorema 10 (Teorema da In ompressividade) Para um n�umero , dado um y �xo e paratodo onjunto A de ardinalidade A temos ao menos A(1� 2� )+ 1 elementos x 2 A omC(xjy) � logA� .Prova: O n�umero de programas de tamanho menor que logA� �elogA� �1Xi=0 2i = 2logA� � 1 = A2� � 1 :Pre isamos de A programas para des rever ada um dos A elementos de A. Logo,existem A�A2� +1 elementos em A que n~ao tem um programa de omprimento menorque logA� . 2Os objetos x 2 A que satisfazem C(xjy) � logA� s~ao hamados de (A; )-aleat�orios.Podemos provar que n~ao �e poss��vel determinar se uma string �e in ompress��vel, pois esteproblema �e inde id��vel. Suponha que o onjunto das strings in ompress��veis �e enumer�avel.Seja M uma m�aquina de Turing que omputa a primeira string x0 om omplexidademaior que n. Ent~ao, C(x0) > n e C(x0) � CM(x0) + � logn + . Assim, C(x0) > n eC(x0) � logn+ , para qualquer n arbitr�ario, que �e uma ontradi� ~ao. �E interessante o fatoda maioria das strings serem in ompress��veis, e no entanto n~ao ser poss��vel determin�a-las.N~ao �e muito dif�� il provar que a menor des ri� ~ao de um objeto �e uma string in om-press��vel. Se p �e a menor des ri� ~ao de x ent~ao C(x) = jpj. Se p �e in ompress��vel, ent~aoC(p) � jpj � . Suponha que p n~ao �e in ompress��vel. Portanto, existe uma des ri� ~ao de p16

Page 17: Introdução à Complexidade de Kolmogorov

que �e signi� ativamente menor que p. Logo, existe um q que �e a menor des ri� ~ao de p talque jqj < jpj � . De�na uma m�aquina universal V tal que V trabalhe exatamente omoa m�aquina de referen ia U , ex eto que V primeiro simule U sobre a sua entrada obtendouma sa��da e depois simule novamente U usando a sa��da omo nova entrada. V perten- e �a enumera� ~ao de m�aquinas. Assim, podemos supor que V = Mi. Disto resulta queU1i0q = Up = x e C(x) � jqj+ i+1. Sabendo que jqj < jpj� ent~ao C(x) < jpj+ i+1� ,o que ontradiz que C(x) = jpj para � i+1. Logo, n~ao existe uma des ri� ~ao menor quep e p �e in ompress��vel.Seja a string x = uvw de tamanho n, onde n = juj+ jvj + jwj. Podemos des rever astring x atrav�es de um programa p que re onstr�oi v e pela string uw tomada literalmente.Pre isamos ainda da informa� ~ao de omo separar estas tres partes p, u e w. Para istousamos odi� a� ~ao livre de pre�xo, ante edendo ada parte om o seu tamanho. Assim,q = jpjpjujuw �e uma des ri� ~ao de x. Existe uma m�aquina M que, ome� ando peloextremo esquerdo de q, primeiro determina jpj e omputa v de p. A seguir determina juje usa esta informa� ~ao para delimitar u e w. Finalmente, M monta x a partir das trespartes u, v e w. Assim,Mq = x. Logo, pelo Teorema da Invarian ia e pelo Teorema 6,C(x) = C(Mq) � CM(q) + O(1) � jqj + O(1), portanto, C(x) � ���jpjpjujuw��� + O(1) =���jpjp���+ ���juju���+ jwj+O(1).Ent~ao, omo sabemos que ���jpjp��� = jpj+2jlj+1 om l = jpj e jpj = C(v), C(x) � C(v)+2 jC(v)j+1+ juj+2��juj��+1+ jwj+O(1) e C(x) � C(v)+2 jC(v)j+2��juj��+ juj+ jwj+O(1).Como n� jvj = juj+ jwj,C(x) � C(v) + 2 jC(v)j+ 2��juj��+ n� jvj+O(1)� C(v) + 2 jC(v)j+ 2jnj+ n� jvj+O(1) :Sabendo que jC(v)j � logn e jnj = logn, ent~ao C(x) � C(v)+n�jvj+4 logn+O(1).Para strings -in ompress��veis x om C(x) � n� , obtemos C(v)+n� jvj+4 logn+O(1) � n� , e simpli� ando, C(v) � jvj �O(logn).Isto signi� a que v �e in ompress��vel a menos de um termo logar��tmi o.4.3 Algumas Propriedades da Complexidade B�asi aSeja h:; :i : N � N ! N uma fun� ~ao de emparelhamento efetiva. Assim, podemosde�nir C(hx; yi) = C(x; y) omo a omplexidade de x e y simultaneamente. Ou seja,C(x; y) �e o tamanho da menor des ri� ~ao que omputa em U ambas as strings x e y. Seriaa omplexidade C subaditiva? Ou de outra forma, ser�a que C(x; y) � C(x)+C(y)+O(1)?Sendo p a menor des ri� ~ao de x e q a menor des ri� ~ao de y, pre isamos de uma des ri� ~aopq ou qp que permita �a m�aquina U omputar x e y e depois ompor ambas as strings.O problema se refere a en ontrar a posi� ~ao da des ri� ~ao q de y na on atena� ~ao pq ou aposi� ~ao da des ri� ~ao p de x na on atena� ~ao qp. Para isto devemos ante eder a primeirades ri� ~ao om o seu tamanho, para que a m�aquina possa en ontrar a segunda des ri� ~ao,usando uma odi� a� ~ao livre de pre�xo. Sabemos que x = 1jxj0x e ���jxjx��� = jxj+2��jxj��+1.Seja p a menor des ri� ~ao de x e q a menor des ri� ~ao de y, ent~ao jpjpq ou jqjqp �e amenor des ri� ~ao de (x; y). Assim, ���jpjpq��� = jpj+ 2��jpj��+ 1+ jqj = jpj+ jqj+ 2 log jpj+1 e���jqjqp��� = jqj+ 2��jqj��+ 1 + jpj = jpj+ jqj+ 2 log jqj+ 1.Logo, C(x; y) � C(x) +C(y)+ 2 log(min(C(x); C(y)))+O(1). N~ao podemos eliminareste termo logar��tmi o, a n~ao ser que entremos om o tamanho de um dos programas no17

Page 18: Introdução à Complexidade de Kolmogorov

ondi ional, C(x; yjC(x)) � C(x) +C(y)+O(1). Podemos fazer isto pois, se onhe emospreviamente C(x), ent~ao podemos en ontrar q na des ri� ~ao x�q, j�a que jx�j = C(x).Lembre-se que x� representa a menor des ri� ~ao de x.Como n~ao podemos fazer desapare er este termo logar��tmi o que depende de x e y, on luimos que C n~ao goza da propriedade subaditiva. Assim, C(x; y) � C(x)+C(y)+�e � res e ilimitadamente om x e y.Veremos mais adiante que a omplexidade de pre�xo resolve este problema.Teorema 11 Existe uma onstante tal que, para qualquer x e y, C(x; y) � C(x) +C(y) + logn� , onde n = jxj+ jyj.Prova: �E ne ess�ario primeiro provar o seguinte Lema.Lema 1 Existem (n + 1)2n pares ordenados (x; y) de strings uja soma dos tamanhos �en. Prova: Por meio de um argumento simples de ontagem sabemos que o n�umero totalde pares (x; y) om jxj+ jyj = n �e20+n + 21+(n�1) + 22+(n�2) + � � �+ 2(n�1)+1 + 2n+0 ;onde ada um dos termos da soma resulta em 2n e temos n+ 1 termos, portanto a somade todos os termos resulta em (n + 1)2n. 2Sabemos que existe pelo menos um par (x; y) que �e 1-in ompress��vel. Logo, tomandoo onjunto de pares (x; y) omo A e usando a vers~ao in ondi ional do Teorema 10, j�aque sabemos pelo Teorema 7 que C(xjy) � C(x) + , sua omplexidade �e C(x; y) >C(hx; yi j�) � logA� 1. Como o onjunto de pares (x; y) �e o onjunto A e sabemos queA = (n+ 1)2n, obtemos C(x; y) � n+ log(n+ 1)� 1 � n + logn� 1.Pelo Teorema 6 sabemos que, para alguma onstante , C(x) +C(y) � jxj+ jyj+ , e omo sabemos que jxj+ jyj = n, ent~ao C(x; y) � C(x) + C(y) + logn� . 2Teorema 12 Seja x = 1n ou x = 0n. Ent~ao, C(xjn) � , para algum > 0 independentede x.Prova: Trivial, pois podemos omputar 1n ou 0n atrav�es de um programa de tamanho�xo se onhe emos previamente n (forne ido omo informa� ~ao lateral). 2C(xjn) �e hamada omplexidade ondi ional de tamanho. O Teorema 12 permite on- luir que uma string x de tamanho n arrega uma quantidade de informa� ~ao que tem doissentidos. O primeiro, asso iado om as irregularidades de x e o segundo, asso iado ao ta-manho da string. O segundo �e espe ialmente evidente para strings de baixa omplexidade, omo 1n e 0n.Um efeito da quantidade de informa� ~ao asso iada om o tamanho da string �e o fato deC(x) n~ao ser monotoni a sobre pre�xos, ou seja, se m < n podemos obter C(m) > C(n).Isto signi� a que C(1m) > C(1n), embora a string 1m seja pre�xo da string 1n. Assim,poderemos ter C(x) > C(xy), que �e um efeito olateral indesejado sobre a omplexidadeC(x).Por exemplo, supomos m < n, m in ompress��vel e n = 2k. Ent~ao, C(1n) � log logn+O(1), j�a que k tem magnitude logn, e C(1m) � logm�O(1). Mas para m e n quaisquerpodemos obter logm > log logn e, neste aso, C(1m) > C(1n).Seja x = x1x2x3 � � � uma string bin�aria in�nita, e seja x1:n = x1x2 � � �xn. Como onseq�uen ia da n~ao monotoni idade da omplexidade C, a omplexidade apresenta apropriedade da utua� ~ao. Isto signi� a que, dada uma string bin�aria in�nita x, paravalores res entes de n, n�C(x1:n)log n os ila entre 0 e 1 aproximadamente [31℄.18

Page 19: Introdução à Complexidade de Kolmogorov

C(x)

x

|x|+c=log x+c

m(x)

Figura 2: Fun� ~oes C(:) e m(:)Podemos imaginar C(:) omo uma fun� ~ao de naturais em naturais, C : N ! N .Sabemos que C(x) � jxj + = logx + , pois podemos des rever qualquer x por sua odi� a� ~ao bin�aria (veja Teorema 6). Portanto, a omplexidade C(x) tem omo limitesuperior a urva log x+ (veja Figura 2).Teorema 13 limx!1C(x) =1.Prova: O n�umero de strings x tal que C(x) � a n~ao ex ede 2a+1 � 1. Assim, paraqualquer a arbitr�ario, existe um x0 tal que C(x) > a para todo x > x0. 2Portanto, a omplexidade res e sempre, por�em veremos que res e muito lentamente.De�nimos m(x) = miny�xC(y) omo sendo a maior fun� ~ao monotoni a res entelimitando C(:) por baixo (veja Figura 2) [32℄.Teorema 14 Todo onjunto in�nito enumer�avel ont�em um sub onjunto in�nito sol�uvel.Prova: Veja M. Li & P. Vit�anyi [22℄, p�agina 33, Lema 1.7.4. 2Teorema 15 Para qualquer fun� ~ao par ial re ursiva f(x) tendendo monotoni amente ain�nito a partir de um x0, n�os temos m(x) < f(x).Prova: Suponha que existe uma fun� ~ao par ial re ursiva f(x) � m(x), para um on-junto in�nito de pontos x. Ent~ao, f �e de�nida em um onjunto in�nito enumer�avel �.Pelo Teorema 14, � ont�em um onjunto in�nito sol�uvel (de id��vel) �. Seja a fun� ~ao�(x) = � f(x) x 2 �f(y) ; y = maxfz : z 2 �; z < xg x =2 � :Assim, por onstru� ~ao, � �e uma fun� ~ao (total) re ursiva, tende monotoni amente a in�-nito, e �(x) � m(x) para in�nitos x. De�nimos g(a) = maxfx : C(x) � ag. Portanto,g(a) + 1 = minfx : m(x) > ag emaxfx : �(x) � a+ 1g � minfx : m(x) > ag > g(a) ;para in�nitos a. A fun� ~ao h(a) = maxfx : �(x) � a + 1g �e (total) re ursiva. Segue queh(a) > g(a) para in�nitos a. Portanto, C(h(a)) > a para in�nitos a. Pelo Teorema 8,C(h(a)) � C(a) + O(1) = log a + O(1). Assim, C(h(a)) > a e C(h(a)) � log a parain�nitos a, que �e uma ontradi� ~ao. 219

Page 20: Introdução à Complexidade de Kolmogorov

Assim, m(:) tende a in�nito mais lentamente que qualquer outra fun� ~ao par ial re- ursiva que tende a in�nito monotoni amente. Isto prova que C(:) tende a in�nito muitolentamente.Teorema 16 (Propriedade da Continuidade) abs(C(x+ h)� C(x)) � 2jhj+ .Prova: A string x + h pode ser obtida a partir de hx�. Constru��mos uma m�aquinaM que re ebendo hx� omputa x + h. Segue do Teorema da Invarian ia que C(x + h) �CM(x+ h) + = ��hx���+ = 2jhj+ C(x) + . Logo, C(x + h)� C(x) � 2jhj+ .Analogamente, a string x pode ser obtida a partir de hp, onde p �e uma des ri� ~ao dex + h. Segue que C(x) � CM(x + h) + = ��hp�� + = 2jhj + C(x + h) + . Logo,C(x)� C(x+ h) � 2jhj+ . 2Isto signi� a que, embora C(x) varie muito entre m(x) e logx+ , o faz de uma formamuito suave.Teorema 17 (Problema da Parada) N~ao existe pro edimento para a m�aquina de Turingque, re ebendo omo entrada um programa p e um valor n, determine se p p�ara om n omo entrada.Prova: Veja T. Div�erio & P. Menezes [8℄, se� ~ao 5.6, p�agina 176. 2Teorema 18 A fun� ~ao C n~ao �e omput�avel.Prova: Para algum x, n�os omputamos C(x) exe utando todos os programas p omjpj � jxj+ , para algum , de um modo on orrente, porque sabemos que C(x) � jxj+ pelo Teorema 6. N�os fazemos isto gerando todos os programas em uma ordem lexi o-gr�a� a res ente e provendo tempo de exe u� ~ao res ente para estes programas, atrav�esdo pro edimento ilustrado no Algoritmo 2.Algoritmo 21. Fa� a i := 0 e j := �1;2. Fa� a i := i+ 1;3. Se j = �1 ent~ao gere os primeiros i programas na ordem lexi ogr�a� a. Se j 6= �1ent~ao gere apenas os programas p om jpj � j;4. Simule i passos da omputa� ~ao destes programas na m�aquina de Turing universalU . Se um programa p p�ara om Up = x e jpj � j _ j = �1 fa� a j := jpj;5. Se todos os programas pararam e j 6= �1 ou n~ao existe um programa p que n~ao parou om jpj < j ^ j 6= �1 ent~ao v�a para 6, aso ontr�ario apague todos os programasgerados e v�a para 2;6. Retorne j e pare.Enquanto os programas v~ao parando, n�os armazenamos o tamanho do menor programaque parou omputando x. Quando todos programas tiverem parado n�os teremos o valorde C(x). Mas, pelo problema da parada, n�os n~ao podemos de idir se um programa p�araou n~ao. Assim, por redu� ~ao ao problema da parada, este pro esso n~ao �e efetivo. 2Para determinar C(x) devemos exe utar todos os programas poss��veis e oletar todosos que param e omputam x, es olhendo aquele que tem o menor tamanho. Trivialmente,pelo problema da parada, n~ao podemos de idir se um programa p�ara ou n~ao.20

Page 21: Introdução à Complexidade de Kolmogorov

De�ni� ~ao 12 Uma fun� ~ao f �e semi omput�avel se existe uma fun� ~ao (total) re ursiva �tal que �(x; t) �e monotoni a em t e limt!1 �(x; t) = f(x).Seja p um programa, t um n�umero inteiro, ent~ao U tp pode ser de�nido omo o predi adoque representa a omputa� ~ao na m�aquina de Turing universal U que omputa o valor �pem t passos e aso ontr�ario resulta em um valor inde�nido. Usando-se a Tese de Turing-Chur h �e f�a il provar que U tp �e de id��vel e que �p �e omput�avel [11℄.Corol�ario 3 (Problema da Parada Limitado) U tp �e de id��vel e �p �e omput�avel.Teorema 19 A fun� ~ao C �e semi omput�avel.Prova: Sabemos que C(x) < log x+ , pois um n�umero pode ser representado por sua odi� a� ~ao bin�aria. Seja a m�aquina de Turing universal U t de�nida omo a m�aquinaU que omputa um programa p em t passos, aso ontr�ario resulta em uma omputa� ~aoinde�nida. Seja Ct(x) um valor menor que log x+ eCt(x) = min�jpj � t : U tp = x :Isto impli a que a fun� ~ao Ct(x) �e omput�avel, n~ao res ente, monotoni a em t elimt!1Ct(x) = C(x). 25 Cara teriza� ~ao de Linguagens usando Complexida-de de Kolmogorov5.1 De�ni� ~ao de Regularidade-KCO estudo de linguagens formais baseia-se em estabele er uma hierarquia de linguagens.A prin ipal �e devida a Chomsky: linguagens regulares; livres de ontexto; sens��veis ao ontexto e enumer�aveis re ursivamente [13, 25℄.Sabemos que algumas linguagens s~ao regulares e outras n~ao. As provas por \pumping"(bombeamento) [13, 25℄ s~ao limitadas e n~ao se baseiam em uma de�ni� ~ao formal de\regularidade" [22℄.Usando-se omplexidade de Kolmogorov �e poss��vel ara terizar de uma forma muitomelhor as linguagens regulares forne endo lemas de bombeamento muito mais f�a eis deserem usados [21, 22℄.Teorema 20 (Regularidade-KC) Seja L � �� uma linguagem regular, Lx = fy : xy 2Lg. Existe uma onstante , tal que para ada x, se y �e a n-�esima string em Lx, ent~aoC(y) � C(n) + .Prova: Seja L uma linguagem regular. Ent~ao a string y tal que xy 2 L, para algumx, pode ser des rita por:� O automato �nito que a eita L;� O estado do automato ap�os pro essar x e o n�umero n.O primeiro item requer O(1) bits. Logo, C(y) � C(n) +O(1). 2Exemplo 2 (M. Li & P. Vit�anyi [22℄, exemplo 6.8.2, p�agina 422)�E fa il provar que L = f1p : p �e um n�umero primog n~ao �e regular. Considere a stringxy = 1p om p sendo o (k + 1)-�esimo primo. Seja x = 1p0, om p0 sendo o k-�esimoprimo. Ent~ao y = 1p�p0 e y �e o primeiro elemento do onjunto Lx. Assim, supondoque L �e regular, pelo Teorema 20, C(p � p0) = O(1). Mas a diferen� a entre dois primossu essivos res e sem limite. Como s�o existem O(1) des ri� ~oes de tamanho O(1) temosuma ontradi� ~ao. 21

Page 22: Introdução à Complexidade de Kolmogorov

5.2 Cara teriza� ~ao de Linguagens RegularesDe�ni� ~ao 13 Seja � um alfabeto, e seja yi o i-�esimo elemento de �� em ordem lexi o-gr�a� a, para i � 1. Para L � �� e x 2 ��, seja � = �1�2 : : : a seq�uen ia ara ter��sti a deLx = fy : xy 2 Lg, de�nida omo �i = 1 se xyi 2 L e �i = 0 aso ontr�ario. Denotamos�1�2 : : : �n omo �1:n.Teorema 21 (Cara teriza� ~ao de Regularidade-KC) Seja L � ��. As seguintes a�rma-� ~oes s~ao equivalentes:1. L �e regular;2. Existe uma onstante , que s�o depende de L, tal que para todo x 2 �� e para todon, C(�1:njn) � ;3. Existe uma onstante , que s�o depende de L, tal que para todo x 2 �� e para todon, C(�1:n) � C(n) + ;4. Existe uma onstante , que s�o depende de L, tal que para todo x 2 �� e para todon, C(�1:n) � logn+ .Exemplo 3 (M. Li & P. Vit�anyi [21℄, exemplo 7)Seja �� = f0; 1g. Devemos provar que L = �� �e regular. Existe uma onstante ,tal que a sequen ia ara ter��sti a asso iada �e � = 1; 1; 1; : : : , om C(�1:njn) � (vejaTeorema 12). Ent~ao, L �e regular pelo Teorema da Cara teriza� ~ao de Regularidade-KC.5.3 Cara teriza� ~ao das Linguagens Livres de ContextoPodemos usar omplexidade de Kolmogorov para ara terizar tamb�em as linguagenslivres de ontexto.Teorema 22 Seja L � �� uma linguagem livre de ontexto determin��sti a, sejam ; 0 onstantes. Seja w uma sequen ia re ursiva sobre �. Seja u um pre�xo de vw, seja v umpre�xo de w, tal que:1. v pode ser des rito em bits dado Lu na ordem lexi ogr�a� a;2. w pode ser des rito em 0 bits dado Luv na ordem lexi ogr�a� a;3. C(v) � 2 log log juj.Ent~ao existe uma onstante 00 dependendo somente de L; ; 0; w tal que C(w) � 00.Uma prova detalhada do Teorema 22 pode ser en ontrada em [21℄.Exemplo 4 (M. Li & P. Vit�anyi [21℄, exemplo 9)Desejamos provar que L = fx : x = xR; x 2 f0; 1g�g n~ao �e uma linguagem livre de on-texto determin��sti a. Supomos o ontr�ario, que L �e uma LLC determin��sti a. Atribuimosu = 0n1 e v = 0n, C(n) � logn (supomos que n �e in ompress��vel). C(v) � log log(n + 1)pois C(n) � logn. Como v �e lexi ogra� amente a primeira palavra em Lu, o primeiro itemdo Teorema �e satisfeito. O primeiro elemento lexi ogra� amente n~ao vazio em Luv �e 10ne C(wjLuv) � , satisfazendo o segundo item do Teorema. Mas, temos C(w) = O(logn),o que �e uma ontradi� ~ao. Logo, L n~ao �e LLC determin��sti a.22

Page 23: Introdução à Complexidade de Kolmogorov

6 Complexidade de Pre�xoA omplexidade de pre�xo �e uma de�ni� ~ao mais robusta de omplexidade e apresentauma s�erie de vantagens sobre a omplexidade b�asi a C, entre elas uma rela ionada oma Desigualdade de Kraft, omo veremos adiante [4℄.Supomos que seMp;y est�a de�nida ent~aoMq;y n~ao est�a de�nida para nenhum pre�xoq de p. Obtemos isto atrav�es do uso de odi� a� ~ao livre de pre�xo e hamamos estes pro-gramas de programas autodelimitados. A m�aquinaM que re ebe omo entrada programasautodelimitados �e hamada de m�aquina de Turing de pre�xo.De�ni� ~ao 14 SejaM uma m�aquina de Turing de pre�xo. A omplexidade ondi ionalde pre�xo KM(xjy) de um n�umero x om respeito a um n�umero y �e o omprimento damenor des ri� ~ao p, representada omo string livre de pre�xo, tal queMp;y = x,KM(xjy) = minMp;y=x jpj :Se n~ao existe uma des ri� ~ao p de x ent~ao dizemos, por de�ni� ~ao, que KM(xjy) =1.Da mesma forma omo �zemos om a omplexidade b�asi a C(:), podemos de�nir uma omplexidade de pre�xo in ondi ional K(:). Tamb�em podemos apresentar um Teoremada Invarian ia para a omplexidade K, uja prova �e similar �a prova do Teorema daInvarian ia para a omplexidade C.Agora podemos provar que a omplexidade de pre�xo possui a propriedade subaditiva.Teorema 23 Para alguma onstante > 0 independente de x e y, K(x; y) � K(x) +K(y) + .Prova: Se p �e a menor des ri� ~ao livre de pre�xo de x e q �e a menor des ri� ~ao livrede pre�xo de y ent~ao pq ou qp �e a menor des ri� ~ao de x e y. Existe uma m�aquina deTuring de pre�xo M que re ebendo pq ou qp re upera p e q (pela propriedade de stringslivres de pre�xo) e omputa x e y. Assim, KM(x; y) = jpj+ jqj. Apli ando o Teorema daInvarian ia, K(x; y) � KM(x; y) + = K(x) +K(y) + . 2Signi� a que K(x; y) � K(x) +K(y) + � e � �e onstante em rela� ~ao a x e y.�E interessante que se investigue a rela� ~ao que existe entre as omplexidades C e K.A�rma-se no Teorema 24 que as omplexidades C e K s~ao assintoti amente iguais.Teorema 24 (M. Li & P. Vit�anyi [22℄, exemplo 3.1.3, p�agina 194) Para todo x e um y�xo, C(xjy) � K(xjy) +O(1) � C(xjy) + 2 logC(xjy) +O(1).Prova: A primeira desigualdade, C(xjy) � K(xjy), �e trivial pois a omplexidade depre�xo �e de�nida omo uma restri� ~ao da de�ni� ~ao de programa. A segunda, K(xjy) �C(xjy) + 2 logC(xjy) +O(1), pode ser provada da seguinte maneira.Um programa para a m�aquina de pre�xo possui em seu pre�xo uma odi� a� ~ao au-todelimitada do seu tamanho. Seja V uma m�aquina universal de pre�xo que simulaU . Logo, K(xjy) � KV(xjy) + = ���jx�jx����, e omo jx�j = C(xjy), temos K(xjy) �C(xjy) + 2 logC(xjy) +O(1). 2O Teorema 27 prova que H e K s~ao equivalentes em um sentido formal (K onvergea H em probabilidade) [6℄.De�ni� ~ao 15 Se a seq�uen ia de fun� ~oes mensur�aveis fn e a fun� ~ao mensur�avel f s~ao�nitas [9℄, diz-se que fn onverge a f em probabilidade se e somente se, para todo � > 0,limn!1Pr (abs(fn � f) � �) = 0 :23

Page 24: Introdução à Complexidade de Kolmogorov

Isto signi� a que fn ! f em todos os pontos, a ex ess~ao de um onjunto de pontosque tem medida zero.Teorema 25 (Lei dos Grandes N�umeros) Seja X1; X2; X3; : : : uma seq�uen ia de vari�aveisaleat�orias independentes e identi amente distribu��das om m�edia �. Seja Xn = 1nPXi.Ent~ao, para qualquer " > 0, limn!1 Pr(abs(Xn � �) � ") = 0.Prova: Veja [14℄, Cap��tulo 5, e [23℄, Teorema 5.11, p�agina 87. 2Teorema 26 (Propriedade da Equiparti� ~ao Assint�oti a) Se as vari�aveis aleat�oriasX1; X2; : : : ; Xns~ao independentes e identi amente distribuidas, ent~ao� 1n log Pr(X1X2 � � �Xn)! H(X)em probabilidade.Prova: Pela Lei dos Grandes N�umeros e pela independen ia das vari�aveis Xi,� 1n log Pr(X1X2 � � �Xn) = � 1n logYi Pr(Xi) = � 1nXi logPr(Xi)! H(X)em probabilidade. 2Isto signi� a que as seq�uen ias que n~ao satisfazem a Propriedade da Equiparti� ~aoAssint�oti a perten em a um onjunto de medida zero. Assim, esta propriedade divideas seq�uen ias em t��pi as (que respeitam a propriedade) e at��pi as (que n~ao respeitam apropriedade e perten em a um onjunto de medida zero) [15℄.Uma seq�uen ia t��pi a �e aquela que onverge e perten e a um onjunto de probabilidadeum. Obviamente, as seq�uen ias t��pi as respeitam a seguinte propriedade:2�n(H(X)+�) � Pr(X1X2 � � �Xn) � 2�n(H(X)��) : (2)Seja X1; X2; X3; : : : uma seq�uen ia de vari�aveis aleat�orias independentes e identi- amente distribuidas, om ada Xi = 0 ou Xi = 1, para i � 1. N�os hamamosX1; X2; X3; : : : de uma p-seq�uen ia de Bernoulli se os Xi tomam o valor 1 om proba-bilidade p.Teorema 27 Seja a seq�uen ia de vari�aveis aleat�orias independentes e identi amente dis-tribuidas X1; X2; : : : ; Xn uma p-seq�uen ia de Bernoulli (pro esso esto �asti o). Ent~ao,1nK(X1X2 � � �Xn)! H(p; 1� p) em probabilidade.Prova: Primeiro devemos provar o seguinte Lema.Lema 2 Seja x uma string bin�aria de tamanho jxj = n que possui k < n uns. Ent~ao,K(x) � nH(k=n; 1� k=n) + 2 log k + .Prova: O menor programa que omputa x de uma forma gen�eri a deve gerar as stringsde tamanho n que possuem k uns e imprimir a i-�esima. Para isto, este programa de-ve armazenar dentro dele o valor k, usando odi� a� ~ao livre de pre�xo om tamanho2 log k bits, e i usando log �nk� bits (�nk� �e o n�umero m�aximo de ombina� ~oes de stringsposs��veis om tamanho n e k uns). Ent~ao, jx�j = 2 log k + log �nk� + . Como sabe-mos que �nk� � 2nH(k=n;1�k=n) (resulta da apli a� ~ao da f�ormula de Stirling [6℄ que a�rman! � (2�n) 12 en lnn�n), ent~ao K(x) = jx�j � 2 log k + nH(k=n; 1� k=n) + . 224

Page 25: Introdução à Complexidade de Kolmogorov

De a ordo om a De�ni� ~ao 15, devemos primeiro provar que ( ondi� ~ao ne ess�aria)Pr�abs� 1nK(X1X2 � � �Xn)�H(p; 1� p)� � ��! 0 : (3)Seja Xn = 1nPXi. Ent~ao, K(X1X2 � � �Xn) � nH(Xn; 1�Xn) + 2 logn + , e omosabemos que Xn ! p, a Equa� ~ao (3) vale, om � = 2 log n+ n .Seja T o onjunto das seq�uen ias t��pi as e X o onjunto das seq�uen ias que satisfazemK(x) < n(H(p; 1� p)� ), para algum > 0.Para provar a ondi� ~ao su� iente, devemos per eber que as seq�uen ias x = X1X2 � � �Xnt��pi as satisfazem a Propriedade da Equiparti� ~ao Assint�oti a, de forma que podemos a�r-mar que a probabilidade da omplexidade de x ser menor que n(H(p; 1� p)� ) para um > 0 �e Pr(K(x) < n(H(p; 1� p)� )) � Pr(x =2 T ) + Pr(x 2 T \X)� �+ Xx2T\X Pr(x)� �+Xx2X 2�n(H(p;1�p)��) (4)� �+ 2n(H(p;1�p)� )2�n(H(p;1�p)��)= �+ 2�n( ��)que �e arbitrariamente pequeno, provando a onvergen ia. Note que (4) segue de (2). 2A tentativa original de Kolmogorov de de�nir seq�uen ias aleat�orias in�nitas omo sen-do aquelas que possuem todos os seus pre�xos in ompress��veis falhou, devido �a utua� ~aoda omplexidade [22, 31℄. Tais seq�uen ias n~ao existem. Por�em, usando-se a omplexidadeK �e poss��vel obter tal de�ni� ~ao de uma forma orreta [31℄.De�ni� ~ao 16 Seja x uma string bin�aria in�nita, ent~ao x �e aleat�oria se K(x1:n) � n� ,para todos os n e algum > 0.Ou seja, uma string bin�aria �e aleat�oria se todos os seus pre�xos s~ao in ompress��veispela omplexidade K.7 Probabilidade Algor��tmi aUm dos problemas fundamentais em inteligen ia arti� ial �e o aprendizado, generaliza-� ~ao e previs~ao de sistemas pela observa� ~ao de amostras de seu omportamento. Chamare-mos este problema de inferen ia indutiva ou ra io ��nio indutivo [20℄. Um dos problemasrela ionados om o ra io ��nio indutivo �e a estimativa de um onjunto de pressupostos queseja e� iente e bem su edido na previs~ao pretendida. Estes pressupostos formam uma dis-tribui� ~ao de probabilidade onhe ida omo probabilidade pr�evia. Surge ent~ao uma d�uvida:Ser�a poss��vel que uma �uni a probabilidade pr�evia seja apaz de tal previs~ao inteiramenteindependente da natureza do problema? Veremos que a resposta �e, surpreendentemente,sim. Tal probabilidade foi proposta por Solomono� e hama-se probabilidade universal[16, 29℄.25

Page 26: Introdução à Complexidade de Kolmogorov

7.1 Prin ��pio da Indu� ~aoUm importante prin ��pio do m�etodo ient��� o �e o prin ��pio da indu� ~ao. Podemosde�nir indu� ~ao omo o m�etodo que permite deduzir uma regra geral a partir de amostrasdo omportamento de um sistema. As amostras s~ao os dados ou fatos sobre os quaiso m�etodo trabalha. Na hist�oria da �loso�a tivemos v�arias tentativas para de�nir estem�etodo. Uma das abordagens seguidas �e o hamado prin ��pio da indiferen� a.Prin ��pio da indiferen� a Mantenha todas as hip�oteses que s~ao onsistentes om osfatos.Um onhe ido prin ��pio da indu� ~ao �e devido a William of O kham (1290?-1349?) quediz que \entidades n~ao devem ser multipli adas al�em da ne essidade", e � ou onhe ido omo Prin ��pio de O am. Podemos enun iar este prin ��pio de uma forma mais moderna omo a seguir.Prin ��pio de O am Entre todas as hip�oteses que s~ao onsistentes om os fatos, es olhaa mais simples.A id�eia de \simpli idade" �e um on eito informalmente paradoxal, pois um milh~aoe um milh~ao duzentos e setenta e sete tem a mesma magnitude, mas intuitivamente oprimeiro n�umero �e \mais simples". Argumentos de \simpli idade" tem dominado muitas�areas da ien ia, omo por exemplo no estudo de ling�u��sti a, a elebrada Lei de Grimm.Exemplo 5 Consideremos uma linguagem L de�nida sobre os seguintes dados amostrais:Strings geradas 0; 000; 00000; 00000000000Strings n~ao geradas �; 00; 0000; 00000000Para estes dados existem in�nitas gram�ati as �nitas onsistentes. Sejam as gram�ati- as S ! 0j000j00000j00000000000 e S ! 00Sj0. Ambas s~ao onsistentes om a linguagemL proposta, no entanto a segunda �e onsiderada \mais simples". Al�em disto, a segundapermite a ante ipa� ~ao de dados futuros, no que a primeira falha [19℄.Bayes propos uma formaliza� ~ao matem�ati a do prin ��pio da indiferen� a. Ao inv�es deatribuir m�axima probabilidade a todas as hip�oteses, ele atribuiu pesos a estas hip�oteses.O m�etodo de Bayes onsiste em um mapeamento entre uma probabilidade pr�evia e umaprobabilidade a posteriore [19, 20℄. Sabemos, pela probabilidade ondi ional [14, 23℄,que Pr(AjB) = Pr(A\B)Pr(B) e Pr(B) > 0. Nosso problema pode ser resumido no seguinte:Dada uma string bin�aria x qualquer, desejamos determinar a probabilidade do pr�oximobit da string ser zero ou um. Apli ando ao nosso aso, obtemos Pr(1jx) = Pr(x1)Pr(x) . Ra i-o ��nio Bayesiano �e matemati amente so�sti ado, mas tem uma fraqueza: Ele assume o onhe imento de uma probabilidade pr�evia que �e de dif�� il determina� ~ao.Solomono� ombinou as id�eias de O kham, Bayes e a moderna teoria da omputabi-lidade e inventou uma nova teoria da indu� ~ao. Ao ombinar o Prin ��pio de O am om ateoria da omputabilidade ele essen ialmente obteve a omplexidade de Kolmogorov. Eleent~ao de�niu uma pr�evia universal que domina todas as distribui� ~oes enumer�aveis pr�eviasa n~ao ser por uma onstante multipli ativa. Usando a Regra de Bayes e substituindo aprobabilidade pr�evia por esta pr�evia universal ele obteve uma teoria geral da inferen iaindutiva (previs~ao por ompress~ao de dados) [28, 29℄. A tradi� ~ao, ini iada om Williamof O kham, de que a teoria que melhor omprime os dados obtidos em uma observa� ~ao �ea melhor no aprendizado, generaliza� ~ao e previs~ao deste fenomeno, tem sua on�rma� ~aoformal e rigorosa na omplexidade de Kolmogorov.26

Page 27: Introdução à Complexidade de Kolmogorov

p n(a)

(b)

(e)

(c)

(d)

p r

p n

r

pFigura 3: Fita de entrada da m�aquina de Turing7.2 Computa� ~oes Aleat�oriasVeremos que a probabilidade algor��tmi a �e baseada na m�aquina de Turing quando esta�e alimentada por programas bin�arios aleat�orios, obtidos pelo lan� amento de uma moeda.Suponha uma m�aquina de Turing determin��sti aM [29℄. Suponha que p �e um progra-ma bin�ario que des reve uma dada linguagem L. O programa p sempre espera en ontrar on atenado �a sua direita um n�umero n, representado em bin�ario, que denota a stringsn 2 L que est�a na n-�esima posi� ~ao em uma parti ular e arbitr�aria enumera� ~ao das pa-lavras da linguagem L. Assim, Mpn = sn. Esta m�aquina se omporta muito omo agram�ati a do Exemplo 5. N�os n~ao vamos nos preo upar omo p en ontra n na �ta deentrada da m�aquina. A Figura 3 (a) ilustra a situa� ~ao da �ta da m�aquina neste aso.Podemos generalizar o que foi de�nido a ima para umam�aquina probabil��sti a, abando-nando a m�aquina determin��sti a. Suponha a distribui� ~ao uniforme (medida de Lebesgue).Seja p um programa que des reve uma linguagem probabil��sti a e r uma string bin�ariain�nita aleat�oria (veja Figura 3 (b)). Ent~ao, Mpr = s representa a probabilidade de so orrer na linguagem L (Figura 3 ( )).Como r �e uma string in�nita, devemos adaptar nossa de�ni� ~ao de m�aquina de Turingprovendo espa� o para armazenar r. A express~ao pr �e formada por uma parte aleat�oriapre edida por uma des ri� ~ao determin��sti a da linguagem L.Podemos ir em frente imaginando que a parte p foi retirada da �ta da m�aquina (Fi-gura 3 (d)). Agora, Mr representa uma omputa� ~ao puramente aleat�oria. Se jpj �e otamanho em bits da des ri� ~ao p, ent~ao r tem probabilidade 2�jpj de ome� ar om p egerar a linguagem L (Figura 3 (e)).Assim,Mr �e uma distribui� ~ao de probabilidade a priori sobre todas as strings bin�arias�nitas e a probabilidade de ada string s pode ser medida por 2�jpj, onde p �e o programaque omputa s. Mas, se mais de um programa omputar s (usualmente in�nitos far~aoisto)? Como a o orren ia de ada um dos programas representa um evento independente,a probabilidade de o orren ia de uma string s �e a soma destas probabilidades, Pp 2�jpj.No entanto, devemos garantir que esta s�erie seja onvergente. Veremos mais adiante omoisto ser�a tratado.7.3 De�ni� ~ao da Probabilidade Algor��tmi aA omplexidade de Kolmogorov prove uma de�ni� ~ao formal de \simpli idade". Umastring bin�aria �e dita simples se ela �e regular, ou seja, se K(x) � jxj. Ao ontr�ario, umastring omplexa �e aquela em que K(x) � jxj � , para algum > 0 (neste aso se diz27

Page 28: Introdução à Complexidade de Kolmogorov

que x �e -in ompress��vel). Um objeto \regular" �e aquele om signi� ativamente menos omplexidade que a m�axima.Podemos identi� ar x� om uma teoria para x. A onstru� ~ao de teorias na ien ia�e basi amente a ompress~ao de grandes quantidades de informa� ~oes sobre os fenomenosestudados em uma pequena quantidade de bits que modelam aqueles fenomenos (teoria,programa para a m�aquina de Turing) [3℄.Atrav�es de um argumento simples de ontagem podemos provar que o n�umero deobjetos regulares �e pequeno e, portanto, onsiderando a distribui� ~ao uniforme (medida deLebesgue), estes eventos regulares tem pequena probabilidade de o orrer [22℄.Suponha que vo e observasse uma string bin�aria x de tamanho n e desejasse saber sedevemos atribuir a o orren ia do evento x omo puro a aso ou a uma ausa. Devemosformalizar o que entendemos por \a aso" e \ ausa" [22℄.A aso Obten� ~ao de x pelo uso de uma moeda honesta (probabilidade 2�n);Causa Signi� ando que uma m�aquina de Turing ( omputador) omputou x atrav�es deum programa aleat�orio (obtido pelo lan� amento de uma moeda honesta).Ambas formam duas distribui� ~oes diversas. Na primeira (distribui� ~ao uniforme), ob-jetos irregulares s~ao os t��pi os; na segunda, os objetos regulares �e que tem m�axima pro-babilidade de o orrer. Veremos que a segunda probabilidade pode ser aproximada para2�K(x). Se x �e regular, ent~ao possui baixa omplexidade. Assim, K(x) � n e a raz~aoentre a aso e ausa �e 2n�K(x).Suponha que um Orangotango Eterno1 fosse posto na frente de um te lado. A sa��dadeste te lado �e uma seq�uen ia de bits. Qual seria a probabilidade deste Orangotango, aote lar aleatoriamente, obter uma obra ompleta de �Eri o Ver��ssimo om 1000000 de bits(esta probabilidade �e positiva, veja [14℄, p�agina 202, Corol�ario e Exemplo 3)?Dentre todas as poss��veis 21000000 strings bin�arias de 1000000 de bits, a probabilidadede ser obtida a string x0, que �e a obra de �Eri o Ver��ssimo, �e Pr(x0) = 2�1000000.Por outro lado, se este Orangotango Eterno estivesse te lando programas aleat�oriospara serem exe utados em uma m�aquina de Turing U , a probabilidade da m�aquina om-putar a string x0 da obra de �Eri o Ver��ssimo seria PU(x0) = 2�K(x0). Podemos suporque PU(x0) = 2�250000 �e uma boa aproxima� ~ao de PU (empiri amente sabemos que umtexto em portugues pode ser omprimido na propor� ~ao de 1 para 4). Esta probabilidade,embora ainda pequena, �e 2750000 maior que 2�1000000.Neste sentido, podemos interpretar a m�aquina de Turing omo um onstrutor de sig-ni� ados. Ela �e omo um �ltro que transforma desordem em ordem.Seja PU(x) a probabilidade de uma m�aquina de Turing universal U omputar x quando�e forne ido um programa obtido aleatoriamente, por lan� amentos de uma moeda,PU(x) = XUp=x 2�jpj :No entanto, esta de�ni� ~ao tem um grave problema, pois PUp=x 2�jpj �e uma s�erie quediverge. Sabemos que para todo n existe um x0, jx0j = n, tal que C(x0) = O(logn). Istosigni� a que para todo n existe um x0 tal que PU(x0) � 2� log n = 1=n. Portanto, omo asoma in�nita 1=2 + 1=3 + 1=4 + � � � diverge, assim tamb�em PU(x) diverge.1\O Orangotango Eterno de Dee, munido de uma pena resistente, de tinta que bastasse e de umasuperf�� ie in�nita, a abaria es revendo todos os livros onhe idos, al�em de riar algumas obras originais",Borges e os Orangotangos Eternos, Luis Fernando Verissimo, Companhia das Letras, 2000, p�agina 70.28

Page 29: Introdução à Complexidade de Kolmogorov

0wwpppppppppppp 1

''NNNNNNNNNNNN0����

����

� 1��

>>>>

>>> 0

������

��� 1

��44

44440

������

��� 1��

0����

����

� 1��

0����

����

� 1��

0�������� 1

��22

2222000 001 010 011 100 101 110 111Figura 4: �Arvore da odi� a� ~ao bin�aria0

||yyyy

y 1��

>>>0

{{xxxx

x 1

@@@@

@@ 100 0~~~~

~~~ 1

��9

99010Figura 5: �Arvore mostrando �odigos livres de pre�xoDe�ni� ~ao 17 (Desigualdade de Kraft) Seja � um onjunto de �odigos, ent~aoXx2� �12�jxj � 1 :Estamos interessados em provar que as odi� a� ~oes livres de pre�xo satisfazem estadesigualdade [6℄.Teorema 28 Toda odi� a� ~ao livre de pre�xo E satisfaz a desigualdade de Kraft.Prova: Mostramos na Figura 4 uma �arvore que ilustra todos os poss��veis aminhospara obter uma string bin�aria. A �arvore segue in�nitamente para baixo. Cada aminhorepresenta uma string bin�aria. Podemos ver na Figura 5 os pontos mar ados indi andotres �odigos livres de pre�xo, desde que nos aminhos abaixo dos pontos n~ao exista nenhumoutro �odigo. S~ao eles 00, 010 e 1.Uma vez hegando a um ponto de bifur a� ~ao na �arvore, devemos tomar uma de duasa� ~oes:� Neste ponto j�a foi en ontrado um �odigo, ent~ao pare;� Ainda n~ao �e um �odigo, ent~ao mova-se mais um passo para baixo om Pr(0) =Pr(1) = 12 .Ap�os aminhar n passos na �arvore n�os podemos ter terminado em algum n��vel m < nse en ontramos um �odigo (pois os �odigos s~ao livres de pre�xo), ou podemos ter atingido on��vel n sem en ontrar um �odigo. De qualquer forma a probabilidade de qualquer aminhona �arvore pode ser al ulada omo:� Caminho om n bits (n~ao en ontrou �odigo): Pr(x1x2 � � �xn) = �12�n;29

Page 30: Introdução à Complexidade de Kolmogorov

0 12wwooooooooooooo 112 ''PPPPPPPPPPPPP0 12����

����

�� 112 ��;;

;;;;

;; 0 12����

����

��� 112

��88

8888

880 12��

112 ��

4444

4444

14 0 12{{www

wwwww

wwwww 112

��

0 12��

112 ��

4444

444418 18 18 18 18 18Figura 6: �Arvore mostrando a onserva� ~ao da probabilidade� Caminho om m < n bits (en ontrou �odigo): Pr(x1x2 � � �xm) = �12�m.Pela propriedade da onserva� ~ao da probabilidade a soma das probabilidades de qual-quer n��vel da �arvore deve ser igual a 1. Ilustramos esta propriedade na Figura 6. Nesta�gura apresentamos uma �arvore hipot�eti a em que o desenvolvimento de tres n��veis da�arvore resultou em uma odi� a� ~ao en ontrada no n��vel 2 ( �odigo 01). Podemos somaras probabilidades obtendo 18 + 18 + 14 + 18 + 18 + 18 + 18 = 1 :Desta forma podemos dizer queX �odigos om jxj<n�12�jxj + X aminhos ainda n~ao terminados�12�n = 1 :Como X aminhos ainda n~ao terminados�12�n � 0 ;segue que X �odigos om jxj<n�12�jxj � 1 :Tomando o limn!1 obtemoslimn!1 X �odigos om jxj<n�12�jxj =Xx2� �12�jxj ;e est�a ompleta a prova. 2Teorema 29 Existe um �odigo livre de pre�xo E que odi� a mensagens x 2 � tal queH(X) � L(E) < H(X) + 1 :30

Page 31: Introdução à Complexidade de Kolmogorov

Prova: Primeiro provamos a desigualdade H(X) � L(E). Subtraindo os dois lados dadesigualdade L(E)�H(X) = Xx2� p(x) [jxj+ log p(x)℄ == Xx2� p(x)"log p(x)� log�12�jxj# == Xx2� p(x) log p(x)�12�jxj :Apli ando a desigualdade ara ter��sti a da fun� ~ao onvexa log(1=x) (veja Teorema 2), om ai = p(x) e bi = (1=2)jxj, obtemosXx2� p(x) log p(x)�12�jxj � "Xx2� p(x)# log" Px2� p(x)Px2� �12�jxj# :Como sabemos que Px2� p(x) = 1"Xx2� p(x)# log" Px2� p(x)Px2� �12�jxj# = � log"Xx2� �12�jxj# � 0 ;pois pela desigualdade de Kraft Px2� �12�jxj � 1, e est�a provada a primeira desigualdade.Fi a evidente que a melhor odi� a� ~ao poss��vel �e aquela em que jxj = log(1=p(x)).Es olhemos jxj = blog(1=p(x)) . Logo,L(E) =Xx2� p(x)�log 1p(x)� <Xx2� p(x) �log 1p(x) + 1� = H(X) + 1 ;pois bx < x + 1. 2Toda odi� a� ~ao que satisfaz a desigualdade de Kraft �e livre de pre�xo (e uni amentede odi� �avel) e o onjunto de tamanhos de �odigo satisfaz jxj = llog 1Pr(x)m.Uma das preo upa� ~oes que devemos ter �e de omo obter �odigos uni amente de o-di� �aveis �otimos em rela� ~ao ao tamanho m�edio das palavras de �odigo. Um algoritmobem su edido �e a odi� a� ~ao de Shannon-Fano [6℄. O prin ��pio b�asi o da odi� a� ~ao deShannon-Fano �e de�nir o �odigo baseado na fun� ~ao de distribui� ~ao umulativa F (x). Sejaa1; a2; a3; : : : ; an uma ordena� ~ao de todos os elementos do onjunto de mensagens �, ent~aoF (ai) =Pj:j�iPr(aj).Seja F (ai) = 12 Pr(ai) +Xj:j<iPr(aj) ;representando a soma das probabilidades de todas mensagens menores, na ordena� ~ao,que ai mais a metade da probabilidade de ai. A ordena� ~ao n~ao ne essita seguir qualquerordem preestabele ida ( res ente, de res ente, et .).Se F (x) �e uma fun� ~ao em degrau, F (x) representa a metade do degrau orrespondente�a mensagem x.Em geral F (x) �e um n�umero real que s�o pode ser expresso om um n�umero in�nito debits. Se arredondarmos F (x) para l = dlog 1Pr(x)e bits obteremos um n�umero que aindapermane e no intervalo do degrau. Assim l bits �e su� iente para des rever x.31

Page 32: Introdução à Complexidade de Kolmogorov

x Pr(x) F (x) F (x) F (x) em bin�ario l = dlog 1Pr(x)e �odigoa1 0,125 0,125 0,0625 0,0001 4 0001a2 0,5 0,625 0,375 0,011 2 01a3 0,25 0,875 0,75 0,11 3 110a4 0,0625 0,9375 0,90625 0,11101 5 11101a5 0,0625 1,0 0,96875 0,11111 5 11111Tabela 2: Exemplo de onstru� ~ao do �odigo de Shannon-FanoPodemos provar que tal odi� a� ~ao �e livre de pre�xo (e portanto uni amente de odi-� �avel) e que o tamanho medio do �odigo L satisfaz L < H + 2. Assim, este �odigo est�aa um bit do �otimo que �e L < H + 1.A Tabela 2 apresenta um exemplo de onstru� ~ao do �odigo para in o mensagensa1; a2; a3; a4 e a5 om probabilidades 0,125; 0,5; 0,25; 0,0625 e 0,0625.O tamanho m�edio das palavras de �odigo obtido neste exemplo �e 2; 875. Observe que,neste aso, o �ultimo bit dos �odigos orrespondentes a a4 e a5 pode ser eliminado, obtendoassim um �odigo mais e� iente (ou mais urto).Podemos agora, baseados em odi� a� ~ao livre de pre�xo, rede�nir PU(x) de forma arestringir que todos os programas sejam programas autodelimitados e que U seja umam�aquina de pre�xo. Isto n~ao �e t~ao dif�� il de a eitar pois as linguagens de programa� ~aousualmente s~ao delimitadas por um omando de �naliza� ~ao (por exemplo, no PASCAL,o END.).Seja PU(x) de�nida omo a probabilidade de uma m�aquina de Turing universal depre�xo omputar x quando �e forne ido um programa autodelimitado aleat�orio,PU(x) = XUp=x 2�jpj :Pela desigualdade de Kraft �e evidente que PU(x) �e uma probabilidade, pois a s�eriea ima onverge e 0 � PU(x) � 1. Baseados nos resultados desta se� ~ao, podemos a�rmarque Px 2�C(x) �e uma s�erie divergente, enquanto que Px 2�K(x) onverge.Teorema 30 PU(:) n~ao �e omput�avel.Prova: Podemos simular todos os programas para a m�aquina U na ordem lexi ogr�a� ae oletar todos os programas que param e omputam uma dada string. �E f�a il ver que,pelo problema da parada, esta estimativa n~ao �e omput�avel, pois n~ao podemos determinarquais programas n~ao ir~ao parar. 27.4 Probabilidade UniversalSeja � = f0; 1g (alfabeto bin�ario). Ent~ao, �� = f�; 0; 1; 00; 01; 10; 11; 000; : : :g. Con-sidere o onjunto das seq�uen ias bin�arias in�nitas unidire ionais f0; 1g1. Se a 2 f0; 1g1ent~ao a = a1a2a3 : : : e a1:n = a1a2 : : : an. Cada elemento de f0; 1g1 orresponde a umelemento r 2 R, r =Pi ai2i e r onverge om 0 � r � 1.O onjunto de todas as seq�uen ias in�nitas unidire ionais que tem x omo pre�xo�e hamado de ilindro �x, �x = fa : a1:jxj = x e a 2 f0; 1g1g. O ilindro pode serinterpretado omo o intervalo [0:x; 0:x + 2�jxj), em [0; 1). O tamanho do ilindro �x �e2�jxj. 32

Page 33: Introdução à Complexidade de Kolmogorov

Devemos atribuir probabilidades a estes ilindros. Para isto, de�nimos uma �-�algebragerada pelos intervalos (esta �-�algebra �e hamada de �-�algebra de Borel) e uma medida deprobabilidade para esta �-�algebra [9℄. Usaremos omo medida o tamanho dos ilindros.Para simpli� ar a nota� ~ao usamos �(x), ao inv�es de �(�x), para indi ar a medida dointervalo �x.De�ni� ~ao 18 Uma fun� ~ao � : �� ! R �e uma semimedida se�(�) � 1 ;�(x) � Xa2� �(xa) :Podemos ompensar as desigualdades, obtendo novamente igualdades, ao supor aexisten ia de um elemento inde�nido u, u =2 �, tal que �(�) + �(u) = 1 e �(x) =�(xu) +Pa2� �(xa). u on entrar�a o ex esso de ambas as desigualdades transformando-as em igualdades. O on eito de semimedida n~ao perten e �a teoria da medida l�assi a[22℄. Uma semimedida �e dita dis reta se seu espa� o amostral �e dis reto.De�ni� ~ao 19 Seja C uma lasse de semimedidas dis retas. Uma semimedida �0 �e uni-versal (ou m�axima) para C se �0 2 C e para todo � 2 C existe uma onstante � > 0 talque ��0(x) � �(x), om � independente de x.Se ��0(x) � �(x) para todo x ent~ao n�os dizemos que �0 domina (multipli ativamente)�. Vamos aproximar o resultado da avalia� ~ao de fun� ~oes de valor real usando valoresra ionais p=q, representados omo pares (p; q), para p; q 2 N .De�ni� ~ao 20 Uma fun� ~ao real f �e dita enumer�avel se existe uma fun� ~ao re ursiva�(x; t), n~ao de res ente em t, om limt!1 �(x; t) = f(x).Ou seja, uma fun� ~ao enumer�avel �e aquela que pode ser aproximada por baixo.De�ni� ~ao 21 Uma fun� ~ao real f �e dita o-enumer�avel se existe uma fun� ~ao re ursiva�(x; t), n~ao res ente em t, om limt!1 �(x; t) = f(x).Uma fun� ~ao o-enumer�avel �e aquela que pode ser aproximada por ima. Se f �e enu-mer�avel ent~ao �f �e o-enumer�avel. Se uma fun� ~ao f �e enumer�avel e o-enumer�avel ent~aoela �e dita re ursiva. Por exemplo, K(:) e C(:) s~ao fun� ~oes o-enumer�aveis, e �K(:), �C(:)e PU(:) s~ao fun� ~oes enumer�aveis, mas nenhuma delas �e re ursiva.De�ni� ~ao 22 Uma medida � �e dita enumer�avel se existe uma fun� ~ao re ursiva �(x; t),n~ao de res ente em t, tal que limt!1 �(x; t) = �(x).Muito do que ser�a dis utido a seguir �e a prova da existen ia de uma semimedidauniversal m na lasse das semimedidas enumer�aveis dis retas [22℄.Primeiramente, devemos provar que a omplexidade K(x) e a probabilidade PU(x) s~aomedidas equivalentes, ou seja, 2�K(x) � PU(x) [6℄.33

Page 34: Introdução à Complexidade de Kolmogorov

Teorema 31 Existe uma onstante , tal que para todo x, 2�K(x) � PU(x) � 2�K(x),onde n~ao depende de x.Prova: A primeira desigualdade �e f�a il de ser provada. Seja x� o menor programa que omputa x, ent~ao PU(x) =PUp=x 2�jpj � 2�jx�j = 2�K(x).Podemos rees rever a segunda desigualdade omo K(x) � log 1PU(x) + 0.Um dos problemas om esta parte da prova �e que n~ao podemos omputar PU(x), ent~aoa estrat�egia da prova �e en ontrar o menor programa que des reve strings x om altaprobabilidade PU(x).Para isto, usaremos odi� a� ~ao de Shannon-Fano e onstruiremos a �arvore de �odigosde Shannon-Fano de forma a satisfazer a desigualdade de Kraft. �A medida que esta �arvore�e onstruida teremos aproxima� ~oes ada vez melhores de PU(x). N�os n~ao onhe emospreviamente a profundidade dos nodos na �arvore, mas podemos su essivamente atribuirx aos nodos da �arvore mais pr�oximos da raiz, �a medida que a nossa estimativa de PU(x)melhora.Supomos uma enumera� ~ao dos programas p1; p2; p3; : : : . Ent~ao, n�os onstruimos umam�aquina M que exe uta um passo da omputa� ~ao do primeiro programa simulando a omputa� ~ao do programa na m�aquina U . A seguir, exe utamos dois passos da omputa� ~aodos dois primeiros programas e assim su essivamente, de forma que em algum momentoM estar�a exe utando i passos da omputa� ~ao dos primeiros i programas da enumera� ~ao,simulando a m�aquina U . Ou seja,M exe utar�a o Algoritmo 3.Algoritmo 3 (Determina os pk e xk)1. Fa� a i:=0 e k:=1;2. Fa� a i:=i+1. Gere os primeiros i programas da enumera� ~ao. Simule a omputa� ~aode i passos de ada um dos i programas gerados em U . Se um programa p�ara,armazene o programa pk e a sua sa��da xk e fa� a k:=k+1. V�a para 2.Desta forma, eventualmente a m�aquina ir�a exe utar todos os poss��veis programas porum tempo ada vez mais longo, de forma que se um programa eventualmente p�ara, n�osdes obriremos.Assim, podemos obter a lista ordenada p1; p2; p3; : : : de todos os programas que paramjunto om as suas sa��das.Para ada programa pk e a sua sa��da xk al ulamos uma estimativa de PU(xk),~PU(xk) = XUpi=xk:i�k 2�jpij ;e ent~ao al ulamos o n�umero de bits nk ne ess�arios para des rever xk baseados na esti-mativa atual de PU(xk), nk = �log 1~PU(xk)� :Podemos ent~ao onstruir a �arvore, garantindo que todos os nk de um determinado xks~ao distintos pela remo� ~ao dos nodos em que o orre oin iden ia de xk e nk. Isto garanteque existe no m�aximo um nodo em ada n��vel da �arvore que orresponde a um dado xk.Sempre que um nodo �e usado todos os nodos abaixo dele � am indispon��veis, garantindoque a atribui� ~ao de nodos �e livre de pre�xo.Ilustramos este pro esso om o seguinte Exemplo.34

Page 35: Introdução à Complexidade de Kolmogorov

k pk xk ~PU(xk) nk Coment�ario1 101 10 ~PU(x1) � 2�jp1j = 2�3 = 0,125 32 100011 1101 ~PU(x2) � 2�jp2j = 2�6 = 0,015625 63 11 10 ~PU(x3) � 2�jp1j + 2�jp3j = 2�3 + 2�2 2= 0,3754 1001 111 ~PU(x4) � 2�jp4j = 2�4 = 0,0625 45 10000 10 ~PU(x5) � 2�jp1j + 2�jp3j + 2�jp5j 2 des artado= 2�3 + 2�2 + 2�5 = 0,406256 1000101 11111 ~PU(x6) � 2�jp6j = 2�7 = 0,0078125 7... ... ... ... ... ...Tabela 3: Constru� ~ao da �Arvore1||y

y 0))SSSSSSS 1

uuk k k k 0++WWWWWWWWWWW 1

ttiiiiiii 0**UUUUUUUUUUUx3 = 10 1

uukkkkkkkk 0&&L

LLLLLLLx1 = 10 1xxrrr

rrr 0&&NNNNNNNNNx4 = 111 1

vvm m m m 0((QQQQQQQQ 1

vvmmmmm 0��

<<<<x2 = 1101 1����� 0

''OOOOOO x5 = 11111Figura 7: �Arvore Construida Par ialmenteExemplo 6 Sejam os programas, suas sa��das e os �al ulos de ~PU(xk) e nk ilustrados naTabela 3.A partir dos dados da tabela podemos onstruir a �arvore omo ilustra a Figura 7.Observe que na �arvore x5 foi des artado, pois x3 = x5 e n3 = n5, e x6 foi renomeado omo x5.Usando a �arvore obtida podemos on luir queXk:xk=x 2�(nk+1) = 2�1 Xk:xk=x 2�nk� 2�1 �2blogPU(x) + 2blogPU(x) �1 + 2blogPU(x) �2 + � � � � (5)= 2�12blogPU(x) �1 + 12 + 14 + � � ��= 2�12blogPU(x) 2� PU(x) ;onde (5) �e verdadeiro pois existe no m�aximo um nodo em ada n��vel da �arvore que omputax, e �e assumido que o limite superior da soma �e aquele em que todos os n��veis est~aoalo ados para x. 35

Page 36: Introdução à Complexidade de Kolmogorov

Portanto, 1Xk=1 2�(nk+1) � Xx2f0;1g� PU(x) � 1 :A �ultima desigualdade a ima justi� a-se pela desigualdade de Kraft.Ou seja, existe um pro edimento efetivo para onstruir a �arvore a partir das aproxi-ma� ~oes de PU(x), e ~PU(x) " PU(x). Isto signi� a que PU pode ser aproximado por baixoe, portanto, PU �e enumer�avel.Ent~ao, �e poss��vel identi� ar um dado x pelo menor aminho que leva a um nodo que omputa x. Chamaremos este nodo de ~l. Sabemos por onstru� ~ao (pela odi� a� ~ao deShannon-Fano) que j~lj � log 1PU (x) +2, pois a odi� a� ~ao obtida satisfaz a desigualdade deKraft.Podemos onstruir ent~ao uma m�aquinaM que omputa x usando a �arvore. O progra-ma primeiro onstr�oi a �arvore e depois, a partir de ~l, imprime x. O tamanho do programaparaM �e j~lj+ 00, onde 00 �e o tamanho do programa que onstr�oi a �arvore. Pelo Teoremada Invarian iaK(x) � KM(x) + 000 = j~lj+ 00 + 000 � �log 1PU(x)� + 1 + 00 + 000 :Fazendo 00 + 000 + 1 = 0 esta ompleta a prova do Teorema. 2Este resultado �e surpreendente pois, mesmo sabendo que existem in�nitos programasque omputam x, signi� a que a probabilidade PU(x) on entra-se fortemente em 2�K(x).Al�em disto, obtivemos uma equivalen iaK(x) � log 1PU (x) semelhante a existente na teoriada informa� ~ao l�assi a, H(X) � log 1p(X) (veja Teorema 26).Assim, podemos entender a omplexidade K omo os tamanhos de palavras de �odigode um �odigo de Shannon-Fano baseado na distribui� ~ao PU .Teorema 32 (Universalidade de PU) Seja p0; p1; p2; : : : uma enumera� ~ao arbitr�aria dasdistribui� ~oes de probabilidade enumer�aveis. PU(x) � pi(x), para i = 1; 2; 3; : : : , onde n~ao depende de x apenas de pi.Prova: Seja uma distribui� ~ao qualquer pi da enumera� ~ao que pode ser aproximadapor baixo por uma m�aquina Mi (veja a prova do teorema anterior). Pelo Teorema daInvarian ia KU(x) � KMi(x) + 0.Assim, 2�K(x) � 2� 0pi(x), e omo pelo Teorema 31, PU(x) � 2�K(x), ent~ao PU(x) �pi(x), onde = 2 0. 2Ou seja, PU domina todas as distribui� ~oes de probabilidade enumer�aveis [32℄.Restringir as distribui� ~oes de probabilidade apenas �as semimedidas enumer�aveis per-mite que exista um elemento universal na lasse das distribui� ~oes de probabilidade enu-mer�aveis.Chamamos m de distribui� ~ao universal dis reta. Desta forma, os Teoremas 31 e 32provam m(x) � PU(x) � 2�K(x).Evidentemente, o desa�o para implementar ra io ��nio indutivo, usando-se esta teoria, �een ontrar aproxima� ~oes omput�aveis de PU . O n�u leo de apli a� ~oes deste tipo en ontra-senos prin ��pios do MDL (minimum des ription length) e MML (minimum message length)[12, 19, 22℄.36

Page 37: Introdução à Complexidade de Kolmogorov

8 O Problema da Probabilidade de ParadaO problema da probabilidade de parada (o n�umero m�agi o e m��sti o ) foi propostopor Chaitin omo um problema rela ionado om o teorema da in ompletude de G�odel e om o trabalho de Turing sobre os n�umeros reais in omput�aveis [1, 5℄.Suponha que todos os programas para a m�aquina de Turing fossem postos em uma ai-xa preta. Imaginemos que a probabilidade de que um programa (es olhido aleatoriamentenesta aixa preta) pare fosse dada por um n�umero [6℄. Podemos de�nir omo = Xp p�ara 2�jpj ;onde p s~ao programas autodelimitados. Observe que uma forma alternativa de de�nir seria =Xx PU(x) :Pela desigualdade de Kraft sabemos que 0 � � 1, assim se onstitui na probabi-lidade que um programa qualquer pare.Evidentemente que o valor de imal de depender�a da m�aquina universal es olhidapara ser a m�aquina de referen ia.Seja p1; p2; p3; : : : uma enumera� ~ao dos programas para a m�aquina de Turing. Podemosde�nir um n�umero real ! omo sendo ! = 0:a1a2a3 : : : , onde, para i = 1; 2; 3; : : : , ai = 1se pi p�ara e ai = 0 aso ontr�ario. Claramente 0 � ! � 1.Podemos mostrar que a partir de ! podemos obter e vi e-versa. Para obter a partirde !, simplesmente re onstruimos a enumera� ~ao dos programas p1; p2; p3; : : : e al ulamoso somat�orioPi:ai=1 2�jpij para todos os programas que orrespondem a d��gitos ai de ! talque ai = 1. Para obter uma aproxima� ~ao de ! a partir de 1:n devemos exe utar todos osprogramas om tamanho menor ou igual a n de uma forma on orrente e, �a medida queos programas v~ao parando, al ular aproxima� ~oes de 1:n at�e que os bits remanes entesde ! ontribuam no somat�orioPp 2�jpj de forma a ex eder o valor de 1:n + 2�n (j�a que1:n � � 1:n + 2�n). Neste momento o pro esso a aba e os bits remanes entes devemser ajustados para 0. Este pro esso �e omput�avel e pode ser repetido para qualquer n � 0.Uma onseq�uen ia da possibilidade de determinar ! a partir de �e que o n�umero resolve o problema da parada. Ou seja, de posse de n bits de �e poss��vel determinarquais programas, om tamanho at�e n, param.Tres propriedades importantes de s~ao: n~ao �e omput�avel; �e in ompress��vel; e �e uma \pedra �losofal" para a matem�ati a.A primeira propriedade �e f�a il de ser provada pois �e uma onseq�uen ia direta doproblema da parada e da n~ao- omputabilidade de PU .A segunda propriedade signi� a que K(1:n) � n� , para uma onstante > 0.Teorema 33 K(1:n) � n� , para uma onstante > 0.Prova: Se onhe emos n bits de podemos determinar se todos os programas detamanho menor ou igual a n param junto om as suas sa��das xi. N�os en ontramos aprimeira string x0 que n~ao est�a nesta lista. A string x0 �e ent~ao a menor string omK(x0) > n. O tamanho do programa que omputa x0 �e K(1:n) + , que deve ser t~ao urto quanto x0. Assim, K(1:n)+ = K(x0) > n, para todo n. Ent~ao, K(1:n) � n� .237

Page 38: Introdução à Complexidade de Kolmogorov

Isto signi� a que �e a forma mais ompa ta de expressar o problema da parada.Por exemplo, �e mais ompa to que !, j�a que podemos imaginar que ! possui algumaregularidade.Finalmente, o que queremos dizer om ser uma \pedra �losofal" para a matem�ati a�e que de posse de �e poss��vel onhe er de antem~ao se um dado programa p�ara ou n~ao.Como podemos asso iar ada programa om a prova de um teorema da matem�ati a emum sistema autom�ati o de dedu� ~ao, ent~ao podemos de antem~ao saber quais teoremas damatem�ati a possuem prova e quais n~ao. O onhe imento de permitiria a resolu� ~ao detodos os problemas ainda n~ao resolvidos na matem�ati a, tal omo a quest~ao \P=NP?"[1℄.Referen ias[1℄ Bennett, C. ; Gardner, M. The Random Number Omega Bids Fair to Hold the Mys-teries of the Universe. S ienti� Ameri an, v. 241, p. 20-34, 1979.[2℄ Campani, C. ; Menezes, P. Chara terizing the Software Development Pro ess: A NewApproa h Based on Kolmogorov Complexity. In: Computer Aided Systems Theory -EUROCAST'2001, 8th International Workshop on Computer Aided Systems Theory,Las Palmas de Gran Canaria, Spain, feb. 19-23, 2001, Le ture Notes in ComputerS ien e, Springer, v. 2178, p. 242-256, 2001.[3℄ Chaitin, G. Information-Theoreti Computational Complexity. IEEE Transa tions onInformation Theory, v. 20, p. 10-15, 1974.[4℄ Chaitin, G. A Theory of Program Size Formally Identi al to Information Theory.Journal of the ACM, v. 22, p. 329-340, 1975.[5℄ Chaitin, G. The Limits of Mathemati s. New York: Springer, 1998. 148 p.[6℄ Cover, T. ; Thomas, J. Elements of Information Theory. New York: Wiley, 1991. 566p.[7℄ Davis, M. A Note On Universal Turing Ma hines. In: Shannon, C. ; M Carthy, J.Automata Studies, p. 129-153, Prin eton University Press, 1956.[8℄ Diverio, T. ; Menezes, P. Teoria da Computa� ~ao: M�aquinas Universais e Computabi-lidade. segunda edi� ~ao, Porto Alegre: Sagra-Luzzatto, 2000. 224 p.[9℄ Fernandez, P. Medida e Integra� ~ao. Rio de Janeiro: Impa, 1996. 202 p.[10℄ Figueiredo, D. An�alise I. Rio de Janeiro: LTC, 1996. 172 p.[11℄ G�a s, P. Le ture Notes on Des riptional Complexity and Randomness. Te hni alReport, Boston University, Computer S ien e Dept., Boston, 1988. dispon��vel emhttp://www. s.bu.edu/fa ulty/ga s/papers/ait-notes.ps.Z.[12℄ Gammerman, A. ; Vovk V. Kolmogorov Complexity: Sour es, Theory and Appli a-tions. The Computer Journal, v. 42, n. 4, p. 252-255, 1999.[13℄ Hop roft, J. ; Ullman, J. Introdu tion to Automata Theory, Languages and Compu-tation. Reading: Addison-Wesley, 1979. 428 p.38

Page 39: Introdução à Complexidade de Kolmogorov

[14℄ James, B. Probabilidades: Um Curso em N��vel Intermedi�ario. Rio de Janeiro: Impa,1996. 299 p.[15℄ Khin hin, A. Mathemati al Foundations of Information Theory. New York: Dover,1957. 126 p.[16℄ Kir hherr, W. ; Li, M. ; Vit�anyi, P. The Mira ulous Universal Distribution. Mathe-mati al Intelligen er, v. 19, n. 4, p. 7-15, 1997.[17℄ Kolmogorov, A. Three Approa hes to the Quantitative De�nition of Information.Problems of Information Transmission, v. 1, p. 4-7, 1965.[18℄ Kolmogorov, A. Logi al Basis for Information Theory and Probability Theory. IEEETransa tions on Information Theory, v. 14, n. 5, p. 662-664, 1968.[19℄ Li, M. ; Vit�anyi, P. Theories of Learning. In: Intern. Conf. of Young ComputerS ientists, Pro eedings : : : Beijing, China, 1993.[20℄ Li, M. ; Vit�anyi, P. Indu tive Reasoning. In: Language Computations, Pro eedings: : : DIMACS Workshop on Human Language, Mar h 20-22, 1992, DIMACS Seriesin Dis rete Mathemati s and Theoreti al Computer S ien e, v. 17, Ameri an Math.So iety, p. 127-148, 1994.[21℄ Li, M. ; Vit�anyi, P. A New Approa h to Formal Language Theory by KolmogorovComplexity. SIAM J. Comput., v. 24, n. 2, p. 398-410, 1995.[22℄ Li, M. ; Vit�anyi, P. An Introdu tion to Kolmogorov Complexity and its Appli ations.2nd edition, New York: Springer, 1997. 657 p.[23℄ Lips hutz, S. Theory and Problems of Probability. New-York: M Graw-Hill, 1968.153 p.[24℄ Martin-L�of, P. The De�nition of Random Sequen es. Information and Control, v. 9,p. 602-619, 1966.[25℄ Menezes, P. Linguagens Formais e Automatos. Porto Alegre: Sagra-Luzzatto, 1997.168 p.[26℄ Shannon, C. The Mathemati al Theory of Communi ation. Bell System Te h. J., v.27, p. 379-423, 623-656, 1948.[27℄ Shannon, C. A Universal Turing Ma hine with Two Internal States. In: Shannon, C.; M Carthy, J. Automata Studies, p. 129-153, Prin eton University Press, 1956.[28℄ Solomono�, R. A Formal Theory of Indu tive Inferen e Part I. Information andControl, v. 7, p. 1-22, 1964.[29℄ Solomono�, R. The Dis overy of Algorithmi Probability. Journal of Computer andSystem S ien es, v. 55, n. 1, p. 73-88, aug. 1997.[30℄ Uspensky, V. ; Semenov, A. ; Shen, A. Can an Individual Sequen e of Zeros andOnes Be Random? Russian Math. Surveys, v. 45, n. 1, p. 121-189, 1990.[31℄ Vit�anyi, P. Randomness. In: Matemati a, Logi a, Informati a, Storia del XX Se olo,v. 12. dispon��vel em http://www. wi.nl/~paulv/en y.ps.39

Page 40: Introdução à Complexidade de Kolmogorov

[32℄ Zvonkin, A. ; Levin, L. The Complexity of Finite Obje ts and the Development ofthe Con epts of Information and Randomness by Means of the Theory of Algorithms.Russian Math. Surveys, v. 25, n. 6, p. 83-124, 1970.

40