Απλά μοντέλα με σύνθετη συμπεριφορά, δηλαδή χάος
Τεχνολογία

Απλά μοντέλα με σύνθετη συμπεριφορά, δηλαδή χάος

Ο υπολογιστής είναι ένα εργαλείο που χρησιμοποιείται όλο και περισσότερο από τους επιστήμονες για να αποκαλύψει μυστικά που κρύβει προσεκτικά η φύση. Η μοντελοποίηση, μαζί με το πείραμα και τη θεωρία, γίνεται ο τρίτος τρόπος μελέτης του κόσμου.

Πριν από τρία χρόνια στο Πανεπιστήμιο της Σιλεσίας ξεκινήσαμε ένα πρόγραμμα για την ενσωμάτωση μεθόδων υπολογιστών στην εκπαίδευση. Ως αποτέλεσμα, έχει δημιουργηθεί μια ποικιλία από εξαιρετικά ελκυστικό διδακτικό υλικό που καθιστά ευκολότερη και πιο σε βάθος την εξερεύνηση πολλών θεμάτων. Το κύριο εργαλείο που επιλέχθηκε ήταν η Python, η οποία, μαζί με τη δύναμη των διαθέσιμων επιστημονικών βιβλιοθηκών, είναι ίσως η καλύτερη λύση για «πειράματα υπολογιστή» με εξισώσεις, εικόνες ή δεδομένα. Μία από τις πιο ενδιαφέρουσες υλοποιήσεις ενός πλήρους περιβάλλοντος επιφάνειας εργασίας είναι το Sage [2]. Είναι μια ανοιχτή ενσωμάτωση ενός συστήματος άλγεβρας υπολογιστή με τη γλώσσα Python και σας επιτρέπει επίσης να ξεκινήσετε αμέσως την αναπαραγωγή χρησιμοποιώντας ένα πρόγραμμα περιήγησης ιστού και μία από τις πιθανές επιλογές πρόσβασης μέσω μιας υπηρεσίας cloud [3] ή ενός μεμονωμένου υπολογιστικού διακομιστή στον οποίο η διαδραστική η έκδοση αυτού του άρθρου βασίζεται στο [4] .

Χάος στην οικολογία

Στα πρώτα του χρόνια στο Πανεπιστήμιο της Οξφόρδης, ο Αυστραλός επιστήμονας Ρόμπερτ Μέι μελέτησε τις θεωρητικές πτυχές της δημογραφικής δυναμικής. Συνόψισε τη δουλειά του σε μια εργασία που δημοσιεύτηκε στο περιοδικό Nature με τον προκλητικό τίτλο «Απλά μαθηματικά μοντέλα με εξαιρετικά σύνθετη δυναμική». Με τα χρόνια, αυτή η εργασία έχει γίνει ένα από τα πιο αναφερόμενα έργα στη θεωρητική οικολογία. Τι πυροδότησε τέτοιο ενδιαφέρον για αυτή τη δουλειά;

Το κλασικό πρόβλημα της πληθυσμιακής δυναμικής είναι ο υπολογισμός του μελλοντικού πληθυσμού ενός συγκεκριμένου είδους, δεδομένης της τρέχουσας κατάστασής του. Μαθηματικά, τα πιο απλά οικοσυστήματα ήταν εκείνα στα οποία η ζωή μιας γενιάς πληθυσμού διαρκεί μια εποχή. Ένα καλό παράδειγμα είναι ένας πληθυσμός εντόμων που υφίστανται πλήρη μεταμόρφωση σε μια εποχή, όπως οι πεταλούδες. Ο χρόνος χωρίζεται φυσικά σε διακριτές περιόδους2 που αντιστοιχούν στους κύκλους ζωής του πληθυσμού. Έτσι, οι εξισώσεις που περιγράφουν ένα τέτοιο οικοσύστημα έχουν φυσικά το λεγόμενο διακριτός χρόνος, δηλ. t = 1,2,3…. Σε τέτοια δυναμική συμμετείχε, μεταξύ άλλων, ο Ρόμπερτ Μέι. Στο σκεπτικό του, απλοποίησε το οικοσύστημα σε ένα μόνο είδος, του οποίου ο πληθυσμός ήταν τετραγωνική συνάρτηση του πληθυσμού του προηγούμενου έτους. Από πού προήλθε αυτό το μοντέλο;

Η απλούστερη διακριτή εξίσωση που περιγράφει την εξέλιξη ενός πληθυσμού είναι ένα γραμμικό μοντέλο:

όπου Ni είναι ο πληθυσμός στην i-η σεζόν και Ni + 1 περιγράφει τον πληθυσμό στην επόμενη σεζόν. Είναι εύκολο να δούμε ότι μια τέτοια εξίσωση μπορεί να οδηγήσει σε τρία σενάρια. Όταν a = 1, η εξέλιξη δεν θα αλλάξει το μέγεθος του πληθυσμού και το <1 οδηγεί σε εξαφάνιση και η περίπτωση a > 1 σημαίνει απεριόριστη πληθυσμιακή αύξηση. Αυτό θα οδηγήσει σε μια ανισορροπία στη φύση. Δεδομένου ότι τα πάντα στη φύση είναι περιορισμένα, είναι λογικό να προσαρμόσουμε αυτήν την εξίσωση για να λάβουμε υπόψη τον περιορισμένο αριθμό πόρων. Φανταστείτε ότι τα παράσιτα τρώνε την ίδια ποσότητα σιτηρών κάθε χρόνο. Εάν τα έντομα είναι λίγα σε αριθμό σε σύγκριση με την ποσότητα τροφής που μπορούν να αναπαραχθούν, μπορούν να αναπαραχθούν με πλήρη αναπαραγωγική ικανότητα, μαθηματικά καθορισμένη από τη σταθερά a > 1. Ωστόσο, καθώς αυξάνονται οι αριθμοί των παρασίτων, η τροφή θα σπανίζει και η αναπαραγωγική ικανότητα θα μειώνεται. Σε μια κρίσιμη περίπτωση, μπορεί κανείς να φανταστεί ότι γεννιούνται τόσα πολλά έντομα που τρώνε όλο το σιτάρι πριν προλάβουν να αναπαραχθούν και ο πληθυσμός πεθαίνει. Ένα μοντέλο που λαμβάνει υπόψη αυτή την επίδραση της περιορισμένης πρόσβασης σε τρόφιμα προτάθηκε για πρώτη φορά από τον Verhulst το 1838. Σε αυτό το μοντέλο, ο ρυθμός ανάπτυξης δεν είναι σταθερός, αλλά εξαρτάται από την κατάσταση του πληθυσμού:

Η σχέση μεταξύ του ρυθμού ανάπτυξης a και του Ni θα πρέπει να έχει την ακόλουθη ιδιότητα: εάν ο πληθυσμός αυξάνεται, ο ρυθμός ανάπτυξης θα πρέπει να μειωθεί επειδή η πρόσβαση σε τρόφιμα είναι δύσκολη. Φυσικά, υπάρχουν πολλές λειτουργίες με αυτήν την ιδιότητα: αυτές είναι λειτουργίες από πάνω προς τα κάτω. Ο Verhulst πρότεινε την ακόλουθη σχέση:

όπου a>0 και σταθερά Κ>0 χαρακτηρίζουν τους πόρους τροφίμων και ονομάζονται χωρητικότητα του περιβάλλοντος. Πώς μια αλλαγή στο Κ επηρεάζει τον ρυθμό αύξησης του πληθυσμού; Εάν το Κ αυξηθεί, το Ni/K μειώνεται. Με τη σειρά του, αυτό οδηγεί στο γεγονός ότι το 1-Ni/K αυξάνεται, πράγμα που σημαίνει ότι αυξάνεται. Αυτό σημαίνει ότι ο ρυθμός ανάπτυξης αυξάνεται και ο πληθυσμός αυξάνεται ταχύτερα. Έτσι, ας τροποποιήσουμε το προηγούμενο μοντέλο (1) υποθέτοντας ότι ο ρυθμός ανάπτυξης ποικίλλει όπως στην εξίσωση (3). Τότε παίρνουμε την εξίσωση

Αυτή η εξίσωση μπορεί να γραφτεί ως αναδρομική εξίσωση

όπου xi = Ni / K και xi + 1 = Ni + 1 / K δηλώνουν τις αναβαθμισμένες πληθυσμιακές ποσότητες τη στιγμή i και τη στιγμή i + 1. Η εξίσωση (5) ονομάζεται λογιστική εξίσωση.

Μπορεί να φαίνεται ότι με μια τόσο μικρή τροποποίηση το μοντέλο μας είναι εύκολο να αναλυθεί. Ας το ελέγξουμε. Ας θεωρήσουμε την εξίσωση (5) για την παράμετρο a = 0.5, ξεκινώντας από τον αρχικό πληθυσμό x0 = 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 .), προσομοιώνοντας το μοντέλο μας:

α = 0.5 x = 0.45 για i στην περιοχή (10):      x = a*x*(1–x)      εκτύπωση x

Υπολογίζουμε διαδοχικές τιμές του xi και παρατηρούμε ότι τείνουν στο μηδέν. Πειραματίζοντας με τον παραπάνω κώδικα, είναι επίσης εύκολο να διαπιστωθεί ότι αυτό ισχύει ανεξάρτητα από την αρχική τιμή του x0. Αυτό σημαίνει ότι ο πληθυσμός πεθαίνει συνεχώς.

Στο δεύτερο στάδιο της ανάλυσης, αυξάνουμε την τιμή της παραμέτρου a σε οποιαδήποτε τιμή στο εύρος ae (1,3). Αποδεικνύεται ότι τότε η ακολουθία xi πηγαίνει σε έναν ορισμένο αριθμό x * > 0. Ερμηνεύοντας αυτό από οικολογική άποψη, μπορούμε να πούμε ότι το μέγεθος του πληθυσμού είναι σταθερό σε ένα ορισμένο επίπεδο, το οποίο δεν αλλάζει από εποχή σε εποχή. Αξίζει να σημειωθεί ότι η τιμή του x * δεν εξαρτάται από την αρχική κατάσταση x0. Αυτό είναι το αποτέλεσμα του οικοσυστήματος που προσπαθεί να σταθεροποιηθεί - ο πληθυσμός προσαρμόζει το μέγεθός του στην ικανότητα να τραφεί. Μαθηματικά λένε ότι το σύστημα τείνει σε ένα σταθερό σταθερό σημείο, δηλ. ικανοποιώντας την ισότητα x = f(x) (αυτό σημαίνει ότι την επόμενη στιγμή η κατάσταση είναι ίδια με την προηγούμενη στιγμή). Χρησιμοποιώντας το Sage, μπορούμε να απεικονίσουμε αυτή την εξέλιξη γραφικά, σχεδιάζοντας τον πληθυσμό σε σχέση με το χρόνο.

Αυτό το σταθεροποιητικό αποτέλεσμα ήταν αναμενόμενο από τους ερευνητές και η λογιστική εξίσωση (5) δεν θα είχε τραβήξει πολύ την προσοχή αν δεν ήταν η έκπληξη. Αποδείχθηκε ότι για ορισμένες τιμές της παραμέτρου, το μοντέλο (5) συμπεριφέρεται με απρόβλεπτο τρόπο. Πρώτον, υπάρχουν περιοδικές και πολυπεριοδικές καταστάσεις. Δεύτερον, με κάθε βήμα ο πληθυσμός αλλάζει άνισα, όπως η τυχαία κίνηση. Τρίτον, υπάρχει μεγάλη ευαισθησία στις αρχικές συνθήκες: δύο σχεδόν αδιάκριτες αρχικές συνθήκες οδηγούν σε εντελώς διαφορετική εξέλιξη του πληθυσμού. Όλα αυτά τα χαρακτηριστικά είναι χαρακτηριστικά συμπεριφοράς που μοιάζει με εντελώς τυχαία κίνηση και ονομάζεται ντετερμινιστικό χάος.

Ας εξερευνήσουμε αυτό το ακίνητο!

Αρχικά, ας ορίσουμε την τιμή της παραμέτρου a = 3.2 και ας δούμε την εξέλιξη. Μπορεί να φαίνεται περίεργο ότι αυτή τη φορά ο πληθυσμός δεν φτάνει σε μία τιμή, αλλά σε δύο, που εμφανίζονται διαδοχικά κάθε δεύτερη εποχή. Ωστόσο, αποδείχθηκε ότι τα προβλήματα δεν τελείωσαν εκεί. Στο a = 4 το σύστημα δεν είναι πλέον προβλέψιμο. Ας δούμε το σχήμα (2) ή ας δημιουργήσουμε μόνοι μας μια ακολουθία αριθμών χρησιμοποιώντας έναν υπολογιστή. Τα αποτελέσματα φαίνεται να είναι καθαρά τυχαία και αρκετά διαφορετικά για ελαφρώς διαφορετικούς αρχικούς πληθυσμούς. Ωστόσο, ο προσεκτικός αναγνώστης θα πρέπει να αντιταχθεί. Πώς μπορεί ένα σύστημα που περιγράφεται από μια ντετερμινιστική εξίσωση1, έστω και πολύ απλή, να συμπεριφέρεται απρόβλεπτα; Λοιπόν, ίσως.

Ένα ιδιαίτερο χαρακτηριστικό αυτού του συστήματος είναι η αξιοσημείωτη ευαισθησία του στις αρχικές συνθήκες. Αρκεί να ξεκινήσουμε με δύο αρχικές συνθήκες που διαφέρουν κατά ένα μέρος στο εκατομμύριο, και σε λίγα μόλις βήματα θα έχουμε εντελώς διαφορετικές τιμές πληθυσμού. Ας ελέγξουμε τον υπολογιστή:

a = 4.0

x = 0.123 u=0.123+0.000001 PKC = [] για i στην περιοχή (25): x = a*x*(1-x) u = a*u*(1-u) εκτύπωση x, y

Εδώ είναι ένα απλό μοντέλο ντετερμινιστικής εξέλιξης. Αλλά αυτός ο ντετερμινισμός είναι παραπλανητικός, είναι απλώς μαθηματικός ντετερμινισμός. Από πρακτική άποψη, το σύστημα συμπεριφέρεται απρόβλεπτα γιατί δεν μπορούμε ποτέ να προσδιορίσουμε μαθηματικά τις αρχικές συνθήκες. Στην πραγματικότητα, τα πάντα καθορίζονται με μια συγκεκριμένη ακρίβεια: κάθε συσκευή μέτρησης έχει μια συγκεκριμένη ακρίβεια και αυτό μπορεί να προκαλέσει πρακτικό απρόβλεπτο σε ντετερμινιστικά συστήματα που έχουν την ιδιότητα του χάους. Ένα παράδειγμα είναι τα μοντέλα πρόγνωσης καιρού, τα οποία παρουσιάζουν πάντα την ιδιότητα του χάους. Αυτός είναι ο λόγος για τον οποίο οι μακροπρόθεσμες καιρικές προβλέψεις είναι τόσο κακές.

Η ανάλυση των χαοτικών συστημάτων είναι εξαιρετικά δύσκολη. Ωστόσο, μπορούμε να λύσουμε πολλά από τα μυστήρια του χάους πολύ εύκολα με τη βοήθεια προσομοιώσεων υπολογιστή. Ας σχεδιάσουμε το λεγόμενο διάγραμμα διακλάδωσης, στο οποίο τοποθετούμε τις τιμές της παραμέτρου α κατά μήκος του άξονα της τετμημένης και σταθερά σταθερά σημεία της λογιστικής χαρτογράφησης κατά μήκος του άξονα τεταγμένων. Λαμβάνουμε σταθερά σημεία προσομοιώνοντας μεγάλο αριθμό συστημάτων ταυτόχρονα και σχεδιάζοντας τιμές μετά από πολλές δειγματοληψίες. Όπως μπορείτε να μαντέψετε, αυτό απαιτεί πολλούς υπολογισμούς. Ας προσπαθήσουμε να επεξεργαστούμε "προσεκτικά" τις ακόλουθες τιμές:

εισαγωγή numpy ως np Nx = 300 Αυτό = 500 x = np.linspace(0,1, nx) х = х + np.zeros((Na,Nx)) h = np.transpose (h) a=np.linspace(1,4,Na) a=a+np.zeros((Nx,Na)) για i στην περιοχή (100): x=a*x*(1-x) pt = [[a_,x_] για a_,x_ in zip(a.flatten(),x.flatten())] σημείο (pt, μέγεθος = 1, figsize = (7,5))

Θα πρέπει να καταλήξουμε σε κάτι παρόμοιο με το σχήμα (3). Πώς να ερμηνεύσετε αυτό το σχέδιο; Για παράδειγμα, με την παράμετρο a = 3.3, έχουμε 2 σταθερά σταθερά σημεία (το μέγεθος του πληθυσμού είναι το ίδιο κάθε δεύτερη σεζόν). Ωστόσο, για την παράμετρο a = 3.5 έχουμε 4 σταθερά σημεία (κάθε τέταρτη σεζόν ο πληθυσμός έχει το ίδιο μέγεθος), και για την παράμετρο a = 3.56 έχουμε 8 σταθερά σημεία (κάθε όγδοη σεζόν ο πληθυσμός έχει το ίδιο μέγεθος). Αλλά για την παράμετρο a≈3.57 έχουμε άπειρα σταθερά σημεία (το μέγεθος του πληθυσμού δεν επαναλαμβάνεται ποτέ και αλλάζει με απρόβλεπτο τρόπο). Ωστόσο, έχοντας ένα πρόγραμμα υπολογιστή, μπορούμε να αλλάξουμε το εύρος της παραμέτρου α και να εξερευνήσουμε την άπειρη γεωμετρική δομή αυτού του διαγράμματος με τα χέρια μας.

Αυτή είναι μόνο η κορυφή του παγόβουνου. Χιλιάδες επιστημονικές εργασίες έχουν γραφτεί για αυτή την εξίσωση, αλλά εξακολουθεί να κρύβει τα μυστικά της. Με τη βοήθεια της μοντελοποίησης υπολογιστή, μπορείτε, ακόμη και χωρίς να καταφύγετε σε ανώτερα μαθηματικά, να παίξετε ως πρωτοπόρος στον κόσμο της μη γραμμικής δυναμικής. Σας προσκαλούμε να διαβάσετε την ηλεκτρονική έκδοση, η οποία περιέχει λεπτομέρειες σχετικά με πολλές ενδιαφέρουσες ιδιότητες της λογιστικής εξίσωσης και ενδιαφέροντες τρόπους οπτικοποίησης τους.

1 Ένας ντετερμινιστικός νόμος είναι ένας νόμος στον οποίο το μέλλον καθορίζεται μοναδικά από την αρχική κατάσταση. Το αντώνυμο είναι ο νόμος της πιθανότητας. 2 Στα μαθηματικά, "διακριτό" σημαίνει τη λήψη τιμών από ένα συγκεκριμένο μετρήσιμο σύνολο. Το αντίθετο του «συνεχούς».

Προσθέστε ένα σχόλιο