Conjunto de Mandelbrot

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Uma imagem renderizada do conjunto de Mandelbrot: os pontos pretos representam os pontos estáveis segundo o mapa iterativo

Em matemática, conjunto de Mandelbrot é um fractal definido como o conjunto de pontos c no plano complexo para o qual a sucessão (sequência, no Brasil) definida recursivamente:

z_0 = 0\,
z_{n+1} = {z_n}^2 + c

não tende ao infinito.

Para cada ponto c do plano complexo, a sequência se expande como:

c=x+iy \,
Z_0=0 \,
\begin{matrix}Z_1&=&Z_0^2+c \\ \ &=& x+iy\end{matrix} \,
\begin{matrix}Z_2&=&Z_1^2+c \\ \ 
&=&(x + iy)^2+x+iy \\ \ 
&=&x^2+2ixy-y^2+x+iy \\ \ &=&x^2-y^2+x+(2xy+y)i\end{matrix} \,
Z_3=Z_2^2+c=... \,

e assim por diante.

A sequência zn+1= zn2+c para 5 valores diferentes de c, sobreposta ao conjunto de Mandelbrot. Em cada sequência, os pontos zn (a amarelo) estão ligados aos pontos zn-1 e zn+1 por uma linha (a vermelha)

Se reescrevermos a sequência em termos das partes real e imaginária (coordenadas x e y do plano complexo), a cada iteração n, substituindo zn pelo ponto xn + yni e c pelo ponto a + bi, temos:

x_{n+1} = {x_n}^2 - {y_n}^2 + a \,

e

y_{n+1} = 2{x_n} {y_n} + b \,

O conjunto de Mandelbrot, em sua representação gráfica, pode ser dividido em um conjunto infinito de figuras pretas, sendo a maior delas um cardióide localizado ao centro do plano complexo. Existe uma infinidade (contável) de quase-círculos (o maior deles é a única figura que, de fato, é um círculo exato e localiza-se à esquerda do cardióide) que tangenciam o cardióide e variam de tamanho com raio tendendo assintoticamente a zero.

Cada um desses círculos tem seu próprio conjunto infinito (contável) de pequenos círculos cujos raios também tendem assintoticamente a zero. Esse processo se repete infinitamente, gerando uma figura fractal.

Dentro do conjunto de Mandelbrot há réplicas do conjunto ad infinitum!

Quando se explora o Conjunto de Mandelbrot com mais resolução (fazendo «zoom») encontram-se sempre réplicas e mais réplicas do conjunto ad infinitum! É uma característica dos objectos fractais. Só a limitada precisão das computações possíveis faz com que, a partir de certa altura, isso deixe de acontecer.

História[editar | editar código-fonte]

O conjunto de Mandelbrot foi definido pela primeira vez em 1905 por Pierre Fatou, um matemático francês que trabalhou no campo da dinâmica analítica complexa. Fatou estudou processos recursivos como

z \to z^2 + c\,

Começando com um ponto qualquer z_0 no plano complexo, podem-se gerar pontos sucessivos aplicando-se repetidamente esta fórmula. A seqüência de pontos obtida é chamada órbita de z_0 sob a transformação z \to z^2 + c\,.

Fatou percebeu que a órbita de z_0 = 0 sob esta transformação forneceria alguma introspecção sobre o comportamento de tais sistemas. Existe um número infinito de tais funções - uma para cada valor de c. Fatou não teve acesso a um computador capaz de plotar as órbitas de todas essas funções, mas ele tentou fazer isso a mão. Ele provou que uma vez que um ponto atinge uma distância da origem maior que 2, a órbita explode para o infinito.

Fatou nunca viu uma imagem, como estamos acostumados a ver, do que hoje chamamos de conjunto de Mandelbrot pois a quantidade de cálculos necessária para se gerarem tais imagens está além da capacidade de um ser humano executar a mão. O Professor Benoît Mandelbrot foi a primeira pessoa a utilizar um computador para plotar o conjunto.

Os fractais foram popularizados por Mandelbrot em 1975 em seu livro Les Objets Fractals: Forme, Hasard et Dimension. Neste livro, Mandelbrot usou o termo fractal para descrever um número de fenômenos matemáticos que pareciam exibir comportamento caótico ou surpreendente. Todos estes fenômenos envolviam a definição de alguma curva ou algum conjunto através do uso de algumas funções ou algoritmos recursivos. O conjunto de Mandelbrot é um desses fenômenos e leva o nome de seu descobridor.

Relação com os conjuntos de Julia[editar | editar código-fonte]

O conjunto de Mandelbrot foi criado por Benoît Mandelbrot como um índice ao conjunto de Julia: cada ponto no plano complexo corresponde a um conjunto de Julia diferente. Os pontos que pertencem ao conjunto de Mandelbrot correspondem precisamente aos conjuntos de Julia conexos, e os pontos fora do conjunto de Mandelbrot correspondem aos conjuntos de Julia disconexos.


Intuitivamente, os conjuntos de Julia "interessantes" correspondem aos pontos próximos à fronteira do conjunto de Mandelbrot; pontos mais internos ao conjunto de Mandelbrot correspondem a formas geométricas relativamente simples, enquanto os pontos mais externos lembram poeira rodeada por manchas de cores. Alguns programas, como o Fractint, permitem que o usuário escolha um ponto e veja o conjunto de Julia correspondente, tornando fácil a navegação. Um dos descansos de tela do pacote xscreensaver apresenta uma animação dos diversos conjuntos de Julia relativos a um ponto que fica dançando na tela.

O conjunto de Mandelbrot também "contém" estruturas muito semelhantes aos conjuntos de Julia; de fato, para qualquer valor c, a região do conjunto de Mandelbrot ao redor de c lembra o centro do conjunto de Julia com parâmetro c.

Ciclos Periódicos no conjunto de Mandelbrot[editar | editar código-fonte]

Valores do período para os bolbos

Dentro do conjunto de Mandelbrot, a iteração da sequência zn+1= zn²+c evolui de modo diferente para diferentes valores de c. Para valores de c no centro da grande cardióide, as iterações convergem para um ponto. Para valores de c dentro do grande bolbo à esquerda do cardióide, as iterações convergem para um ciclo de período 2. Para os outros bolbos, as iterações convergem para ciclos com diferentes períodos, de acordo com o número mostrado na figura seguinte.

Note que no bolbo que fica exatamente no meio entre o bolbo com n=2 e o bolbo com n=3, o período do ciclo é n=2+3=5; no bolbo entre o bolbo com n=2 e o bolbo com n=5, o período do ciclo é n=2+5=7; no bolbo entre o bolbo com n=2 e o bolbo com n=7, o período do ciclo é n=2+7=9. De fato, há nesse quadrante do cardióide tantos bolbos quanto a quantidade de números reais entre 2 e 3!

Ciclo atractor no bolbo 2/5 desenhado sobre o conjunto de Julia correspondente (animação)

Se observarmos o movimento dos pontos num ciclo do bolbo com n=5, vemos que o ciclo salta sempre 2 componentes no sentido anti-horário em cada iteração. Podemos então designar esse ciclo pelo número racional 2/5 e dizer que o ciclo roda em torno de um ponto central numa rotação de 2/5 de revolução por cada iteração. E esse bolbo pode ser designado por «bolbo 2/5».

Usando esta designação, torna-se claro que os bolbos primários estão ordenados em ordem crescente em relação a este número de rotação: 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2. Para sabermos o número de rotação de um bolbo intermédio, basta somar os numeradores e os denominadores separadamente:

Ciclos atractores e conjuntos de Julia para parâmetros nos bolbos 1/2, 3/7, 2/5, 1/3, 1/4 e 1/5

entre o bolbo 2/5 e o bolbo 1/2, há o bolbo 3/7. Existe também um outro bolbo 4/9 ainda menor entre o bolbo 1/2 e o bolbo 3/7.

Os bolbos estão ordenados exatamente como os números racionais pois há um bolbo p/q para cada número racional entre 0 e 1 e, além disso, estão ordenados corretamente à volta do bolbo principal no sentido anti-horário, começando em zero na cúspide. Na parte de baixo, os ciclos rodam no sentido horário.

Ciclos Periódicos no conjunto de Mandelbrot


Na figura à esquerda, representa-se sobre o conjunto de Mandelbrot a evolução da sequência zn+1= zn²+c a partir de diferentes valores de c.



(Note-se que, embora sejam interessantes do ponto de vista gráfico, estas representações das diferentes evoluções sobrepostas ao conjunto de Mandelbrot não são muito correctas conceptualmente visto estas ocorrerem no espaço de fase de um sistema dinâmico e não no espaço de parâmetros de polinômios quadráticos, como o conjunto de Mandelbrot.)

Desenhando o conjunto[editar | editar código-fonte]

Um filme com zoom sobre o ponto 0.001643721971153 + 0.822467633298876i no Conjunto de Mandelbrot
Método Buddhabrot

Pode-se mostrar que uma vez que o valor absoluto de z n é maior que 2 (na forma cartesiana, quando xn² + yn² > 2²) a sequência tenderá ao infinito e, portanto, c não pertence ao conjunto de Mandelbrot. Este valor, conhecido como valor de fuga, permite o término dos cálculos para pontos que não pertencem ao conjunto de Mandelbrot. Para aqueles que pertencem ao conjunto, ou seja, valores de c para os quais zn não tende ao infinito, o cálculo nunca irá terminar. Portanto, o cálculo deve ser terminado após um certo número de iterações determinado pelo programa. Isso resulta numa imagem que é apenas uma representação aproximada do conjunto verdadeiro. Hobbistas aprendem rapidamente a reconhecer as imperfeições nas imagens geradas, onde pontos que não pertencem ao conjunto de Mandelbrot são incluídos na representação do conjunto devido ao número insuficiente de iterações executadas pelo algoritmo. Nestas situações, é possível reajustar o programa para que seja executado um número maior de iterações ao custo de tornar o processo mais lento devido ao aumento da quantidade de cálculos para os pontos que pertencem ao conjunto.

Infelizmente, o número de iterações necessárias para a representação perfeita do conjunto é infinito. Além disso, o conjunto ocupa uma região contínua do plano de Argand-Gauss que, portanto, é impossível de ser representada fielmente em uma imagem pixelizada (espaço discretizado).

Adicionando cor[editar | editar código-fonte]

Matematicamente falando, as imagens dos conjuntos de Mandelbrot e de Julia são em "branco e preto", no sentido de que um ponto está ou dentro ou fora do conjunto em questão. Entretanto, a maioria das imagens geradas por computador são desenhadas em cores. No método de renderização mais comum, para os pontos que divergem para o infinito e que, portanto, não fazem parte do conjunto, as cores refletem o número de iterações necessárias para atingirem uma certa distância da origem. Isso cria formas concêntricas, cada uma sendo uma melhor aproximação para o conjunto de Mandelbrot em relação à camada exterior.

Um esquema de cores possível é pintar de preto os pontos que divergem rapidamente, ter as cores mais claras ao centro da imagem e um gradiente de tons de cinza (ou de qualquer outra cor de preferência) sendo que os pontos mais próximos de branco são os que divergem mais vagarosamente.

Para determinar se o ponto Z0 pertence ao conjunto de Mandelbrot (tradicionalmente representado em preto) ou se está fora do conjunto (colorido de acordo com sua velocidade de escape), a distância de Zi deve ser calculada a cada iteração:

Se Z_i  =  X + iY \ , então \|Z_i\|   =  \sqrt{X^2 + Y^2}. Note que uma das muitas otimizações possíveis no cálculo de mandelbrots pode se aplicar aqui. Em vez de testar se \sqrt{X^2 + Y^2} > 2, podemos simplesmente testar se X^2 + Y^2 > 4 \ evitando, desse modo, a operação de cálculo da raiz quadrada.


Otimização[editar | editar código-fonte]

Uma forma de melhorar o desempenho dos cálculos é achar de antemão se um dado ponto está dentro do cardióide. A equação polar do cardióide é

 \rho_c = {1 \over 2} - {1 \over 2} \cos \theta

mas com o centro das coordenadas polares em (1/4,0) — a ponta do cardióide — em vez de estar na origem.

Dado um ponto (x,y), calcule o seguinte:

 \rho = \sqrt{\left( x - {1 \over 4} \right)^2 + y^2},
 \theta = \hbox{arctg} \left( {y \over x - {1 \over 4}} \right),
 \rho_c = {1 \over 2} - {1 \over 2} \cos \theta.
Uma parte do conjunto de Mandelbrot centrada em (0.282, -0.01)

Se  \rho \le \rho_c então o ponto (x,y) pertence ao conjunto de Mandelbrot (pinte-o de preto, por exemplo), e pode-se saltar os cálculos para este ponto.

Para outros pontos, é possível evitar uma grande quantidade de operações fazendo-se "testes de periodicidade" - verificar se um ponto alcançado numa iteração de um pixel já foi alcançado anteriormente. Se já, a seqüência não pode divergir, e o ponto deve pertencer ao conjunto.

Alguns detalhes do conjunto de Mandelbrot[editar | editar código-fonte]

feitos com base num applet de JAVA

Arte e o Conjunto de Mandelbrot[editar | editar código-fonte]

Algumas pessoas têm o hobby de buscar no conjunto de Mandelbrot figuras interessantes. Elas têm coleções de figuras, junto com as respectivas cordenadas utilizadas para gerá-las. Por exemplo, a imagem à direita é um close centrado nas coordenadas (0.282, -0.01). Abaixo há mais exemplos de belas regiões do conjunto de Mandelbrot:

Cool Mandelbrot Hot Mandelbrot

Há muitos programas para geração de fractais disponíveis gratuitamente na internet assim como implementações livres. Há, por exemplo, aqueles feitos por Stephen Ferguson (Sterling Fractal e a série Tierazon). Muitas pessoas escrevem seus próprios programas de geração de fractais para que possam ter a maior mobilidade possível no processo de geração das imagens.


Outros Conjuntos de Mandelbrot[editar | editar código-fonte]

Quando as pessoas falam sobre o conjunto de Mandelbrot, elas frequentemente se referem ao conjunto descrito acima. Entretanto, qualquer função mapeada a partir de, ou para, o campo complexo possui um conjunto de Mandelbrot que indica, para cada ponto, se o conjunto de Julia correspondente àquela função é ou não conexo.

Exemplo:

Seja f_c(z) = z^3 + c.

Conjunto de Mandelbrot para z3+c e z4+c

Para cada valor de c, desenhamos o conjunto de Julia J_c de f_c(z), e determinamos se ele é conexo ou não. Se J_c for conexo, então c pertence ao conjunto de Mandelbrot de {f_c}, senão, c não pertence ao conjunto.

Isto também pode ser generalizado para conjuntos de Julia parametrizados por mais de dois números reais. Por exemplo, uma família de conjuntos de Julia parametrizada por três números reais será associada a um conjunto de Mandelbrot tridimensional. Claramente, as figuras geradas nos casos bidimensionais são, em geral, mais facilmente visualizáveis.

O Conjunto de Mandelbrot e a música[editar | editar código-fonte]

A banda australiana GangGajang tem uma música Time (and the Mandelbrot set), ou Tempo (e o conjunto de Mandelbrot), onde o termo Mandelbrot set (Conjunto de Mandelbrot) é livremente usado.

O cantor americano Jonathan Coulton tem uma canção intitulada Mandelbrot Set, ou Conjunto de Mandelbrot, versando sobre a história do conjunto de Mandelbrot assim como a do próprio Benoît Mandelbrot.

Ver também[editar | editar código-fonte]

  • Buddhabrot, uma representação gráfica alternativa para os conjuntos de Mandelbrot.

Ligações externas[editar | editar código-fonte]

Wikisource
O Wikisource contém fontes primárias relacionadas com Conjunto de Mandelbrot
Commons
O Commons possui imagens e outras mídias sobre Conjunto de Mandelbrot