Iterações, órbitas e instabilidades em sistemas dinâmicos

O assunto

Na nossa primeira aula desta parte vimos que um sistema regido por uma equação muito simples pode apresentar um comportamento variado e complexo. Em particular entramos em contato com dois conceitos centrais: o conceito de ponto fixo e o conceito de atrator. Vimos que no mapeamento logistico x_{n+1}=Bx_n(1-x_n) existem dois pontos fixos, um em x_1=0 e outro em x_2=(B-1)/B. Inicialmente, para 0<B<1, o primeiro ponto fixo funciona como atrator. Para valores maiores de B, o atrator muda para o ponto fixo x_2, até que ambos os pontos fixos deixam de ser atratores. Quando isso acontece, o atrator fica mais complexo e muda para um ciclo de período 2. Depois, muda para um ciclo de período 4. Estas bifurcações continuam até que o atrator passa a conter um número infinito de pontos que nunca se repetem.

Nesta aula vamos considerar alguns conceitos adicionais que permitem compreender melhor o que se passa nestas situações mais complexas: os conceitos de sistema dinâmico, órbita obtida por iteração e, por fim, instabilidade em sistemas dinâmicos.

Temas da aula

  1. Seção de perguntas e respostas.
  2. Sistemas dinâmicos e iteração.
  3. Órbitas estáveis e instáveis.

Sistemas dinâmicos

Para nossos propósitos nesse curso é suficiente considerarmos uma noção intuitiva de "sistema dinâmico". Essencialmente, um sistema dinâmico é um processo, algum ente real que evolui no tempo. Esta evolução só pode ser detectada pela observação de alguma propriedade que muda quando o tempo passa. Mais precisamente, podemos determinar quantitativamente a evolução de um sistema dinâmico pela medida de uma grandeza associada à propriedade observada. Por exemplo: no caso de uma população, podemos medir a razão entre o número existente de indivíduos e um certo número máximo. Vamos chamar esta medida de razão populacional. Nesse caso:

  • O sistema dinâmico é a população.
  • A propriedade que estamos observando é o tamanho da população.
  • Estamos medindo este tamanho usando uma grandeza que é a razão entre o número de indivíduos e um certo número máximo.

A grandeza que utilizamos é considerada uma função do tempo e, muitas vezes, o termo "sistema dinâmico" é empregado para descrever esta dependência funcional conhecida ou não, em vez do próprio ente do qual as medidas são obtidas. Na verdade, como um termo técnico em Matemática e Física, é esta a forma de entender um sistema dinâmico. As equações descrevendo o comportamento da grandeza em função do tempo podem não ser algébricas, mas vamos considerar aqui apenas relações algébricas as mais simples possíveis.

Como um exemplo temos o nosso já conhecido mapeamento logístico. Neste mapeamento, a razão populacional no próximo instante depende quadraticamente da razão populacional no instante atual, sendo esta uma dependência algébrica muito simples.

Parâmetros do sistema dinâmico

Recordemos a expressão do mapeamento logístico:

(1)
x_{t+1}=Bx_t(1-x_t)

Já discutimos que nesta expressão B é um parâmetro livre e que a evolução do sistema pode ser muito diferente quando mudamos o valor deste parâmetro. Em geral, sistemas dinâmicos podem ter mais grandezas observadas e mais parâmetros do que o mapeamento logístico. Por exemplo, consideremos o mapeamento:

(2)
% \nonumber to remove numbering (before each equation)  x_{t+1}&=&1-y_t+p|x_t|  \  y_{t+1}&=&x_t 

Neste caso temos duas grandezas x e y cujos valores futuros x_{t+1} e y_{t+1} são calculados como uma função dos valores atuais x_{t} e y_{t}. Observe o parâmetro livre p que aparece na primeira equação. Será que este parâmetro livre ocasiona mudanças tão drásticas quanto no caso do mapeamento logístico?

Você pode testar à vontade com este pequeno programa Scilab:

// Autor: Prof. Deilson Tavares
// Para o curso "Fractais e Caos na Ciência e na Tecnologia"
function [x,y] = boneco(x1,y1,N,p)
// De início, experimente os valores 
// x1 = -0.1, x2 = 0, N = 10000, p = 1  
 
  x = zeros(N,1);y=x;
  x(1)=x1;y(1)=y1;
  for i = 2:N
    x(i)=1-y(i-1)+p*abs(x(i-1));
    y(i)=x(i-1);
  end
  figure;plot(x,y,'.')
  h = get("current_entity");h=h.children;
  set(h,"mark_size",0);
endfunction

Órbitas

Nos mapeamentos que vimos até agora e isto vale para todos os mapeamentos, os valores das grandezas no futuro são obtidos a partir dos valores da grandeza no presente usando operações bem definidas. Dando uma condição inicial, temos como resultado uma seqüência de valores futuros, cada um encontrado a partir do anterior. Por exemplo, para uma variável:

(3)
x_1 \rightarrow x_2 \rightarrow x_3 \dots \rightarrow x_t \rightarrow x_{t+1} \rightarrow \dots

No caso de mais de uma variável, cada uma teria sua seqüência, ou então podemos colocá-las como pontos. Por exemplo:

(4)
(x_1,y_1) \rightarrow (x_2,y_2) \rightarrow (x_3,y_3) \rightarrow \dots \rightarrow (x_t,y_t) \rightarrow (x_{t+1},y_{t+1}) \rightarrow \dots

Esta representação serviria muito bem para o caso do mapeamento 2. Pois bem, uma seqüência destas é chamada de órbita. Cada condição inicial de um mapeamento bem definido gera uma órbita.

Órbitas e atratores

Instabilidade

// Autor: Prof. Deilson Tavares
// Para o curso "Fractais e Caos na Ciência e na Tecnologia"
 
function x = correlacao_orbitas(T,x0,N,d)
 
  x = zeros(N,2);
  B = linspace(0,4,N);
  for i = 1:N
    aux1 = logistica(T+d,x0-0.001,B(i));
    aux2 = logistica(T+d,x0,B(i));
    p = regress(aux1,aux2);
    x(i,2)= p(2);
    x(i,1)=B(i);
  end
  figure;plot(x(:,1),x(:,2),'.')
  h = get("current_entity");h=h.children;
  set(h,"mark_size",0);
  set(gca(),"data_bounds",[0 -0.1;4 1.1]);
endfunction