• Nenhum resultado encontrado

Computabilidade no espaço dos intervalos reais: um modelo BSS intervalar

N/A
N/A
Protected

Academic year: 2017

Share "Computabilidade no espaço dos intervalos reais: um modelo BSS intervalar"

Copied!
127
0
0

Texto

(1)

Computabilidade no Espaco dos

Intervalos Reais:

Um Modelo BSS Intervalar

Dissertac~ao de Mestrado

Aar~ao Lyra

Orientado por Benjamn Rene Callejas Bedregal

Universidade Federal do Rio Grande do Norte

Departamento de Informatica e Matematica Aplicada

Mestrado em Sistemas e Computac~ao

Campus Universitario s/n, Lagoa Nova, Natal-RN

59072-970, Fax: (084)215-3780

aarao@ufrnet.ufrn.br

NATAL

(2)

Computabilidade no Espaco dos

Intervalos Reais:

Um Modelo BSS Intervalar

AAR ~

AO LYRA

Orientador: Prof. Dr. BENJAMIN RENE CALLEJAS BEDREGAL

Dissertac~ao apresentada ao Departamento

de Informatica e Matematica Aplicada da

Universidade Federal do Rio Grande do

Norte, para obtenc~ao do ttulo de Mestre

em Sistemas e Computac~ao.

NATAL

(3)

... Benjamin Rene Callejas Bedregal

... Benedito Melo Acioly

(4)
(5)

Agradecimentos

Apos essa difcil jornada, resta-nos agradecer a todos aqueles que, em contextos diferentes, contriburam para que chegassemos ate aqui.

Na impossibilidade de citar todos os nomes que zeram a travessia conosco nes-ta construc~ao, permitimo-nos desnes-tacar os seguintes nomes, na certeza de que somos gratos a todos que direta ou indiretamente contriburam para o sucesso deste tra-balho.

Assim, apresentamos a profundidade dos reconhecimentos plenos:

A Deus

, Artce Maior do conhecimento.

Aos meus pais

, Abrah~ao Lyra e Antonia Freitas Lyra, que depositaram em mim toda conanca me proporcionando a abertura deste caminho.

Aos meus irm~aos

Abrah~ao Lyra Filho (in memorian), Aliete Lyra de Almeida, Arlete Lyrae Allyson Lyra, pelo eterno companheirismo e amizade.

A minha esposa e lhas

, Edna Melo dos Reis Lyra, Amanda Lyra Melo dos Reis e Aline Lyra Melo dos Reis, pelo estmulo, carinho, amor e abnegac~ao ne-cessarios a concretizac~ao deste trabalho.

Ao professor orientador

, Benjamin Rene Callejas Bedregal, por sua t~ao com-petente orientac~ao, a minha admirac~ao e agradecimento pelo apoio constante, pela conanca, amizade e, principalmente, pelo incentivo dedicado durante todo o decor-rer do curso.

Aos professores do DIMAp

, pelas signicativas contribuic~oes que enriquece-ram este estudo. Em especial a professora Marcia de Paiva Bastos Gottgtroy, que muito me incentivou durante este curso, o seu apoio foi indispensavel a realizac~ao deste trabalho. Ao professor Benedito Melo Acioly, nome que sempre me servira de refer^encia, pela sua presenca amiga, por seus diversos artigos publicados que muito serviu neste trabalho e pelas diversas contribuic~oes a mim ofertada. Aos professores Dario Jose Aloise, David Paul Boris Deharbe e Anamaria Martins Moreira cujo ensinamentos foi de grande valia.

Aos funcionarios do DIMAp

, em especial a Jose Francisco, Ana Claudia, e Aguiar, que sempre contribuiram comigo, e sou eternamente grato.

Aos colegas

, pela amizade e apoio ao longo do curso. Em especial a Italo Rosendoe Selma, pelas noites de estudo indispensaveis que passamos juntos.

(6)

Resumo

A Matematica Intervalar e uma teoria matematica originada na decada do 60 com o objetivo de responder quest~oes de exatid~ao e eci^encia que surgem na pratica da computac~ao cientca e na resoluc~ao de problemas numericos. As abordagens classicas para teoria da computabilidade tratam com problemas discretos (por exem-plo, sobre os numeros naturais, numeros inteiros, strings sobre um alfabeto nito, grafos, etc.). No entanto, campos da matematica pura e aplicada tratam com proble-mas envolvendo numeros reais e numeros complexos. Isto acontece, por exemplo, em analise numerica, sistemas din^amicos, geometria computacional e teoria da otimi-zac~ao. Assim, uma abordagem computacional para problemas contnuos e desejavel, ou ainda necessaria, para tratar formalmente com computac~oes analogicas e com-putac~oes cientcas em geral. Na literatura existem diferentes abordagens para a computabilidade nos numeros reais, mas, uma importante diferenca entre estas abor-dagens esta na maneira como e representado o numero real. Existem basicamente duas linhas de estudo da computabilidade no contnuo. Na primeira delas uma apro-ximac~ao da sada com precis~ao arbitraria e computada a partir de uma aproapro-ximac~ao razoavel da entrada Bra95]. A outra linha de pesquisa para computabilidade real foi desenvolvida por Blum, Shub e Smale BSS89]. Nesta aproximac~ao, as chamadas maquinas BSS, um numero real e visto como uma entidade acabada e as func~oes computaveis s~ao geradas a partir de uma classe de func~oes basicas (numa maneira similar as func~oes parciais recursivas). Nesta dissertac~ao estudaremos o modelo BSS, usado para se caracterizar uma teoria da computabilidade sobre os numeros reais e estenderemos este para se modelar a computabilidade no espaco dos intervalos reais. Assim, aqui veremos uma aproximac~ao para computabilidade intervalar epistemo-logicamente diferente da estudada por Bedregal e Acioly Bed96,BA97a,BA97b], na qual um intervalo real e visto como o limite de intervalos racionais, e a computa-bilidade de uma func~ao intervalar real depende da computacomputa-bilidade de uma func~ao sobre os intervalos racionais.

(7)

Interval Mathematics is a mathematical theory originated in the sixties and aims at solving accuracy and ecency issues that arise in scientic computation and in the resolution of numerical problems. The classic approach for computability theory deals with discrete problems (for example, on the natural numbers, integer numbers, strings on a nite alphabet, graphs, etc.). However, elds of pure and applied ma-thematics deal with problems involving real numbers and complex numbers. This happens, for example, in numerical analysis, dynamic systems, computational geo-metry and optimization theory. Thus, a computational approach for continuous problems is desirable, or even necessary, to deal formally with analogical computa-tions and scientic computacomputa-tions in general. In the literature dierent approaches exist for the computability in the real numbers, and, an important dierence among these approaches is the way the real number is represented. Basically, there are two lines of research in continuous computability. In the rst estimation of, an output arbitrary accuracy is computed from an input aproximation Bra95]. The second approach to real computability was developed by Blum, Shub and Smale BSS89]. Where, the BSS machines, a real number is seen as a nished entity and the com-putable functions are generated starting from a class of basic functions (in a similar way to the partial recursive functions). In this dissertation we study this BSS model, used to characterize a computability theory on the real numbers and we extend it to model computability in the real intervals space. Thus, here we have developed a theoretical framework to study interval computability epistemologically dierent from the approach of Bedregal and Acioly Bed96, BA97a, BA97b], where a real in-terval is seen as the limit of rational inin-tervals, and the computability of an inin-terval function depends on the computability of a function on the rational intervals.

(8)

Indice

1 Introduc~ao

9

2 Fundamentac~ao Matematica

13

2.1 Introduc~ao . . . 13

2.2 Estruturas Algebricas . . . 13

2.2.1 Operac~ao Binaria . . . 14

2.2.2 Grupo . . . 14

2.2.3 Anel . . . 14

2.2.4 Corpo . . . 15

2.2.5 Quasi-Aneis . . . 15

2.2.6 Ordem . . . 16

2.2.7 Anel Ordenado . . . 17

2.2.8 Quasi-Anel Fracamente Ordenado . . . 18

2.2.9 Quasi-Anel Ordenado . . . 18

2.3 Conceitos Basicos de Topologia . . . 21

2.3.1 Espacos Metricos e Quasi-Metricos . . . 21

3 Teoria de Computabilidade Classica

25

3.1 Introduc~ao . . . 25

3.2 Conceitos Basicos . . . 27

3.2.1 Func~oes . . . 27

3.2.2 Denic~oes Recursivas . . . 28

3.2.3 Relac~oes e Predicados . . . 30

3.2.4 Relac~oes de Equival^encia . . . 30

3.3 Aut^omatos . . . 31

3.3.1 Aut^omatos Finitos . . . 31

3.4 Algoritmos e Procedimentos Efetivos . . . 33

3.5 A Maquina sem Limite de Registros (URM) . . . 35

3.5.1 Computac~oes . . . 37

3.5.2 Func~oes URM-Computaveis . . . 40

(9)

3.6.1 Substituic~ao . . . 48

3.6.2 Recurs~ao . . . 51

3.6.3 Minimalizac~ao . . . 57

3.7 Outras Denic~oes Sobre Computabilidade . . . 61

3.7.1 Maquinas de Acesso de Rand^omico (MAR) . . . 61

3.7.2 Maquinas de Turing . . . 63

3.7.3 Func~oes Turing-Computaveis . . . 67

3.8 A Tese de Church . . . 69

4 O Modelo BSS

73

4.1 Introduc~ao . . . 73

4.2 O Modelo BSS Classico . . . 75

4.3 Computac~oes em Maquinas BSS . . . 77

4.4 Decidibilidade Sob um Anel . . . 80

4.5 Fractais . . . 82

4.5.1 O Incio de Curvas de Fractal . . . 82

4.5.2 Para que os Fractais Servem . . . 83

4.6 Exemplos . . . 83

5 Matematica Intervalar

95

5.1 Introduc~ao . . . 95

5.2 Denic~oes Basicas . . . 96

5.2.1 Func~oes Intervalares . . . 98

5.2.2 A Teoria dos Domnios de Scott . . . 102

5.2.3 Teoria dos Domnios Contnuos Intervalares . . . 103

5.3 O Quasi-Anel dos Intervalos Reais . . . 104

6 O Modelo BSS-Intervalar

109

6.1 Introduc~ao . . . 109

6.2 Extendendo Maquinas BSS Para Computac~oes Intervalares . . . 111

6.3 O Metodo de Newton Intervalar . . . 112

6.3.1 Maquina BSS Intervalar Calculando a Raiz de uma Func~ao pelo Metodo de Newton . . . 115

6.4 Caracterizac~ao das func~oes Intervalares BSS Computaveis . . . 117

6.5 Continuidade das Func~oes BSS-Computaveis . . . 118

(10)

Introduc~ao

A computac~ao cientca possui tr^es tipos de erros. Ao primeiro chamamos erro quanto a falta de precis~ao de equipamentos, existe basicamente, devido a falta de precis~ao de dados nos equipamentos de medida que, aplicado nos computadores e sob operac~oes repetitivas, se multiplica ocasionando varios problemas esse tipo de erro so podera ser sanado melhorando a precis~ao dos equipamentos de medida. Outro erro e o de arredondamento, acontece devido ao numero nito de dgitos que uma maquina pode trabalhar em computac~ao cientca diversas vezes precisamos computar operac~oes com numeros que possuem grande quantidades de dgitos ou ate mesmo innitos (como uma dzima periodica1 ou o valor de , por exemplo),

neste caso, a maquina arredonda este numero a um outro numero com quantidade de dgitos nita e capaz de computar, porem isto pode ocasionar erros futuros ao arrendondar e computar valores arrendondados varias vezes. O ultimo erro existente e o de truncamento, uma maquina ao resolver um problema levara um determinado tempo para encontrar seu resultado, este tempo pode ser inviavel, uma soluc~ao para este caso e o truncamento, ou seja, em algumas situac~oes o processo da repetic~ao da operac~ao e truncada e o resultado e aproximado, esse resultado aproximado podera ser aplicado em outras operac~oes que multiplicar~ao o erro, e que resultara em um resultado incerto e impreciso.

A qualidade do resultado em computac~ao cientca depende do conhecimento e controle dos erros na computac~ao. Algoritmos convencionais, chamados algoritmos pontuais, computam uma resposta e as vezes uma estimativa do erro. No entanto, o usuario n~ao pode conseguir uma resposta exata sem o auxlio de um analise rigorosa dos erros, o qual e extensa, dispendiosa e nem sempre viavel. Por outro lado, tecnicas intervalares podem ser programadas em computadores de tal modo que a computac~ao possua uma rigorosa e completa analise do erro no resultado.

A Matematica Intervalar e uma teoria matematica originada na decada do 60

1Mesmo sabendo que uma dzima periodica pode ser reduzida a um numero racional, na pratica

da computac~ao cientca ela sera innita, pois havera necessidade de ser calculada

(11)

com o objetivo de responder quest~oes de exatid~ao e eci^encia que surgem na pratica da computac~ao cientca e na resoluc~ao de problemas numericos. A matematica intervalar se assenta em dois conceitos fundamentais: a propriedade da inclus~ao-monotonicidade de sua aritmetica e uma topologia de Hausdor que veremos no captulo 2 desta dissertac~ao, denida no conjunto de intervalos. A propriedade de inclus~ao-monotonicidade tem se revelado uma ferramenta util na elaborac~ao de algoritmos intervalares enquanto a topologia de Hausdor n~ao consegue reetir, con-sistentemente, as carastersticas logicas e topologicas daquela propriedade, porem, e a utilizada na pratica em nossos dias. Em Aci91] e introduzido o conceito de espaco dos reais parciais (intervalos de extremos reais) munidas da sua topologia de Scott cujos elementos s~ao vistos como intervalos de informac~ao. Cada elemento do espaco informa sobre um objeto real ou intervalo. Uma consequ^encia desta mudanca e a compatibilidade entre as propriedades da inclus~ao-monotonicidade e sua topologia de Scott.

As abordagens classicas para a teoria da computabilidade tratam com problemas discretos (por exemplo, sobre os numeros naturais, numeros inteiros, strings sobre um alfabeto nito, ou sobre grafos, etc.). No entanto, os campos da matematica pura e aplicada tratam com problemas envolvendo numeros reais, numeros complexos, etc. Isto acontece, por exemplo, em analise numerica, sistemas din^amicos, geometria computacional e teoria da otimizac~ao. Assim, uma abordagem computacional para problemas contnuos e desejavel, ou ainda necessaria, para tratar formalmente com computac~oes analogicas e com computac~oes cientcas em geral.

(12)

11 neste contexto. Nesta abordagem uma aproximac~ao da sada com precis~ao arbitraria e computada a partir de uma aproximac~ao razoavel da entrada Bra95]. Uma ou-tra linha de pesquisa para computabilidade real foi desenvolvida por Blum, Shub e Smale BSS89]. Nesta aproximac~ao, as chamadas maquinas BSS, um numero real e visto como uma entidade acabada e as func~oes computaveis s~ao geradas a partir de uma classe de func~oes basicas (numa maneira similar as func~oes parciais recursivas). Mesmo sabendo que cada uma destas aproximac~oes tem seus meritos, nenhuma tem sido aceita pela maioria dos matematicos e cientistas da computac~ao.

Na primeira abordagem (de limite) as construc~oes s~ao baseadas na representac~ao dos numeros reais como sequ^encias convergentes de intervalos racionais que apesar de n~ao serem uma representac~ao apropriada para implementar computac~oes sobre numeros reais Gia93] s~ao bons para uma teoria da computabilidade sobre numeros reais (parciais).

Esta vis~ao nos permite estender a conhecida maquina de Turing, desenvolvida para computac~oes em mundos contaveis, para uma maquina chamada de C-Turing

BA97a] na qual esta nova noc~ao de computabilidade foi fortemente sustentada na bem consolidada e aceita teoria dos domnios.

Nesta dissertac~ao estudaremos o modelo BSS, desenvolvido por Blum, Shub e Smale BSS89], usado para se caracterizar uma teoria da computabilidade so-bre os numeros reais e estenderemos este para se modelar a computabilidade no espaco dos intervalos. Assim, aqui veremos uma aproximac~ao para computabili-dade intervalar epistemologicamente diferente da estudada por Bedregal e Acioly Bed96,BA97a,BA97b], na qual um intervalo real e visto como o limite de intervalos racionais, e a computabilidade de uma func~ao intervalar real depende da computabi-lidade de uma func~ao sobre os intervalos racionais, isto e, ela se baseia no princpio de que podemos computar uma aproximac~ao da sada com precis~ao arbitraria a partir de uma aproximac~ao razoavel da entrada.

Esta dissertac~ao consta de 7 captulos dispostos da seguinte maneira:

Captulo 1- Esta Introduc~ao.

Captulo 2- Fundamentac~ao matematica. Veremos neste captulo o estudo das

estruturas algebricas essenciais para o desenrolar da dissertac~ao, as demonstrac~oes fundamentais para a extens~ao do modelo BSS e conceitos basicos de topologia para podermos enquadrar o nosso novo modelo.

Captulo 3-Teoria da Computabilidade Classica. Veremos aqui, os seguintes

(13)

BSS Intervalar.

Captulo 4-O modelo BSS. Neste captulo apresentaremos o modelo BSS e sua

teoria. Veremos a denic~ao de fractais e sua aplicabilidade usando a maquina BSS como tambem alguns exemplos de modelos BSS e sua aplicac~ao.

Captulo 5- Matematica Intervalar. Faremos neste captulo uma breve

intro-duc~ao a matematica intervalar, conheceremos as func~oes intervalares basicas, es-tudaremos a topologia relacionando sempre com o modelo BSS e com a estrutura matematica proposta, tambem veremos que todo anel e um quasi-anel ordenado.

Captulo 6-O Modelo BSS-Intervalar. Neste momento, caracterizaremos o

Mo-delo BSS para ser uma extens~ao intervalar, onde as operac~oes acontecer~ao sob in-tervalos reais. Veremos alguns exemplos tradicionais importantes, como tambem a garantia de continuidade no modelo proposto.

Captulo7-Conclus~ao. Exporemos neste captulo os resultados obtidos, faremos

(14)

Captulo 2

Fundamentac~ao Matematica

2.1 Introduc~ao

Em nossa dissertac~ao usaremos diversas vezes modelos matematico-computacionais que trabalha sobre determinados conjuntos algebricos. Para um melhor entendi-mento faremos neste primeiro moentendi-mento uma abordagem matematica.

Este captulo se divide em tr^es sec~oes . Sec~ao 2.1. Introduc~ao . Esta Introduc~ao . .

Sec~ao 2.2. Estruturas Algebricas. Esta sec~ao esta dividida em 9 subsec~oes , que servir~ao como introduc~ao ao Matematica Algebrica, aqui, apresentaremos as estru-turas algebricas basicas, dentre elas os quasi-aneis que servira de elo entre o modelo BSS e o modelo BSS intervalar, e, faremos algumas demonstrac~oes importantes.

Sec~ao 2.3. Conceitos Basicos de Topologia. Esta sec~ao possui apenas uma sub-sec~ao . Nela veremos o ponto de vista classico de topologia e da teoria da informac~ao , isto e, espacos metricos, quasi-metricos, ultra-metricos, pseudo-quasi-metrico, etc.

2.2 Estruturas Algebricas

Denic~ao 1 Uma Estrutura Algebricae um conjunto munido de operac~oes com

caracter sticas comuns, seja quanto a transitividade, associatividade, comutativida-de, etc.

(15)

2.2.1 Operac~ao Binaria

Denic~ao 2

Seja R um conjunto n~ao vazio. Uma

operac~ao binaria

sobre R, , e uma func~ao que associa a cada par (ab), constitu do de elementos de R, um

elemento a b em R.

A estrutura algebrica mais simples que se pode pensar e um conjunto n~ao vazio, R, com uma unica operac~ao denida sobre R. Esta operac~ao pode ou n~ao satisfazer algumas propriedades. Tal estrutura, quando a operac~ao for binaria, e chamada

grupoide

.

Exemplo 1

Seja R o conjunto dos numeros reais. (R+) e um grupoide com

ele-mento neutro 0 e(R) e um grupoide com elemento neutro 1. (R;) e um grupoide,

mas o elemento neutro 0 e apenas a direita (a;0 = a, para todo a 2 R). Fato

similar ocorre para o grupoide (R=), onde obviamente o divisor n~ao pode ser nulo.

2.2.2 Grupo

Denic~ao 3

SejaR um conjunto n~ao vazio e uma operac~ao binaria denida sobre R. (R ) e um

grupo

se:

i. Se abc2R, ent~ao (a b) c=a (b c)) lei da associatividade.

ii. Existe e 2 R tal que e a = a e = a, 8a 2 A ) exist^encia de elemento

neutro.

iii. Existe x2R tal que a x=x a=e, 8a2A ) exist^encia de inversos.

2.2.3 Anel

Denic~ao 4

Seja A um conjunto n~ao vazio sobre o qual est~ao denidas duas

operac~oes binarias + e , denominadas, respectivamente, adic~ao e multiplicac~ao.

Dizemos que(A+) e um

anel

se (A+) for um grupo e as seguintes propriedades

sejam satisfeitas para qualquer abc2A:

i. a+b =b+a ) lei da comutatividade da adic~ao .

ii. (ab)c=a(bc)) lei da associatividade da multiplicac~ao .

iii. a(b+c) =ab+ac (b+c)a=ba+ca) leis distributivas.

(16)

2.2. ESTRUTURAS ALGEBRICAS 15 Observac~ao: Sera adotado neste trabalho a convenc~ao de se escrever abem lugar

de ab.

2.2.4 Corpo

Denic~ao 5 Uma estrutura algebrica (A+) e umcorpose (A+) e um anel e 8abc2A valem as seguintes propriedades:

i. ab=ba) lei da comutatividade da multiplicac~ao

ii. Se a 2 A e a 6= O, ent~ao existe a ;1

2 A tal que aa ;1 =

a ;1

a = 1 )

exist^encia de um inverso multiplicativo.

2.2.5 Quasi-Aneis

Denic~ao 6 Seja A um conjunto n~ao vazio sobre o qual est~ao denidas duas

operac~oes binarias + e , denominadas, respectivamente, adic~ao e multiplicac~ao.

Estas estruturas s~ao quasi-aneis se para quaisquer abc2A. (A+) As

seguin-tes propriedades sejam satisfeitas:

i. a+b=b+a ) lei da comutatividade da adic~ao .

ii. Existe O 2A tal quea+O =O +a =a, ) exist^encia de um zero (elemento

neutro).

iii. Existe 12A tal que 1a=a1 =a, ) exist^encia de uma unidade.

iv. Existe um elemento k2A tal que:

iv1.

k+ 1 =O

iv2.

k(ab) = (ka)b =a(kb)

iv3.

k(a+b) = (ka) + (kb)

Seja N A, O 2 N e = : A (A ;N) ;! A. A estrutura (AN+=) e

um anel divis~ao se a divis~ao (=) e uma operac~ao binaria bem denida e tambem

valem:

i. a=1 =a, 8a2A

ii. O=a =O, 8a2(A;N)

(17)

Em um quasi-anel ou quasi-anel divis~ao tem-se tr^es elementos destacaveis: O1

e k. Em se tratando de R ou C, o conjunto dos numeros complexos, k = ;1.

S~ao corpos (R+) e (C+) e, fazendo N = fOg(RN+=) s~ao aneis divis~ao.

Comparado com outras estruturas algebricas, nota-se que em um quasi-anel, alem da inexist^encia das propriedades associativa e distributiva, n~ao se assume a exist^encia de elemento inverso, nem aditivo, nem multiplicativo.

2.2.6 Ordem

Denic~ao 7

Seja A um conjunto. Uma

ordem

(ou ordem parcial) sobreA e uma

relac~ao binaria, , sobreA tal que para todo xy2A,

i. xx, reexiva

ii. xy e y x implica x=y, anti-simetrica

iii. xy e yz implica xz, transitiva.

Estas condic~oes s~ao referentes, respectivamente, a reexividade, anti-simetria e transitividade. Um conjunto com uma relac~ao de ordem, , e dito um

conjunto

ordenado

(ou um conjunto parcialmente ordenado). Alguns autores chamam de

poset, partially ordered set. Quando e necessario destacar a ordem escrevemos

(A).

Uma relac~ao de ordem da origem a uma relac~ao de

desigualdade estrita

: x < y em A se e somente se x y e x 6= y. Tambem x y e usado em lugar de y x. O smbolo k e usado para denotar

n~ao comparabilidade

, isto e, x k y se x6y ey6x. Neste caso se diz que x e y s~ao elementos n~ao comparaveis.

Seja A um conjunto ordenado. Ent~ao A e uma

cadeia

se, para todo xy 2 R, ou x y ou y x, isto e, quaisquer dois elementos de A s~ao comparaveis.

Nomes alternativos para cadeias s~ao

conjunto linearmente ordenado

e

conjunto

totalmente ordenado

.

Exemplo 2

Seja R qualquer conjunto. O conjunto das partes (ou powerset)P(R),

consistindo de todos os subconjuntos de R, e ordenado com respeito a inclus~ao de

conjuntos. Para AB 2 P(R), A B se e somente se A B. Porem P(R)]

n~ao e uma cadeia pois seja R = f12g, ent~ao P(R) = f0f1gf2gf12gg. Em P(R)f1g 6 f2g e f2g 6 f1g. Assim f1g e f2g n~ao s~ao comparaveis segundo a

relac~ao de ordem.

Exemplo 3

A declarac~ao de que o valor computado de = 3:14 esta correto ate a

segunda casa decimal, pode ser reescrita dizendo-se que pertence a um particular intervalo fechado de R. Considerando-se a colec~ao de todos os intervalos fechados

(18)

2.2. ESTRUTURAS ALGEBRICAS 17 2.2.7 Anel Ordenado

Denic~ao 8 Um anel A+] e dito ordenadose A possui um subconjunto P que

admite o seguinte: 1. e

1

62P.

2. se ab2P ent~ao a+b, ab 2P.

3. Seja O o elemento neutro e ;a o inverso de (A+). Para todo a 2 AajO e a2P ou ;a2P, nunca ambos.

Se A e um anel ordenado eab 2 P (P A, tal que, as condic~oes 1 e 2 acima

s~ao satisfeitas), se a > b ent~ao a;b 2 P

2, isto e,

a b se a = b ou b;a 2 P.

Podemos denir a seguinte ordem sobre A:

Proposic~ao 1 Seja A um anel ordenado, ent~ao a relac~ao denida por \a b e

verdadeira, se e somente se a =b ou b;a2P" e uma relac~ao de ordem sobre A.

Demonstrac~ao:

=) Quanto a ser uma ordem:

i. xx

Sendoxy2Asabemos quexysex=youy;x2P, onde P esta contido

em A. Desta forma podemos concluir que quando x =y, ent~ao y x. Logo,

como x=x, xx.

ii. xy e y x )x=y x y !x=y ouy;x2P y x !y=x oux;y2P

se xy ey x ent~ao temos as seguintes possibilidades:

1. x=y e portanto satisfaz a armativa

2. y=xe portanto x=y

3. y;x2P e x;y2P

Precisamos inicialmente provar que y;x=;(x;y), porem 1onde

ee o elemento neutro do grupo A+] 2Em nossa trabalho, consideraremos que

(19)

(y;x) + (x;y) = (y+ (;x)) + (x+ (;y))

=y+ ((;x) + (x+ (;y)))

=y+ (((;x) +x) + (;y))

=y+ (O + (;y))

=y+ (;y)

=O !y;x=;(x;y)

Comoy;x=;(x;y) e (y;x)2P!;(x;y)2P, porem;(x;y) e

a negac~ao de (x;y) que ja pertencia aP, ent~ao, contradiz a propriedade

de P na qual so um pertence, nunca ambos. Logo: y;x=x;y=O 2P, e portanto:

x=y ex x

iii. xy eyz ) x z

Comoxy podemos armar que:

(y;x)2P

eyz podemos armar que:

(z;y)2P

Como ambos pertencem ao subconjunto P, concluimos que (y;x) + (z;y)2P.

Como: (y;x) + (z;y) =z;x+ (y;y) =z;x

ent~ao z;x2P e portanto xz

2.2.8 Quasi-Anel Fracamente Ordenado

Denic~ao 9

Um quasi-anelA+] e

fracamente ordenado

se e uma ordem

sobre A e 8abc2A, valem:

i. ab =)a+cb+c

ii. ab=)kbka

2.2.9 Quasi-Anel Ordenado

Denic~ao 10

Um quasi-anel fracamente ordenadoA+] e

ordenado

se8abc2 A:

(20)

2.2. ESTRUTURAS ALGEBRICAS 19

Existem denic~oes similares para quasi-aneis divis~ao.

Proposic~ao 2 Todo anel e um quasi-anel.

Demonstrac~ao: Seja abc2A onde A+] e um anel. Precisamos demonstrar

os itens abaixo:

i. a+b=b+a. Esta armativa e verdadeira, pois, por A+] ser um anel, esta

hipotese ja e admitida (lei da comutatividade da adic~ao nos aneis). ii. Existe O 2A tal que a+O =O +a 8 a2A.

Como A+] e um anel, podemos armar que A+] e um grupo admitindo

a exist^encia do elemento neutro \e", onde: a+e=e+a=a. Desta forma, e

admitido a exist^encia do O onde para adic~ao e=O.

iii. Existe 12A tal que 1a=a1 =a. Esta armativa e verdadeira pois devido a A ser um anel esta hipotese ja e admitida.

iv. Dado ' inverso aditivo do elemento 1, necessitamos demonstrar os sub-itens

abaixo: iv1.

'+ 1 =O.

Como sabemos que A+] e um grupo sabemos da exist^encia de inversos

aditivos nestes casos, logo existe o inverso aditivo de A que satisfaz a

hipotese acima. iv2.

'(ab) = ('a)b= (a')b =a('b).

A armativa e verdadeira pois, por A+] ser um anel, esta hipotese ja

e admitida (lei da associatividade nos aneis). iv3.

'(a+b) = ('a) + ('b)

A armativa e verdadeira pois, por A+] ser um anel, esta hipotese ja

e admitida (lei das distributivas nos aneis)

Proposic~ao 3 Todo anel ordenado e um quasi-anel ordenado.

Demonstrac~ao: Ja provamos que todo anel e quasi-anel, sendo o anel ordenado

uma classe de anel, podemos armar que todo anel ordenado tambem e um quasi-anel. Demonstraremos agora que e quasi-anel ordenado.

Ressaltamos que um quasi-anel ordenado e primeiramente, uma ordem e e fra-camente ordenado, so apos demonstrarmos essas caractersticas provaremos que e ordenado. Seja xyz 2A, ondeA e um anel ordenado.

=) Quanto a ser uma ordem:

Demonstrado na Proposic~ao 1.

(21)

i. ab!a+cb+c ab!b;a 2P. Como

b+c;(a+c) =b;a+c;c=b;a, b+c;(a+c)2P. Portanto

a+cb+c

ii. ab!kbka

k62P por denic~ao de P !;k e (b;a)2P e: ;k(b;a)2P

;k(b;a) =;k(;(a;b))

=;(;(k(a;b))

=k(a;b)

=ka;kb2 P !kb ka

=) quanto a ser ordenado

iii. se O ab e c>O ent~ao acbc e cacb a;0 =a2P,

b;a2P, b;0 =b 2P,

c;0 =c2P. Logo, pela propriedade de P, ac2P ebc 2P.

Precisamos provar que bc;ac2P e cb;ca2P

ora,

bc;ac =fb+ (;a)gc

=fb;agc como b;a 2P

c2P portanto !(b;a)c2P: Portanto bc;ac2P

(22)

2.3. CONCEITOS BASICOSDE TOPOLOGIA 21

cb;ca =cfb+ (;a)g

=cfb;ag c2 P b;a 2P

!c(b;a)2P !cb;ca2 P 2.3 Conceitos Basicos de Topologia

Uma

topologia

sob um conjunto S e uma colec~ao de subconjuntos de S que e

fechado sob intersec~ao nita e uni~ao arbitraria. Um conjuntoS, com uma topologia T em S, e um

espaco topologico

(ST). Os elementos de T s~ao conjuntos abertos

do espaco. Formalmente:

A seguir veremos alguns exemplos de espacos topologicos conhecidos.

1. Seja R o conjunto de numeros reais e T =fx R : x e a uni~ao de intervalos

abertos em Rg. Claremente, hRTi e um espaco topologico. Esta topologia

e conhecida como a topologia usual da reta, topologia can^onica sobre R ou

topologia Euclidiana.

2. SejaX qualquer conjunto. P(X) e uma topologia sobreX, chamada a

topolo-gia mais na sobreX, pois esta topologia contem o maior numero de conjuntos

abertos sobreX. hXP(X)ie um espaco topologico conhecido como discreto.

3. SejaXum conjunto n~ao vazio. A colec~aoT =fXgtambem, e uma topologia

sobre X, chamada trivial, ou topologia indiscreta, pois ela contem o menor

numero de conjuntos abertos.

Uma

base de uma topologia

T e um subconjunto deT tal que todo conjunto

aberto e a uni~ao de elementos de . Um espaco topologico tendo umabase contavel

diz-se 2

o contavel

. SeAP(S) , eT e a menor topologia que contemA, dizemos

que A e uma

sub-base

de T.

Toda base de T e tambem uma sub-base deT por outro lado,Ae uma sub-base

de T se e somente se a colec~ao de intersec~oes nitas de elementos de Ae uma base

de T.

2.3.1 Espacos Metricos e Quasi-Metricos

Uma classe importante de espacos topologicos s~ao os espacos metricos e quasi-metricos.

SejaXum conjunto,d:X X !R

0+ uma func~ao sobre a reta real n~ao-negativa.

(23)

1. d(xx) =0 (reexividade)

2. i. d(xz)d(xy) +d(yz) (desigualdade triangular)

ii. d(xz)maxfd(xy)d(yz)g(desigualdade triangular)

3. d(xy) =d(yx) (simetria)

4. i. d(xy) = d(yx) = 0!x=y (identidade simetrica dos indicernveis)

ii. (d(xy) = 0)!x=y. (identidade dos indicernveis)

Denic~ao 11

Seja R +

0 o conjunto dos numeros reais positivos incluindo o zero, X

um conjunto e d: X X !R +

0 uma func~ao. O par

hXdi e um

espaco metrico

se d satisfaz os axiomas de simetria, reexidade, desigualdade triangular (item i) e identidade dos indicern veis.

As metricas que acontecem tipicamente em sem^antica satisfazendo a desigualda-de forte 2(ii). Neste caso falamos de um

espaco ultra-metrico

. Devemos mostrar que a noc~ao de um espaco quasi-metrico e denida, frequentemente, de modo mais restritivo da que foi adotada aqui, isto pela combinac~ao 1 + 2(i) + 4(i). Finalmen-te, se o axioma 4 e desprezado de quaisquer das formulac~oes , o enfraquecimento resultante e expressado por meio do prexo \pseudo-" assim:

Denic~ao 12

Seja R +

0 o conjunto dos numeros reais positivos incluindo o zero, X

um conjunto e d: X X ! R +

0 uma func~ao. O par

hXdi e um

espaco

pseudo-metrico

se d satisfaz os axiomas de reexidade, desigualdade triangular (itens i e

ii) e simetria.

Denic~ao 13

Seja R +

0 o conjunto dos numeros reais positivos incluindo o zero, X

um conjunto e d: X X ! R +

0 uma func~ao. O par

hXdi e um

espaco

pseudo-quasi-metrico

se d satisfaz os axiomas de reexidade e desigualdade triangular (itensi e ii).

Como dos axiomas de simetria e identidade dos indicernveis podemos deduzir o axioma dos indicernveis simetrica, cada espaco metrico e, tambem, um espaco quasi-metrico. Cada espaco quasi-metrico induz um espaco topologico.

Seja hXqi um espaco quasi-metrico. A

topologia usual induzida

sobre X e

denida tomando o subconjunto, OX, como sendo aberto basico, se somente se,

para qualquer x 2 O implica que B (x) O para algum >, onde B (x) = fy :

q(xy)< g e denominada de bola aberta de raio e centro x. No caso, os abertos

B x, evidentemente, constituem uma base de conjuntos abertos para a topologia. SejahXTium espaco topologico. Podemos olhar para os conjuntos abertos em

(24)

2.3. CONCEITOS BASICOSDE TOPOLOGIA 23

emX. Assim, a topologia nos permite distinguir ou mostrar a equival^encia entre dois

pontos pelas suas propriedades descritas na topologia. Portanto, podemos classicar os espacos topologicos por condic~oes de separac~ao sobre seus pontos.

Denic~ao 14

Seja hXTi um espaco topologico. Se para qualquer x 6= y 2 X

existe um conjunto aberto que contem um, mas n~ao ambos (x e y), o espaco X

diz-se T

0. Se existe um conjunto aberto que contem

x mas n~ao y o espaco X diz-se T 1.

Finalmente, se existem conjuntos abertos disjuntos contendox ey, respectivamente,

o espaco X diz-se T

2 ou

Hausdor

.

E claro que cada espaco T 2 e

T

1 e cada espaco T

1 e T

0. Algumas das condic~oes

de separac~ao usuais (as quais incluem certas condic~oes n~ao denidas aqui, tais como

T

3, T

3 1

3, etc.) s~ao de pouca signic^ancia no contexto de ci^encia da computac~ao.

Uma observac~ao importante, e que para os espacos 2o-contaveis (que incluem todos

os espacos de signic^ancia computacional) as condic~oes de separac~ao de T 3 para

cima s~ao todas equivalentes. A hierarquia de condic~oes de separac~ao e, portanto, de pouco interesse em teoria da computac~ao.

A topologia induzida por uma metrica e T

2, isto e, um espaco de Hausdor, por

outro lado a topologia induzida por uma quasi-metrica e um espaco T

0. Podemos

obter um espaco metrico hXq

i, de um espaco quasi-metrico hXqi, tomando: q

(

xy) =Maxfq(xy)q(yx)g

Denic~ao 15

Um Espaco Topologico (XT) e

quasi-metrizavel (metrizavel)

se podermos denir uma quasi-metrica (metrica) sobre X tal que T e a topologia

quasi-metrica (metrica).

(25)
(26)

Captulo 3

Teoria de Computabilidade

Classica

3.1 Introduc~ao

Vimos em todo o captulo 2 uma abordagem matematica fundamental ao bom enten-dimento desta dissertac~ao. Porem, em nosso trabalho, essas denic~oes matematicas est~ao associadas a uma abordagem computacional se tornando de igual import^ancia uma nova fundamentac~ao que tratara o assunto sob uma nova vis~ao.

Comecaremos esta sec~ao com paradigmas computacionais existentes, resumindo-os ate chegar a vers~oes simplicadas de cada paradigma que contem todas as carac-tersticas fundamentalmente importantes. As vers~oes simplicadas ser~ao mostradas para serem equivalentes em um sentido forte. Isto vai sugerir uma vis~ao de modelo-independente da computac~ao em termos de \programas" que computam func~oes.

O primeiro caso de computac~ao que apresentaremos e a noc~ao que argumentos podem ser de tipos diferentes. Todas as nossas entradas, sadas, variaveis tem-porarias, etc. ser~ao numeros naturais (membros deN). Discutiremos informalmente

que todos os outros tipos de argumentos, comumente usados, s~ao includos somente para conveni^encia de programac~ao e n~ao s~ao essenciais a computac~ao. O argumento e baseado em como computadores codicam tudo em sucess~oes de bits. Argumentos Booleanos podem ser representados usando os dois primeiros numeros de N: 0 e 1.

Numeros de ponto utuantes, como consequ^encia de sua representac~ao nita, podem ser vistos como numeros racionais. Os Numeros racionais s~ao pares de numeros na-turais que podem ser codicados como numeros nana-turais atraves da bijec~ao LB74]:

(27)

Bijec~ao de N2 !N

< nm >=n+P n+1

i=0 i=m+ 1

2(n+m)(n+m+ 1)

Por conseguinte, N pode representar os numeros racionais, e consequentemente,

os numeros de ponto utuantes. Os Numeros naturais tambem podem representar cadeias de caracteres por um ndice, ou posic~ao, em alguma lista padr~ao de todas as cadeias. Por exemplo, uma lista padr~ao de todas as cadeias que usam o alfabeto

fazg comecaria associando 0 com a cadeia vazia e enumerando as cadeias em

ordem lexicograca: abzaaabazba.

A computac~ao analogica tambem pode ser vista computando com numeros natu-rais. Isto segue da observac~ao de que qualquer nvel de voltagem so pode ser medido em incrementos determinados pelo dispositivo medidor. Embora as voltagens se-jam teoricamente contnuas, todos nossos dispositivos para medir voltagens o fazem com valores discretos. Para exemplos comuns de torneamento de informac~ao essen-cialmente analogica em uma representac~ao numerica, n~ao precisamos olhar nenhum caso em que se codicou musica em tecnologia de disco compacto ou o que codicou imagens de televis~ao de alta denic~ao e gravac~oes de discos compactos. Estamos agora prontos para apresentar nosso primeiro modelo de computac~ao.

Desta forma veremos algumas denic~oes computacionais basicas e imprescindveis para o desenvolvimento desta dissertac~ao.

Este Captulo foi dividido em 8 sec~oes sendo as principais fontes de pesquisas: BL74], Bra95] e Cho90].

Sec~ao 3.1. Introduc~ao . Esta introduc~ao .

Sec~ao 3.2. Conceitos Basicos. Deniremos aqui os conceitos de func~oes , relac~oes , denic~oes recursivas, onde apresentaremos um exemplo, relac~oes e predicados e relac~oes de equival^encia.

Sec~ao 3.3. Automatos. Apresentaremos nesta sec~ao a denic~ao de Automato Finito.

Sec~ao 3.4. Algoritmos e Procedimentos Efetivos. Diferenciaremos os conceitos de Algoritmos e Procedimentos Efetivos e mostraremos alguns exemplos.

(28)

3.2. CONCEITOS BASICOS 27

Sec~ao 3.6. Func~oes Parciais Recursivas. Apresentaremos as func~oes parciais recursivas, deniremos uni~ao ou concatenac~ao , apresentaremos as operac~oes de Substituic~ao , Recurs~ao, Minimalizac~ao , bem como diversos exemplos, guras e modelos.

Sec~ao 3.7. Outras Denic~oes Sobre Computabilidade. Nesta sec~ao apresen-taremos as Maquinas de Acesso Rand^omico, as Maquinas de Turing, veremos a representac~ao esquematica da Maquina de Turing, estudaremos as func~oes Turing-computaveis, observaremos varios exemplos e guras.

Sec~ao 3.8. A Tese de Church. Finalmente estudaremos a Tese de Church, vere-mos que existem dois metodos para provar que uma func~ao f e URM-computavel e veremos alguns exemplos importantes.

3.2 Conceitos Basicos

3.2.1 Func~oes

Assumimos que o leitor esteja familiarizado com a ideia basica de func~ao e a distinc~ao entre uma func~aof e um valor particularf(x) a um determinadox, ondefe denida (normalmente em textos matematicos uma func~aof e denida para ser um conjunto de pares ordenado que se (xy)2f e (xz)2f, ent~aoy =z, e f(x) e denido para

ser este y).

N~ao insistimos nesta denic~ao de func~ao, mas nossa exposic~ao e consistente com ela.

Uma

relac~ao

f : X ! Y de X em Y e uma colec~ao de pares ordenados

(xy)2X Y.

Uma relac~ao f :X !Y e uma

func~ao

se f(x) corresponde a, no maximo, um

unico valor para cadax2X, ou seja, cada entrada produz uma unica sada.

Se f e uma func~ao, o

domnio

def e o conjuntofx:f(x) e denidag, denotado

porDom(f) e dizemos quef(x) e

indenida

sex62Dom(f). O conjuntoff(x)=x2

Dom(f)g e chamado de

contra-domnio

ou

imagem

de f, denotado por Im(f).

Se AeB s~ao conjuntos, dizemos que f e uma func~ao deA paraB seDom(f)Ae

Im(f)B. Usamos a anotac~aof : A!B para signicar que f e uma func~ao deA

paraB comDom(f) =A. Uma func~aof e dita

injetiva

sempre quexy 2Dom(f)

e x 6=y, ent~aof(x)6= f(y). Se e injetiva, ent~aof

;1 denota o inverso def, a unica

func~ao g tal que Dom(g) = Im(f) e g(f(x)) = x para todo x 2 Dom(f). Uma

func~ao f de A para B e

sobrejetora

se Im(f) = B. E

bijetora

se e injetiva e sobrejetora.

(29)

Suponha que f e uma func~ao e X um conjunto. A restric~ao de f para X, denotado porfjX, e a func~ao com domnioX\Dom(f) cujo valor deX\Dom(f)

e f(x), isto e, fjX(x) = f(x) para todo x2X\Dom(f) . Escrevemos f(X) para

Im(fjX). Se Y e um conjunto, ent~ao a imagem inversa de Y sob f e o conjunto

f(;1)(Y) =

fx : f(x) 2 Yg. (Note que isto e denido ate mesmo quando f n~ao e

injetiva).

Denotamos por

f0

a func~ao que n~ao e denida em nenhuma parte f0 tem a propriedade Dom(f0) = Im(f0) = . Claramente, f0 = gj para qualquer func~ao

g.

Frequentemente em computabilidade encontraremos func~oes, ou express~oes que envolvem func~oes que n~ao s~ao denidas para todos os valores. Em tais situac~oes a notac~ao seguinte e muito util. Suponha que(x) e(x) s~ao express~oes que envolvem as variaveis x = (x1:::xn). Ent~ao escrevemos (x)

= (x) para signicar que para qualquer x, a express~ao (x) e (x) s~ao denidas, ou ambos indenidas, e se denidas, elas s~ao iguais, Assim, por exemplo, se f, g s~ao func~oes. f(x) = g(x) e

outro modo de dizer que f = g e para qualquer numero y, f(x) = y que f(x) e

denido e f(x) =y (desde que y sempre seja denido).

3.2.2 Denic~oes Recursivas

Uma das ferramentas matematicas que conhecemos, porem pouco utilizada em matematica, e um metodo de denir conjuntos chamado

denic~ao recursiva

. Uma denic~ao recursiva e caracteristicamente um processo com tr^es etapas. Primeiro, es-pecicamos alguns objetos basicos do conjunto. Segundo, damos regras para cons-truir mais objetos no conjunto a partir dos que conhecemos. Terceiro, declaramos que nenhum objeto diferente dos construdos s~ao permitidos no conjunto.

Observe o seguinte exemplo.

Exemplo 4

Suponha que estamos tentando denir o conjunto de numeros pares para alguem que reconhece a aritmetica mas nunca ouviu falar destes. Um mo-do simples de denir este conjunto e: E o conjunto de tomo-dos os numeros inteiros positivos divis vel por 2. Outro modo que poder amos tentar seria:

E o conjunto de todos os 2n, onden = 1 2 3 4...

O terceiro metodo que apresentamos se refere a denic~ao recursiva: O conjunto e denido por estas tr^es regras:

i. regra 1: 0 e par.

ii. regra 2: se x e par ent~ao e x+ 2 tambem e.

(30)

Existe uma raz~ao que explica o motivo da terceira denic~ao ser a menos popular: e mais dif cil de usar na maioria das aplicac~oes praticas. Por exemplo, supondo que queremos provar que 14 e um elemento do conjunto. Usando a primeira denic~ao, dividimos 14 por 2 e n~ao ha nenhum resto. Ent~ao e par. Para provar que 14 e par pela segunda denic~ao temos que propor o numero 7 de alguma maneira, ent~ao 14=(2)(7), sabemos que e par. Provar que 14 e par usando a denic~ao recursiva e um processo mais longo. Poder amos proceder como abaixo:

i. Atraves da regra 1, sabemos que 2 e par.

ii. Ent~ao atraves da regra 2 sabemos que 2+2=4 tambem e par.

iii. Novamente atraves da regra 2 sabemos que se 4 e par, ent~ao 4+2=6 tambem e par.

iv. Novamente atraves de regra 2 sabemos que se 6 e par, ent~ao 6+2=8 tambem e par.

v. Agora aplicando a regra 2 a 8 nos conclu mos que 8+2=10 e par. Aplicando novamente a regra 2, agora para 10, deduzimos que 10+2=12 e par.

vi. E, anal, aplicando a regra 2 mais uma vez, para o numero 12, conclu mos que 12+2=14 e, realmente, par.

Bem extensa. Porem, esta n~ao e a unica forma de denir o conjunto dos numeros pares por denic~ao recursiva. Ainda poder amos usar:

O conjunto dos numeros pares pode ser denido por estas tr^es regras: i. Regra 1: 2 e par

ii. Regra 2: se x e y s~ao pares, ent~ao x+y e par.

iii. Regra 3: Nenhum numero e par sem que possa ser produzido atraves de regras 1 e 2.

Deve ser entendido que tambem podemos aplicar a Regra 2 para o caso ondex e y representem o mesmo numero.

Podemos provar agora que 14 e par em menos passos: 1. Atraves de regra 1: 2 e par

2. Atraves de regra 2: x=2, y=2, 4 e par

3. Atraves de regra 2: x=2, y=4, 6 e par

(31)

5. Atraves de regra 2: x=6, y=8, 14 e par.

Esta e a denic~ao recursiva que dene melhor o conjunto de numeros pares, porque produz o conjunto em menor numero de passos.

Notamos que a segunda denic~ao recursiva ainda e mais complexa (provando que aqueles determinados numeros s~ao pares) que as duas func~oes n~ao recursivas. Por exemplo, suponha que queremos provar que a soma de dois numeros pares tambem e par. Esta e uma conclus~ao trivial da segunda func~ao recursiva, mas provar isto e decididamente mais complexo. Para termos uma func~ao recursiva dependemos de duas coisas: como sera sucientemente comprensvel as outras possveis denic~oes de entender e que tipos de teoremas que poderamos desejar provar sobre o conjunto a ser formado.

3.2.3 Relac~oes e Predicados

Seja A um conjunto. Uma propriedade P que e verdadeira para algumas n-tuplas

de A

n e falsa para as outras e chamada uma

relac~ao oupredicadon-ario em A.

Por exemplo, a propriedade x < y e uma relac~ao binaria (ou predicado) em N

2<3 e verdadeiro e 9 <5 e falso. Como outro exemplo, qualquer func~ao n-aria f

de N n em

N da lugar a um predicado (n+ 1)-ario denido por P(x 1

x

n

y) se e

somente se f(x 1

x

n) = y.

3.2.4 Relac~oes de Equival^encia

Uma relac~ao binaria R sobre um conjunto A e chamado uma relac~ao de equi-val^enciase satisfaz as seguintes propriedades para todo xyz 2A:

i. (reexividade) R(xx)

ii. (simetria) se R(xy) ent~ao R(yx)

iii. (transitividade) se R(xy) e R(yz) ent~ao R(xz).

Pensamos em R(xy) como dizendo que xy s~ao equivalentes (em algum

senti-do). Ent~ao denimos a classe de equival^encia de x como o conjunto fy : R(xy)g,

(32)

3.3. AUT ^

OMATOS 31

3.3 Aut^omatos

3.3.1 Aut^omatos Finitos

Por computador determinstico, queremos dizer que, ao ler uma entrada particu-lar de instruc~ao, a maquina passa de um determinado estado para algum outro estado particular (ou se mantem no mesmo estado) onde o estado resultante e com-pletamente determinado pelo estado anterior e a entrada da instruc~ao. Nenhum conhecimento e requerido do estado no que a maquina estava algumas instruc~oes atras. Algumas sucess~oes de entrada de instruc~oes podem conduzir ao sucesso e outras n~ao. O sucesso e completamente determinado pela sequ^encia de entrada.

Veremos agora um modelo chamado de aut^omatos nitos, nito porque os numeros de possveis estados e numero de smbolos no alfabeto s~ao ambos nitos, e aut^omato porque a mudanca de estados e totalmente governada pela entrada. E automatico (involuntario e mec^anico) n~ao voluntarioso.

Um

aut^omato nito

e uma colec~ao de tr^es objetos:

1. Um conjunto nito de estados um dos quais e designado como o estado inicial, e alguns (talvez nenhuma) s~ao designados como estados nais ou de aceitac~ao. 2. Um alfabeto P

de possveis entradas de smbolos do qual s~ao formados sequ^encias que ser~ao lidos smbolo a smbolo.

3. Um conjunto nito de transic~oes que para cada estado e para cada smbolo de entrada do alfabeto, indica qual sera o proximo estado do aut^omato.

Esta denic~ao esta incompleta no sentido de que descreve o que e um automato nito mas n~ao como funciona. Apresenta-se como sendo uma entrada sequencial de smbolos o qual e lido a partir do smbolo mais a esquerda. Comecando no estado inicial, os smbolos determinam uma sucess~ao de estados. A computac~ao termina quando o ultimo smbolo introduzido for lido. Se o ultimo estado e nal, ent~ao dizemos que o automata reconhece ou aceita a cadeia de smbolos, caso contrario, a entrada e rejeitada.

Alguns estudiosos preferem chamar os aut^omatos nitos por \aceitadores nitos" porque seu trabalho consiste exclusivamente em concordar com certas sequ^encias de entradas e executa-las. N~ao faz nada como produc~ao de impress~ao. Mesmo assim, aderiremos a terminologia aut^omato nito.

Comecaremos detalhando um exemplo particular

Suponha que o alfabeto tenha so duas letras aeb. Tambem assumiremos que so

existem tr^es estados: xy e z. Sejam as seguintes regras de transic~ao:

(33)

2. Do estado x e entrada b passa para o estado z.

3. Do estado y e entrada a passa para o estado x.

4. Do estado y e entrada b passa para o estado z.

5. Do estado z e qualquer entrada permanece no estado z.

Designaremos x como o estado inicial e z como o unico estado nal.

Temos, agora, um aut^omato nito perfeitamente denido, desde que cumpre todas as tr^es exig^encias acima: estados, alfabeto, transic~oes.

Examinaremos o que acontece para varias sequ^encias de entradas. Comecaremos com a sequ^enciaaaa. Como sempre, comecamos no estadox. Oprimeiro smbolo da

sequ^encia ea, e nos diz que vamos para y (atraves de regra 1). A proxima entrada

tambem ea, o aut^omata nos indica, atraves da Regra 3, que devemos voltar ax. A

terceira entrada e outro a, e novamente, atraves de regra 1, vamos para y. N~ao ha

mais nenhuma entrada de smbolos na sequ^encia. Assim, nosso trabalho terminou. N~ao terminamos no estado nal (estado z). N~ao obtivemos sucesso na terminac~ao

de execuc~ao.

A sequ^encia aaa n~ao esta na linguagem de todas as entradas que deixam este

aut^omato nito no estado z. O conjunto de todos as sequ^encias que nos deixam

em um estado nal e chamado de linguagem aceita pelo aut^omato nito. Aentrada

da sequ^encia aaa n~ao esta na linguagem aceita por este Aut^omato Finito. Em

outras palavras, podemos dizer que a sequ^encia aaa e rejeitada por este aut^omato

nito porque n~ao conduz a um estado nal. Aceitar a linguagem L signica que L e o idioma do aut^omato nito. Seja linguagem L

1 e um certo aut^omato nito

que aceita L

2 (todas as palavras em L

2 s~ao aceitas e todas as possveis entradas

aceitas s~ao palavras de L

2), ent~ao este aut^omato nito tambem tem que aceitar

todas as palavras da linguagemL

1. Porem, n~ao podemos dizer que L

1 e aceito por

este aut^omato nito desde que isso signique que todas as palavras aceitadas pelo aut^omato nito estejam em L

1.

Consideramos que um aut^omato nito e uma maquina, ou seja, entendemos que este aut^omato nito tem capacidades din^amicas. Mover ou introduzir componentes do alfabeto. Algo que pode modicar um estado para outro estado de entrada, ler alfabetos e executar operac~oes . Podemos imaginar que o estado que estamos em algum determinado momento e iluminado e os outros s~ao escuros. Um aut^omato nito executa uma sequ^encia de entradas. Sendo assim o vimos como sendo uma maquina.

Um

aut^omato nito n~ao determinstico (

AFN

)

e uma colec~ao de tr^es

ob-jetos:

(34)

3.4. ALGORITMOS E PROCEDIMENTOS EFETIVOS 33

2. Um alfabeto,P

, de possveis entradas de smbolos.

3. Um conjunto nito de transic~oes que indicam como proceder de cada estado a outros estados no decorrer do alfabeto, de alguma forma, marcado.

Esta teoria pode ser aplicada, hoje em dia, em Redes de Petri. Basicamente esta rede executa operac~oes em um grafo que representa um Automato Finito. Neste caso, cada arco do grafo e quem habilita a execuc~ao de uma determinada instruc~ao e ocasiona a mudanca entre os nos do grafo. Esta mudanca representa a perman^encia ou a alterac~ao do estado.

3.4 Algoritmos e Procedimentos Efetivos

Quando estudamos aritmetica aprendemos a somar e multiplicar dois numeros. Porem, na maioria das vezes, n~ao fomos ensinados sobre qual o sentido que tem uma soma e um produto de dois numeros. Simplesmente, executamos determinados metodos ou regras para achar somas e produtos. Tais metodos ou regras s~ao exem-plos de algoritmos ou procedimentos efetivos. A implementac~ao deles n~ao requer intelig^encia acima do normal, apenas a que precisa para obedecer as instruc~oes do professor.

Um algoritmo ou procedimento efetivo e um conjunto de regras mec^anicas, um metodo automatico, ou programa para executar algumas operac~oes matematicas.

Um

procedimento efetivo

e uma descric~ao nita e n~ao ambgua de um con-junto nito de operac~oes. As operac~oes devem ser efetivas no sentido de que ha um procedimento estritamente mec^anico para executa-las. Tambem deve ser efetivo, o processo de decidir a ordem na qual executar as operac~oes. Um procedimento efetivo pode executar uma tarefa, pode computar uma func~ao ou pode executar uma sucess~ao de operac~oes. Programas de computador s~ao exemplos de procedi-mentos efetivos. Quantidade nita de descric~ao e efetividade de operac~ao s~ao as caractersticas mais importantes de procedimentos efetivos.

Um procedimento efetivo que especica uma sucess~ao de operac~oes e chamado

algoritmo

. Programas de computador que sempre param para qualquer entrada, isto e, nunca entram em um ciclo innito, s~ao algoritmos. O instante em que o algoritmo para n~ao e, com anteced^encia, necessariamente calculavel.

Alguns exemplos de problemas para os quais os algoritmos podem ser, facilmente, programados s~ao:

1. Dado um determinadon, achar on-esimo numero primo

2. Diferenciar um polin^omio

(35)

4. Dado dois numerais x, y decidir se xe um multiplo de y.

A sada e produzida mecanicamente de modo que poderia ser pensado como o

resultado de uma sequ^encia de operac~oes realizadas por uma maquina de calcular, ou por um computador ou, mais genericamente, por uma \caixa preta". Assim, o algoritmo e um procedimento ou metodo que e levado em considerac~ao pela caixa preta para obter a sada referente a uma entrada dada.

Quando um algoritmo ou procedimento efetivo e usado para calcular os valores de uma func~ao numerica a func~ao em quest~ao e descrita atraves de frases como efeti-vamente calculavel, ou algoritmicamente computavel, ou efetiefeti-vamente computavel, ou simplesmente, computavel. Por exemplo, o MDC(xy), o maior fator comum

de x e y, e f(n) o n-esimo numero primo, s~ao computaveis neste sentido informal,

como ja indicamos.

Por outro lado, considere a seguinte func~ao :

g(n) = (

1 , se a expans~ao decimal de tem n setes consecutivos

0 , caso contrario

A maioria dos matematicos aceitaria quege uma func~ao perfeitamente legtima.

Masge computavel? Ha um procedimento mec^anico para gerar os dgitos sucessivos

na expans~ao decimal de .

De posse deste procedimento e dado um n, o procedimento comecara a gerac~ao

da expans~ao decimal de , um dgito de cada vez, e vericara. Se em alguma fase de uma execuc~ao gerar exatamente n setes consecutivos, ent~ao o processo para e g(n) = 1. Se nenhuma sucess~ao de n setes aparecer, ent~ao g(n) = 0.

O problema com este procedimento e que, se para um n particular n~ao ha

ne-nhuma sucess~ao den setes sucessivos, ent~ao n~ao ha nenhuma fase no processo onde

podemos parar e concluir que este e o caso. Sabemos que em qualquer fase parti-cular, tal sucess~ao de setes poderia aparecer na parte da expans~ao de que n~ao foi examinada. Assim o procedimento ira gerando dgitos para uma entrada n tal que g(n) = 0. Portanto, este procedimento n~ao e efetivo.

Este exemplo contem duas caractersticas implcitas na ideia de um procedimento efetivo:

1. que um procedimento efetivo leva em considerac~ao uma sequ^encia de fases ou passos (ambos concludos em tempo nito)

(36)

3.5. A MAQUINA SEMLIMITE DE REGISTROS (URM) 35

Faremos estas denic~oes em termos de um \computador idealizado" simples, que executa programas. Evidentemente, os procedimentos que podem ser levados em considerac~ao por um computador real s~ao exemplos de procedimentos efetivos.

Qualquer computador particular real, porem, esta limitado ao tamanho dos numeros que podem receber como entrada, e na quantia de espaco de funciona-mento disponvel. Esta nestes moldes o nosso computador que idealizara conforme a ideia informal de um algoritmo. Os programas para nossa maquina ser~ao nitos, e necessitar~ao de uma computac~ao completa que levara a um numero nito de passos. Entradas e sadas ser~ao restritas aos numeros naturais. Esta n~ao e uma restric~ao signicante, desde que tenhamos codicados outros tipos de objetos como numeros naturais.

3.5 A Maquina sem Limite de Registros (URM)

Nossa primeira idealizac~ao matematica de um computador e chamada

maquina

sem limite de registros

, denotado por URM (oriundo do ingl^es Unlimited Re-cord Machine) corresponde a uma ligeira variac~ao de uma maquina concebida por Shepherdson & Sturgis SS63]. Descrevemos aqui a URM e como funciona.

A URM tem um numero innito de registros denominados R 1

R

2 R

3

cada

um dos quais, em qualquer momento, contem um numero natural. Denotamos o numero contido em R

n por r

n. Isto pode ser representado como segue:

R1 R2 R3 R4 R5 R6 R7 r1 r2 r3 r4 r5 r6 r7

Figura 3.1: Congurac~ao abstrata de uma Maquina URM

Os conteudos dos registros podem ser alterados pela URM em resposta a certas instruc~oes que pode reconhecer. Estas instruc~oes correspondem a operac~oes muito simples, usadas para executar calculos com numeros. Uma lista nita de instruc~oes constitui um programa URM. As instruc~oes s~ao de quatro tipos, como segue:

1. Instruc~ao Zero: Para cada n = 123existe uma instruc~ao zero Z(n). A

resposta da URM para a instruc~ao Z(n) e alterar o conteudo de R

n para 0 e

deixar todos os outros registros inalterados.

Suponha que a URM tem a seguinte congurac~ao :

e obedece a instruc~aoZ(3). Ent~ao a congurac~ao resultante e:

A resposta da URM para uma instruc~ao Z(n) e denotado por 0 ! R n, ou r

n :=0 (isto e lido como \ r

(37)

R1 R2 R3 R4 R5 R6 R7 9 6 5 23 7 0 0

Figura 3.2: Exemplo de uma congurac~ao de uma Maquina URM

R1 R2 R3 R4 R5 R6 R7 9 6 0 23 7 0 0

Figura 3.3: Congurac~ao apos a URM aplicar a instruc~ao Z(3)

2. Instruc~ao Sucessor: Para cada n = 123ha uma instruc~ao sucessor S(n).

A resposta da URM para a instruc~aoS(n) e aumentar o valor contido em Rn

em 1 e deixar todos os outros registros inalterados.

Exemplo: Suponha que a URM esta sob a congurac~ao da Figura 3.3 e vai executar a instruc~aoS(5). Ent~ao a nova congurac~ao sera:

R1 R2 R3 R4 R5 R6 R7 9 6 0 23 8 0 0

Figura 3.4: Congurac~ao apos a URM aplicar a instruc~ao S(5)

O efeito de uma instruc~ao sucessor S(n) e denotado por Rn + 1 ! Rn , ou

rn:=rn+ 1 \rn se tornarn+ 1"

3. Instruc~ao Transfer^encia: Para cada m = 123 e n = 123 ha uma

instruc~ao transfer^enciaT(mn). Aresposta da URM para a instruc~aoT(mn) e substituir o conteudo de Rn por rm (o conteudo de Rm), isto e, transfere rm

para Rn, e todos os outros registros (inclusive Rm) continuam inalterados.

Exemplo: Suponha que a URM esta com a congurac~ao da gura 3.4 e obedece a instruc~ao transfer^enciaT(51). Ent~ao a congurac~ao resultante e

A resposta da URM para uma instruc~ao de transfer^encia T(mn) e denotado atraves de rm !Rn ourn :=rm lida como \rn se tornarm"

(38)

3.5. A MAQUINA SEMLIMITE DE REGISTROS (URM) 37

R1 R2 R3 R4 R5 R6 R7 8 6 0 23 8 0 0

Figura 3.5: Congurac~ao apos a URM executar a instruc~ao T(51)

repetir uma determinada rotina varias vezes. A URM pode reetir tais pro-cedimentos como estes usando instruc~oes de salto (jumps). Estes permitir~ao saltos para tras ou adiante na lista de instruc~oes. Por exemplo, poderemos usar uma instruc~ao de salto para produzir a resposta seguinte:

Se r2 =r6, va para a decima instruc~ao do programa caso contrario, va para

a proxima instruc~ao no programa.

A instruc~ao que extrai esta resposta sera escrita J(2610).

Para cada m= 123, n= 123e q= 123ha uma instruc~ao de

saltoJ(mnq). Aresposta da URM para a instruc~aoJ(mnq) e como segue. Suponha que esta instruc~ao e encontrada em um programa P. Os conteudos de Rm e Rn s~ao comparados, mas todos os registros permanecem inalterado.

Ent~ao

Se rm =rn, a URM procede a instruc~ao da q-esima instruc~ao de P

Se rn e diferente de rm, a URM procede a proxima instruc~ao em P.

Zero, sucessor e transfer^encia s~ao chamadas de

instruc~oes aritmeticas

.

3.5.1 Computac~oes

O ato de executar uma computac~ao para a URM deve ser proporcionado por um programa P e uma congurac~ao inicial, uma sequ^encia a1a2a3

de numeros

naturais nos registros R1R2R3

, respectivamente. Suponha que P consiste em

s instruc~oesI1I2

Is. A URM comeca a computac~ao obedecendoI

1, depois I2I3

e assim por diante, a menos que uma instruc~ao de salto, digamos J(mnq), seja encontrada. E neste caso a URM procede a instruc~ao prescrita por Iq caso os

conteudos atuais dos registros Rm e Rn sejam os mesmos. Ilustramos isto com um

exemplo.

Exemplo 5

Considere o programa seguinte:

I1 :J(126)

I2 :S(2)

(39)

I

4 :

J(126) I

5 :

J(112) I

6 :

T(31)

Consideraremos a computac~ao pela URM deste programa sob a seguinte congu-rac~ao inicial:

R1 R2 R3 R4 R5 R6 R7 9 7 0 0 0 0 0

Figura 3.6: Congurac~ao inicial para uma maquina URM do Exemplo 5

N~ao nos preocuparemos no momento com a func~ao que este programa compu-ta desejamos ilustrar que o modo no qual a URM opera programas e puramente mec^anico sem precisar entender o algoritmo que esta sendo executado.

Podemos representar o progresso da computac~ao escrevendo as congurac~oes su-cessivas que acontecem, junto com a proxima instruc~ao a ser obedecida a conclus~ao de cada fase.

R1 R2 R3 R4 R5 R6 R7 9 7 0 0 0 0 0 I1

9 7 0 0 0 0 0 I2

9 8 0 0 0 0 0 I3

9 8 1 0 0 0 0 I4

9 8 1 0 0 0 0 I5

9 8 1 0 0 0 0 I2

(40)

3.5. A MAQUINA SEMLIMITE DE REGISTROS (URM) 39

Podemos descrever a operac~ao da URM sob um programaP =I1I2

Is em

geral como segue:

A URM comeca obedecendo instruc~ao I1. Em qualquer fase futura na

com-putac~ao, suponha que o URM esta obedecendo a instruc~ao Ik. Ent~ao procede a

proxima instruc~ao na computac~ao, denida a seguir:

Se Ik n~ao e uma instruc~ao de salto, a proxima instruc~ao e I(k+1)

Se Ik=J(mnq) a proxima instruc~ao eIq

Caso rm =rn, sen~ao a proxima instruc~ao eI(k+1).

Onde rm, rn s~ao os conteudos atuais de Rm e Rn.

A URM procede assim sempre que possvel a computac~ao para quando, e so quando, n~ao ha nenhuma proxima instruc~ao isto e, se a URM obedeceu a instruc~ao

Ik e a proxima instruc~ao na computac~ao de acordo com a denic~ao acima eIv, onde

v > s. Isto pode acontecer dos seguintes modos:

1. Se k = s (a ultima instruc~ao em P foi obedecida) e Is e uma instruc~ao

aritmetica

2. Se Ik =J(mnq),rm =rn e q > s

3. Se Ik =J(mnq),rn 6=rm ek =s.

Dizemos, ent~ao, que a computac~ao para depois da instruc~ao Ik. A congurac~ao

nal e a sucess~ao r1r2r3

, os conteudos dos registros nesta fase.

Existem computac~oes que nunca param: por exemplo, a computac~ao sob o pro-grama S(1)J(111) para qualquer congurac~ao incial jamais parara. A compu-tac~ao sob este programa e representada pelo diagrama da Figura 3.8. A instruc~ao de salto invariavelmente faz com que a URM siga a instruc~ao determinada, ou voltar atras, para a instruc~ao S(1).

R1:=R1+1 inicio

Figura 3.8: Fluxograma do programa URM S(1)J(111)

(41)

Adotaremos algumas convenc~oes que nos ser~ao uteis posteriormente. Seja a 1 a 2 a 3

uma sucess~ao innita sobre N e P um programa URM,

escre-veremos: 1. P(a

1 a

2 a

3

) para a computac~ao sobP, com congurac~ao inicial,a 1 a 2 a 3

2. P(a 1

a

2 a

3

)# para signicar que a computac~ao P(a 1 a 2 a 3 ) para

3. P(a 1

a

2 a

3

) " para signicar que a computac~ao P(a 1 a 2 a 3 ) nunca para.

Na maioria das congurac~oes iniciais que nos consideraremos, todos ser~ao 0 exceto os menores ou igual a a

n. Assim a seguinte notac~ao e util.

Se-ja a 1 a 2 a 3 a

n uma sucess~ao nita de numeros naturais escrevemos o P(a

1 a 2 a 3 a

n) para denotar a computac~ao P(a

1 a 2 a 3 a n

000).

Consequentemente (a) P(a

1 a 2 a 3 a n)

# denotaP(a 1 a 2 a 3 a n

000)#

(b) P(a 1 a 2 a 3 a n)

" denotaP(a 1 a 2 a 3 a n

000)".

Frequentemente, dizemos que quando uma computac~ao para, ela converge, e uma que nunca para, diverge.

3.5.2 Func~oes URM-Computaveis

Suponha que f e uma func~ao de N

n para

N (n maior ou igual um) o que

sig-nica dizer que f e computavel por uma URM ? E natural pensar em termos

de computar um valor f(a 1

:::a

n) por meio de um programa

P com

congu-rac~ao iniciala 1

a

2 a

n

00. Quer dizer, consideramos computac~oes da forma P(a

1 a

2 a

n). Se tal computac~ao para, precisamos ter um unico numero que

possamos considerar a sada ou resultado da computac~ao adotamos a convenc~ao que este e r

1, o valor contido em R

1. Podem ser considerados os conteudos nais

dos outros registros como valores auxiliares ou intermediarios e que portanto podem ser ignorados uma vez que temos o resultado desejado em R

1.

Desde que uma computac~aoP(a 1

a

n) pode n~ao parar, poderemos estabelecer

nossa denic~ao de computabilidade sobre func~oesf deN n para

N, cujo domnio pode

n~ao ser todo N

n isto e, func~oes parciais. Requereremos que as computac~oes

perti-nentes param (e d~ao o resultado correto) justamente para as entradas do domnio de f. Assim fazemos as seguintes denic~oes :

Denic~ao 16 Seja f uma func~ao parcial de N n em

N.

Suponha que P e um programa URM, e a 1

a

2 a

n

(42)

3.5. A MAQUINA SEMLIMITE DE REGISTROS (URM) 41

i. A computac~ao P(a1a2 a

n)

converge

para b se P(a1a2 a

n) # e na

congurac~ao nal b esta em R1. Escreveremos isto por P(a1a2 a

n) # b

ii. P

URM-computa

f se, para todo (a1 a

n)

2 Dom(f) e b 2 N,

P(a1a2 a

n)

# b se e somente se f(a 1

a

n) = b. Em particular,

is-to signica que: 1. P(a1a2

a n)

# se e somente se (a 1

a n)

2Dom(f).

2. a func~ao f e

URM-computavel

se existe um programa URM que seja URM-computa f.

A classe de func~oes URM-computaveis e denotada por , e on-esimo elemento das func~oes URM-computaveis por n.

Vejamos alguns exemplos de func~oes URM computaveis:

Exemplo 6

f(xy) = x+y.

Obtemos x + y somando 1 a x (usando a instruc~ao sucessor) y vezes. Um programa URM para computar x+y tem que comecar em x, y, 000. Nosso

programa continuara somando 1 a r1 e usara R3 como um contador para manter o

registro de quanto r1 e aumentado. Uma congurac~ao t pica durante a computac~ao

e:

R1 R2 R3 R4 R5 R6 R7 x+k y k 0 0 0 0

Figura 3.9: Congurac~ao tpica de uma URM durante a computac~ao de uma soma

O programa sera projetado para parar quando k =y, deixando x+y em R1 como

exigido.

O procedimento que desejamos descrever em nosso programa e representado a seguir:

1. J(325) 2. S(1) 3. S(3) 4. J(111)

Note que a parada foi alcancada por uma instruc~ao de salto a I5 que n~ao existe.

(43)

inicio

k = y ? r = r ?

r = r + 1

k = k +1

r = r + 1

3 2

1 1

3 3

Sim

Nao

( )

( )

PARE

Figura 3.10: Fluxograma que representa a adic~ao (Exemplo 6)

3.5.3 Predicados e Problemas de Decis~ao

Em matematica uma tarefa comum e decidir se numeros possuem uma determina-da propriedetermina-dade. Por exemplo, uma determinadetermina-da tarefa e decidir se determinados numerosxy possuem a seguinte propriedade: xe um multiplo dey. Um algoritmo

que computa operac~ao seria um procedimento efetivo que introduz xy e

apresen-tando como sada Sim ou N~ao. Adotamos a seguinte convenc~ao: 1 para Sim, e 0 para N~ao. Ent~ao a func~ao que funciona para esta operac~ao e a seguinte:

f(xy) = (

1 , se xe multiplo de y

0 , se x n~ao e multiplo de y

Podemos dizer que a propriedade ou predicado x e um multiplo de y e

algori-ticamente ou efetivamente decidvel, ou simplesmente decidvel se esta func~ao f e computavel (por alguns dos modelos aqui apresentados).

Suponha que M(x 1

x

2

x

n) e um predicado

n-ario sobre numeros naturais.

A func~ao caracterstica M(

x) (xando x= (x 1

x

n)) de

(44)

3.5. A MAQUINA SEMLIMITE DE REGISTROS (URM) 43

M(x) = (

1 , se M(x) e verdadeiro 0 , se M(x) e falso

Denic~ao 17

O predicado M(x) e

decidvel

se a func~ao M e computavelM(x)

e

indecidvel

se M(x) n~ao e decid vel.

Exemplo 7

O predicado P(x) denido por \x = 0" e decid vel. A func~ao carac-ter stica e dada por

P(x) = (

1 , se x= 0 0 , se x6= 0

O programa seguinte computaP:

1. J(123) 2. J(114) 3. S(2) 4. T(21)

Note que quando discutimos decidibilidade (ou indecidibilidade) sempre nos preocupamos com a computabilidade (ou n~ao-computabilidade) de func~oes totais.

No contexto de decidabilidade, s~ao descritos as vezes propriedades ou predicados como problemas. Assim, poderamos dizer que o problema x6=ye decidvel.

3.5.4 Computabilidade em Outros Domnios

Nossa denic~ao de computabilidade e decidibilidade so se aplica a func~oes e predica-dos sobre numeros naturais. Estas noc~oes s~ao estendidas facilmente a outros tipos de objetos (numeros inteiros, polin^omios, matrizes, etc.) por meio de codicac~ao . Uma codicac~ao de um domnio D de objetos e uma injec~ao : D !N. Dizemos

que um objeto d 2 De codicado pelo numero natural (d). Suponha, agora, que

f e uma func~ao de D para D ent~ao f e naturalmente codicada pela func~ao f de N para N que determine o codigo de um objeto d 2Dom(f) para o codigo de f(d)

como ilustra o seguinte diagrama comutativo:

f D ;! D

# #

N ;! N

Referências

Documentos relacionados

Um provérbio indiano afirma que para uma relação sentimental ser satisfatória, a idade dela não deve exceder a metade mais sete anos da idade dele.. Certo rapaz tem 10

Uma análise mais aprofundada das imagens em questão nos permitiria dizer, ainda, que, embora o repórter fotográfico da FolhaPress ocupe uma posição-sujeito que está inscrita na

Analisando os resultados obtidos, observa-se que o layout radial com 2 robˆ os apresenta melhor desempenho quando o cluster tool ´ e robot bound, pois seu menor valor de makespan

Frente a esse cenário, essas mulheres organizaram suas lutas para garantir a manutenção de direitos trabalhistas durante a pandemia de COVID-19 e a ampliação de direitos para que

Uma pessoa obesa submete-se a um tratamento de 12 semanas para perda de peso.. Estima-se que no Brasil seja produzido, em média, 1,3 kg de lixo diariamente por habitante, e quanto

Escreva usando a notação de conjuntos os intervalos na reta dos

Escreva usando a notação de conjuntos os intervalos na reta dos

Escreve todos os números inteiros que pertencem ao intervalo − 2, 3 Prova Final 3.o Ciclo – 2015, Época especial... Escreve todos os números do conjunto Z pertencentes ao