Τροφικές αλυσίδες. Σκοπός της εργασίας Περιγραφή του συστήµατος Υλοποίηση της πλατφόρµας Οδηγίες είτε ακόµη...

Σχετικά έγγραφα
Boolean Networks Assignment. υαδικά δίκτυα. Σκοπός της εργασίας Υλοποίηση της πλατφόρµας Οδηγίες Βιβλιογραφία είτε ακόµη...

Επιλογή ενεργειών (action selection)

Ιεραρχία Οργανισµών Οι οργανισµοί που ζουν στο οικοσύστηµά µας κατατάσσονται σύµφωνα µε την παρακάτω ιεραρχία: Organisms

Assignment 4 : Cellular Automata Page 1 of 16. Κυτταρικά αυτόµατα

Οντοκεντρικός Προγραμματισμός II C++ Project Xειμερινό Εξάμηνο Organisms

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Αντικειμενοστρεφής Προγραμματισμός

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

Wrapper Classes, Abstract Classes and Interfaces

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Αντικειμενοστρεφής Προγραμματισμός

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Προγραμματιστικό Περιβάλλον

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

Κλάσεις και Αντικείµενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Οδηγίες Χρήσεως Ψηφιακού Αποθετηρίου Ιστοριών στην Ελληνική Νοηματική Γλώσσα (ΕΝΓ)

Καροτοκυνηγός. Αντικείμενα

ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ. Πρώτη Σειρά ασκήσεων Ημερομηνία Παράδοσης: 24 Απριλίου 2018, 12 μ.μ.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

2.1. Εντολές Σχόλια Τύποι Δεδομένων

υαδικό έντρο Αναζήτησης (BSTree)

Σενάριο 10: Οργάνωση και λειτουργίες του οικοσυστήματος - Ο ρόλος ενέργειας

Ιστορία της NetLogo. Logo

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Εγχειρίδιο Χρήστη Φάση 3: Ωρολόγια Προγράµµατα Καταχώρηση Παρουσιολογίων

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

Τιμή Τιμή. σκορ. ζωές

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Τα διαγράµµατα πακέτων

ΛΟΓΟΙ ΚΑΙ ΑΝΑΛΟΓΙΕΣ ΟΔΗΓΟΣ ΟΡΓΑΝΩΣΗΣ ΤΗΣ ΔΙΔΑΣΚΑΛΙΑΣ. Μιχάλης Αργύρης

Σενάριο 9: Ισορροπία στα Βιολογικά Συστήματα - Σχέσεις μεταξύ των οργανισμών

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Τυπικές χρήσεις της Matlab

Από τη UML στον Κώδικα. Μέρος Α

Φύλλο Εργασίας (διάρκεια 2 διδακτικές ώρες)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Εισαγωγή στον Προγραμματισμό

Εγχειρίδιο Εγκατάστασης και Χρήσης Εκπαιδευτικής Εφαρμογής

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Ανάπτυξη Plugins για το AgentSheets

Αντικειµενοστραφής Προγραµµατισµός

Μπορείτε να δηλώσετε πίνακα οποιουδήποτε τύπου είτε βασικού είτε κλάσης:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

2.1 Αντικειµενοστρεφής προγραµµατισµός

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εγχειρίδιο Χρήσης του περιβάλλοντος ασύγχρονης εξ αποστάσεως εκπαίδευσης elearning.ekdd.gr

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

Περιεχόμενα του Παιχνιδιού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ»

ΣΤΟΧΑΣΤΙΚΕΣ ΙΑ ΙΚΑΣΙΕΣ

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. DS Gomoku.

3 Αλληλεπίδραση Αντικειμένων

ΣΚΗΝΙΚΟ ΥΠΟΒΑΘΡΑ ΑΡΧΙΚΗ

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

Κεφάλαιο 10 Ψηφιακά Λεξικά

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Το κείμενο που ακολουθεί αποτελεί επεξεργασία του πρωτότυπου κειμένου του Α. Κάστωρ για την επίλυση των παραδειγμάτων κρίσιμης αλυσίδας που

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

αντίστοιχο γεγονός. Όταν όντως το κουμπί

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ.

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Μοντέλο Σύγχρονου ικτύου. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

a = 10; a = k; int a,b,c; a = b = c = 10;

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

Δοµές Δεδοµένων. 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων. Ε. Μαρκάκης

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

Ειδικά Θέματα Προγραμματισμού

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Αξιολόγηση Προσωπικού

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

Αντιµετώπιση προβληµάτων MPEG

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Στην καθηµερινή µας ζωή την έννοια της ταχύτητας την συναντάµε σε δύο εκδοχές την µέση ταχύτητα και τη στιγµιαία ταχύτητα.

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών. ΤΗΜΜΥ Α.Π.Θ Δευτέρα 22 / 11 / 2017 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός

Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1

Transcript:

Page 1 of 14 Τροφικές αλυσίδες Σκοπός της εργασίας Περιγραφή του συστήµατος Υλοποίηση της πλατφόρµας Οδηγίες είτε ακόµη... Σκοπός της εργασίας Σκοπός της εργασίας είναι ο πειραµατισµός µε µία τροφική αλυσίδα τριων ειδών και παραλλαγές της. Πιο συγκεκριµένα, ζητείται να υλοποιηθούν µελέτες ενεργειακών και οικολογικών παραµέτρων και να αναζητηθούν και να συγκριθούν διαφόρων τύπων ισορροπίες. Βλέπε αναλυτικά οδηγίες. Περιγραφή του συστήµατος Το οικολογικό σύστηµα περιλαµβάνει agents που ανήκουν σε τρία είδη οργανισµών: τα σαρκοφάγα (carnivores), τα φυτοφάγα (herbivores) και τα φυτά (plants). Το µοντέλο συµπεριφοράς των δύο πρώτων είναι ενιαίο: κυνηγούν κάποιο θήραµα στη γειτονική τους περιοχή και εάν το πιάσουν, δηλαδή εάν βρεθούν µαζί του στην ίδια θέση του περιβάλλοντος, το σκοτώνουν και το τρώνε, οπότε κερδίζουν Ef (Energy Food) ποσό ενέργειας. Εάν η ενέργειά τους (αρχικά E0) ξεπεράσει ένα κατώφλι ενέργειας Er (Energy Reproduction), τότε αναπαράγονται, δηλαδή "γεννούν" ένα νέο οργανισµό, και χάνουν τη µισή τους ενέργεια. Επίσης οι agents χάνουν σταθερά ένα ποσό ενέργειας de σε κάθε κύκλο. Εάν η ενέργειά τους πέσει κάτω από 0, τότε πεθαίνουν. Τα φυτά, κατ' αρχήν και για να επιταχύνουµε το σύστηµα, αναπαράγονται σε κάθε κύκλο. Η οικολογική (µη συµπεριφορική) παράµετρος Reset Energies καθορίζει εάν κατά τη γέννηση νέου agent η ενέργειά του αρχικοποιείται στο E0 ή αυτός κληρονοµεί τη (µειωµένη) ενέργεια του γονέα του, που είναι περίπου Er/2. Στη δεύτερη περίπτωση µπορούµε διαισθητικά να περιµένουµε κάποια σχετική ενεργειακή αστάθεια του οικολογικού συστήµατος. Η συνάρτηση που υλοποιεί το παραπάνω µοντέλο δίνεται στο επόµενο σχήµα.

Page 2 of 14 Το παραπάνω οικολογικό σύστηµα θα οδηγούσε σε ανεξέλεγκτη αύξηση των τριων πληθυσµών. Η µοντελοποίηση οικολογικών συστηµάτων έχει δείξει ότι πρέπει να εισαχθεί µία οικολογική (όχι συµπεριφορική) παράµετρος που ονοµάζεται χωρητικότητα θέσης (carrying capacity) και η οποία υποδηλώνει το µέγιστο αριθµό agents που µπορούν να συνυπάρξουν σε µία θέση. Οταν ένας agent λοιπόν επιχειρεί να αναπαραχθεί, η αναπαραγωγή (διαίρεση) είναι επιτυχής εφόσον το ποσό των agents στην αντίστοιχη θέση δεν υπερβαίνει την χωρητικότητα θέσης. Χρησιµοποιούµε δύο διαφορετικές χωρητικότητες, µία για τους "κινητούς" agents (σαρκοφάγα και φυτοφάγα) και µία για τα φυτά. Στη δεύτερη περίπτωση µάλιστα, ορίζουµε δύο παραµέτρους χωρητικότητας, την ελάχιστη και τη µέγιστη χωρητικότητα που επιτρέπουν την αναπαραγωγή φυτών. Η συνάρτηση που υλοποιεί την αναπαραγωγή µε βάση τα παραπάνω δίνεται στο επόµενο σχήµα. Ο χρήστης µπορεί να δοκιµάσει να αφαιρέσει τις χωρητικότητες θέσης από το σύστηµα για να διαπιστώσει την ανεξέλεγκτη πληθυσµιακή αύξηση.

Page 3 of 14 Το παραπάνω οικολογικό σύστηµα έχει µορφή ανοικτής τροφικής αλυσίδας: τα σαρκοφάγα κυνηγούν τα φυτοφάγα που κυνηγούν τα φυτά που δεν κυνηγούν τίποτε. Μία πιο ρεαλιστική υλοποίηση ορίζει κλειστή οικολογική αλυσίδα, που είναι οπως η προηγούµενη µε το συµπληρωµατικό χαρακτηριστικό ότι τα φυτά δεν κυνηγούν µεν, αλλά καταναλώνουν δε κάποια µορφή τροφής που βρίσκουν στο άµεσο γειτονικό τους περιβάλλον. Η τροφή αυτή προκύπτει από την αποσύνθεση των νεκρών οργανισµών και των τριών ειδών και την ονοµάζουµε remains. Για τις ανάγκες του κλειστού αυτού οικολογικού µοντέλου πληθυσµών, τα τρία είδη χρειάζονται µία επιπλέον ενεργειακή παράµετρο, που ονοµάζουµε dp (death product) και υποδηλώνει το ποσό της τροφής που ελευθερώνεται στο περιβάλλον στη θέση του agent όταν αυτός πεθαίνει. Επίσης τα φυτά χρειάζονται δύο επιπλέον συµπεριφορικές παραµέτρους: την παράµετρο Rl (Root Length) και την παράµετρο Rt (Root Threshold). Από αυτές η πρώτη υποδηλώνει το µήκος της "ρίζας" του φυτού, δηλαδή πόσο µακριά µπορεί να αναζητήσει τροφή, ενώ η δεύτερη χρησιµοποιείται µαζί µε την παράµετρο Ef και υποδηλώνει το ποσό τροφής που πρέπει να υπάρχει στη γειτονιά του σηµείου για να µπορεί το φυτό να κερδίσει ενέργεια (δηλαδή για να µπορούµε να πούµε ότι έφαγε). Ο χρήστης µπορεί να πειραµατισθεί µε τις τιµές των δύο νέων παραµέτρων του φυτού και µάλιστα µε το µήκος της ρίζας (µέχρι στιγµής, ούτε ο Θεός ούτε εγώ καταφέραµε να πετύχουµε σταθερό οικολογικό σύστηµα µε µήκος ρίζας 0, ας δούµε µήπως το πετύχει κάποιος από εσάς!). Η συνάρτηση που υλοποιεί το παραπάνω συµπεριφορικό µοντέλο των agents καθώς και η συνάρτηση που υλοποιεί το θάνατο ενός agent και την απελευθέρωση τροφής στο περιβάλλον δίνονται παρακάτω. Επίσης δίνεται µία εικόνα του οικολογικού συστήµατος µε ορατή την τροφή (remains) στο περιβάλλον σα µικρά σκούρα τετραγωνάκια.

Page 4 of 14

Page 5 of 14 Οι ενεργειακές συµπεριφορικές παράµετροι των δύο παραπάνω µοντέλων (ανοικτού και κλειστού) δίνονται συγκεντρωτικά στο παρακάτω σχήµα:

Page 6 of 14 Υλοποίηση της πλατφόρµας Κάνετε "κλικ" µέσα στην εικόνα για να παίξετε

Page 7 of 14 Source Java code Εγχειρίδιο χρήσης

Page 8 of 14 Η οθόνη του applet παρουσιάζει µία λευκή περιοχή στα δεξιά όπου βρίσκονται οι προσοµοιωµένοι οργανισµοί (κόκκινα σαρκοφάγα, µπλε φυτοφάγα και πράσινα φυτά -- µερικά από αυτά που σηµειώνονται µε µία µαύρη ή άσπρη βούλα στο κέντρο έχουν παράσιτο µέσα τους, βλέπε ζητούµενο 5). Ο χρήστης µπορεί µε διπλό κλικ πάνω σε µία θέση να δει πόσοι και ποιοί agents υπάρχουν στη θέση αυτή: συγκεκριµένα ανοίγει ένας διάλογος που εµφανίζει τη λίστα των agents στη θέση αυτή. Η αριστερή πλευρά περιλαµβάνει έναν αριθµό συνιστωσών ελέγχου της προσοµοίωσης: Το ρολόι του συστήµατος. Τρία κουµπιά ελέγχου της προσοµοίωσης. Το κουµπί Start/Stop εκκινά/σταµατά την προσοµοίωση και σε κάθε βήµα της προσοµοίωσης εκτελεί όλο το δίκτυο. Το κουµπί Step προχωρά την προσοµοίωση κατά µία µονάδα χρόνου. Τέλος, το κουµπί Restart επανεκκινεί την προσοµοίωση, δηλαδή αρχικοποιεί το ρολόι στο 0 και κάνει reset τους agents και τους συλλογείς των στατιστικών δεδοµένων. ύο checkboxes "Show species" και "Show remains". Αυτά καθορίζουν εάν θα φαίνονται αντίστοιχα οι agents ή τα remains του περιβάλλοντος κατά την προσοµοίωση. Πληθυσµοί των τριών ειδών. Τα τρία textfields (carnivores, herbivores, plants) δίνουν τα τρέχοντα µεγέθη των τριών πληθυσµών. Τα επόµενα τρία textfields που σηµειώνονται ως parasites δίνουν τους πληθυσµούς αντίστοιχα των σαρκοφάγων, φυτοφάγων, φυτών µε παράσιτο (βλέπε ζητούµενο 5). Ο χρήστης µπορεί να αλλάξει κάποιο ή κάποια από αυτά και να αρχικοποιήσει εκ νέου τον πληθυσµό µε το κουµπί Update. Το κουµπί Redistribute επιτρέπει την ανακατανοµή (αναδιάταξη) του πληθυσµού στο χώρο. Επίσης µε το κουµπί Statistics εµφανίζονται τα στατιστικά των µεγεθών των έξι πληθυσµών (κατά τον πειραµατισµό µε την οικολογική αλυσίδα χωρίς παρασιτισµό, συνιστάται η απόκρυψη των σχετικών καµπυλών κατά την παρουσίαση, βλέπε σχετική διευκρίνηση). Στις επόµενες εικόνες δίνονται κάποια παραδείγµατα πληθυσµών: σταθερό ανοικτό σύστηµα, σύστηµα που πεθαίνει, σύστηµα χωρίς χωρητικότητα θέσης κινητών agents που αυξάνει ανεξέλεγκτα, σταθερό κλειστό σύστηµα.

Page 9 of 14

Page 10 of 14 Συµπεριφορικές (ενεργειακές) παράµετροι των τριών ειδών. Τα πέντε textfields ανά είδος δίνουν τις τιµές των παραµέτρων E0, de, Ef, Er, dp, όπως περιγράφονται παραπάνω. Ειδικά για τα φυτά δίνονται δύο επιπλέον textfields για τις παραµέτρους Rt και Rl. Ο χρήστης µπορεί να αλλάξει κάποια ή κάποιες από αυτές και να αρχικοποιήσει εκ νέου τον πληθυσµό µε το κουµπί Update. Οικολογικές παράµετροι του συστήµατος. ίνονται τρία textfields για τις carrying capacities που περιγράφονται παραπάνω καθώς και δύο checkboxes που υποδηλώνουν εάν χρησιµοποιούνται carrying capacities στο τρέχον οικολογικό σύστηµα. Το checkbox Closed food chain υποδηλώνει εάν το οικολογικό σύστηµα είναι κλειστό ή όχι, όπως περιγράφεται παραπάνω. Το checkbox Reset energies υποδηλώνει εάν γίνεται αρχικοποίηση ενέργειας κατά την αναπαραγωγή ("διαίρεση") οργανισµού ή όχι, όπως περιγράφεται παραπάνω. Ο χρήστης µπορεί να αλλάξει κάποια ή κάποιες από αυτές τις παραµέτρους και να αρχικοποιήσει εκ νέου το οικολογικό σύστηµα µε το κουµπί Update. Οι δυνατότητες αυτές της πλατφόρµας επιτρέπουν στο χρήστη να πειραµατισθεί συστηµατικά µε διάφορες παραλλαγές της τροφικής αλυσίδας, σε ενεργειακές ή/και οικολογικές συνθήκες της επιλογής του. Οδηγίες Η πλατφόρµα περιλαµβάνει τεσσάρων ειδών κλάσεις: Κλάση FoodWebGUI. Αυτή είναι η κλάση που υλοποιεί το interface του συστήµατος (applet) και το χειρισµό του προσοµοιωµένου οικολογικού συστήµατος. Ο χρήστης δε χρειάζεται να ξέρει τα εσωτερικά της λειτουργίας αυτής της κλάσης, αλλά την χρησιµοποιεί αυτούσια. Κλάση FoodWeb. Αυτή είναι η κλάση που υλοποιεί την προσοµοίωση αυτή καθεαυτή και συνδέει το interface µε τους agents (η κλάση αυτή

Page 11 of 14 τρέχει την προσοµοίωση, µαζεύει και εµφανίζει τα στατιστικά δεδοµένα, χειρίζεται τις συµπεριφορικές και οικολογικές παραµέτρους και ενηµερώνει το interface). Ο χρήστης δε χρειάζεται να ξέρει τα εσωτερικά της λειτουργίας αυτής της κλάσης, αλλά την χρησιµοποιεί αυτούσια. Κλάση FoodWebAgent. Στιγµιότυπα αυτής της κλάσης είναι οι οργανισµοί του οικολογικού συστήµατος. Βοηθητικές κλάσεις. Αυτές είναι οι κλάσεις Observer, History, Curve, CurveViewer, ListModifierDialog, ListModifierListener και TextAreaDialog, που υλοποιούν τη δυνατότητα συλλογής στατιστικών δεδοµένων σαν σειρά τιµών που µπορεί να µεταφρασθεί σαν καµπύλη και να παρουσιασθεί σε αντίστοιχο γράφηµα. Είναι επίσης η κλάση ListDialog που χρησιµοποιείται για την εµφάνιση της λίστας των οργανισµών σε κάθε θέση του περιβάλλοντος. Ο χρήστης δε χρειάζεται να ξέρει τα εσωτερικά της λειτουργίας αυτών των κλάσεων, αλλά τις χρησιµοποιεί αυτούσιες. Για τις κλάσεις αυτές δίνονται µόνο τα class files. Ζητούνται 1. Να βρείτε πειραµατιζόµενοι ένα σύνολο ενεργειακών παραµέτρων των τριων ειδών που να δίνει ισορροπία (διαδοχικούς οικολογικούς κύκλους) για 1500 κύκλους τουλάχιστον στο default οικολογικό περιβάλλον (ανοικτή αλυσίδα, default carrying capacities). Επίσης αναζητείστε και ένα δεύτερο σύνολο ενεργειακών παραµέτρων που να δίνει ισορροπία για 1500 τουλάχιστον κύκλους και συγκρίνετε τις τιµές ισορροπίας των δύο πληθυσµών. Μπορείτε να εξάγετε γενικά συµπεράσµατα για τις σχετικές τιµές ισορροπίας των πληθυσµών βασισµένοι µόνο στο σύνολο των ενεργιακών παραµέτρων; Υπόδειξη. Εκκινώντας από ένα σύνολο ενεργειακών παραµέτρων µε το οποίο η οικολογική αλυσίδα διασπάται (ένα τουλάχιστον είδος εξαφανίζεται), µελετείστε ποιο είδος εξαφανίζεται (πρώτο) και ποια παράµετρο πρέπει να τροποποιήσετε και πώς ώστε το είδος αυτό να καταφέρνει να επιζήσει. Σηµειωτέον ότι σε µερικές περιπτώσεις είναι δυνατό να ελέγξει κανείς ένα τέτοιο σύστηµα επιδρώντας σε κάποια παράµετρο που συνεισφέρει στην επιθετικότητα του είδους που "κυνηγά" το ευαίσθητο προς εξαφάνιση είδος. Παραδοτέo. Κείµενο περιγραφής που να περιλαµβάνει πίνακες µε τις ενεργειακές παραµέτρους των τριων ειδών και καµπύλες αποτελεσµάτων. 2. Για τα παραπάνω σύνολα τιµών ενεργειακών παραµέτρων να µελετήσετε την επίδραση των τιµών των carrying capacities. Για ποιες τιµές των carrying capacities το σύστηµα ξαναβρίσκει ισορροπία και πώς πρέπει να µεταβληθούν οι ενεργειακές παράµετροι για να επιτευχθεί αυτό; Επίσης, ερµηνεύσατε τις σχετικές τιµές ισορροπίας των πληθυσµών στις περιπτώσεις που συγκρίνετε. Παραδοτέo. Κείµενο περιγραφής µε πίνακες ενεργειακών παραµέτρων και καµπύλες αποτελεσµάτων, όπως πριν. 3. Να µελετήσετε επίσης την επίδραση της παραµέτρου reset energies. Υπάρχει διαφορά στη δυνατότητα κάποιου οικολογικού συστήµατος να πετυχαίνει ισορροπία; Π.χ. µπορεί ένα σύνολο ενεργειακών παραµέτρων µε το οποίο δεν πετυχαίναµε ισορροπία να γίνει σταθερό εάν reset energies = true ή αντίθετα ένα σταθερό σύστηµα να αποσταθεροποιηθεί; Συγκρίνετε αντίστοιχα τις σχετικές τιµές ισορροπίας των πληθυσµών για τις δύο τιµές της παραµέτρου. Παραδοτέo. Κείµενο περιγραφής µε πίνακες ενεργειακών παραµέτρων και καµπύλες αποτελεσµάτων, όπως πριν. 4. Αντίστοιχα, να µελετήσετε τα παραπάνω συστήµατα σε κλειστό κόσµο (closed food chain = true). Ιδιαίτερα µελετείστε και προσπαθείστε να ερµηνεύσετε τις σχετικές τιµές ισορροπίας των πληθυσµών σε ανοικτό και κλειστό κόσµο καθώς και το είδος των σχηµατισµών που

Page 12 of 14 δηµιουργούνται (σταθερές γειτονιές, κύµατα ή τι άλλο;). Εξαρτώνται οι σχηµατισµοί του κλειστού κόσµου από τους σχηµατισµούς των remains και, αν ναι, πώς; Υπόδειξη. Επειδή σε κλειστό κόσµο απαιτείται πολύ περισσότερη υπολογιστική ισχύς από ό, τι σε ανοικτό κόσµο (τα remains στο περιβάλλον πρέπει να ενηµερώνονται σε κάθε κύκλο), συµφέρει η προσοµοίωση να γίνεται µε το show remains=off. Μπορείτε ωστόσο σε τακτά χρονικά διαστήµατα να σταµατάτε την προσοµοίωση και να εµφανίζετε τα remains. Επίσης, µην ξεχνάτε σε κάθε επανεκκίνηση παραµέτρων ή πληθυσµών να αποµακρύνετε από το περιβάλλον τα προηγούµενα remains (µε το κουµπί Clear remains) ώστε να µη διαστρεβλώνετε τα νέα αποτελέσµατα. Παραδοτέo. Κείµενο περιγραφής µε πίνακες ενεργειακών παραµέτρων και καµπύλες αποτελεσµάτων, όπως πριν. Επίσης εικόνες µε σχηµατισµούς πληθυσµών συγκριτικά. 5. Προαιρετικά. Μία επιπλέον παράµετρος παρασιτισµού έχει εισαχθεί στους οργανισµούς: ένας οργανισµός που περιέχει παράσιτο κερδίζει µόνο 0.7*Ef όταν καταναλώνει την τροφή του (το υπόλοιπο εννοείται ότι παρακρατείται από το παράσιτο). Επίσης το παράσιτο κληρονοµείται από τους απογόνους ενός οργανισµού. Χρησιµοποιώντας αυτή την ιδιότητα προσπαθείστε να ελέγξετε κάποιο από τα παραπάνω συστήµατα για ένα σύνολο παραµέτρων που χωρίς παρασιτισµό δε δίνει ισορροπία. Μπορείτε να σκεφθείτε τρόπους µε τους οποίους το οικολογικό σύστηµα θα µπορούσε να αυτο-ρυθµίζεται ως προς τα σχετικά µεγέθη και τις ενεργειακές ανάγκες των παρασιτικών και µη παρασιτικών πληθυσµών; Υπόδειξη. Μελετείστε ποιου είδους ο πολλαπλασιασµός πρέπει να περιορισθεί και πόσο σε ένα σύστηµα που δεν ισορροπεί. Παραδοτέo. Κείµενο περιγραφής µε πίνακες ενεργειακών παραµέτρων και καµπύλες αποτελεσµάτων, όπως πριν. Περιγραφή της κλάσης FoodWebAgent Η κλάση FoodWebAgent ορίζει τα εξής κύρια δεδοµένα: Point position Point heading Η θέση και ο προσανατολισµός του agent µέσα στο περιβάλλον. int type Το είδος του οργανισµού. Ενα από τα παρακάτω. final static int CARNIVORE final static int HERBIVORE final static int PLANT Τα τρία οικολογικά είδη που περιγράφονται παραπάνω. boolean parasitized Μεταβλητή που δείχνει εάν ο οργανισµός περιέχει παράσιτο.

Page 13 of 14 double energy Η ενέργεια του οργανισµού. Ενηµερώνεται σε κάθε κύκλο. boolean dead Μεταβλητή που δείχνει εάν ο οργανισµός πέθανε στο τρέχοντα κύκλο (ώστε να αποµακρυνθεί από το περιβάλλον). double E0 double de double Er double Ef int deathproduct int rootlength int rootthreshold Οι ενεργειακές (συµπεριφορικές) παράµετροι του οργανισµού όπως περιγράφονται παραπάνω. Οι πιο σηµαντικές µέθοδοι τις οποίες υλοποιεί η κλάση FoodWebAgent είναι οι εξής: public boolean iscarnivore() public boolean isherbivore() public boolean isplant() Ελεγχοι του είδους του οργανισµού. boolean isparasitized() Ελεγχος εάν ο οργανισµός περιέχει παράσιτο. public boolean isdead() Ελεγχος εάν ο οργανισµός πέθανε στον τρέχοντα κύκλο (ώστε να αποµακρυνθεί από το περιβάλλον). public void resetenergy() Αρχικοποιεί την ενέργεια του οργανισµού στο E0. public void makecloneof(foodwebagent)() Αρχικοποιεί ένα οργανισµό µε τα ίδια συµπεριφορικά δεδοµένα που έχει ο οργανισµός γονέας που δίνεται σαν όρισµα. public void reinitializeon(vector) public void reinitializeon(double,double,double,double,int,int,int) Αρχικοποίηση του οργανισµού πάνω στο σύνολο των ενεργειακών δεδοµένων που δίνονται σαν ορίσµατα.

Page 14 of 14 public void execute() Εκτέλεση του µοντέλου του οργανισµού. Βλέπε περιγραφή παραπάνω. protected void chaseprey() Υλοποιούν την αναζήτηση θηράµατος των "κινητών" ειδών (το --κινητό-- σαρκοφάγο κυνηγά --κινητά-- φυτοφάγα και το φυτοφάγο κυνηγά -- σταθερά-- φυτά). public void die() Υλοποίηση του θανάτου του οργανισµού. Σε κλειστό οικολογικό σύστηµα απελευθερώνει τα remains στο περιβάλλον όπως περιγράφεται παραπάνω. public void moverandomly() public void moverandomlytail(point) Υλοποιούν την τυχαία µετακίνηση του οργανισµού. private int trackremains() private void consumeremains(int) Υλοποιούν αντίστοιχα την αναζήτηση και κατανάλωση τροφής (remains στο περιβάλλον) από τα φυτά. Στη δεύτερη περίπτωση, το ποσό που θα καταναλωθεί δίνεται σαν όρισµα. είτε ακόµη... Across Trophic Level System Simulation Project (ATLSS) Μοντέλα "Spatially Explicit Species Index (SESI)", Πανεπιστήµιο του Tennessee. Simon Levin's publications Περί βιολογικών δυναµικών, ποικιλοµορφίας και πολυπλοκότητας. Individual Based Modeling Resources Από Craig Reynolds. Αρκετά ανενεργά links. Τελευταία ενηµέρωση 11 Μαΐου 2005. Στείλτε µου mail (brensham@softlab.ece.ntua.gr)