ΕΦΑΡΜΟΓΗ Q-LEARNING ΣΕ GRID WORLD ΚΑΙ ΕΞΥΠΝΟΣ ΧΕΙΡΙΣΜΟΣ ΤΟΥ LEARNING RATE ΛΑΘΙΩΤΑΚΗΣ ΑΡΗΣ ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ 2011-12
ΣΚΟΠΟΣ ΕΡΓΑΣΙΑΣ Στα πλαίσια του μαθήματος Αυτόνομοι Πράκτορες μας ζητήθηκε να αναπτύξουμε μια εργασία εξαμήνου, με θέμα ελέυθερο γύρο από τα πεδία που κάλυψε το μάθημα. Το δικό μου θέμα ήταν η μελέτη του αλγορίθμου q-learning και η επίδραση του learning rare πάνω σε αυτόν. Σκοπός μου ήταν να χειριστώ τον ρυθμό αυτό για να πετύχω μια καλύτερη προσαρμογή του γενικού αλγόριθμου σε αλλαγές του περιβάλλοντος εφαρμογής του. Και ίσος μια αυτοποιημένη έκδοση χειρισμού. Για να μελετήσω σε μεγαλύτερο βαθμό τη χρήση των αλγορίθμων μάθησης επέλεξα το περιβάλλον του grid world που παρουσιάστηκε στο μάθημα.
Ο ΚΟΣΜΟΣ ΤΟΥ GRID WORLD ΣΤΟ GRID WORLD Ο ΠΡΑΚΤΟΡΑΣ ΕΧΕΙ ΝΑ ΑΝΤΙΜΕΤΩΠΙΣΕΙ ΕΝΑΝ ΚΟΣΜΟ ΠΟΥ ΕΧΕΙ ΑΒΕΒΑΙΟΤΗΤΑ, ΣΥΓΚΡΟΥΣΕΙΣ ΚΑΙ ΑΝΤΑΜΟΙΒΕΣ. Η ΚΙΝΗΣΗ ΤΟΥ ΠΡΑΚΤΟΡΑ ΕΙΝΑΙ ΠΡΟΣ ΤΙΣ 4 ΚΑΤΕΥΘΥΝΣΕΙΣ (4 ΕΝΕΡΓΕΙΕΣ) ΓΥΡΩ ΑΠΟ ΤΗ ΘΕΣΗ ΤΟΥ. ΟΙ ΕΝΕΡΓΕΙΕΣ ΠΕΤΥΧΑΙΝΟΥΝ ΜΕ ΜΙΑ ΑΒΕΒΑΙΟΤΗΤΑ ΠΡΟΣ ΤΗΝ ΚΑΤΕΥΘΥΝΣΗ ΠΟΥ ΕΠΙΛΕΓΕΙ ΝΑ ΚΙΝΗΘΕΙ Ο ΠΡΑΚΤΟΡΑΣ, ΒΑΣΕΙ ΤΩΝ ΠΙΘΑΝΟΤΗΤΩΝ ΠΟΥ ΤΟΥ ΔΙΝΟΥΜΕ ΚΑΙ ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ ΣΥΓΚΡΟΥΣΗ ΜΕ ΤΟΙΧΟ.
0.8 0.1 0.1 0.0 ΣΤΟ ΣΧΗΜΑ ΦΑΙΝΟΝΤΑΙ ΟΙ ΠΙΘΑΝΟΤΗΤΕΣ ΓΙΑ ΤΗΝ ΚΙΝΗΣΗ ΤΟΥ ΠΡΑΚΤΟΡΑ ΓΙΑ ΤΙΣ ΑΝΑΓΚΕΣ ΤΙΣ ΕΡΓΑΣΙΑΣ ΜΟΥ ΠΑΝΩ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΜΑΘΗΣΗΣ ΠΑΡΑΛΛΑΞΑ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΟΥ GRID WORLD ΓΙΑ ΝΑ ΜΠΟΡΕΙ ΝΑ ΑΛΛΑΖΕΙ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ (ΠΡΟΣΘΗΚΗ ΤΟΙΧΩΝ Η ΤΕΡΜΑΤΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ). ΕΠΙΣΗΣ ΠΡΟΣΘΕΣΑ ΤΗ ΔΥΝΑΤΟΤΗΤΑ ΤΗΣ ΑΠΛΗΣ ΕΠΙΔΕΙΞΗΣ (1 EPISODE) ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΑΠΟ ΤΗ ΘΕΣΗ (0,0).
Q-LEARNIΝG ALGORITHM Ο ΑΛΓΟΡΙΘΜΟΣ ΑΥΤΟΣ ΕΙΝΑΙ ΜΙΑ ΤΕΧΝΙΚΗ ΕΝΙΣΧΥΤΙΚΗΣ ΜΑΘΗΣΗΣ, ΠΟΥ ΛΕΙΤΟΥΡΓΕΙ ΕΚΤΙΜΩΝΤΑΣ ΤΗ ΣΥΝΑΡΤΗΣΗ Q(S,A) ΓΙΑ ΝΑ ΜΑΘΕΙ ΜΙΑ ΚΑΛΗ Η ΒΕΛΤΙΣΤΗ ΠΟΛΙΤΙΚΗ ΓΙΑ ΤΟΝ ΚΟΣΜΟ ΤΟΥ ΠΡΑΚΤΟΡΑ ΧΩΡΙΣ ΝΑ ΞΕΡΕΙ ΤΟ ΜΟΝΤΕΛΟ ΤΟΥ ΚΟΣΜΟΥ. ΒΑΣΙΚΗ ΠΡΟΥΠΟΘΕΣΗ ΓΙΑ ΤΗΝ ΕΦΑΡΜΟΓΗ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΕΙΝΑΙ ΝΑ ΜΟΝΤΕΛΟΠΟΙΕΙΤΑΙ Ο ΚΟΣΜΟΣ ΩΣ ΜΑΡΚΩΒΙΑΝΗ ΔΙΕΡΓΑΣΙΑ ΑΠΟΦΑΣΗΣ. ΟΙ ΙΔΙΟΤΗΤΕΣ ΤΟΥ MDP ΕΙΝΑΙ: Η ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ ΕΙΝΑΙ ΑΝΕΞΑΡΤΗΤΗ ΑΠΟ ΤΟ ΙΣΤΟΡΙΚΟ. Η ΑΝΤΑΜΟΙΒΗ ΕΙΝΑΙ ΑΝΕΞΑΡΤΗΤΗ ΑΠΟ ΤΟ ΙΣΤΟΡΙΚΟ.
Q-LEARNIΝG ALGORITHM MDP(S, A, P, R, G, D) --- S: Ο ΚΟΣΜΟΣ ΤΟΥ GRID WORLD --- A: ΟΙ ΚΙΝΗΣΕΙΣ ΠΟΥ ΕΙΝΑΙ ΔΥΝΑΤΕΣ ΓΙΑ ΤΟΝ ΠΡΑΚΤΟΡΑ {NORTH, EAST, SOUTH, WEST} --- P: ΤΟ ΜΟΝΤΕΛΟ ΜΕΤΑΒΑΣΗΣ --- R: ΟΙ ΑΝΤΑΜΟΙΒΕΣ {R= -0.04 ΓΙΑ ΚΑΘΕ ΒΗΜΑ, R= UTILITY ΓΙΑ ΚΑΘΕ ΤΕΡΜΑΤΙΚΗ ΚΑΤΑΣΤΑΣΗ} --- G: ΠΑΡΑΓΟΝΤΑΣ ΕΚΠΤΩΣΗΣ {G=0.9} --- D: ΚΑΤΑΝΟΜΗ ΑΡΧΙΚΗΣ ΚΑΤΑΣΤΑΣΗΣ
Q-LEARNIΝG ALGORITHM Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ Q-LEARNING: --- ΑΡΧΙΚΟΠΟΙΗΣΕ ΤΑ ΒΑΡΗ --- ΓΙΑ ΚΑΘΕ ΕΠΕΙΣΟΔΙΟ ΚΑΝΕ: --- ΔΙΑΛΕΞΕ ΤΥΧΑΙΑ ΑΡΧΙΚΗ ΘΕΣΗ --- DO WHILE (FINAL STAGE): + ΔΙΑΛΕΞΕ ΤΗΝ ΚΑΛΥΤΕΡΗ ΚΙΝΗΣΗ (ACTION) + ΕΞΕΤΑΣΕ ΝΑ ΠΑΣ ΣΕ ΑΥΤΗ (NEXT STAGE) + ΥΠΟΛΟΓΙΣΕ ΤΑ Q + ΥΠΟΛΟΓΙΣΕ ΤΗΝ ΑΒΕΒΑΙΟΤΗΤΑ ΤΟΥ ΚΟΣΜΟΥ + CURRENT_STAGE = NEXT_STAGE
Q-LEARNIΝG ALGORITHM ΓΙΑ ΤΗΝ ΕΠΙΛΟΓΗ ΤΗΣ ΚΑΛΥΤΕΡΗΣ ΚΙΝΗΣΗΣ Η ΣΥΝΑΡΤΗΣΗ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΩ ΔΙΑΛΕΓΕΙ ΤΥΧΑΙΑ ΠΩΣ ΘΑ ΕΞΕΤΑΣΕΙ ΤΙΣ ΤΙΜΕΣ ΤΩΝ Q ΓΙΑ ΚΑΘΕ ΚΙΝΗΣΗ, ΩΣΤΕ ΝΑ ΑΠΟΦΕΥΧΘΕΙ ΝΑ ΚΑΝΕΙ ΚΥΚΛΟΥΣ ΓΥΡΩ ΑΠΟ ΤΟΝ ΕΑΥΤΟ ΤΟΥ ΓΙΑ ΤΟΝ ΥΠΟΛΟΓΙΣΜΟ ΤΟΥ ΕΠΟΜΕΝΟΥ STAGE ΧΡΗΣΙΜΟΠΟΙΩ ΜΙΑ ΣΥΝΑΡΤΗΣΗ ΠΟΥ ΥΠΟΛΟΓΙΖΕΙ ΑΝ Η ΚΙΝΗΣΗ ΠΟΥ ΕΠΕΛΕΞΑ ΕΙΝΑΙ ΕΝΤΟΣ ΟΡΙΩΝ ΤΟΥ GRID WORLD ΓΙΑ ΤΗΝ ΕΦΑΡΜΟΓΗ ΤΗΣ ΑΒΕΒΑΙΟΤΗΤΑΣ ΥΠΟΛΟΓΙΖΩ ΜΙΑ ΜΕΤΑΒΛΗΤΗ [0,1] ΚΑΙ ΑΝΑΛΟΓΑ ΜΕ ΤΟ ΑΠΟΤΕΛΕΣΜΑ ΑΠΟΝΕΜΩ ΤΙΣ ΠΙΘΑΝΟΤΗΤΕΣ ΑΝΑΛΟΓΑ ΜΕ ΤΑ ΠΟΣΟΣΤΑ ΤΟΥΣ ΑΠΟ ΤΟ 0 ΕΩΣ ΤΟ 1 ΚΑΙ ΟΙ ΚΙΝΗΣΗΣ ΕΝΑΛΛΑΣΟΝΤΑΙ ΔΕΞΙΟΣΤΡΟΦΑ {NORTH>EAST>SOUTH>WEST}
LEARNING RATE - ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ ΣΕ ΑΥΤΟ ΤΟ ΚΟΜΜΑΤΙ ΤΗΣ ΕΡΓΑΣΙΑΣ ΠΡΟΣΠΑΘΗΣΑ ΝΑ ΡΥΘΜΙΣΩ ΤΟ LEARNING RATE ΕΤΣΙ ΩΣΤΕ ΝΑ ΑΝΤΑΠΟΚΡΙΝΕΤΑΙ ΚΑΛΥΤΕΡΑ Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ Q LEARNING ΣΕ ΚΑΠΟΙΑ ΑΛΛΑΓΗ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΝΑ ΞΑΝΑ ΔΙΑΜΟΡΦΩΝΕΙ ΤΑ ΒΑΡΗ ΤΟΥ. ΤΑ ΒΑΡΗ ΤΟΥ Q LEARNING ΔΕΝ ΤΑ ΚΑΝΟΝΙΚΟΠΟΙΗΣΑ ΓΙΑ ΝΑ ΚΡΑΤΗΣΩ ΤΗΝ ΕΠΙΡΡΟΗ ΤΩΝ ΤΕΛΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ ΣΕ ΟΛΗ ΤΗ ΔΙΑΡΚΕΙΑ ΤΩΝ ΑΛΛΑΓΩΝ.
LEARNING RATE - ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ Ο ΑΡΧΙΚΟΣ ΚΩΔΙΚΑΣ ΓΙΑ ΑΥΤΗ ΤΗ ΛΕΙΤΟΥΡΓΙΑ ΗΤΑΝ Ο ΕΞΗΣ (ΣΥΝΑΡΤΗΣΗ Α1) for (int k=0; k < epa; k++){ } for (int ep = 0; ep < epb; ep++){ } counter = learn_q(a, g, r); stat[ep][0] = counter; if (maxcounter < counter){ maxcounter = counter; } if ((maxcountera < maxcounter) & (a < 0.9)){ maxcountera = maxcounter; a = a + 0.005; } else if ((maxcountera > maxcounter) & (a > 0.001)){ System.out.println("-max= "+maxcounter); System.out.println("y= "+y_q_learning()); a = a - 0.005; }
LEARNING RATE - ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ ΣΤΗΝ ΣΥΝΕΧΕΙΑ, ΠΡΟΣΠΑΘΗΣΑ ΝΑ ΜΟΝΤΕΛΟΠΟΙΗΣΩ ΤΗ ΔΙΑΔΙΚΑΣΙΑ ΑΥΤΗ ΣΑΝ ΜΙΑ ΜΑΡΚΩΒΙΑΝΗ ΔΙΕΡΓΑΣΙΑ ΑΠΟΦΑΣΗΣ. ΔΥΣΚΟΛΕΥΤΙΚΑ ΣΕ ΑΥΤΗ ΤΗΝ ΠΡΟΣΠΑΘΕΙΑ, ΓΙΑΤΙ ΤΟ LEARNING RATE ΕΙΝΑΙ ΜΙΑ ΣΥΝΕΧΗ ΜΕΤΑΒΛΗΤΗ ΚΑΙ ΤΑ ΚΡΙΤΗΡΙΑ ΓΙΑ ΤΗΝ ΑΠΟΦΑΣΗ ΑΝ Η ΕΠΙΛΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΕΙΝΑΙ ΚΑΛΗ Η ΒΕΛΤΙΣΤΗ ΕΙΝΑΙ ΔΙΣΔΙΑΚΡΙΤΑ. ΕΝΑ ΠΡΩΤΟ ΚΡΙΤΗΡΙΟ ΠΟΥ ΠΗΡΑ ΗΤΑΝ ΤΟ TEMPORAL DIFFERENCE ΤΩΝ ΤΙΜΩΝ ΤΗΣ Q. ΩΜΟΣ ΣΤΗΝ ΠΡΑΞΗ ΑΥΤΟ ΔΕΝ ΗΤΑΝ ΙΣΧΥΡΟ ΚΡΙΤΗΡΙΟ ΜΕΤΑ ΤΙΣ ΑΛΛΑΓΕΣ ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ. ΣΤΟΥΣ ΑΚΟΛΟΥΘΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΧΡΗΣΙΜΟΠΟΙΗΣΑ ΩΣ ΚΡΙΤΗΡΙΟ ΠΗΡΑ ΤΑ ΒΗΜΑΤΑ ΠΟΥ ΚΑΝΕΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΜΕΧΡΙ ΝΑ ΒΡΕΙ ΤΟ FINAL STAGE (STEPS). ΤΟ ΜΟΝΤΕΛΟ ΓΙΑ ΤΟ ΡΥΘΜΟ ΜΑΘΗΣΗΣ ΕΧΕΙ 3 ΚΑΤΑΣΤΑΣΕΙΣ {LOW, MIDDLE, HIGH} ΚΑΙ 7 ΚΙΝΗΣΕΙΣ (ACTIONS)
LEARNING RATE - ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ ΟΙ ΑΡΧΙΚΟΠΟΙΗΣΗ ΤΩΝ ΤΙΜΩΝ ΓΙΑ ΤΑ ΒΑΡΗ ΤΗΣ ΣΥΝΑΡΤΗΣΗΣ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ ΕΙΝΑΙ ΣΤΙΣ ΤΙΜΕΣ ΠΟΥ ΕΙΝΑΙ ΕΝΔΙΑΜΕΣΑ ΑΠΟ ΤΑ ΟΡΙΑ. A_values[2][4] = (0.001+0.1)/2; A_values[1][3] = 0.1; A_values[2][5] = 0.1; A_values[1][2] = (0.1+0.5)/2; A_values[0][1] = 0.5; A_values[1][6] = 0.5; A_values[0][0] = (0.5+0.9)/2;
LEARNING RATE - ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ ΚΑΙ Η ΤΕΛΙΚΗ ΣΥΝΑΡΤΗΣΗ ΓΙΑ ΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΠΑΝΩ ΣΤΟ ΡΥΘΜΟ ΜΑΘΗΣΗΣ ΕΙΝΑΙ Η ΕΞΗΣ (ΣΥΝΑΡΤΗΣΗ Α) for (int k=0; k < epa; k++){ maxcounter = -1; r = 0; for (int ep = 0; ep < epb; ep++){ } counter = learn_q(a, g, r); stat[ep][0] = counter; if (maxcounter < counter){ maxcounter = counter; re -= 1; } else{ re += 1; } re = re/epb; action = best_action_a(s, a); next_s_a = next_state_a(s, action, a); compute_a(s, next_s_a, action, a, re); a = A_values[s][action]; } s = next_s_a;
LEARNING RATE - ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ ΤΑ ΒΑΡΗ ΟΠΩΣ ΠΡΟΚΥΠΤΟΥΝ ΜΕΤΑ ΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 0.7 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0987542 0.0929187 0.1 0.1 0.5 0.1 0.1 0.1 0.1 0.0367753 0.1 0.1 ΚΑΙ ΤΑ ΒΑΡΗ ΜΕΤΑ ΤΗΝ ΑΛΛΑΓΗ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ 0.7 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0987542 0.0929187 0.1 0.1 0.5 0.1 0.1 0.1 0.1 0.0124257 0.1 0.1
LEARNING RATE - ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ LEARNING RATE ΓΙΑ ΤΗΝ ΣΥΝΑΡΤΗΣΗ Α1 ΜΕΤΑ ΤΗΝ ΑΛΛΑΓΗ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ
LEARNING RATE - ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ LEARNING RATE ΓΙΑ ΤΗΝ ΣΥΝΑΡΤΗΣΗ Α ΜΕΤΑ ΤΗΝ ΑΛΛΑΓΗ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ
ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΤΑ ΑΠΟ ΠΟΛΛΕΣ ΦΟΡΕΣ ΠΟΥ ΕΤΡΕΞΑ ΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΓΙΑ ΤΗΝ ΠΡΟΣΑΡΜΟΓΗ ΤΟΥ ΡΥΘΜΟΥ ΜΑΘΗΣΗΣ, ΣΥΜΠΕΡΑΝΑ ΟΤΙ ΓΙΑ ΤΗΝ ΚΑΛΗ ΛΕΙΤΟΥΡΓΙΑ ΤΟΥΣ ΧΡΕΙΑΖΟΝΤΑΙ ΣΩΣΤΑ ΚΡΙΤΙΡΙΑ ΓΙΑ ΝΑ ΚΡΙΝΟΥΝ ΤΗΝ ΑΠΟΔΟΣΗ ΕΝΟΣ SET ΕΚΠΑΙΔΕΥΣΗΣ (ΜΕ ΚΑΘΕ SET ΝΑ ΑΠΟΤΕΛΕΙΤΑΙ ΑΠΟ 100000 ΕΠΙΣΟΔΕΙΑ). ΤΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΤΗΝ ΠΡΑΞΗ ΕΙΝΑΙ ΚΑΛΑ ΚΑΙ ΣΕ ΟΠΟΙΑΔΗΠΟΤΕ ΣΤΙΓΜΗ ΜΕΤΑΞΥ ΤΩΝ SET ΕΚΠΑΙΔΕΥΣΗΣ ΕΚΤΕΛΕΣΤΕΙ Η ΣΥΝΑΡΤΗΣΗ ΕΠΙΔΕΙΞΗΣ ΟΔΗΓΕΙ ΜΕ ΚΑΛΟ Η ΒΕΛΤΙΣΤΟ ΜΟΝΟΠΑΤΙ ΣΤΟ FINAL STAGE.
ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ ΣΥΝΑΡΤΗΣΗ Α1
ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ ΣΥΝΑΡΤΗΣΗ Α1 ΜΕΤΑ ΤΗΝ ΑΛΛΑΓΗ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ
ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ ΣΥΝΑΡΤΗΣΗ Α
ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ ΣΥΝΑΡΤΗΣΗ Α ΜΕΤΑ ΤΗΝ ΑΛΛΑΓΗ ΤΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ