복잡한 동작, 즉 혼돈이 있는 단순한 모델
기술

복잡한 동작, 즉 혼돈이 있는 단순한 모델

컴퓨터는 자연에 조심스럽게 숨겨진 비밀을 밝히기 위해 과학자들이 점점 더 많이 사용하는 도구입니다. 모델링은 실험 및 이론과 함께 세상을 연구하는 제XNUMX의 방법이 되고 있습니다.

2년 전 실레지아 대학교에서 우리는 컴퓨터 방법을 교육에 통합하는 프로그램을 시작했습니다. 그 결과, 매우 흥미로운 교훈 자료가 많이 생성되어 많은 주제를 더 쉽고 깊이 있게 학습할 수 있습니다. 사용 가능한 과학 라이브러리의 힘과 함께 방정식, 이미지 또는 데이터를 사용한 "컴퓨터 실험"을 위한 최상의 솔루션인 Python이 주요 도구로 선택되었습니다. 완전한 워크벤치의 가장 흥미로운 구현 중 하나는 Sage[3]입니다. 컴퓨터 대수학 시스템과 Python 언어의 개방형 통합이며, 웹 브라우저와 클라우드 서비스[4] 또는 대화형 단일 컴퓨팅 서버를 통해 가능한 액세스 옵션 중 하나를 사용하여 즉시 게임을 시작할 수 있습니다. 이 문서의 버전은 [XNUMX] 를 기반으로 합니다.

생태학의 혼돈

옥스퍼드 대학교 1학년 때 호주 과학자 로버트 메이는 인구 역학의 이론적 측면을 연구했습니다. 그는 "매우 복잡한 역학을 가진 간단한 수학적 모델"[XNUMX]이라는 도발적인 제목으로 Nature 저널에 게재된 논문에서 자신의 작업을 요약했습니다. 수년 동안 이 논문은 이론적 생태학에서 가장 많이 인용된 논문 중 하나가 되었습니다. 이 작품에 대한 그러한 관심의 원인은 무엇입니까?

인구 역학의 고전적인 문제는 현재 상태에서 특정 종의 미래 인구를 계산하는 것입니다. 수학적으로 생태계는 한 세대의 인구가 한 시즌 동안 지속되는 가장 단순한 것으로 간주되었습니다. 좋은 예는 나비와 같이 한 계절에 완전한 변태를 겪는 곤충의 개체군입니다. 시간은 자연적으로 인구의 수명 주기에 해당하는 불연속 기간2으로 나뉩니다. 따라서 그러한 생태계를 설명하는 방정식은 자연스럽게 소위 이산 시간, 즉 t = 1,2,3… Robert May는 무엇보다도 그러한 역학 관계를 다루었습니다. 그의 추론에서 그는 개체수가 전년도 개체수의 XNUMX차 함수인 단일 종으로 생태계를 단순화했습니다. 이 모델은 어디에서 왔습니까?

모집단의 진화를 설명하는 가장 간단한 이산 방정식은 선형 모델입니다.

여기서 Ni는 i번째 시즌의 풍부도이고 Ni + 1은 다음 시즌의 인구를 나타냅니다. 이러한 방정식이 세 가지 시나리오로 이어질 수 있음을 쉽게 알 수 있습니다. a=1일 때 진화는 인구의 크기를 바꾸지 않을 것이고, <1은 멸종으로 이어지며, a>1의 경우는 무제한적인 인구 증가를 의미한다. 이것은 자연의 불균형으로 이어질 것입니다. 자연의 모든 것은 제한되어 있기 때문에 제한된 양의 자원을 설명하기 위해 이 방정식을 조정하는 것이 이치에 맞습니다. 해마다 똑같은 곡물을 해충이 먹는다고 상상해 보십시오. 곤충이 번식할 수 있는 먹이의 양에 비해 적으면 수학적으로 상수 a > 1로 결정되는 최대 번식력으로 번식할 수 있습니다. 그러나 해충의 수가 증가하면 먹이가 부족해지고 번식 능력이 감소합니다. 결정적인 경우에 너무 많은 곤충이 태어나서 번식할 시간을 갖기 전에 모든 곡물을 먹고 인구가 죽는 것을 상상할 수 있습니다. 식량에 대한 접근 제한의 영향을 고려한 모델은 1838년 Verhulst가 처음 제안했습니다. 이 모델에서 성장률은 일정하지 않지만 인구 상태에 따라 다릅니다.

성장률 a와 Ni의 관계는 다음과 같은 성질을 가져야 한다: 인구가 증가하면 식량에 대한 접근이 어려워 성장률이 감소해야 한다. 물론 이 속성을 가진 많은 함수가 있습니다. 이들은 하향식 함수입니다. Verhulst는 다음 관계를 제안했습니다.

여기서 a>0 및 상수 K>0은 식량 자원을 특성화하고 환경 용량이라고 합니다. K의 변화는 인구 증가율에 어떤 영향을 줍니까? K가 증가하면 Ni/K가 감소합니다. 결과적으로 이것은 1-Ni/K가 커진다는 사실로 이어지며, 이는 커진다는 것을 의미합니다. 이것은 성장률이 증가하고 인구가 더 빠르게 증가하고 있음을 의미합니다. 따라서 성장률이 식 (1)과 같이 변한다고 가정하고 이전 모델 (3)을 수정해 봅시다. 그런 다음 방정식을 얻습니다.

이 방정식은 재귀 방정식으로 쓸 수 있습니다.

여기서 xi = Ni / K 및 xi + 1 = Ni + 1 / K는 시간 i 및 시간 i + 1에서 재조정된 모집단을 나타냅니다. 방정식 (5)를 로지스틱 방정식이라고 합니다.

이러한 작은 수정으로 모델을 쉽게 분석할 수 있는 것처럼 보일 수 있습니다. 확인 해보자. 초기 모집단 x5 = 0.5에서 시작하여 매개변수 a = 0에 대한 방정식 (0.45)를 고려하십시오. 순차 모집단 값은 재귀 방정식 (5)을 사용하여 얻을 수 있습니다.

x1= 도끼0(1차0)

x2= 도끼1(1차1)

x3= 도끼2(1차2)

(6)의 계산을 용이하게 하기 위해 다음 프로그램을 사용할 수 있습니다(Python으로 작성되었으며 무엇보다도 Sage 플랫폼에서 실행할 수 있습니다. http://icse.us.edu 책을 읽는 것이 좋습니다. .pl/e-book . ), 우리 모델을 모방:

a = 0.5 엑스 = 0.45 범위(10)의 i에 대해:      x \u1d a * x * (XNUMX-x)      인쇄 x

연속적인 xi 값을 계산하고 0이 되는 경향이 있음을 알 수 있습니다. 위의 코드를 실험해 보면 xXNUMX의 초기값과 관계없이 이것이 사실임을 쉽게 알 수 있습니다. 이것은 인구가 끊임없이 죽어 가고 있음을 의미합니다.

분석의 두 번째 단계에서 매개변수 a의 값을 ae(1,3) 범위의 값으로 늘립니다. 그런 다음 시퀀스 xi가 특정 양 x * > 0으로 이동한다는 것이 밝혀졌습니다. 이것을 생태학의 관점에서 해석하면 인구 크기가 계절에 따라 변하지 않는 특정 수준으로 고정되어 있다고 말할 수 있습니다. . x *의 값이 초기 상태 x0에 의존하지 않는다는 점은 주목할 가치가 있습니다. 이것은 안정화를 위한 생태계의 노력의 효과입니다. 개체군은 스스로 먹을 수 있는 능력에 따라 크기를 조정합니다. 수학적으로 시스템은 안정적인 고정 소수점, 즉 x = f(x) 등식을 만족합니다(이것은 다음 순간에 상태가 이전 순간과 동일함을 의미합니다). Sage를 사용하면 시간이 지남에 따라 인구를 플로팅하여 이 진화를 그래픽으로 시각화할 수 있습니다.

이러한 안정화 효과는 연구자들이 예상한 것이었고, 로지스틱 방정식(5)은 서프라이즈가 아니었다면 큰 주목을 받지 못했을 것이다. 매개변수의 특정 값에 대해 모델(5)이 예측할 수 없는 방식으로 동작하는 것으로 나타났습니다. 첫째, 주기적 상태와 다주기적 상태가 있습니다. 둘째, 각 시간 단계마다 모집단이 무작위 이동처럼 고르지 않게 변경됩니다. 셋째, 초기 조건에 매우 민감합니다. 거의 구별할 수 없는 두 초기 상태가 완전히 다른 인구 진화로 이어집니다. 이러한 모든 특징은 완전히 무작위적인 움직임과 유사한 행동의 특징이며 결정론적 혼돈이라고 합니다.

이 속성을 탐색해 봅시다!

먼저 매개변수 a=3.2의 값을 설정하고 진화를 살펴보자. 이번에는 모집단이 하나의 값이 아니라 두 개의 값에 도달하여 매 두 번째 시즌마다 연속적으로 발생한다는 것이 놀랍게 보일 수 있습니다. 그러나 문제는 여기서 끝나지 않았다는 것이 밝혀졌습니다. a = 4이면 시스템을 더 이상 예측할 수 없습니다. 그림 (2)를 보거나 컴퓨터를 사용하여 일련의 숫자를 직접 생성합니다. 결과는 순전히 임의적이며 약간 다른 시작 모집단에 대해 상당히 다른 것으로 보입니다. 그러나 주의 깊은 독자는 이의를 제기해야 합니다. 매우 단순한 것이라 할지라도 결정론적 방정식1으로 설명되는 시스템이 어떻게 예측할 수 없게 작동할 수 있습니까? 글쎄요.

이 시스템의 특징은 초기 조건에 대한 놀라운 감도입니다. XNUMX만분의 XNUMX만큼 다른 두 개의 초기 조건으로 시작하는 것으로 충분하며 몇 단계만 거치면 완전히 다른 모집단 값을 얻을 수 있습니다. 컴퓨터에서 확인해 봅시다:

a = 4.0

엑스 = 0.123 y=0.123+0.000001 PKC = [] 범위(25)의 i에 대해: x = a*x*(1-x) y = a*y*(1-y) 인쇄 x, y

다음은 결정론적 진화의 간단한 모델입니다. 그러나이 결정론은 기만적이며 수학적 결정론 일뿐입니다. 실용적인 관점에서 보면 초기 조건을 수학적으로 정확하게 설정할 수 없기 때문에 시스템은 예측할 수 없게 작동합니다. 실제로 모든 것은 특정 정확도로 결정됩니다. 각 측정 장비에는 특정 정확도가 있으며 이로 인해 혼돈 속성이 있는 결정론적 시스템에서 실질적인 예측 불가능성이 발생할 수 있습니다. 한 가지 예는 항상 혼돈의 속성을 나타내는 일기 예보 모델입니다. 이것이 장기 일기 예보가 나쁜 이유입니다.

카오스 시스템의 분석은 매우 어렵습니다. 그러나 우리는 컴퓨터 시뮬레이션의 도움으로 많은 혼돈의 신비를 아주 쉽게 풀 수 있습니다. 가로축을 따라 매개 변수 a의 값을 배치하고 세로축을 따라 물류 매핑의 안정적인 고정 점을 배치하는 소위 분기 다이어그램을 그려 보겠습니다. 많은 수의 시스템을 동시에 시뮬레이션하고 많은 샘플 시간 후에 값을 플로팅하여 안정적인 포인트를 얻습니다. 짐작할 수 있듯이 이것은 많은 계산이 필요합니다. 다음 값을 "신중하게" 처리해 봅시다.

numpy를 np로 가져오기 Nx = 300 그 = 500 х = np.linspace(0,1, Nx) х = х + np.zeros((Na,Nx)) x = np.transpose(x) a=np.linspace(1,4,Na) a=a+np.zeros((Nx,Na)) 범위(100)의 i에 대해: x=a*x*(1-x) pt = [[a_,x_] a_,x_ in zip(a.Flatten(),x.Flatten())] 도트(포인트, 크기=1, 무화과 크기=(7,5))

우리는 그림 (3)과 비슷한 것을 얻어야 합니다. 이 그림을 해석하는 방법? 예를 들어 매개변수 a = 3.3의 값을 사용하면 2개의 안정적인 고정 포인트가 있습니다(인구 크기는 두 번째 시즌마다 동일함). 그러나 매개변수 a = 3.5의 경우 4개의 상수 포인트(네 번째 시즌마다 모집단의 크기가 동일함)가 있고 매개변수 a = 3.56의 경우 상수 포인트가 8개(3.57번째 시즌마다 모집단의 크기가 동일함)가 있습니다. 그러나 매개변수 a≈XNUMX의 경우 무한히 많은 고정점이 있습니다(모집단 크기는 반복되지 않으며 예측할 수 없는 방식으로 변경됨). 그러나 컴퓨터 프로그램을 사용하면 매개변수 a의 범위를 변경하고 이 다이어그램의 무한한 기하학적 구조를 우리 손으로 탐색할 수 있습니다.

이것은 빙산의 일각에 불과합니다. 이 방정식에 대해 수천 편의 과학 논문이 작성되었지만 여전히 그 비밀을 숨기고 있습니다. 컴퓨터 시뮬레이션의 도움으로 고등 수학에 의존하지 않고도 비선형 역학 세계의 개척자가 될 수 있습니다. 로지스틱 방정식의 많은 흥미로운 속성과 이를 시각화하는 흥미로운 방법에 대한 세부 정보가 포함된 온라인 버전을 읽어 보시기 바랍니다.

1 결정론적 법칙은 미래가 초기 상태에 의해 고유하게 결정되는 법칙입니다. 반의어는 확률 법칙입니다. 2 수학에서 "이산"은 특정 셀 수 있는 집합에서 값을 얻는 것을 의미합니다. 그 반대는 "지속적"입니다.

코멘트를 추가