Γενετικοί αλγόριθμοι - Κυτταρικά αυτόματα Και Τεχνητή...

14
1 Γενετικοί αλγόριθμοι - Κυτταρικά αυτόματα Και Τεχνητή Ζωή Επιμέλεια: Τάψας Απόστολος

Transcript of Γενετικοί αλγόριθμοι - Κυτταρικά αυτόματα Και Τεχνητή...

1

Γενετ ικοί αλγόριθμοι

-

Κυτταρικά αυτόματα

Και

Τεχνητή Ζωή

Επιμέλεια: Τάψας Απόστολος

2

Περιεχόμενα

Προοίμιο ……………………………….......................σελ 3

1.1 Εισαγωγή…………………………………………..σελ 3 1.2 Ιστορία των γενετικών αλγορίθμων και κυτταρικών

αυτομάτων………………………………………………σελ 3

1.3 Επεξήγηση των γενετικών αλγορίθμων…………σελ 4

1.3.1 Που εφαρμόζονται ;…………………………σελ 5

2.1 Κυτταρικά αυτόματα……………………………….σελ 7

2.1.1 Περιγραφή των κυτταρικών αυτομάτων…..σελ 7

2.1.2 Χρησιμότητα των κυτταρικών αυτομάτων..σελ 8

3.1 Παρουσίαση-Προσομοίωση αλγορίθμου επέκτασης

του ιού HIV με την βοήθεια των κυτταρικών αυτομάτων σε

matlab…………………………………………………...σελ 8

3.1.1 Επεξήγηση του αλγορίθμου………………..σελ 9

3.1.2 Ο αλγόριθμος σε matlab……………………σελ 9

4.1 Τεχνητή ζωή………………………………………..σελ 12

4.1.1 παρουσίαση………………………………….σελ 12

4.1.2 φιλοσοφία…………………………………….σελ 12

4.2 Τρόποι Προσομοίωσης……………………………σελ 13

4.3 Περιβάλλοντα τεχνητής ζωής…………………….σελ 13

5.1 Βιβλιογραφία.………………………………………σελ 14

Περιεχόμενα εικόνων

Εικόνα 1 …………………………………………………σελ 4

3

Προοίμιο

Την σύγχρονη εποχή οι τεχνολογία προχωρά με αλματώδεις βήματα, μέσα

από αυτά τα αλματώδεις βήματα επιστήμες όπως αυτή της Υπολογιστικής

νοημοσύνης καθώς και της βιοπληροφορικής μας βοηθούν να προτείνουμε

λύσεις πάνω σε σημαντικά προβλήματα όπως πχ την νόσο του Πάρκινσον και

αυτή του ιού ΗIV. Πως φτάσαμε όμως εδώ ; ποιοι ήταν αυτή που μας δώσαν

αυτά τα εργαλεία και πώς εμείς μπορούμε να τα αξιοποιήσουμε σωστά ;

1.1 Εισαγωγή

Στα τέλη της δεκαετίας του 1960 μια νέα ηδέα ακούστηκε πρώτη φορά από

ένα Αμερικανό καθηγητή του πανεπιστημίου του Michigan, John Holland. Η

ιδέα αυτή περιγραφικέ αρχικά από τον ίδιο τον Ηolland η οποία συνεχίστηκε

μετέπειτα από τον ίδιο και τους μαθητές του, η ηδέα αυτή σήμερα είναι ευρέος

γνωστή ως γενετικοί αλγόριθμοι. Οι γενετικοί αλγόριθμοι σήμερα

χρησιμοποιηθεί σε πολλούς επιστημονικούς κλάδους περεταίρω από αυτόν

της επιστήμης των υπολογιστών, ποια είναι η ιστορία αυτών των αλγορίθμων;

και πώς έχουν εξελιχθεί σήμερα σε μια προσπάθεια να λύσουμε μια

οικογένεια προβλημάτων οπού άλλες επιστήμες δεν κατόρθωσαν μέχρι

στιγμής ;

1.2 Ιστορία των γενετικών αλγορίθμων και κυτταρικών

αυτομάτων

Κατά την δεκαετία του 1950 και 1960 αρκετοί επιστήμονες υπολογιστών

μελέτησαν ανεξάρτητα εξελικτικά συστήματα με την ιδέα ότι η εξέλιξη θα

μπορούσε να χρησιμοποιηθεί ως ένα εργαλείο μεγιστοποίησης των

μηχανικών προβλημάτων. Στην σύγχρονη ιστορία την υπολογιστικής εξέλιξης

του Gold Berg οι Frazer , Friendman , Bledsoe και Bremerman

συνεργαστήκαν με μια ποικιλία εργασιών στην δεκαετία του 1950 και της

αρχές του 1960 κάποιες από αυτές της εργασίες αργότερα αναπτύχθηκαν

στους γενετικούς αλγορίθμους. Αυτά τα αρχικά συστήματα περιλάμβαναν τα

πρώτα στοιχεία την εξέλιξης σε μεγάλες φόρμες, όλες του ιδίου είδους, της

«επιλογής των καλλίτερων», κάποια σχήματα ήταν πληθυσμιακά βασισμένα

στην επιλογή και ποικιλία , και κάποια , όπως πολύ γενετικοί αλγόριθμοι ,

ταιριάζει να πούμε είχανε διάδικους περιορισμούς όσο αναφορά τα βιολογικά

χρωμοσώματα.(Melanie Mitcille

Stephanie Forrest , 1995. genetic algorithms and artificial life . University of

New Mexico, Santa Fe Institute).

4

εισήγαγε τις στρατηγικές εξέλιξης μια μέθοδο που

πρωτοσχεδιάστικε ώστε να μεγιστοποιήσει της πραγματικά

αξιολογημένες παραμέτρους. Αυτή η ιδέα αναπτύχθηκε

περισσότερο από τον Schwefel και το παιδιού της

στρατηγικής εξέλιξης παρέμεινε μια ενεργή περιοχή

ερευνάς, αναπτύσσοντας παράλληλα την ερευνά των

γενετικών αλγορίθμων , έως ότου πρόσφατα οι δυο

κοινότητες ξεκίνησαν να αλληλοεπιδρούν. Για μια άποψη

των εξελεγκτικών στρατηγικών. Επίσης στη δεκαετία του

1960 οι Fogel , Owens και Walsh εξέλιξαν των ¨εξελικτικό

προγραμματισμό¨. Υποψήφιες λύσεις για δεδομένες

δραστηριότητες παρουσιάζονται ως ημιτελείς μηχανές, οι

χρήστες της εξέλιξης , της επιλογής και της μετάλλαξης. Ο

εξελικτικός προγραμματισμός επίσης παραμένει ένα ενεργό

παιδιού ερευνάς.

Εικόνα 1

Οι Γενετικοί αλγόριθμοι όπως είναι γνωστοί σήμερα περιγράφικαν αρχικά

από τον John Holland (εικόνα 1) το 1960 και αναπτύχθηκαν περεταίρω από

τον Holland από τους μαθητές και συνεργάτες τότε στο πανεπιστήμιο του

Michigan κατά το 1960 και 1970.( Melanie Mitcille

Stephanie Forrest , 1995. genetic algorithms and artificial life . University of

New Mexico, Santa Fe Institute)

1.3 Επεξήγηση των γενετικών αλγορίθμων

Το βιβλίο του Holland ¨απαρχή των φυσικών και τεχνητών συστημάτων

¨(1975) παρουσιάζει τους γενετικούς αλγορίθμους σαν μια περιγραφή της

βιολογικής εξέλιξής και μας παρέχει ένα θεωρητικό υπόβαθρο για την

περιγραφή των γενετικών αλγορίθμων . Οι γενετικοί αλγόριθμοι του Holland

είναι μια μέθοδος μετακίνησης από έναν πληθυσμό χρωμοσωμάτων σε έναν

νέο πληθυσμό, χρησιμοποιώντας την επιλογή παράλληλα με τον γενετικό

χρησμό της διασταύρωσης της μετάλλαξης και της αντίστροφης. Κάθε

χρωμόσωμα αντιστοιχεί σε ένα ¨γονίδιο¨(π.χ bits) , με κάθε ένα γονίδιο να

είναι ένα σταθερό στοιχείο του διάδικου αλφαβήτου (πχ 0 ή 1) . Η διαδικασία

της επιλογής επιλεγεί εκείνα τα χρωμοσώματα του πληθυσμού στα οποία

επιτρέπεται να αναπαραχθούν και αποφασίζει πόσους απογόνους είναι

πιθανών να έχουν, με το κριτήριο αναπαραγωγής χρωμοσωμάτων των μέσον

περισσότερων απογόνων , λιγότερους από έναν. Η διασταύρωση συναλλάσει

υπο άτομα των δυο χρωμοσωμάτων ¨αυστηρός αναπαραγωγικός

πλασματικός σχεδιασμός αναμεσά σε δυο, αυτόνομος οργανισμούς

5

χρωμοσωμάτων¨. Η μετάλλαξη επιλεγεί τυχαία τις τιμές κάποιον τοποθεσιών

στο χρωμόσωμα και η αντίστροφη αντιστρέφει την σειρά μιας καθορισμένης

θέσης των χρωμοσωμάτων, ωστόσο επαναπροσδιορίζοντας την σειρά με την

οποία τα γονίδια τοποθετούνται στο χρωμόσωμα. Η αντιστροφή

χρησιμοποιείται σπάνια στου σημερινούς γενετικούς αλγορίθμους

τουλάχιστον τμηματικά λόγο της πραγματοποίησης περισσότερων

αναπαραστάσεων. Ένας απλός κανόνας των γενετικών αλγορίθμων (χωρίς

αντιστροφή) λειτουργεί ως έξεις

1. Ξεκινά με ένα τυχαίο αναπαραγόμενο πληθυσμό χρωμοσωμάτων(πχ

υποψήφιες λύσεις για ένα πρόβλημα).

2. Υπολόγισε την εμφάνιση κάθε χρωμοσώματος στον πληθυσμού.

3. Εφαρμοστή επιλογή και γενετική διαχείριση (διασταύρωση και

μετάλλαξη) στον πληθυσμό ώστε να δημιουργήσεις ένα νέο πληθυσμό.

4. Πήγαινε στο βήμα 2.

Αυτή η διαδικασία περιλαμβάνει αρκετά βήματα χρόνου κάθε ένα από τα

όποια αποκαλείτε ¨γενιά¨. Μετά από αρκετές γενεές το αποτέλεσμα είναι μια η

περισσότερες υψηλά σε χωρητικότητα χρωμοσώματα μέσα στον πληθυσμό

θα πρέπει να σημειωθεί ότι η παραπάνω περιγραφή αφήνει απέξω αρκετές

σημαντικές λεπτομερείς. Για παράδειγμα , η επιλογή μπορεί να συμβεί με

διαφορετικούς τρόπους – μπορεί να ρύθμιση την εξάλειψη τουλάχιστον του

50% του τεράστιου πληθυσμού και να αντικαταστήσει το κάθε ένα ξεχωριστά ,

μπορεί να αναπαραστήσει ξεχωριστά, κάθε κατεύθυνση τα τερι τους

(ταίριασμα- πρόταση επιλογής), ή ,μπορεί να βαθμολογήσει το ταίριασμα και

να αναπαραστήσει υποκατάστατες προτάσεις απευθείας με την βαθμό

ταιριάσματος τους Το να εισάγουμε έναν αλγόριθμο βασισμένο στον

πληθυσμό με διασταύρωση και αντιστροφή ήταν μια τεράστια καινοτομία .

Ακριβός αυτή η σημαντικότητα της θεωρητικής ανακάλυψης του Holland

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

η θεωρητική ανακάλυψη ήταν η βάση σχεδόν όλον τον υποενοτήτων της

θεωρητικής εργασίας στους ΓΑ, παρόλα αυτά η χρησιμότητα αυτής της

παρατήρησης αμφισβητήθηκε. Η εργασία του Holland στην αρχή επιχείρησε

να εισάγει την υπολογιστική εξέλιξη σε ένα θεωρητικό προβάδισμα. ( Melanie

Mitcille Stephanie Forrest , 1995. genetic algorithms and artificial life .

University of New Mexico, Santa Fe Institute).

6

1.3.1Που εφαρμόζονται

Οι γενετικοί αλγόριθμοι σε μεγάλες φόρμες υποβλήθηκαν σε πολλά

επιστημονικά και μηχανολογικά προβλήματα, περιέχοντας τα παρακάτω:

• Μεγιστοποίηση: οι γενετική αλγόριθμοι χρησιμοποιούνταν σε ένα

μεγάλο εύρος μεγιστοποίησης δραστηριοτήτων ,περιέχοντας την αριθμητική ο

σχεδιασμός κυκλωμάτων και ο προγραμματισμός εύρεσης εργασίας.

• Αυτόματος προγραμματισμός: οι γενετικοί αλγόριθμοι έχουν

χρησιμοποιηθεί ώστε να εξελίξουν τα λογισμικά υπολογιστών για

συγκεκριμένες δραστηριότητες και για να σχεδιάσουν αλλά σχεδιαζόμενες

μορφές πχ κυτταρικά αυτόματα και σμίκρυνση δικτυακών τόπων.

• Εκμάθηση μηχανής και ρομπότ: οι γενετικοί αλγόριθμοι έχουν

χρησιμοποιηθεί για αρκετές εφαρμογές μηχανικής μάθησης, περιέχοντας

τμιματιποιηση και πρόβλεψη δραστηριοτήτων όπως η πρόβλεψη δυναμικών

συστημάτων , πρόγνωση καιρού και πρόγνωση της πρωτεϊνικής δομής. Οι

γενετικοί αλγόριθμοι έχουν χρησιμοποιηθεί επίσης στον σχεδιασμό νευρωνικά

δικτιών, ώστε να εξελίξουν κανόνες για την μάθηση των συστημάτων

ταξινόμησης ή τη συμβολική παραγωγή συστημάτων , των σχεδιασμό και τον

έλεγχο ρομπότ.

• Οικονομικα μοντεκα: οι γενετικοί αλγόριθμοι χρησιμοποιήθηκαν ώστε

να μοντεκοποιοησουμε την διαδικασία της καινοτομίας , την ανάπτυξη

επιχειρηματικών στρατηγικών και την βαθμονόμηση των οικονομικών

αγορών.

• Προστασία συστηματικών μοντέλων: οι ΓΑ έχουν χρισιμποιποιηθει για

την παρουσίαση των μεταβλητών των φυσικών συστημάτων που δεν

μπορούν να προβληθούν , παρουσιάζοντας σωματική μετάλλαξη κατά την

διάρκεια μιας ξεχωριστής ζωής και την ανακάλυψη πολογονιδιακων

οικογενειών κατά την διάρκεια του χρόνου εξέλιξης

• Οικολογικά μοντέλα: οι ΓΑ έχουν χρησιμοποιηθεί στην μοντελοποιηση

οικολογικών φαινομένων όπως ο βιολογική αύξηση της θερμοκρασίας , η

συμβίωση και σηνεξεληξη παράσιτων και η αναφοδιαστηκη ροή τον

οικολογιών.

• Πληθυσμιακά γενετικά μοντέλα: οι ΓΑ έχουν χρησιμοποιηθεί στην

μελέτη ερωτήσεων του γενετικού πληθυσμού , όπως κάτω από ποιες

συνθήκες ένα γονίδιο θα είναι εξελικτικά δυνατό για αναπαραγωγή.

• Δια δράση μεταξύ εξέλιξης και γνώσης: οι ΓΑ έχουν χρησιμοποιηθεί για

την μελετη του πως η ανεξάρτητη γνώση και τα είδη εξελίξεις επηρεάζουν το

ένα το άλλο.

7

•Μοντέλα κοινωνικών συστημάτων: οι ΓΑ έχουν χρησιμοποιηθεί για την

μελέτη των εξελικτικών χαρακτηριστικών των κοινωνικών συστημάτων , όπως

αυτά της εξέλιξης της συνεργασίας , της εξέλιξης της επικοινωνίας και της

συμπεριφοράς .

Αυτή η λίστα δεν είναι σε καμία περίπτωση εξαντλητική, μας δίνει όμως

μια γεύση του είδους των πράγματων για τα οποία οι ΓΑ έχουν

χρησιμοποιηθεί , τόσο για την επίλυση προβλημάτων όσο και για την

μοντελοποιοηση. Το εύρος τον εφαρμογών τον ΓΑ συνεχίζει να αυξάνεται.

Στα πρόσφατα χρονιά , οι αλγόριθμοι που είχαν μετατραπεί σε γενετικούς

πήραν πολλές μορφές, και σε κάποιες περιπτώσεις μεταβείς συμμορφωθήκαν

με την αυθεντική τυποποίηση του Holland. Οι ερευνητές πειραματίστηκαν με

διάφορους τύπους αναπαράστασης, καθετοποίησης και μετάλλαξης

διαχειριστών και οδικού σκοπού διαχειριστών και προσέγγισης της

αναπαραγωγής και επιλογής ωστόσο όλες αυτές οι μέθοδοι έχουν μια

¨οικογενειακή συσχέτιση¨ κατά την οποία αντλούν κάποια έμπνευση από την

βιολογική εξέλιξη και από τους αυθεντικούς γενετικούς αλγορίθμους του

Holland. Μια νέα ορολογία, ¨ο εξελεγκτικός υπολογισμός, εισδέχθηκε ώστε να

καλύψει αυτά τα μεταβλητά μελί της οικογενείας των γενετικών αλγορίθμων,

του εξελικτικού προγραμματισμού και της εξέλιξης στρατηγικών. Στους

επομένους τομείς θα περιγράψουμε έναν αριθμό παραδειγμάτων επείγοντας

την χρήση των ΓΑ στην τεχνητή ζωή. Δεν επιχειρούμε να δούμε μια

εξαντλητική ανασκόπηση ολοκλήρου του παιδιού των ΓΑ ούτε καν του

σχετικού υποσύνολού της σχετικής ζωής, αλλά περισσότερο την

συγκέντρωση κάποιον σημαντικών πληροφοριών που βρίσκουμε

συγκεκριμένα ενδιαφέρουσες.

2.1 Κυτταρικά αυτόματα.

Ένα κυτταρικό ή κυψελικό αυτόματο (αγγλ. cellular automaton) είναι ένα

υπολογιστικό μοντέλο συστημάτων με αναδυόμενη πολυπλοκότητα. Τα

κυτταρικά αυτόματα μελετώνται στη θεωρία υπολογισμού, στη φυσική, στη

θεωρητική βιολογία και αλλού. Επινοήθηκαν κατά τη δεκαετία του 1940 από

τον μαθηματικό Τζον φον Νόιμαν, με σκοπό την τυπική περιγραφή των

λειτουργιών του βιολογικού κυττάρου. Έγιναν περισσότερο γνωστά κατά τη

δεκαετία του 1980 από τον Αμερικανό επιστήμονα υπολογιστών Κρίστοφερ

Λάνγκτον, θεμελιωτή του γνωστικού πεδίου της τεχνητής

ζωής.(www.wikipedia.com).

8

2.1.1Περιγραφή

Πρόκειται για μια «κοινωνία» ατόμων (ψηφιακών και όχι μόνο), που κινούνται

καθώς περνά ο χρόνος σε ένα πλέγμα (είτε τετραγώνων είτε άλλων σχημάτων

που είναι συνήθως δισδιάστατα) με βάση προκαθορισμένους απλούς

κανόνες. Με βάση τους κανόνες αυτούς, κινούνται, ζευγαρώνουν, γεννούν και

πεθαίνουν, ή ακόμα τρέφονται. Όσο περιπλοκότερες λειτουργίες τούς δοθούν,

τόσο περισσότερα μπορούν να κάνουν (www.wikipedia.com).

2.1.2Χρησιμότητα

Τέτοιου είδους πειράματα χρησιμεύουν κατ' αρχάς στην προσομοίωση της

συμπεριφοράς ζωντανών βιολογικών οργανισμών. Αλλά έχουν επίσης και

άλλες εφαρμογές. Για παράδειγμα, μελετάται έτσι η αυτοοργάνωση μιας

κοινωνίας ανεξαρτήτων μελών, η εξέλιξή της, η δημιουργία εικόνας τάξης από

μια τυχαία κατάσταση αταξίας, ακόμα και η μαθηματική τυχαιότητα σε μια

κοινότητα. Παράλληλα όμως, μπορεί να είναι και ένα πολύ ενδιαφέρον

ερευνητικό παιχνίδι, με εντελώς απρόβλεπτη και χαοτική συμπεριφορά των

ατόμων του (www.wikipedia.com).

Προχωρώντας τα κυτταρικά αυτόματα μας βοηθούν και στην απεικόνιση

κάποιων ιόν όπως αυτού του ΗΙV οπού θα δούμε και θα μελετήσουμε στην

επόμενη ενότητα.

3.1 Παρουσίαση αλγορίθμου επέκτασης του ιού HIV με

την βοήθεια των κυτταρικών αυτομάτων σε matlab.

Προτού όμως ξεκινήσουμε την περιγραφή του κώδικα καλό θα ήταν να πούμε

δύο λόγια για το ίο του AIDS. O ιός του HIV-AIDS είναι ένας ρετροιός ο οποίος

προσβάλει το ανασιοποιηκό μας σύστημα με τέτοιον τρόπο ώστε να μην

επιτρέπει την παραγωγή λευκών αιμοσφαιρίων από τον οργανισμό μας. Αυτό

γίνεται κατά την μετάφραση1 του RNA από το DNA μας.

1 Μετάφραση ονομάζεται το στάδιο της έκφρασης της γεννητικής πληροφορίας κατά το οποίο

δημιουργείται η πολυπεπτιδική αλυσίδα με βάση το mRNA[1] . Η μετάφραση έπεται της μεταγραφής

και προηγείται της αναδίπλωσης της πολυπεπτιδικής αλυσίδας. Όπως και το προηγούμενο στάδιο, η

μετάφραση στηρίζεται στη συμπληρωματικότητα των νουκλεϊκών οξέων και στη δημιουργία και

διάσπαση των δεσμών υδρογόνου και τη δημιουργία των πεπτιδικών δεσμών. Σε αυτό το στάδιο το

RNA στο οποίο μεταγράφηκε η πληροφορία μπορεί να ταξιδέψει εκτός του πυρήνα και μόλις

συναντήσει κάποιο ριβόσωμα αρχίζει η δημιουργία της πολυπεπτιδικής αλυσίδας σε αυτό. Σε αυτό το

στάδιο συμμετέχουν και άλλα δύο είδη RNA, το sRNA και το tRNA. Χαρακτηριστικό αυτής της

διαδικασίας είναι ότι η γενετική πληροφορία κωδικοποιημένη στο RNA σε τέσσερις διαφορετικά

χαρακτηριστικά συμπλέγματα (τις τέσσερις αζωτούχες βάσεις) μετατρέπεται σε είκοσι διαφορετικά

συμπλέγματα, τα είκοσι αμινοξέα.

9

3.1.1Επεξήγηση του αλγορίθμου.

O αλγόριθμος ξεκινά με έναν δισδιάστατο πίνακα nxn διαστάσεων όπου εκεί

αρχικοποιούνται τα κελία μας με τυχαίους αριθμούς από το 0 μέχρι και το 1.

Ο αλγόριθμος ξεχωρίζει τέσσερίς ομάδες κελιών :

Την ομάδα των κελιών τύπου Η όπου είναι τα υγιής κύτταρα.

Την ομάδα των κελιών τύπου l1 οπού είναι τα μη-υγιής κύτταρα.

Την ομάδα των κελιών τύπου l2 οπού είναι τα κύτταρα που έχουν

μολυνθεί από κάποιον γείτονα τους.

Την ομάδα των κελιών τύπου D οπού είναι τα νεκρά κύτταρα.

Στην συνέχεια η προσομοίωση γίνεται με βάση κάποιους κανόνες

Κανόνας 1: ένα κύτταρο είναι υγιείς κατά 99% αν είναι κάτω από 0.99

Κανόνας 2: ένα κύτταρο είναι μολυσμένο αν είναι μεγαλύτερο του 0,99 και

μικρότερο του 0,994΄.

Κανόνας 3: ένα κύτταρο μετατρέπεται σε l2 αν ο γείτονάς του είναι l1 κύτταρο.

Κανόνας 4: ένα κύτταρο l2 μετατρέπεται σε D μετά από τα βήματα

καταλαβαίνοντας ότι είναι μολυσμένο.

Κανόνας 5: ένα κύτταρο D μετατρέπεται σε l1 με πιθανότητα Pinf ή Η στο

επόμενο βήμα.

3.1.2 Ο αλγόριθμος προσομοίωσης του ιού του HIV σε

matlab.

%Above is the cellular automaton code for simulating HIV virus 4 stages.

%Following are the rules of my automata,

%Rule 1: If an H cell satisfies at least one of the rules listed below, it becomes

an I1 cell in the next step:

% (i) At least one I1 cell in the nearest neighbor or the second nearest

neighbor;

% (ii) At least x I2 cells in the nearest neighbor, y I2 cells in the second

nearest neighbor.

%Rule 2: An I1 cell becomes an I2 cell in the next step.

10

%Rule 3: An I2 cell becomes a D cell after τ steps because of the immune

recognition and clear.

%Rule 4: A D cell can be replaced by an I1 cell with probability Pinf or

%% Creating a grid with random value

n = 500;

Gpop = rand(n,n);

temp=Gpop;

Gpop(temp(:,:)<0.99) = 1; %Healthy percentage 99%

Gpop(temp(:,:)>0.99 & temp(:,:)<0.994) = 2; %Healthy percentage .04%

Gpop(temp(:,:)>0.994 & temp(:,:)<0.998) = 3; %Healthy percentage .04%

Gpop(temp(:,:)>0.998) = 4; %Healthy percentage .02%

%% Our Rules of cellular automata

x = 2:n-1; % Intializing x and y values to access the cells of CA

y = 2:n-1;

rule = Gpop;

figure

count=0;

time = 0;

while(count<25)

rule((rule(x-1,y-1)==2)|(rule(x,y-1)==2)|(rule(x+1,y-1)==2)|(rule(x-

1,y)==2)|(rule(x+1,y)==2)...

|(rule(x-1,y+1)==2)|(rule(x,y+1)==2)|(rule(x+1,y+1)==2) & time==1)=2 ;

%1st Rule a

if((rule(x,y-1)==3)| (rule(x-1,y)==3)|(rule(x+1,y)==3)|(rule(x,y+1)==3) &

time ==2);

11

rule(x,y)==2;

else((rule(x-1,y-1)==3)|(rule(x+1,y-1)==3)|(rule(x-

1,y+1)==3)|(rule(x+1,y+1)==3) & time ==3);

rule(x,y)==2;

end

rule((rule(x-1,y-1)==3)|(rule(x,y-1)==3)|(rule(x+1,y-1)==3)|(rule(x-

1,y)==3)|(rule(x+1,y)==3)...

|(rule(x-1,y+1)==3)|(rule(x,y+1)==3)|(rule(x+1,y+1)==3) & time==4)=3;

%2nd rule

rule((rule(x-1,y-1)==4)|(rule(x,y-1)==4)|(rule(x+1,y-1)==4)|(rule(x-

1,y)==4)|(rule(x+1,y)==4)...

|(rule(x-1,y+1)==4)|(rule(x,y+1)==4)|(rule(x+1,y+1)==4&time==6))=4;

%3rd rule

newMatrix=rand(n,n);

newtemp=newMatrix;

newMatrix(newtemp(:,:)<=.1)=1;

newMatrix(newtemp(:,:) rule(((rule(x-1,y-1)==4)|(rule(x,y-

1)==4)|(rule(x+1,y-1)==4)|(rule(x-1,y)==4)|(rule(x+1,y)==4)...|(rule(x-

1,y+1)==4)|(rule(x,y+1)==4)|(rule(x+1,y+1)==4)) & newMatrix(x,y)==1 & time

== 8)=1; %1st part 4th rule

rule(((rule(x-1,y-1)==4)|(rule(x,y-1)==4)|(rule(x+1,y-1)==4)|(rule(x-

1,y)==4)|(rule(x+1,y)==4)...

|(rule(x-1,y+1)==4)|(rule(x,y+1)==4)|(rule(x+1,y+1)==4)) &

newMatrix(x,y)==0 & time == 10)=2; %1st part 4th rule

imagesc(rule)

axis off;

cmap = jet(4); % assign colormap

colormap(cmap)

hold on

L = line(ones(4), ones(4), 'LineWidth',2); % generate line

12

set(L,{'color'},mat2cell(cmap,ones(1,4),3)); % set the colors

according to cmap

legend('H','I1','I2','D') %Addings Legends at the top right

corner of image

count=count+1;

time = time+1;

pause(3.0)

end

4.1 Τεχνητή ζωή.

Η τεχνητή ζωή είναι ένα πεδίο μελέτης συνδεδεμένο με μία μορφή τέχνης,

εξέτασης συστημάτων συσχετιζόμενα με την ζωή, τα οποία επεξεργάζει και

εξελίσσει με την χρήση προσομοιώσεων υπολογιστικών μοντέλων ,

ρομποτική και βιοχημεία.

Εμπνευστής του πεδίου αυτού ήταν ο Christopher Langton το 1986

(www.wikipedia.com).

4.1.1 Παρουσίαση

Η τεχνητή ζωή μελετά την λογική των ζωντανών οργανισμών σε τεχνητά

περιβάλλοντα έτσι ώστε να απεικονίσει μια βαθύτερη κατανόηση των

περίπλοκων πληροφοριών και διαδικασιών που ορίζουν τέτοια συστήματα

(www.wikipedia.com).

4.1.2Φιλοσοφία

Η φιλοσοφία της μοντελοποίησης διαφέρει έντονα από τα παραδοσιακά

μοντέλα μελετώντας όχι μόνο « τη ζωή όπως εμείς ξέρουμε» , αλλά και

"τη ζωή όπως θα μπορούσε να είναι". Ένα παραδοσιακό μοντέλο ενός

βιολογικού συστήματος θα επικεντρωθεί στην καταγραφή τον πιο σημαντικών

παραμέτρων του συστήματος. Σε αντίθεση τα μοντέλα της τεχνητής ζωής θα

επιδιώξουν μια προσέγγιση, να αποκρυπτογραφήσουν τις πιο απλές και

γενικές αρχές που διέπουν τη ζωή και την εφαρμογή τους σε μια

προσομοίωση. Η προσομοίωση τότε προσφέρει τη δυνατότητα να αναλύσει

νέα και διαφορετικά ζωντανά συστήματα. (www.wikipedia.com).

13

4.2 Τρόποι προσομοίωσης

Η τεχνητή ζωή έχει τρείς βασικούς τρόπους προσομοίωσης.

Soft simulation.

Τα περιβάλλοντά προσομοίωσης τεχνητή ζωής πρώτο-

χρησιμοποίησαν τα κυτταρικά αυτόματα σαν μέθοδο προσομοιώσεις.

Hard simulation.

Τα περιβάλλοντά προσομοίωσης τεχνητή ζωής με την μέθοδο του

‘hard’ simulation προσομοιώνουν ρομπότ που μπορούν να εργάζονται

αυτόνομα.

Wet simulation.

Τα περιβάλλοντά προσομοίωσης τεχνητή ζωής με την μέθοδο του

‘wet’ simulation προσομοιώνει περιβάλλοντά το κλάδου της συνθετική

βιολογίας π.χ. δημιουργία συνθετικού DNA(www.wikipedia.com).

4.3 Περιβάλλοντα τεχνητής ζωής.

Ενδικτικά μερικά από τα περιβάλοντα προσομίοσης τεχνητής ζωής είναι:

3D Virtual Creature Evolution

με δημιουργό τον Lee Graham το οποίο είναι διαθέσιμο σε πλατφόρμες

linux και windows με σκοπό να προσομοιάσει της εξέλιξης των ειδών

(www.wikipedia.com) .

TechnoSphere

με δημιουργούς τους Jane Prophet και Gordon Kelly είναι διαθέσιμο σε

όλες τις πλατφόρμες. Ένα online περιβάλλον προσομοίωσης της

οικολογικής εξέλιξης (www.wikipedia.com) .

Polyworld

με δημιουργό τονLarry Yaeger είναι διαθέσιμο σε Linux και Mac OS X.

Περιβάλλον εικονικών «πρακτόρων» οι οποίοι έχουν ως στόχο την

αναζήτηση τροφής (www.wikipedia.com) .

14

1. www.wikipedia.com

2. Melanie Mitcille Stephanie Forrest , 1995. genetic

algorithms and artificial life . University of New

Mexico, Santa Fe Institute