logo

카오틱 트랜지션 📂동역학

카오틱 트랜지션

정의

시스템이 파라미터의 변화에 따라 카오틱해지거나 카오틱해지지 않는 등의 현상을 카오틱 트랜지션이라 한다.

예시

예로써 로지스틱 패밀리를 생각해보면 $g_{a} = ax (1-x)$ 로 만들어지는 시스템은 파라미터 $a$ 에 따라 달라지는 모습을 보이다가 $a=4$ 일 때 카오틱 오빗을 가짐을 확인할 수 있다. 그러면 그 다음 질문은 바로 ‘$a>4$ 일 때는 어떻게 될 것인가’다.

우선 $a>4$ 면 $g_{a}(x) = ax(1-x)$ 이므로 그 최댓값은 $1$ 보다 크고, $g_{a}$ 는 $x_{n} \notin [-1,1]$ 을 음수로 매핑한다. 또한 이차함수기 때문에 한 번이라도 어떤 $\tau \in \mathbb{N}$ 에 대해 $x_{ \tau } > 1$ 이 되면 그 뒤로는 무서운 속도로 발산한다. 카오틱 오빗은 그 이전에 바운디드 오빗이어야하는데 발산했다는 것은 파라미터 $a$ 이 변함에 따라 카오틱한 성질을 잃어버렸다는 의미가 되고, 위의 정의에 따라 카오틱 트랜지션이라고 할 수 있다.

이러한 현상은 $a>4$ 의 값이 크면 클수록 빨리 일어날 것이다. 그러면 $x_{ \tau } > 1$ 이 되도록 하는 $\tau$ 는 $a$ 와 어떤 관계가 있음을 짐작할 수 있다. 이것을 실제로 시뮬레이션으로 확인해보는 것은 별로 어렵지 않은데, 코드를 실행시키기만 하면 다음의 플랏이 그려진다.

2321.png

코드에선 $a$ 의 값을 아주 조금씩 증가시켜가면서 랜덤한 초기값 $x_{0}$ 에 대해 $x_{n} >1$ 을 만족하는 $n = \tau$ 를 찾고, 그것을 $N=1000$ 번 반복해서 $\tau$ 들의 평균 $\overline{\tau}$ 를 계산한다. 실제로 그려진 그림을 보면 $a = 4 + \varepsilon$ 에 대해서 $\log \varepsilon \sim \log \left( \overline{ \tau } \right)$ 과 같은 선형관계가 나타남을 확인할 수 있다.

이와 같은 카오틱 트랜지션은 로지스틱 맵의 시스템에서만 나타나는 것이 아니라 많은 시스템에서 발견되는 현상이다.

코드

ga<-function(a,x,k=1) {
  tmp <- a*x *(1 - x)
  if(k==1) {return( tmp ) }
  else {return(ga(a,tmp,k-1))}
}
 
N<-1000
y<-numeric(0)
A<-4+10^(-(80:120)/20)
for(a in A){
  taubar<-0
  for(i in 1:N){
    tau<-0
    x<-runif(1)
    while(x>0){
      x<-ga(a,x)
      tau=tau+1
    }
    taubar<-taubar+tau
  }
  y<-c(y,taubar/N)
}
 
taubar<-y
a<-A
 
win.graph(); plot(log(a-4),log(taubar),type='l',main='a>4 일 때 로지스틱 맵의 Chaotic Transient')