Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα
2
Ασύρματα δίκτυα τύπου ad hoc
Τοπικά (LAN) ή άλλα μικρά δίκτυα …με ασύρματες συνδέσεις …οι συσκευές αποτελούν μέρος του δικτύου μόνο όσο επικοινωνούν με αυτό ή …όσο είναι τοπικά κοντά στο δίκτυο
3
Ασύρματα δίκτυα τύπου ad hoc
4
Ασύρματα δίκτυα τύπου ad hoc
5
Ασύρματα δίκτυα τύπου ad hoc
6
Ασύρματα δίκτυα τύπου ad hoc
Δε διαθέτουν ενσύρματη υποδομή Το δίκτυο φτιάχνεται από κόμβους – ασύρματες συσκευές που λειτουργούν με περιορισμένη ενέργεια (π.χ., με μπαταρίες) και μπορούν να στέλνουν και να λαμβάνουν μηνύματα μέσω αμφικατευθυνόμενων κεραιών Η ύπαρξη και η λειτουργία των δικτύων αυτών σχετίζεται άμεσα με το πόσο θα κρατήσει η ενέργεια των κόμβων Αυτό τα κάνει ενδιαφέροντα λόγω πολλών εφαρμογών που έχουν τα χρησιμοποιούμε όπου δε μπορούμε να έχουμε καλώδια και για συλλογή και επεξεργασία δεδομένων και αρκούν κόμβοι με μπαταρίες Από την άλλη πλευρά το θέμα της αποδοτικής διαχείρισης της ενέργειας που υπάρχει στο δίκτυο είναι δύσκολο και επομένως ενδιαφέρον
7
Ασύρματα δίκτυα τύπου ad hoc
8
Ασύρματα δίκτυα τύπου ad hoc
Τηλεφωνικές συσκευές (κινητές, ασύρματες) Ασύρματες συσκευές πολυμέσων (ακουστικά, ηχεία, μικρόφωνα) Φορητοί υπολογιστές (laptops, desktop) Ασύρματες περιφερειακές συσκευές (πληκτρολόγια, mouse) Περιφερειακά τοπικού δικτύου (LAN – Local Area Network) (εκτυπωτές, fax) PDAs - Personal Digital Assistants (palm top/pilot) Ψηφιακές φωτογραφικές μηχανές
9
Ασύρματα δίκτυα τύπου ad hoc: παραδείγματα/εφαρμογές
Αίθουσα Σχολείο: Ad hoc δίκτυο μεταξύ των PDAs των φοιτητών και του σταθμού εργασίας του καθηγητή Μουσείο: Ad hoc δίκτυο μεταξύ των PDAs των επισκεπτών και του φορητού υπολογιστή του ξεναγού Χώροι μεγάλης έκτασης Εταιρεία/Πανεπιστημιούπολη: Οι εργαζόμενοι μετακινούνται σε μεγάλη περιοχή με PDAs, laptops και κινητά τηλέφωνα Αρχαιολογικός/εκθεσιακός χώρος: Οι επισκέπτες μετακινούνται σε μεγάλη περιοχή με PDAs, laptops, κινητά τηλέφωνα, ηλεκτρονικά βραχιολάκια π.χ. Virtual Guide XENAGOS - Μετακινούμενοι στρατιώτες με υπολογιστικές συσκευές (π.χ., ρολόγια, GPS, κτλ) που τις φοράνε Μπορούν να πραγματοποιήσουν υποκλοπές, επιθέσεις denial-of-service και impersonation Εμπορικά κέντρα, εστιατόρια, καφέ, αεροδρόμια Οι πελάτες ξοδεύουν μέρος της μέρας τους σε δικτυωμένο εμπορικό κέντρο με ποικιλία καταστημάτων, καφέ, εστιατορίων, … (m-commerce)
10
Το σύστημα ΜΤΑ στο Ντουμπάι
ΜΤΑ: Mobile Tourist Agent Σύστημα παροχής τουριστικών πληροφοριών είτε για την πόλη είτε για το χώρο διαμονής Οποιαδήποτε κινητή συσκευή ή PDA χρησιμοποιείται για τη λήψη πληροφοριών από έναν server Μέσω διαδραστικού χάρτη της πόλης δίνονται πληροφορίες για ξενοδοχεία, εστιατόρια, θέατρα, πρεσβείες, εντοπισμό θέσης, συνάλλαγμα, καιρό,… Υπάρχει και απλούστερη έκδοση που εκτελείται από υπολογιστή και δεν απαιτεί εγκατάσταση στο κινητό
11
Ασύρματα δίκτυα αισθητήρων – «έξυπνη σκόνη» (smart dust)
Η εφαρμογή αναπτύχθηκε αρχικά από το πανεπιστήμιο του Berkeley με χρηματοδότηση του DAPRA με υλοποίηση ασύρματου δικτύου Αισθητήρων μεγάλης κλίμακας και ονομάστηκε Smart Dust (έξυπνη σκόνη) Το Smart Dust προοριζόταν αρχικά για τη εξ’αποστάσεως παρακολούθηση εχθρικών στρατευμάτων από το στρατό μέσω χιλιάδων ασύρματων μικροαισθητήρων “motes” διασκορπισμένων στο πεδίο της μάχης Το Smart Dust βρήκε πληθώρα εφαρμογών όπως για παρακολούθηση των ατμοσφαιρικών και καιρικών συνθηκών Ενδιαφέρουσα είναι και η βιοτεχνολογική προσέγγιση τις ιδέας με motes από χημικά συστατικά αντί για ηλεκτρονικά κυκλώματα…
12
Ασύρματα δίκτυα αισθητήρων – «έξυπνη σκόνη» (smart dust)
Χιλιάδες έως εκατομμύρια μικροί αισθητήρες σχηματίζουν ασύρματα δίκτυα που οργανώνονται μόνα τους (χωρίς κεντρικό συντονισμό) Οι κόμβοι είναι μικρές συσκευές που λειτουργούν με μπαταρίες και επικοινωνούν με έναν ισχυρότερο σταθμό βάσης ο οποίος συνδέεται με εξωτερικό δίκτυο
13
Ασύρματα δίκτυα αισθητήρων – «έξυπνη σκόνη» (smart dust)
Επικοινωνία αισθητήρα σταθμό βάσης: π.χ. δεδομένα αισθητήρα Επικοινωνία σταθμού βάσης αισθητήρα, π.χ. συγκεκριμένες απαιτήσεις Σταθμός βάσης όλους τους αισθητήρες, π.χ. πληροφορίες δρομολόγησης, ερωτήσεις ή επαναπρογραμματισμός του δικτύου
14
WSN για την έγκαιρη ανίχνευση προβλημάτων σε αγωγούς
British Petroleum WSN για μέτρηση μη φυσιολογικών δονήσεων κατά τη διάρκεια γεωτρήσεων ώστε να προειδοποιούνται οι μηχανικοί για πιθανή επερχόμενη βλάβη του εξοπλισμού WSN για την εξ’ αποστάσεως παρακολούθηση του επιπέδου πληρότητας των δεξαμενών υγραερίου Με χρήση υπερηχητικού αισθητήρα στη δεξαμενή μετριέται η πληρότητα και στη συνέχεια εκπέμπεται μέσω δορυφόρου χαμηλής τροχιάς σε ένα σταθμό βάσης με αποτέλεσμα να ενημερώνονται οι πελάτες πριν τελειώσουν τα αποθέματα τους Η επίτευξη αντίστοιχων αποτελεσμάτων με ενσύρματα μέσα θα ήταν αδύνατη…
15
Zebranet για παρακολούθηση άγριας ζωής στην Κένυα
WSN που ανέπτυξε το Πανεπιστήμιο Princeton το 2005 ( για την παρακολούθηση της μετανάστευσης, της συνύπαρξης με άλλα είδη και της νυχτερινής συμπεριφοράς πληθυσμών ζέβρας στην Αφρική Οι ζέβρες φέρουν αισθητήρες Περιβαλλοντικές δυσκολίες (νερό, δαγκώματα) Η θέση GPS λαμβάνεται κάθε 3 λεπτά Λεπτομερής πληροφορία λαμβάνεται κάθε ώρα (ένδειξη για ήλιο/σκιά, ταχύτητα) Κινούμενος σταθμός βάσης που δεν είναι συνεχώς διαθέσιμος
16
WSN για την παρακολούθηση της καταπόνησης σιδηροτροχιών σε γέφυρα
10 κόμβοι αισθητήρες Εύρος μετάδοσης: 100 m Λειτουργία με χαμηλή ισχύ που αυξάνεται όταν εμφανίζεται τραίνο Οι ρυθμοί καταπόνησης καταγράφονται στους κόμβους σε Flash μνήμη Ο σταθμός βάσης συλλέγει τα δεδομένα περιοδικά Γέφυρα Ben Franklin, Philadelphia,US
17
Υποθαλάσσιο ακουστικό WSN
Υψηλή εξασθένιση σήματος Πολλά σφάλματα στη μετάδοση Προσωρινές απώλειες σύνδεσης Καταστροφή αισθητήρων Πρόβλημα με μπαταρίες (δε μπορεί να χρησιμοποιηθεί ηλιακή ενέργεια) Περιορισμοί στο εύρος ζώνης J. M. Daladier, Διδακτορική Διατριβή, University of South Florida (2009)
18
Έξυπνα σπίτια
19
WSN στο ανθρώπινο σώμα (Body Sensor Networks - BSN)
Οι σύγχρονες υπηρεσίες τηλεϊατρικής στοχεύουν στο διαρκή εξ’ αποστάσεως έλεγχο της κατάστασης της υγείας του ασθενούς μέσω της συλλογής, επεξεργασίας, αξιολόγησης, αξιοποίησης και αποθήκευσης κατάλληλης πληροφορίας
20
CodeBlue: Wireless Sensors for Medical Care (Harvard)
WSN για παροχή ενδο/εξω-νοσοκομειακής επείγουσας περίθαλψης και αποκατάστασης ασθενών
21
WSN για αυτόματο έλεγχο/ επίβλεψη σε μουσεία (Πορτογαλία)
L.M. Rodríguez Peralta, L.M.P.L. Brito, B.A.T. Gouveia, D.J.G. Sousa, & C.S. Alves.Automatic monitoring and control of museums’ environment based on Wireless Sensor Networks. EJSE Special Issue: Wireless Sensor Networks and Practical Applications, pp , 2010.
22
WSN για συλλογικά μουσικά δρώμενα
Santiago J. Barro, TiagoM. Fernandez-Carames, and Carlos J. Escudero. Enabling Collaborative Musical Activities through Wireless Sensor Networks. International Journal of Distributed Sensor Networks, Vol. 2012, Article ID , 13 pages, Hindawi Publishing Corporation, 2012.
23
WSN για μελέτη μαθησιακών διαδικασιών σε εξωτερικό περιβάλλον
Tom Adam Frederic Anderson, Yean-Fu Wen. An Approach to Learning Research with a Wireless Sensor Network in an Outdoor Setting. CoRR abs/ (2008).
24
Ασύρματα δίκτυα τύπου ad hoc
Ευρεία ανάπτυξη λόγω ποικίλων εφαρμογών Έλλειψη ενσύρματης δικτυακής υποδομής Ασύρματη επικοινωνία μεταξύ κόμβων Χρήση αμφικατευθυνόμενων κεραιών Επικοινωνία μέσω ανάθεσης (περιορισμένης) ισχύος μετάδοσης σε κάθε κόμβο Χαρακτηριστικά Περιορισμένη διάρκεια ζωής κόμβων/δικτύου Περιορισμένες υπολογιστικές δυνατότητες Τα ασύρματα δίκτυα ad hoc έχουν το χαρακτηριστικό ότι δε διαθέτουν ενσύρματη υποδομή. Το δίκτυο φτιάχνεται από κόμβους – ασύρματες συσκευές που λειτουργούν πχ με μπαταρίες, δηλ με περιορισμένη ενέργεια και μπορούν να στέλνουν και να λαμβάνουν μηνύματα μέσω αμφικατευθυνόμενων κεραιών Η ύπαρξη και η λειτουργία των δικτύων αυτών σχετίζεται άμεσα με το πόσο θα κρατήσει η ενέργεια των κόμβων Αυτό τα κάνει ενδιαφέροντα λόγω πολλών εφαρμογών που έχουν (τα χρησιμοποιούμε όπου δε μπορούμε να έχουμε καλώδια και για συλλογή και επεξεργασία δεδομένων και αρκούν κόμβοι με μπαταρίες) Από την άλλη πλευρά το θέμα της αποδοτικής διαχείρισης της ενέργειας που υπάρχει στο δίκτυο είναι δύσκολο και επομένως ενδιαφέρον
25
Μοντέλο ασύρματης επικοινωνίας
Κάθε κόμβος εκπέμπει χρησιμοποιώντας μια (περιορισμένη) ισχύ μετάδοσης Η ισχύς του σήματος μειώνεται σύμφωνα με τη σχέση 1/ra P γ d(s,t)a P: ισχύς του εκπομπού γ: κατώφλι του παραλήπτη για να μπορεί να ανιχνεύσει το σήμα (γ=1) a: σταθερά που εξαρτάται από το περιβάλλον Πώς επικοινωνούν οι κόμβοι σε δίκτυα ad hoc? Είπαμε ότι διαθέτουν περιορισμένη ενέργεια. Η ισχύς του σήματος που εκπέμπει ένας κόμβος μειώνεται όσο απομακρυνόμαστε από αυτόν και συγκεκριμένα με βάση τον τύπο 1/r^α r είναι η ακτίνα εκπομπής και α μια σταθερά που εξαρτάται από το περιβάλλον και παίρνει τιμές από 1 έως 6 Για να επικοινωνήσουν 2 κόμβοι s και t ο πομπός πρέπει να εκπέμπει με ισχύ μεγαλύτερη από την ποσότητα γ επί την απόστασή τους υψωμένη στη σταθερά α – γ είναι το κατώφλι του παραλήπτη για να μπορεί να «πιάσει» το σήμα
26
Επικοινωνία Απαιτούμενη ισχύς ανάλογη του rα
27
Επικοινωνία Απαιτούμενη ισχύς ανάλογη του rα
28
Επικοινωνία Απαιτούμενη ισχύς ανάλογη του rα
29
Σχήματα επικοινωνίας Ένας-σε-όλους (broadcasting)
Όλοι-σε-όλους (gossiping) Συνηθισμένα κι ενδιαφέροντα σχήματα επικοινωνίας είναι: Να στέλνει ένας σε όλους Ένας σε πολλούς (Multicasting) – αυτό κάνουμε εμείς Όλοι σε όλους και ομάδες κόμβων μεταξύ τους Ένας-σε-πολλούς (multicasting) Ομαδική επικοινωνία (group communication)
30
Μοντέλο ad hoc δικτύων G = (V,E): πλήρες κατευθυνόμενο γράφημα
c : E R+ συνάρτηση κόστους στις ακμές Συνήθως συμμετρική: c(u,v) = c(v,u) c(u,v): υποδηλώνει απαιτούμενη ενέργεια για την επικοινωνία από την κορυφή u στην κορυφή v c1 c’1 Πώς μοντελοποιούμε ένα ad hoc δίκτυο? Μέσω ενός κατευθυνόμενου γραφήματος Χρησιμοποιώντας μια συνάρτηση ανάθεσης κόστους στις ακμές – το κόστος σημαίνει πόση ενέργεια χρειάζεται για να «μιλήσουν» οι κόμβοι στα άκρα μιας ακμής Συνήθως η συνάρτηση αυτή είναι συμμετρική, δηλ όσο κοστίζει να μιλήσει ο κόμβος Α με το Β στοιχίζει και το αντίστροφο. Δείτε το σχήμα: έχουμε ένα laptop ένα κινητό τηλέφωνο και ένα pc. Καθένα από αυτά αντιστοιχεί σε ένα μαύρο κόμβο – υπάρχουν ακμές και προς τις δύο κατευθύνσεις μεταξύ των κόμβων και το κόστος πχ c3 σημαίνει πόση ενέργεια πρέπει να δαπανηθεί για να «μιλάνε» laptop και κινητό c3 c2 c’3 c’2 30
31
Γράφημα μετάδοσης w: VR+ ανάθεση βαρών στις κορυφές
Gw(VwEw): κατευθυνόμενο γράφημα Ew = { (u,v) E και c(u,v) w(u)} 6 1 9 9 2.23 2 Το γράφημα μετάδοσης προκύπτει αν δώσουμε «βάρη» δηλ ενέργεια στους κόμβους και βάλουμε ακμές προς όσους κόμβους μπορεί να πιάσει κάποιος με την ενέργεια που έχει. Και είναι ένα κατευθυνόμενο γράφημα. Πχ αυτός με την ενέργεια 6 λόγω γεωμετρίας μπορεί να φτάσει κόμβους σε απόσταση το πολύ 6 από αυτόν, δηλ τον 9 Ο 9 τους φτάνει όλους ενώ πχ ο 4 δε φτάνει κανέναν… 4 5 7 31
32
Προβλήματα ελαχιστοποίησης ενέργειας
Δεδομένα G = (V,E): πλήρες κατευθυνόμενο γράφημα c: E R+ συνάρτηση κόστους στις ακμές Ζητούμενο w: V R+ ανάθεση βαρών στις κορυφές έτσι ώστε: Το γράφημα μετάδοσης Gw να διατηρεί μια ιδιότητα συνεκτικότητας και το συνολικό βάρος να γίνεται ελάχιστο Στα προβλήματα ελαχιστοποίησης ενέργειας δίνεται ένα κατευθυνόμενο γράφημα και κόστη στις ακμές και εμείς πρέπει να φτιάξουμε ένα γράφημα μετάδοσης (δηλ να δώσουμε βάρη στους κόμβους) ώστε να διατηρείται κάποια ιδιότητα συνεκτικότητας και να ελαχιστοποιείται το συνολικό βάρος (δηλ η συνολική ενέργεια) 32
33
Γεννητικό δέντρο (Spanning Tree)
Ένα γεννητικό δέντρο για κάθε γράφημα G με n κορυφές έχει n-1 ακμές G
34
Γεννητικό δέντρο (Spanning Tree)
Ένα γεννητικό δέντρο για κάθε γράφημα G με n κορυφές έχει n-1 ακμές G
35
Γεννητικό δέντρο (Spanning Tree)
Ένα γεννητικό δέντρο για κάθε γράφημα G με n κορυφές έχει n-1 ακμές G X
36
Ελάχιστο γεννητικό δέντρο (Minimum Spanning Tree)
έχει ελάχιστο βάρος G Α 2 6 6 E Β 8 4 1 5 8 D C 9
37
Ελάχιστο γεννητικό δέντρο (Minimum Spanning Tree)
έχει ελάχιστο βάρος W=26 W=22 G Α Α Α 2 6 6 2 6 6 E Β E Β E Β 8 4 8 7 5 7 5 5 8 D C D D C C D C 9 9
38
Ελάχιστο γεννητικό δέντρο (Minimum Spanning Tree)
έχει ελάχιστο βάρος W=24 G Α Α Για να βρούμε το MST πρέπει να βρούμε κάθε πιθανό ST και να διαλέξουμε αυτό με το μικρότερο βάρος…??? 2 6 6 E Β E Β 8 8 4 4 7 5 7 5 8 D C D C 9
39
Το πρόβλημα εύρεσης ελάχιστου γεννητικού δένδρου
MST: Minimum Spanning Tree Δεδομένα: Συνεκτικό, μη κατευθυνόμενο γράφημα, με βάρη στις ακμές Ζητούμενο: Υπογράφημα χωρίς κύκλους (δηλ., δέντρο) που συνδέει όλες τις κορυφές (= γεννητικό) και έχει ελάχιστο βάρος Βάρος υπογραφήματος = άθροισμα βαρών των ακμών του Ένα γράφημα μπορεί να έχει πολλά γεννητικά δέντρα που το καθένα έχει διαφορετικό βάρος Ένα ελάχιστο γεννητικό δέντρο ενός γραφήματος έχει μικρότερο βάρος από κάθε άλλο γεννητικό δέντρο για το γράφημα αυτό
40
Το πρόβλημα εύρεσης ελάχιστου γεννητικού δένδρου
41
Το πρόβλημα εύρεσης ελάχιστου γεννητικού δένδρου
42
Αλγόριθμοι εύρεσης MST: πρακτικό ενδιαφέρον
Σενάριο 1: Οι κορυφές αντιστοιχούν σε περιοχές σε αρχαιολογικό χώρο και τα βάρη σε αποστάσεις… Ζητούμενο: να περάσουν οι επισκέπτες από όλες τις περιοχές περπατώντας όσο το δυνατόν λιγότερο…
43
Αλγόριθμοι εύρεσης MST: πρακτικό ενδιαφέρον
Σενάριο 2: Οι κορυφές αντιστοιχούν σε αισθητήρες που συλλέγουν πληροφορίες σε κάποιο χώρο και τα βάρη στην ακτίνα εκπομπής τους… Ζητούμενο: να κρατήσω ενεργοποιημένους κάποιους από τους αισθητήρες ώστε να υπάρχει συνεκτικότητα στο WSN και να ελαχιστοποιείται η συνολική ενέργεια που καταναλώνεται…
44
O αλγόριθμος του Kruskal
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές
45
O αλγόριθμος του Kruskal
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 EC=4 AC=4 BC=5 AB=6 BE=6 DE=7 AD=8 BD=8 CD=9
46
O αλγόριθμος του Kruskal
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 AC=4 BC=5 AB=6 BE=6 DE=7 AD=8 BD=8 CD=9
47
O αλγόριθμος του Kruskal
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 BC=5 AB=6 BE=6 DE=7 AD=8 BD=8 CD=9
48
O αλγόριθμος του Kruskal
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 AB=6 BE=6 DE=7 AD=8 BD=8 CD=9
49
O αλγόριθμος του Kruskal
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 (3) AB=6 BE=6 DE=7 AD=8 BD=8 CD=9
50
O αλγόριθμος του Kruskal
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 (3) AB=6 (κύκλος) BE=6 (κύκλος) DE=7 AD=8 BD=8 CD=9
51
O αλγόριθμος του Kruskal
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 (3) AB=6 (κύκλος) BE=6 (κύκλος) DE=7 (4) AD=8 BD=8 CD=9
52
O αλγόριθμος του Kruskal
Ο αλγόριθμος τερματίζει αφού: Έχουμε ST με n-1 (=5-1=4) ακμές, ή εναλλακτικά, Έχουμε ST που περιέχει όλες τις κορυφές του δοσμένου γραφήματος Παρατηρήστε ότι καμία από τις AD, BD, CD δε μπορεί έτσι κι αλλιώς να προστεθεί στο ST γιατί θα δημιουργούσε κύκλο… Το MST που βρήκε περιέχει τις ακμές: ΑΕ (2), ΕC (4), BC (5), DE (=7) και έχει συνολικό βάρος =18 ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 (3) AB=6 (κύκλος) BE=6 (κύκλος) DE=7 (4) AD=8 BD=8 CD=9
53
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές
54
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές
55
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές
56
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές
57
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές
58
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές
59
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές
60
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές
61
O αλγόριθμος του Prim Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές MST: AE EC BC ED Συνολικό βάρος: 18
62
O αλγόριθμος του Prim – με πίνακα
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα
63
O αλγόριθμος του Prim – με πίνακα
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα
64
O αλγόριθμος του Prim – με πίνακα
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα
65
O αλγόριθμος του Prim – με πίνακα
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα
66
O αλγόριθμος του Prim – με πίνακα
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα
67
O αλγόριθμος του Prim – με πίνακα
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα
68
O αλγόριθμος του Prim – με πίνακα
Βρίσκει το ελάχιστο γεννητικό δέντρο (MST) Τ σε δοσμένο γράφημα Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα ΑΕ 2 ΕC 4 ΒC 5 DΕ 7 ______ MST 18
69
Το πρόβλημα εύρεσης ελάχιστου γεννητικού δένδρου: ο αλγόριθμος του Kruskal
Άπληστος αλγόριθμος που βρίσκει ένα ελάχιστο γεννητικό δέντρο (MST) σε δοσμένο συνεκτικό γράφημα με βάρη Βρίσκει σύνολο από ακμές που σχηματίζουν δέντρο που περιέχει όλες τις κορυφές του γραφήματος και έχει ελάχιστο συνολικό βάρος Ο αλγόριθμος προτάθηκε από τον Joseph Kruskal εμφανίστηκε στα Πρακτικά του American Mathematical Society, σελ. 48–50 το 1956
70
Το πρόβλημα εύρεσης ελάχιστου γεννητικού δένδρου: ο αλγόριθμος του Prim
Άπληστος αλγόριθμος που βρίσκει ένα ελάχιστο γεννητικό δέντρο (MST) σε δοσμένο συνεκτικό γράφημα με βάρη Βρίσκει σύνολο από ακμές που σχηματίζουν δέντρο που περιέχει όλες τις κορυφές του γραφήματος και έχει ελάχιστο συνολικό βάρος Ο αλγόριθμος προτάθηκε από τον Τσέχο μαθηματικό Vojtěch Jarník το 1930 και αργότερα – ανεξάρτητα - από τον επιστήμονα υπολογιστών Robert C. Prim το 1957 και ανακαλύφθηκε εκ νέου από τον Edsger Dijkstra το 1959 V. Jarník: O jistém problému minimálním [About a certain minimal problem], Práce Moravské Přírodovědecké Společnosti, 6, 1930, pp. 57–63. R. C. Prim: Shortest connection networks and some generalizations. In: Bell System Technical Journal, 36 (1957), pp. 1389–1401
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.