ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Αλγόριθμος Bellman-Ford, Δρομολόγηση BGP στο Internet καθ. Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr Πέμπτη 23/5/2019
Παράδειγμα Δυναμικού Προγραμματισμού: Βελτιστοποίηση Δρομολόγησης (Επανάληψη) Εύρεση Δρόμων Ελάχιστου Κόστους από Κόμβο A σε Κόμβο J μέσω του μονοκατευθυντικού γράφου όπως στο σχήμα με κατεύθυνση γραμμών Δ Α Ενδεικτικό κόστος γραμμών: A B: 2, B A: B F: 4, F B: Ενδεικτικό κόστος δρόμου: Δρόμος {A, B, F, I, J, Q}: 2 + 4 + 3 + 4 = 13 Κατάσταση Περιβάλλοντος: Κόμβος σε παρούσα διερεύνηση {A, B,, J} Αποφάσεις Agent: Επόμενος κόμβος για διερεύνηση {up, down, staight} Αναδρομικός Yπολογισμός Q-Factors: Q H, down = 3 Q I, up = 4 Q E, staight = 1 + 3 = 4 Q E, down = 4 + 4 = 8 Q F, up = 6 + 3 = 9 Q F, down = 3 + 4 = 7.. Κατεύθυνση Γραμμών Δ Α Βέλτιστοι Δρόμοι Κόστους 11: A, C, E, H, J, A, D, E, H, J, {A, D, F, I, J} Αλγόριθμοι Δυναμικού Προγραμματισμού Bellman-Ford στηρίζουν την δρομολόγηση Border Gateway Protocols (BGP) ανάμεσα στα ~62,000 Αυτόνομα Συστήματα (Autonomous Systems, AS) στο Internet (~750,000 γνωστά δίκτυα)
Δυναμικός Προγραμματισμός με Προσέγγιση Monte Carlo Οι δύο αλγόριθμοι Δυναμικού Προγραμματισμού (Value Iteration & Policy Iteration) προαπαιτούν γνώση των πιθανοτήτων μεταβάσεων p ij (a) και του άμεσα αναμενόμενου N κόστους κατάστασης c i, a = j=1 p ij g i, a, j εκτιμώμενου με βάση τα γνωστά g i, μ i, j = g(i, a, j) (άμεσα κόστη μετάβασης i j με απόφαση a). Η απόφαση μ i = a του agent ορίζεται μονοσήμαντα για την κατάσταση i g(i, a, j) g(i, j) Οι απευθείας προσεγγιστικές μέθοδοι (Direct Approximate Dynamic Programming Methods) εκτιμούν τις πιθανότητες και αναμενόμενα κόστη μεταβάσεων με βάση προσομοιώσεις Monte Carlo: Value Iteration Temporal-Difference TD(0) Learning Policy Iteration Q-Learning Γενική Θεώρηση Δημιουργία Lookup Table για όλες τις καταστάσεις του περιβάλλοντος i X, i = 1,2,, N και της απόφασης του agent a = μ(i) A i βάση πολιτικής π = {μ, μ, } Καταγραφή με προσομοιώσεις Monte Carlo πολλαπλών πιθανών τροχιών (system trajectories) της εξέλιξης του Markov Decision Process και ανανέωση τιμών συναρτήσεων cost-to-go J i σε κάθε επίσκεψη τροχιάς της κατάστασης i προς κατάσταση j με προσθήκη του (γνωστού) άμεσου (observed) κόστους μετάβασης g(i, j) Οι μέθοδοι Monte Carlo απαιτούν γνώση της δομής του περιβάλλοντος, διαχειρήσιμο αριθμό καταστάσεων και σημαντικό αριθμό από trajectories για καλές εκτιμήσεις Οι καταχωρήσεις σε lookup tables έχουν απαιτήσεις σε μνήμη ανάλογες με τον αριθμό καταστάσεων του περιβάλλοντος
Προσεγγιστικός Αλγόριθμος TD(0) Learning Value Iteration Temporal-Difference TD(0) Learning Εξισώσεις Bellman υπολογισμού costs-to-go από i n στο βήμα n < N, τελική κατάσταση i N = 0: N n 1 J μ i n = E g i n, i n+1 + γj μ i n+1 = E γ k g i n+k, i n+k+1 k=0, n = 0,1,, N 1 Με επανειλημμένες προσομοιώσεις Monte Carlo δημιουργούμε trajectories του συστήματος και μαθαίνουμε τα J μ i n μέσω Robbins-Monroe Successive Approximations που διορθώνουν εκτιμήσεις τιμών τους (updates) κατά την επίσκεψη της κατάστασης i n με συντελεστή μάθησης (learning rate) η n : J μ i n J μ i n + η n g i n, i n+1 + γj μ i n+1 J μ i n = J μ i n + η n d n Το σφάλμα d n g i n, i n+1 + γj μ i n+1 J μ i n, n = 0,1,, N 1 ονομάζεται χρονική διαφορά (Temporal Difference, TD) στο βήμα n και οδηγεί τα J μ i n προς τη σύγκλιση Εναλλακτικός αλγόριθμος update προκύπτει από την μακρόχρονη επαναληπτική σχέση: J μ i n J μ N n 1 i n + η n k=0 γ k g i n+k, i n+k+1 J μ i n = J μ N n 1 i n + η n k=0 γ k d n+k με αρχικές συνθήκες J μ i n = 0, τελικά κόστη J μ i N = 0 και learning rate η n = 1 n Tα costs-to-go εκτιμώνται σαν μέσοι όροι σε μεγάλο αριθμό επαναλήψεων προσομοιώσεων με πάρα πολλές επισκέψεις T καταστάσεων i n στο βήμα n κάποιου trajectory : N n 1 k=0 J μ i n = E γ k g i n+k, i n+k+1 1 T N n 1 k=0 T c i n όπου c i n γ k g i n+k, i n+k+1
Προσεγγιστικός Αλγόριθμος Q-Learning (1/2) Policy Iteration Q-Learning Μέθοδοι βελτιστοποίησης μέσω ενισχυτικής μάθησης Προσδιορισμός πολιτικής από τον agent κατά τη εξέλιξη των καταστάσεων (on-policy estimation) με άπληστες αποφάσεις (greedy decisions) Δυναμικού Προγραμματισμού Προσδιορισμός πολιτικής βέλτιστης συμπεριφοράς (off-policy behavior generation) μέσω δημιουργίας δειγμάτων για όλα τα δυνατά σενάρια αποφάσεων: Q-Learning Ορίζουμε s n i n, a n, j n, g n για μεταβάσεις i n j n = i n+1 στο βήμα n με απόφαση a n και άμεσο κόστος μετάβασης g n = g(i n, a n, j n ) Με βάση παρατηρήσεις δειγμάτων s n ο αλγόριθμος Q-Learning οδηγεί το σύστημα στη μάθηση βέλτιστης πολιτικής κατά προσέγγιση του policy iteration Προϋπόθεση: Η i n πρέπει να είναι fully observable) Σύνοψη Εννοιών Δυναμικού Προγραμματισμού Βέλτιστα Cost-to-Go (Bellman): J N i = min c i, a + γ p ij J (j) a A j=1, i = 1,2,, N i N Ορισμός Q-Factors: Q i, a c i, a + γ j=1 p ij a J(j) N Ορισμός Άμεσου Αναμενόμενου Κόστους: c i, a j=1 p ij g i, a, j Ορισμός Βέλτιστων Q-Factors: Q N i, a = j=1 p ij (a) g i, a, j + γ min Q (j, b) b A j
Αλγόριθμος Υπολογισμού Q i, a με Successive Approximations (Robins-Monro) N Q i, a 1 η Q i, a + η j=1 p ij (a) g i, a, j + γ min b A j Q(j, b) για i, a Από τα Q i, a προσδιορίζεται ο πίνακας βέλτιστης πολιτικής π με αντιστοίχηση μ* i = arg min a A i Q i, a για i = 1,2,, N Στοχαστική Παραλλαγή Αν οι p ij (a) δεν είναι διαθέσιμες ο αλγόριθμος βασίζεται σε Monte Carlo trajectories: Στην επανάληψη n με J n j Προσεγγιστικός Αλγόριθμος Q-Learning (2/2) Policy Iteration Q-Learning = min b A j Q n j, b : Q n+1 i, a 1 η n Q n i, a + η n [g i, a, j + γj n (j)] για i, a = i n, a n Q n+1 i, a Q n i, a για i, a i n, a n Στο όριο Q i, a = lim n Q n i, a Η learning parameter η n είναι φθίνουσα ως προς n, π.χ. η n = α β + n με α, β θετικά
Παράδειγμα Δυναμικού Προγραμματισμού: Δρομολόγηση BGP στο Internet - RFC 4271 (1/7) Υλικό από Παρουσιάσεις Μαθήματος Διαχείριση Δικτύων Ευφυή Δίκτυα ΣΗΜΜΥ Ε.Μ.Π. http://www.netmode.ntua.gr/main/index.php?option=com_content§ionid=4&task=view&id=148&itemid=49 Το παγκόσμιο Internet αποτελείται από ~750,000 γνωστά δίκτυα τελικούς προορισμούς (π.χ. Δίκτυο ΕΜΠ, IP: 147.102.0.0/16), οργανωμένα σε ~62,000 Αυτόνομα Συστήματα (Autonomous Systems, AS) με διαχειριστική αυτονομία (π.χ. GRNET/ΕΔΕΤ, ASN 5408) Η δρομολόγηση εντός Αυτόνομης Κοινότητας γίνεται με βάση κεντρικά ρυθμιζόμενα πρωτόκολλα (Interior Gateway Protocols IGP, π.χ. OSPF) ενώ μεταξύ των 62,000 AS s μέσω γενικών πινάκων δρομολόγησης σε συνοριακούς δρομολογητές (Border Gateways, Border Routers) με καταχωρήσεις για όλα τα 750,000 γνωστά δίκτυα του Internet H δημιουργία ανανέωση των γενικών πινάκων δρομολόγησης (σε ηλεκτρονική μνήμη των Border Gateways) γίνεται με το πρωτόκολλο Border Gateway Protocol BGP Οι Border Routers (Gateways) των AS ανακοινώνουν (μέσω BGP signaling) στα 62,000 AS s του Internet τα 750,000 δίκτυα τελικούς προορισμούς τα οποία είτε ανήκουν σε αυτά ή είναι προσπελάσιμα (reachable) διαμέσου αυτών, με εκτιμήσεις κόστους (βάρους) βέλτιστων inter-as δρόμων προς κάθε δίκτυο - προορισμό Οι Border Gateways υπολογίζουν αυτόνομα βέλτιστες διαδρομές προς όλα τα δίκτυα τελικούς προορισμούς με βάση τις προτιμήσεις (πολιτικές) των διαχειριστών τους, αν κρίνουν πως αλλαγές τοπολογίας ή πολιτικής ή επίδοσης επιβάλλουν ανανέωση δρόμων Ο κατανεμημένος προσδιορισμός βέλτιστης δρομολόγησης συνυπολογίζει εκτιμήσεις κόστους (βαρών) προς 750,000 δίκτυα - τελικούς προορισμούς με βάση εκτιμήσεις reachability και μετρήσεις κόστους διασύνδεσης προς τα άμεσα γειτονικά αυτόνομα συστήματα. Βασίζεται στον Αλγόριθμο Bellman Ford (Δυναμικό Προγραμματισμό)
Παράδειγμα Δυναμικού Προγραμματισμού: Δρομολόγηση BGP στο Internet - RFC 4271 (2/7) Αλγόριθμος Distance Vector (Bellman Ford) BGP (Bellman Ford) Οι συνοριακοί δρομολογητές (Border Gateways) κάθε Αυτόνομης Περιοχής (AS) εντοπίζουν τους βέλτιστους δρόμους (shortest paths) ενδιάμεσων και τελικού AS προς όλα τα γνωστά δίκτυα προορισμούς εκτελώντας αλγόριθμο βασισμένο στον δυναμικό προγραμματισμό (dynamic programming) που εισήγαγε ο Bellman Χρειάζεται γνώση διανυσμάτων κόστους (βαρών) των άμεσων συνδέσεων (Inter AS Interfaces) και εκτιμήσεις κόστους (αποστάσεις, distance vectors) προς όλα τα γνωστά δίκτυα (750,000+) προορισμούς στο Internet Η βελτιστοποίηση βασίζεται σε Κατανεμημένη Μάθηση που υλοποιείται μέσω σηματοδοσίας ανακοινώσεων (BGP Announcements) μεταξύ όλων των (62,000+) Αυτόνομων Περιοχών (AS) του Internet με πληροφορίες δρομολόγησης και εκτιμήσεις κόστους Το BGP αποτελεί κύριο παράγοντα επιτυχίας της παγκόσμιας επανάστασης του Internet
Παράδειγμα Δυναμικού Προγραμματισμού: Δρομολόγηση BGP στο Internet - RFC 4271 (3/7) Δίκτυο (Γράφος) Αναφοράς Παραδείγματος, N = 6 Κόμβων Οι κόμβοι του γράφου παριστούν τα διάφορα AS του Internet Τα δίκτυα πηγής και προορισμού των χρηστών είναι ενσωματωμένα στους κόμβους (AS) Source Destination του γράφου Τα κόστη των γραμμών του γράφου αφορούν και στις 2 κατευθύνσεις και εκτιμώνται από τους άμεσα συνδεόμενους κόμβους (Border Gateways) με βάση προτιμήσεις των διαχειριστών Στο παράδειγμα που ακολουθεί υπολογίζονται δένδρα ελαχίστων δρόμων (shortest path trees) από όλους τους κόμβους (AS) προς την ρίζα {6} Η επιλογή του ρόλου της ρίζας του δένδρου (πηγή ή προορισμός) έγινε αυθαίρετα. Οι αλγόριθμοι ισχύουν κατ αναλογία για αντίστροφους ρόλους ρίζας
Παράδειγμα Δυναμικού Προγραμματισμού: Δρομολόγηση BGP στο Internet - RFC 4271 (4/7) Υπολογισμός Δένδρου Ελάχιστων Δρόμων (Shortest Path Tree) προς {6} από {1, 2, 3, 4, 5} Εφαρμογή Αλγορίθμου Q-Learning (Off-policy) με Asynchronous Updates {i} Κατάσταση (State) του γράφου, κόμβος (AS) i = 1,2,, N (στο παράδειγμα N = 6, μέχρι 62,000 στο Internet) P (n) (i) Απόφαση (Action): Επόμενος κόμβος (AS) από τον {i} προς τον {6}, ενδιάμεσος ή τελικός στην επανάληψη (Iteration) n d ij Κόστος (βάρος) γραμμής (i, j) στην επανάληψη n (Transtion Cost) ρυθμιζόμενο από την πολιτική δρομολόγησης του {i} ή/και απευθείας μετρήσεις των αμέσων γειτόνων i, j. Αν d ij = c (i, j) min hop routing L (n) (i) Labels, Q-Factors L (n) (i) Q(i, P n i ) : Εκτιμήσεις ελάχιστου κόστους (από τον {i} προς τον {6} στην επανάληψη n (ανανεώνονται ασύγχρονα, σύμφωνα με τις πιο πρόσφατες εκτιμήσεις ανάλογα με την σειρά εκτέλεσης των ανανεώσεων updates) Περιγραφή Αλγορίθμου Bellman Ford Αρχικά έχουμε L 0 i = i 6, L n 6 = 0 n, Σε κάθε διαδοχική επανάληψη (iteration) n = 1,2, και i ανανεώνουμε ασύγχρονα τις εκτιμήσεις ελαχίστου κόστους από την παρούσα κατάσταση προς τον προορισμό με βάση τις σχέσεις του Δυναμικού Προγραμματισμού σύμφωνα με τις πιο πρόσφατες εκτιμήσεις (updates) των L n j για όλους τους άμεσους γείτονες j του i: = min j L j n + d ij i 6 Αν L i n+1 = L i n i σταματάμε τον αλγόριθμο και προσδιορίζουμε τους βέλτιστους δρόμους από όλα τα {i} προς τον προορισμό {6} σύμφωνα με τις αποφάσεις P (n) (i) σαν Shortest Path Tree με ρίζα τον {6} Πολυπλοκότητα αλγορίθμου: Ο(N 3 ) L i n+1
Παράδειγμα Δυναμικού Προγραμματισμού: Δρομολόγηση BGP στο Internet - RFC 4271 (5/7) Εκτέλεση Αλγορίθμου για Προορισμό {6} Η ταχύτητα σύγκλησης εξαρτάται από την σειρά ανανέωσης των Labels των κόμβων
Παράδειγμα Δυναμικού Προγραμματισμού: Δρομολόγηση BGP στο Internet - RFC 4271 (6/7) Παράδειγμα Μάθησης - Ανακοίνωσης Δικτύου 135.207.0.0/16 (από παρουσίαση του Timothy G. Griffin, AT&T Research, Paris 2002) 12
Παράδειγμα Δυναμικού Προγραμματισμού: Δρομολόγηση BGP στο Internet - RFC 4271 (7/7) Πραγματική Εικόνα των Δρόμων BGP (13-10-2018) ΠΑΡΟΧΗ INTERNET ΣΤΟ Ε.Μ.Π. (NTUA - ASN 3323) GRNET (5408), GÉANT (20965), Cogent (174), TELIA (1299) https://stat.ripe.net/special/bgplay GÉANT Tier 1/2 Providers (Internet feeds) Cogent (ASN 174) TELIA (ASN 1299)