• Nenhum resultado encontrado

uma Maquina BSS que calcula o maior inteiro, os tradicional problemas: da mochila (knapsack problem), o Metodo de Newton, varias guras e modelos.

4.2 O Modelo BSS Classico

Muitos metodos tem sido propostos para analise computacional com nalidade de resolver problemas no contnuo, dentre eles o modelo BSS, que se trata de um modelo que trabalha com func~oes parciais recursivas o qual apresentaremos a seguir.

O conceito de um modelo de maquina, que trabalha basicamente sob um anel ordenado, foi denido por Blum, Shub e Smale tendo foi o incio de uma teoria da computac~ao e complexidade sobre conjuntos contnuos. Essa maquina foi conhecida como BSS em homenagem aos seus criadores.

Denic~ao 26

Seja N = f1ng para n > 1, A um anel ordenado, lm 2 N

e I=Al, O=Am, S=Z +

Z +

A

1 (entrada, sa da e estado de poss veis congu-

rac~oes, respectivamente) ondeZ

+e o conjunto dos numeros inteiros positivos. Uma

maquina BSS

M sobre A, com entrada I e sa da O, e um grafo dirigido conexo com n nos.

Estes nos s~ao divididos em cinco categorias:

Seja v um no pertencente ao grafo representativo do Modelo BSS. Dizemos que este no v sera um:

No-entrada

Se os arcos de entrada no no v e zero (n~ao chega nenhum arco) e possui apenas um arco de sa da.

No sada

Se os arcos de sa da no no v e zero.

No-escolha

O nov tem dois arcos de sa da e seus sucessores s~ao;(v) ou +(v).

Vejamos a ilustrac~ao seguinte:

Em um no escolha e feito uma tomada de decis~ao para qual no seguira: + ou

;, a partir de um criterio previamente estabelecido.

No-computacional:

Neste caso, o nov tem um arco de sa da e tem associado uma func~ao polinomial gv :S ! S (gv pode ser racional se A e um corpo), este no

e necessario quando gv(ijx) = (g1

v(i)g2 v(j)g3 v(x)), onde g1 v(i) 2f1i+ 1g , g2 v(j) 2 f1j + 1g e g 3 v(x), g3 v : A1 ! A

1 trata-se da func~ao propriamente

B

B-

+

No-entrada No-saida No-escolha

Figura 4.1: Nos de uma Maquina BSS

Figura 4.2: No computacional - No quinta-classe

No quinta classe Este no (tem um arco unico de sa da, e o proximo no e seme-

lhante a um no computacional) operando sobrev transformando-o no elemento

(ijx 1 x 2 xj ;1 xixj +1

) 2 S, isto e, xi substitui xj na j-esima po-

sic~ao emA

1. N~ao s~ao feitas outras trocas no no quinta classe. Se

v representa

este no ent~ao esta func~ao sera escrita da seguinte forma:

gv :S !S.

Discutiremos agora as quest~oes sobre as modicac~oes necessarias na maquina de dimens~ao nita. Utilizaremos I = AlO = Am, ao mesmo tempo com um grafo

dirigido (nito).

Os quatro primeiros nos s~ao iguais diante de um grafo teorico, mas a denic~ao de func~oes associadas deve ser extendida para ocultar o caso de dimens~ao innita. Temos denido uma func~ao polinomialA

1

!A

1. Mas este n~ao afetara

xi para um i sucientemente grande na express~ao X = (x

1 x

2

) 2 A

1. Esta considerac~ao

forcou a introduc~ao de outro tipo de no dentro da maquina que foi chamado de no quinta classe. O no quinta classe e usado para acessar o xi com oi sucientemente

4.3. COMPUTAC ~

OES EM MAQUINAS BSS 77

grande. Para estes nos foi utilizado S = Z +

Z +

A

1 com um elemento tpico

(ijx1x2

)ij inteiros positivos.

E interessante observar que uma maquina BSS M e similar a uma maquina de acesso rand^omico classica tendo um numero innito de registros e com capacidade de manter um elemento de A. Ele usa alguma entrada de Al, da alguma sada em

Am e pode ter um desempenho computacional (observada a complexidade) a nvel

polinomial (ou racional) envolvendo unicamente um numero nito de registros. Esta maquina M tambem pode ter um desempenho simples se confrontar e executar uma instruc~ao \escolha" dependendo do resultado da comparac~ao.

Os dois registros adicionais inteiros s~ao postos para permitir uma computac~ao uniforme no caso que espaco de entrada eA1 de fato, sendok

M a dimens~ao deM (o

maximo entre as dimens~oes destas func~oes associadas com os nos computacionais de

M) se o no quinta classe e admitido, a maquina M pode usar e modicar variaveis indexadas a kM.

Se o \no quinta classe" n~ao e admitido, a maquina BSS M apenas n~ao podera usar nem modicar variaveis com indexac~ao sobkM. Desta forma a entrada \ativa"

e neste caso limitado porkM.

Se quisermos uma maquina capaz de fazer computac~oes que dependam da di- mens~ao da entrada, nos temos que fazer em um nvel n~ao polinomial. Esta e a forma de adicionar dois registros inteiros (iej). Eles s~ao classicados em dois regis- tros ordinarios que podem ser incrementados ou reinicializados pelas instruc~oes de computac~ao  quando o no quinta classe e atingido o conteudo do registro i-esimo (A-valorado) e copiado para dentro do registro j-esimo. Estes caminhos n~ao s~ao atualmente limitados pela dimens~ao da maquina, e assim, computac~oes uniformes acima das ilimitadas s~ao permitidas para receber espaco.

4.3 Computac~oes em Maquinas BSS

Apresentaremos agora a denic~ao formal da maquina BSS M.

Seja N =f1ngpara n >1,A um anel ordenado, lm2N eI=Al, O=Am,

S=Z +

Z +

A

1 (entrada, sada e estado de possveis congurac~oes, respectiva-

mente) onde Z

+e o conjunto dos numeros inteiros positivos. Uma

maquina BSS

M sobre A, com entrada I e sadaO, e um grafo dirigido conexo com n nos. Observaremos primeiro as seguintes notac~oes :

Parax2S, escreveremos xk, para denotarxk

+2 ( ok-esimo registroA-valorado),

tambem deniremos StM = N S (o estado de descric~ao instant^anea de M). A

func~ao sucessor imediato HM :StM!StM e denida a seguir:

HM(vx) = (0(v (x))g

v(x))

 :S !f;101g (x) = 8 > < > : ;1 , se x 1 <0 0 , se x1 = 0 1 , se x1 >0   0 :N f;101g!N 0(v) = 8 > > > < > > > : n , se v =n (v) , sev < n e v n~ao e um no-escolha +(v) , se n e um no-escolha e  2f01g ;(v) , em outros casos  g v :S !S e denido a seguir: 1. Se v e um no-computacional, gv e a

func~ao associada com v

2. Se v e um quinto-no, gv e denido a seguir:

gv(ijx) = (ijy) com yk= ( xi , se k=j xk , em outros casos

3. Em outros casos, gv e a identidade de S.

Alem disso, duas func~oes s~ao denidas:

 A func~ao de entrada In: I ! S tal que In(x) =(11y) onde y

2k+1 = xk

para k = 1ly 1 =

jxj (o tamanho da maior coordenada n~ao-nula de x) e

yk =0 para qualquer outro k.  A func~ao de sada O 0 :S ! O tal que O 0(ijx) = y onde y k = x2k+1 para k= 1m.

Sejay2I, a execuc~ao de M sobre a entradaye a sequ^encia (n

0x0)(n1x1)  satisfazendo: i. n0 = 1 e x0 =In(y) ii. 8k(n k+1xk+1) =HM(nkxk), nk+1 =(nk (xk)) xk+1=gn k(x k)

4.3. COMPUTAC ~

OES EM MAQUINAS BSS 79

Diz-se que a maquina M esta

parada

sobre a entrada y se n k =

n para algum k, neste caso, denimosT

M(

y) com menor de taisk (o tempo de parada de M sobre

a entrada y).

Seja:

(M =

fy2I :M para sobre a entrada yg

(o conjunto de paradas de M). Se M para sobrey, o estado (n

T

M( y)x

T

M(

y)) e chamado de

estado nal

de M

sobre a entrada y, e nos dizemos que O 0(

x

T

M(

y)) e a sada de M sobre a entrada y,

mais precisamente, nos denimos a func~ao (parcial) ' M : I *O a seguir: '(y) = ( O 0(

x) , se M para sobre a entrada y com estado nal (nx) " , em outros casos

Esta e chamada de

func~ao processada

porM.

Podemos dar a notac~ao de conjuntos recursivos enumeraveis sobreApor analogia

a noc~oes dos casos discretos. Um conjunto S A

l e

recursivo enumeravel

sobre A se existe uma maquina BSS M com espaco de entrada A

l, tal que ( M =

S. S

e

decidvel

ou

recursivo

sobre A se ambos S e S

c (o complementar de

S) s~ao

4.4 Decidibilidade Sob um Anel

A noc~ao de decidibilidade de um dado conjunto e bastante diferente nesta sec~ao do classico que segue a tese de Church. N~ao obstante, se v^e facilmente que um sub-conjunto de Z e R.E. (ou decidvel), se e somente se, estiver de acordo com a

denic~ao classica.

Observe que a noc~ao de conjunto recursivo depende estritamente do anel que e considerado. Como um exemplo, mostraremos agora que todo subconjunto de Ze

decidvel sob o anel R.

Vejamos informalmente o seguinte caso. Seja S Z

+, que leva a seguinte cons-

tante real (em notac~ao binaria):

S = 0:s 1 s 2 s 3 

ondesi = 1 sei2S, 0 se i62S. O valor constante S codica o conjunto S. Agora

considere a maquina MS (sob A, com espaco de possveis congurac~oes S) descrita

informalmente pelo seguinte programa: 1. ler n

2. se n <1 ent~ao entre em loop para sempre

3. n n~ao e um inteiro ent~ao entre em loop para sempre

4. x 1 b2n ;1 Sc 5. x 2 b2nSc 6. x 3 x 2 ;2x 1 7. se x

3 = 0 ent~ao entre em loop para sempre

Veremos no exemplo 17 uma maquina para computar bxcpara um determinado x. Nesta maquina, S e uma constante interna que pode decidir o relacionamento

com o conjunto S. E facil ver (para ser mais preciso, este algoritmo so trabalha

quando Z +

n S e innito de qualquer maneira, se este n~ao e o caso, S ainda e

decidvel com um determinado algoritmo) que (MS =

S, e assim S e R.E. sob A.

Podemos construir de um modo analogo, outra maquina com conjunto de parada

AnS, obtendo queS e decidvel sob A.

Um mesmo resultado geral sobre conjuntos R.E. sob um determinado anel s~ao obtidos por Blum, Shub e Smale: eles relacionam conjuntos R.E. com conjuntos semi-algebricos.

Seja A um anel, f 1

fm um conjunto nito de n-polin^omios em A e seja

1 

2

 m 2 f;101g um conjunto de \sinal-condic~ao ". Considere a seguinte

4.4. DECIDIBILIDADE SOBUM ANEL 81

signum(fi(x)) = i onde i= 1 m

O conjunto de todas as soluc~oes x2A

n que est~ao acima do sistema e chamado

um

subconjunto semi-algebrico basico

de An. Um

conjunto semi-algebrico

basico

e uma uni~ao nita de conjuntos semi-algebricos basicos . Podemos considerar essa denic~ao id^entica ao caso de um quasi-anel.

Proposic~ao 4 BSS89]

Seja M uma maquina sob A, com estado de poss veis congurac~oes I = Al.

Ent~ao (M e uma uni~ao contavel de subconjuntos semi-algebricos de I

Este resultado da condic~oes necessarias para um conjunto ser R.E. sob um anel ou um quasi-anel, e pode ser usado para mostrar facilmente que um determinado conjunto n~ao e decidvel.

Exemplo 16

Considere o intervalo real01], o divideremos em tr^es sub-intervalos 01 3] 1 3 2 3] 2

31]. Agora desconsideraremos o intervalo mediano tornando o con-

junto outro intervalo . Atraves de algumas interac~oes neste processo chegaremos ao chamado conjunto

Cantor's Middle Third

(CMT). Mostraremos agora que

CMTC (o complemento de CMT) e R.E. mas n~ao e decid vel sob A. A maquina

M seguinte tem CMTC como conjunto de parada:

entrada x se (x <0) ou (x >1) ent~ao pare x 3x repita se (2 x)ent~ao xx;2 x3x ate 1< x <2

AssimCMTCe R.E. sobR. MasCMTC n~ao e decid vel, comoCMT n~ao e R.E.

sob R. De fato, (Bar88]]) mostra que CMT e um conjunto incontavel totalmente desconexo, enquanto em (Bec86]) um conjunto semi-algebrico tem so um numero nito de componentes conexos. Assim, pela Proposic~ao acima, um conjunto R.E. pode ter so um numero de componentes contaveis conectados, e assim CMT n~ao e R.E. sob R.

Da mesma maneira, pode-se mostrar que a maioria dos conjuntos de Julia Dev96] e indecidvel sob R. E preciso mencionar aqui, o fato que podem ser re-obtidos muitos resultados classicos de teoria de func~oes recursivas numa colocac~ao muito mais geral. Por exemplo, pode-se caracterizar a classe de func~oes computaveis, ou exibir uma maquina universal sob algum determinado anel ou quasi-anel.

4.5 Fractais

O proximo passo nesse captulo sera apresentar alguns exemplos de uso da Maquina BSS. Essa subsec~ao servira de base para o bom entendimento dos exemplos.

Para iniciarmos essa sub-sec~ao primeiramente responderemos a duas quest~oes: \O que s~ao fractais? " e \para que os fractais servem?" Est93] cita a denic~ao de Mandelbrot: \Um fractal e uma curva cuja dimens~ao de Hausdor-Besicovitch e maior que a dimens~ao Euclidiana". Para melhor entendimento, detalharemos essa denic~ao.

4.5.1 O Incio de Curvas de Fractal

Puxe uma linha em uma folha de papel. A Geometria de Euclideana dene que esta e uma gura de uma dimens~ao. Agora estenda a linha. Faca deslizar ao redor, de um lado para outro, sem se cruzar, ate que encha a folha inteira do papel. A Geometria de Euclides diz que esta ainda e uma linha, uma gura de uma dimens~ao. Mas nossa intuic~ao nos mostra fortemente que se a linha enche o papel inteiro completamente, deveria ser bi-dimensional.

Tal pensamento comecou uma revoluc~ao na matematica a aproximadamente cem anos. Matematicos como Cantor, Von Kech, Peano, Hausdor, e Besicovitch puxa- ram curvas e foram chamados de \monstros", \psicotico", e \patologico" por ma- tematicos tradicionais. Um novo tipo de dimensionamento foi proposto em que uma curva poderia ter uma dimens~ao fracionaria. Foram descobertas tecnicas de recur- sividade e express~oes interativas que poderiam descrever curvas que t^em dimens~oes fracionarias. Mas, em computadores digitais sem alta velocidade, o desenho de tal curva era um processo longo e tedioso nem, t~ao pouco o progresso aconteceu nesse campo durante quase cem anos.

O advento dos computadores digitais fez a investigac~ao de tal curva um campo frutfero. Das primeiras investigac~oes, poderamos entender o que estavam tentando para fazer. Queriam puxar curvas que pareciam ter caractersticas dimensionais mais complexas que foi explicado atraves de geometria tradicional.

Foram programados em computadores express~oes matematicas interativas muito simples nas quais o proximo estado de um par^ametro dependia somente de uma relac~ao simples: do estado atual do par^ametro. A repetic~ao foi executada muitas vezes e a localizac~ao resultante do par^ametro em cada estado era plotado. Os re- sultados se mostraram interessantes por ter muitas caractersticas. Em primeiro lugar, eles nunca se repetiram. Alem disso, eles tenderam a ter a caracterstica de auto-semelhanca. Em outro palavra, se uma porc~ao pequena do resultado fosse au- mentada, sua forma estava muito parecida como uma porc~ao grande do resultado original.

4.6. EXEMPLOS 83

nal, e por conseguinte permaneceu um anatema aos matematicos tradicionais. Dr. Benoit Mandelbrot foi a primeira pessoa a fazer uso de um computador digital para investigar fractais a fundo, e os resultados n~ao foram bem-vindos calorosamente por matematicos tradicionais Dev96].

4.5.2 Para que os Fractais Servem

Ja explicamos o que e um fractal, mas explicar de que maneira um fractal e usado e mais difcil. Mandelbrot explica que da mesma maneira que as formas da geometria tradicional e o modo natural de representar objetos articial (quadrados, crculos, tri^angulos, etc.), curvas de fractais e o modo natural de representar objetos que acontecem na natureza. Assim, os fractais servem como meio de representar obje- tos de arte de cenas naturais. Alem disso, os fractais acontecem naturalmente nas express~oes matematicas t~ao quanto a predic~ao de sistemas de tempo, a descric~ao de uxo turbulento de lquido, e o crescimento e declnio de populac~oes. Os Fractais tambem s~ao uteis em transformac~oes dimensionais que podem ser usadas por ex- pressar e comprimir dados gracos. Ignorando o valor artstico, a melhor resposta para a pergunta \para que os fractais servem?" e que os fractais parecem prover soluc~oes para muitos perguntas previamente sem resposta as fronteiras das ci^encias fsicas. Por conseguinte, para trabalhar as fronteiras da ci^encia, a pessoa precisa entender como s~ao os fractais e como trabalhar com eles.

4.6 Exemplos

Dada a teoria, veremos agora alguns exemplos de computabilidade utilizando a maquina BSS. Nos casos pertinentes ilustraremos seus respectivos fractais.

Exemplo 17

Dada uma Maquina BSS que computa o maior inteiro em xb x c ,

(0,x) k (k,x) (k+1,x-1) x < 1 V F k 0

Figura 4.3: Maquina BSS computando o maior inteiro em x

onde em:

1 - Entrada da segunda coordenada de R 2

x onde x 2 R

2 - No escolha onde se x<1 passa para o no 3, sen~ao para o no 4

3 - No sa da: sai k para a primeira coordenada

4 - No computacional: acontece uma operac~ao e retorna ao no 2.

Observe que para x > 0 em R, o custo da computac~ao b x c e de bx + 1c

comparac~oes e b x c de aritmetica basica computacional. Usando busca binaria

este custo pode ser reduzido para O(log(x+ 1)) mas essencialmente, n~ao mais em

nosso modelo. Ele e interessante para observar que em modelos de computac~ao onde

bxct~ao bem quanto as operac~oes aritmetica basica podem ser computadas em tempo

constante, aparentemente problemas dif ceis tal qual fatorac~ao de inteiros e testes de satisfatoriedade de formulas proposicionais podem ser resolvidas ecientemente em tempo polinomial Bol95].

Exemplo 18

O Conjunto de Mandelbrot

Para introduzirmos o conjunto Mandelbrot estudaremos primeiramente a dicoto- mia fundamental:

Seja Q c

(z) = z 2

+ c, uma func~ao quadratica, K

c um conjunto cantor, z e c

numeros complexos. Ent~ao:

1. A orbita do ponto cr tico 0tende para o innito, quando K

c consiste innita-

mente de muitos componentes disjuntos, ou

2. A orbita de 0 permanece constante quando K

c estiver conectado.

A dicotomia fundamental indica que ha so dois tipos basicos de conjuntos Julia ocupados para Q

c, esses s~ao conectados e consistem innitamente de muitos com-

ponentes disjuntos. Alem disso, e a orbita de 0 que determina qual deste dois casos

suportara. Isto conduz a uma denic~ao importante.

O

conjunto mandelbrot

consiste em todos os c-valores para qual o Conjunto

Julia K

c estar conectado. Equivalentemente,

=fc2C=jQ n

c

(0)j!1g

E importante citar que o conjunto Mandelbrot e um subconjunto de espaco de par^ametros para polin^omios quadraticos.

O Conjunto de Mandelbrot e um conjunto decid vel?

E de certa forma extraordinariamente complicado observando o fractal do conjunto Mandelbrot. Embora as regras que prov^eem sua denic~ao s~ao surpreendentemente simples, o proprio conjunto exibe uma variedade innita de estruturas altamente elaboradas.

Este poderia ser um exemplo de n~ao recursividade (isto e, indecidibilidade) do conjunto.

E conhecido que o limite do conjunto Mandelbrot tem uma estrutura rica e com- plexa. (Veja a proxima gura onde uma parte deste limite e mostrada como exem- plo).

No limite: Vale do Cavalo-Marinho

Penrose e motivado a usar esta quest~ao para fazer um argumento contra a in- telig^encia articial. Achamos que a pergunta sobre decidibilidade do conjunto de Mandelbrot tem outra justicac~ao. Podemos responder em parte e pode servir de motivac~ao a pergunta: Pode-se decidir se uma equac~ao diferencial e caotica?

O conjunto Mandelbrot  e denido como o conjunto de numeros complexosctal

que a sucess~ao cc 2 +c(c 2 +c) 2 +c permanece conectado.

Mais formalmente, seja c2C, os numeros complexos, seja p c (z)=z 2 +c e seja p n c (z) a n-esima interac~ao de p c aplicado a z. Quer dizer, p n c (z)=p c (p c (p c (p c (z)))), n passos. assim p c (0)=c, p 2 c (0)=c 2

+c. Ent~ao  e o complemento do conjunto  0 =fc2C jp n c (0)!1 e n!1g.

O conjunto  tambem pode ser descrito como o conjunto de entrada c que n~ao

c

(x,y) (0,c)

(x,y) (x +y,y)

|x|>2

Halt and Output 1 V

F 2

Figura4.4: Conjunto 

MAQUINA 1: Um diagrama de uxo associado ao conjunto de Mandelbrot

Para responder a quest~ao de Penrose, precisamos de uma \maquina" ou \algo- ritmo" que, determinada entrada c, um numero complexo, decidira em um numero

MAQUINA 2: Maquina de decis~ao desejada para 

c

c pertence a M

V F

1 0

Figura4.5: Maquina BSS para decis~ao

Exemplo 19 Exemplo do conjunto Julia de

T(z)=z 2

+4

Observaremos agora uma func~ao polinomial T : C ! C do ponto de vista de

interac~oes ou como um sistema din^amico complexo. Sera escrito T 2

= T(T(z)) e T

k para a composic~ao de

T com si proprio k vezes. Seja T(z)=z 2

+4.

Observe que se jzj>2, jT K

(z)j!1 quando k!1

z z T(z) |z| > 2? z fase 1 fase 2 fase 3 fase 4

Figura 4.6: Maquina BSS - Representac~ao do modelo do conjunto Julia

Daremos o nome a esta estrutura de Maquina M. Em M existem quatro nos, sendo vistos na seguinte sequ^encia: fase 1:no entrada, fase 2: no computacional, fase 3: no escolha, fase 4: no sa da. Novamente temos um exemplo da maquina BSS sobre os numeros complexos C.

Exemplo 20 O problema da mochila

Analisaremos este exemplo agora utilizando-se de um anel comutativo A com

unidade. Para ser mais espec co, uma suposic~ao seria A ser o anel do conjunto

dos numeros inteiros Z, os racionais Q, os reais R, ou dos numeros complexos C.

Consideremos o seguinte problema: Pegar x

1

x

n

2 A decidir se existe um subconjunto n~ao-vazio S f1ng

tal que P i2S

x

i =1.

Este problema cou sendo conhecido como

O Problema da mochila

ou

Knap-

sack Problem

sobre A. Basicamente, podemos ver esse problema como sendo:

Pegarx 1

x

n

c2Adecidir se existe um subconjunto n~ao-vazioS f1ng

tal que P i2S

x

i =c.

Neste caso imaginamos c sendo toda a capacidade da mochila, x

i o volume dos

itens, e a quest~ao e: como podemos preencher a mochila com a maxima capacidade utilizando-se de um subconjunto dos itens?

Observe que em nossa formulac~ao do problema da mochila, o anel A n~ao deve

ser ordenado. Assim, nos consideraremos a maquina aqui apenas um ramo sobre a comparac~ao de igualidade sobre R.

Em muitos casos, o Problema da Mochila e similar ao nosso problema de de- cidibilidade. Seja K

n o conjunto da mochila tal que apresentaremos da seguinte

forma: K n =fx2R n j9b2f01g n tal que P b i x i =1g.

Agora observaremos uma maquina que decidira, dado x 2 R n se

x 2 K

n. Mas

diferentemente dos exemplos anteriores, o

Problema da Mochila

e facilmente decid vel, usar x 2 R

Documentos relacionados