Các mô hình đơn giản với hành vi phức tạp, tức là sự hỗn loạn
Công nghệ

Các mô hình đơn giản với hành vi phức tạp, tức là sự hỗn loạn

Máy tính là một công cụ ngày càng được các nhà khoa học sử dụng để khám phá những bí mật được che giấu cẩn thận bởi tự nhiên. Mô hình hóa, cùng với thực nghiệm và lý thuyết, đang trở thành cách thứ ba để nghiên cứu thế giới.

Ba năm trước, tại Đại học Silesia, chúng tôi bắt đầu một chương trình tích hợp các phương pháp máy tính vào giáo dục. Chính vì vậy, rất nhiều tài liệu giáo khoa cực hay đã được ra đời, giúp cho việc học nhiều chuyên đề trở nên dễ dàng và sâu sắc hơn. Python được chọn làm công cụ chính, cùng với sức mạnh của các thư viện khoa học sẵn có, có lẽ là giải pháp tốt nhất cho các "thí nghiệm máy tính" với các phương trình, hình ảnh hoặc dữ liệu. Một trong những cách triển khai thú vị nhất của bàn làm việc hoàn chỉnh là Sage [2]. Nó là sự tích hợp mở của hệ thống đại số máy tính với ngôn ngữ Python và cũng cho phép bạn bắt đầu chơi ngay lập tức bằng trình duyệt web và một trong những tùy chọn truy cập có thể có thông qua dịch vụ đám mây [3] hoặc một máy chủ điện toán duy nhất trên đó tương tác phiên bản của bài báo này dựa trên [4].

Sự hỗn loạn trong hệ sinh thái

Trong những năm đầu tiên tại Đại học Oxford, nhà khoa học người Úc Robert May đã nghiên cứu các khía cạnh lý thuyết của động lực học nhân khẩu học. Ông đã tóm tắt công việc của mình trong một bài báo xuất hiện trên tạp chí Nature với tiêu đề khiêu khích "Mô hình toán học đơn giản với động lực học rất phức tạp" [1]. Trong nhiều năm, bài báo này đã trở thành một trong những công trình được trích dẫn nhiều nhất trong sinh thái học lý thuyết. Điều gì gây ra sự quan tâm đến công việc này?

Vấn đề cổ điển của động lực học quần thể là tính toán dân số tương lai của một loài cụ thể, với trạng thái hiện tại của nó. Về mặt toán học, đơn giản nhất là các hệ sinh thái trong đó vòng đời của một thế hệ quần thể kéo dài một mùa. Một ví dụ điển hình là một quần thể côn trùng trải qua quá trình biến thái hoàn toàn trong một mùa, chẳng hạn như bướm. Thời gian tự nhiên được chia thành các giai đoạn rời rạc2 tương ứng với các chu kỳ sống của quần thể. Do đó, các phương trình mô tả một hệ sinh thái như vậy tự nhiên có cái gọi là thời gian rời rạc, tức là t = 1,2,3…. Robert May đã xử lý những động lực như vậy, trong số những thứ khác. Theo lý luận của mình, ông đã đơn giản hóa hệ sinh thái thành một loài duy nhất có quần thể là hàm bậc hai của quần thể năm trước. Mô hình này đến từ đâu?

Phương trình rời rạc đơn giản nhất mô tả sự tiến hóa của một quần thể là một mô hình tuyến tính:

trong đó Ni là số lượng dồi dào trong mùa thứ i, và Ni + 1 mô tả dân số trong mùa tiếp theo. Dễ dàng nhận thấy rằng một phương trình như vậy có thể dẫn đến ba tình huống. Khi a = 1, quá trình tiến hóa sẽ không làm thay đổi kích thước của quần thể, và <1 dẫn đến tuyệt chủng, và trường hợp a> 1 có nghĩa là tăng trưởng quần thể không giới hạn. Điều này sẽ dẫn đến sự mất cân bằng trong tự nhiên. Vì mọi thứ trong tự nhiên đều có giới hạn, nên việc điều chỉnh phương trình này phù hợp với số lượng tài nguyên có hạn là rất hợp lý. Hãy tưởng tượng rằng sâu bọ ăn ngũ cốc, mà mỗi năm đều giống hệt nhau. Nếu côn trùng ít so với lượng thức ăn mà chúng có thể sinh sản, chúng có thể sinh sản ở mức sinh sản tối đa, được xác định về mặt toán học bằng hằng số a> 1. Tuy nhiên, khi số lượng sâu hại tăng lên, thức ăn sẽ khan hiếm và khả năng sinh sản sẽ giảm. Trong trường hợp quan trọng, người ta có thể tưởng tượng rằng có rất nhiều côn trùng được sinh ra đến nỗi chúng ăn hết ngũ cốc trước khi có thời gian sinh sản, và quần thể sẽ chết. Một mô hình có tính đến ảnh hưởng của việc tiếp cận lương thực bị hạn chế được Verhulst đề xuất lần đầu tiên vào năm 1838. Trong mô hình này, tốc độ tăng trưởng không cố định mà phụ thuộc vào tình trạng của dân số:

Mối quan hệ giữa tốc độ tăng a và Ni cần có tính chất sau: nếu dân số tăng thì tốc độ tăng phải giảm vì khó tiếp cận lương thực. Tất nhiên, có nhiều chức năng với thuộc tính này: đây là những chức năng từ trên xuống. Verhulst đề xuất mối quan hệ sau:

trong đó a> 0 và hằng số K> 0 đặc trưng cho tài nguyên thực phẩm và được gọi là sức chứa của môi trường. Sự thay đổi K ảnh hưởng như thế nào đến tốc độ gia tăng dân số? Nếu K tăng thì Ni / K giảm. Đổi lại, điều này dẫn đến thực tế là 1-Ni / K phát triển, có nghĩa là nó phát triển. Điều này có nghĩa là tốc độ phát triển ngày càng tăng và dân số ngày càng nhanh. Vì vậy, hãy sửa đổi mô hình trước đó (1) bằng cách giả định rằng tốc độ tăng trưởng thay đổi như trong phương trình (3). Sau đó, chúng tôi nhận được phương trình

Phương trình này có thể được viết dưới dạng phương trình đệ quy

trong đó xi = Ni / K và xi + 1 = Ni + 1 / K biểu thị các quần thể được thay đổi quy mô tại thời điểm i và thời điểm i + 1. Phương trình (5) được gọi là phương trình logistic.

Có vẻ như với một sửa đổi nhỏ như vậy, mô hình của chúng tôi rất dễ phân tích. Hãy cùng kiểm tra nào. Xét phương trình (5) cho tham số a = 0.5 bắt đầu từ tổng thể ban đầu x0 = 0.45. Các giá trị tổng thể tuần tự có thể thu được bằng cách sử dụng phương trình đệ quy (5):

x1= cái rìu0(1 p0)

x2= cái rìu1(1 p1)

x3= cái rìu2(1 p2)

Để tạo thuận lợi cho các phép tính trong (6), chúng ta có thể sử dụng chương trình sau (nó được viết bằng Python và có thể chạy, trong số những thứ khác, trên nền tảng Sage. Chúng tôi khuyên bạn nên đọc cuốn sách http://icse.us.edu .pl / e-book.), bắt chước mô hình của chúng tôi:

a = 0.5 x = 0.45 cho tôi trong phạm vi (10):      x \ u1d a * x * (XNUMX-x)      in x

Chúng tôi tính toán các giá trị liên tiếp của xi và nhận thấy rằng chúng có xu hướng bằng không. Bằng cách thử nghiệm với đoạn mã trên, bạn cũng dễ dàng thấy rằng điều này là đúng bất kể giá trị ban đầu của x0. Điều này có nghĩa là dân số liên tục chết.

Ở giai đoạn thứ hai của phân tích, chúng tôi tăng giá trị của tham số a lên bất kỳ giá trị nào trong khoảng ae (1,3). Nó chỉ ra rằng sau đó trình tự xi đi đến một số lượng nhất định x *> 0. Giải thích điều này theo quan điểm của sinh thái học, chúng ta có thể nói rằng kích thước quần thể là cố định ở một mức nhất định, không thay đổi theo mùa. . Điều đáng chú ý là giá trị của x * không phụ thuộc vào trạng thái ban đầu x0. Đây là hiệu quả của quá trình phấn đấu ổn định của hệ sinh thái - quần thể điều chỉnh kích thước của nó để có thể tự kiếm ăn. Về mặt toán học, người ta nói rằng hệ thống có xu hướng đến một điểm cố định ổn định, tức là thỏa mãn đẳng thức x = f (x) (điều này có nghĩa là tại thời điểm tiếp theo trạng thái giống như tại thời điểm trước). Với Sage, chúng ta có thể hình dung sự tiến hóa này bằng đồ thị bằng cách vẽ biểu đồ dân số theo thời gian.

Các nhà nghiên cứu đã mong đợi một hiệu ứng ổn định như vậy, và phương trình logistic (5) sẽ không thu hút được nhiều sự chú ý nếu nó không gây bất ngờ. Hóa ra là đối với các giá trị nhất định của tham số, mô hình (5) hoạt động theo một cách không thể đoán trước. Đầu tiên, có các trạng thái tuần hoàn và đa chu kỳ. Thứ hai, với mỗi bước thời gian, dân số thay đổi không đồng đều, giống như một sự di chuyển ngẫu nhiên. Thứ ba, có sự nhạy cảm lớn đối với các điều kiện ban đầu: hai trạng thái ban đầu gần như không thể phân biệt được dẫn đến quá trình tiến hóa quần thể hoàn toàn khác nhau. Tất cả những đặc điểm này là đặc trưng của hành vi giống như một chuyển động hoàn toàn ngẫu nhiên và được gọi là hỗn loạn xác định.

Cùng khám phá tài sản này nhé!

Đầu tiên, hãy đặt giá trị của tham số a = 3.2 và xem xét sự phát triển. Có vẻ ngạc nhiên khi lần này dân số không đạt đến một giá trị mà là hai giá trị, xảy ra liên tiếp vào mỗi mùa thứ hai. Tuy nhiên, hóa ra các vấn đề không kết thúc ở đó. Với a = 4, hệ thống không còn dự đoán được nữa. Hãy xem hình (2) hoặc chúng ta sẽ tự tạo ra một dãy số bằng máy tính. Các kết quả dường như hoàn toàn là ngẫu nhiên và hoàn toàn khác nhau đối với các quần thể khởi đầu hơi khác nhau. Tuy nhiên, người đọc chăm chú phải phản đối. Làm thế nào một hệ thống được mô tả bởi một phương trình xác định1, thậm chí là một phương trình rất đơn giản, lại có thể hoạt động không thể đoán trước được? Vâng, có thể.

Một tính năng của hệ thống này là độ nhạy đáng kể đối với các điều kiện ban đầu. Bắt đầu với hai điều kiện ban đầu chênh lệch nhau một phần triệu là đủ, và chỉ trong vài bước nữa, chúng ta sẽ nhận được các giá trị dân số hoàn toàn khác nhau. Hãy kiểm tra trên máy tính:

a = 4.0

x = 0.123 u = 0.123 + 0.000001 PKC = [] cho tôi trong phạm vi (25): x = a * x * (1-x) u = a * u * (1-u) in x, y

Đây là một mô hình đơn giản của sự tiến hóa xác định. Nhưng thuyết xác định này là lừa dối, nó chỉ là thuyết xác định toán học. Từ quan điểm thực tế, hệ thống hoạt động không thể đoán trước bởi vì chúng ta không bao giờ có thể thiết lập các điều kiện ban đầu một cách chính xác về mặt toán học. Trên thực tế, mọi thứ đều được xác định với độ chính xác nhất định: mỗi dụng cụ đo lường có độ chính xác nhất định, và điều này có thể gây ra sự khó đoán trong thực tế trong các hệ thống xác định có tính chất hỗn loạn. Một ví dụ là các mô hình dự báo thời tiết, luôn thể hiện tính chất hỗn loạn. Đây là lý do tại sao dự báo thời tiết dài hạn rất xấu.

Việc phân tích các hệ thống hỗn loạn là vô cùng khó khăn. Tuy nhiên, chúng ta có thể giải quyết nhiều bí ẩn của sự hỗn loạn khá dễ dàng với sự trợ giúp của các mô phỏng máy tính. Chúng ta hãy vẽ cái gọi là sơ đồ phân nhánh, trên đó chúng ta đặt các giá trị của tham số a dọc theo trục hoành và các điểm cố định ổn định của ánh xạ logistic dọc theo trục tọa độ. Chúng tôi nhận được các điểm ổn định bằng cách mô phỏng đồng thời một số lượng lớn các hệ thống và vẽ đồ thị các giá trị sau nhiều lần lấy mẫu. Như bạn có thể đoán, điều này đòi hỏi rất nhiều tính toán. Hãy thử xử lý "cẩn thận" các giá trị sau:

nhập numpy dưới dạng np Nx = 300 Đó = 500 x = np.linspace(0,1, nx) x = x + np.zeros ((Na, Nx)) h = np.transpose (h) a = np.linspace (1,4, Na) a = a + np.zeros ((Nx, Na)) cho tôi trong phạm vi (100): x = a * x * (1-x) pt = [[a_, x_] cho a_, x_ in zip (a.flatten (), x.flatten ())] point (pt, size = 1, figsize = (7,5))

Chúng ta sẽ nhận được một cái gì đó tương tự như hình (3). Làm thế nào để giải thích bản vẽ này? Ví dụ, với giá trị của tham số a = 3.3, ta có 2 điểm cố định ổn định (quy mô quần thể như nhau vào mỗi mùa thứ hai). Tuy nhiên, đối với tham số a = 3.5, chúng ta có 4 điểm không đổi (mỗi mùa thứ tư dân số có cùng một số), và đối với tham số a = 3.56, chúng ta có 8 điểm không đổi (mỗi mùa thứ tám dân số có cùng một số). Nhưng đối với tham số a≈3.57, chúng ta có vô số điểm cố định (quy mô dân số không bao giờ lặp lại và thay đổi theo những cách không thể đoán trước). Tuy nhiên, với một chương trình máy tính, chúng ta có thể thay đổi phạm vi của tham số a và tự mình khám phá cấu trúc hình học vô hạn của sơ đồ này.

Đây chỉ là đỉnh của tảng băng trôi. Hàng ngàn bài báo khoa học đã được viết về phương trình này, nhưng nó vẫn ẩn chứa những bí mật của nó. Với sự trợ giúp của mô phỏng máy tính, bạn có thể, thậm chí không cần dùng đến toán học cao hơn, đóng vai người tiên phong trong thế giới động lực học phi tuyến. Chúng tôi mời bạn đọc phiên bản trực tuyến có chứa chi tiết về nhiều tính chất thú vị của phương trình logistic và những cách thú vị để hình dung chúng.

1 Luật xác định là luật trong đó tương lai được xác định duy nhất bởi trạng thái ban đầu. Từ trái nghĩa là luật xác suất. 2 Trong toán học, "rời rạc" có nghĩa là nhận các giá trị từ một tập hợp đếm được nhất định. Ngược lại là "liên tục".

Thêm một lời nhận xét