Θεωρία & Αλγόριθμοι Γράφων

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Καταδίωξη / Διαφυγή. Οι κανόνες • Ένας «φυγάς», ένας ή περισσότεροι «κυνηγοί» • Κινούνται πάνω σε ένα γράφημα • Στην πιο απλή περίπτωση, μία κίνηση ο.
Advertisements

Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 2: Μονοπάτια και Κύκλοι (Euler) Data Engineering Lab.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Αλγόριθμοι και Πολυπλοκότητα
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Γραφήματα & Επίπεδα Γραφήματα
Δυναμικός Προγραμματισμός
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Προσεγγιστικοί Αλγόριθμοι
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Γράφοι: Προβλήματα και Αλγόριθμοι
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 9: Αντιστοιχίσεις και καλύμματα Data Engineering Lab.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Τμ. Πληροφορικής,
Συντομότερες Διαδρομές
ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ 7.4 – 7.6 NP ΠΛΗΡΟΤΗΤΑ.
Ο αλγόριθμος Bellman-Ford (επανεξετάζεται)
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής,
1 Βέλτιστη δρομολόγηση (optimal routing) Αντιμετώπιση της δρομολόγησης σαν «συνολικό» πρόβλημα βελτιστoποίησης. Γιατί: Η αλλαγή της δρομολόγησης μιας συνόδου.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 2: Μονοπάτια και Κύκλοι (Hamilton) Data Engineering Lab.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Αναζήτηση Κατά Βάθος Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
1 Κατανεμημένοι αλγόριθμοι για την εύρεση γεννητικών δέντρων (spanning trees) 1.Ένας σταθερός κόμβος στέλνει ένα ‘start’ μήνυμα σε κάθε γειτονική του ακμή.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 4 Δ ΕΝΔΡΑ Σταύρος Δ. Νικολόπουλος 1.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Olympia Nikou1 Τίτλος Παρουσίασης: Προσεγγιστικός Υπολογισμός των λύσεων ενός προβλήματος με: Δειγματοληψία στον χώρο αναζήτησης των λύσεων.
Δένδρα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3: Δένδρα.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Data Engineering Lab Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3: Δένδρα 1.
Συνδεσμικότητα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΤΕΙ Αθήνας: Σχολή ΤΕΦ: Τμήμα Ναυπηγικής Εφαρμογές Η/Υ στην Ναυπηγική ΙΙ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ NA0703C39 Εξάμηνο Ζ’ Διδάσκων Κωνσταντίνος Β. Κώστας Παρουσίαση.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ.
1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ. 2 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα –Αναζήτηση κατά βάθος (Depth-first search – DFS) –Αναζήτηση κατά πλάτος (Breadth-first.
Γράφημα είναι μία διμελής σχέση επί ενός συνόλου την οποία παριστάνουμε με γραφικό τρόπο.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
ΧΡΩΜΑΤΙΣΜΟΣ ΓΡΑΦΩΝ Δημοκρίτειο Πανεπιστήμιο Θράκης, Μαθηματικό Σπουδαστήριο Πολυτεχνικής Σχολής.
ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Επίλυση Προβλημάτων με Αναζήτηση
Προβλήματα Ικανοποίησης Περιορισμών
Δένδρα Δένδρο είναι ένα συνεκτικό άκυκλο γράφημα. Δένδρο Δένδρο Δένδρο
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Βέλτιστη δρομολόγηση (optimal routing)
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Κεφάλαιο 9ο
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Ζώα και μαθηματικά.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Σχεδιασμός των Μεταφορών
Θεωρία & Αλγόριθμοι Γράφων Αποστάσεις
Συντομότερα Μονοπάτια
Θεωρία & Αλγόριθμοι Γράφων Μονοπάτια & Κύκλοι (Hamilton)
Δυναμικός Προγραμματισμός
Traveling Salesman-Greedy algorithm (GTS1)
Aλγόριθμος BFS Θέτουμε i  0. Στην κορυφή x θέτουμε τη ετικέτα i.
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Θεωρία & Αλγόριθμοι Γράφων Το πρόβλημα του περιοδεύοντος πωλητή Data Science & Engineering Lab

Data Science & Engineering Lab Περιοδεύων πωλητής Πρόβλημα: με ποιά σειρά πρέπει να επισκεφθεί τις πόλεις ο πωλητής και να επιστρέψει στη δική του διανύοντας τη μικρότερη δυνατή συνολική απόσταση; Ζυγισμένος Ευκλείδειος γράφος: ισχύει η ανισοϊσότητα του τριγώνου Αν ο γράφος δεν είναι Ευκλείδειος, τότε κατά τη βέλτιστη λύση ο πωλητής μπορεί να περνά από την ίδια πόλη περισσότερες από μία φορές. Αλλιώς το πρόβλημα ανάγεται σε πρόβλημα εύρεσης Hamiltonian κύκλων με το ελάχιστο βάρος. 2 2 4 3 1 6 3 7 3 4 5 4 3 Data Science & Engineering Lab

Data Science & Engineering Lab Περιοδεύων πωλητής (2) Σε έναν πλήρη γράφο ο συνολικός αριθμός Hamiltonian κύκλων ισούται με (n–1)!/2. Η λύση του πρoβλήματος με εξαντλητικό τρόπο έχει πολυπλοκότητα O(nn), είναι δηλαδή δυσχείριστο. Αν χρησιμοποιηθεί η μέθοδος του δυναμικού προγραμματισμού ή η μέθοδος της διακλάδωσης με περιορισμό, η πολυπλοκότητα προβλήματος παραμένει εκθετική: O(n22n). Επίσης, το πρόβλημα έχει αντιμετωπισθεί με Γεννετικούς Αλγορίθμους, με Νευρωνικά Δίκτυα και με Αλγόριθμους Μυρμηγκιών (ant). Data Science & Engineering Lab

TSP με Διακλάδωση και Περιορισμό 25 1 2 4 3 30 6 5 15 23 20 16 24 22 13 11 18 26 12 21 14 Τεχνική branch & bound 25 18 12 22 30 15 14 21 11 23 26 24 20 13 16 Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Διακλάδωση και Περιορισμό (2) Πρέπει να βρεθεί ένα κάτω όριο για το μήκος του Hamiltonian κύκλου. Θεωρούμε ανά κορυφή τις 2 ακμές με το μικρότερο βάρος (με τη μία μπαίνουμε στην κορυφή, με την άλλη βγαίνουμε) 25 18 12 22 30 15 14 21 11 23 26 24 20 13 16 12 18 11 14 15 13 16 20 30 25 33 36 24 173 Βρίσκουμε κάτω όριο = 173/2 = 86,5 Τι θα προκύψει αν θεωρήσουμε τις στήλες του πίνακα γειτνίασης? Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Διακλάδωση και Περιορισμό (3) Θεωρούμε ότι αφετηρία είναι η κορυφή 1. Ποιό είναι το όριο στην περίπτωση αυτή, αν από την κορυφή 1 πάμε στην κορυφή 2? 25 18 12 22 30 15 14 21 11 23 26 24 20 13 16 12 25 37 11 36 15 18 33 13 16 20 24 191 Βρίσκουμε κάτω όριο = 191/2 = 95,5 Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Διακλάδωση και Περιορισμό (4) Αν από την κορυφή 1 πάμε στη 2, το όριο είναι 95,5 Αν από την κορυφή 1 πάμε στη 3, το όριο είναι 86,5 Αν από την κορυφή 1 πάμε στη 4, το όριο είναι 86,5 Αν από την κορυφή 1 πάμε στη 5, το όριο είναι 89,5 Αν από την κορυφή 1 πάμε στη 6, το όριο είναι 101 Τα όρια αυτά εισάγονται διαδοχικά σε ένα σωρό ελαχίστων. Εξάγεται από το σωρό το 86,5 του μονοπατιού <1,3> ως περισσότερο υποσχόμενο και εισάγονται τα μήκη των μονοπατιών <1,3,2>, <1,3,4>, <1,3,5>, <1,3,6> κοκ. Γιατί συνεχίζουμε με το μονοπάτι <1,3> και όχι με το μονοπάτι <1,4>? Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Διακλάδωση και Περιορισμό (5) Το σχήμα δείχνει τον περιορισμό των διακλαδώσεων. Ο βέλτιστος κύκλος είναι <1456231> με κόστος 92. Η κόκκινη αρίθμηση δείχνει τη σειρά εξαγωγής από το σωρό. Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Δυναμικό Προγραμματισμό (1) Έστω ότι ο κύκλος αρχίζει και τελειώνει στην κορυφή 1 Κάθε κύκλος αποτελείται από την ακμή <1,k> για κάποιο kV–{1} και ένα μονοπάτι από την κορυφή k στην κορυφή 1. Το μονοπάτι αυτό περνάει από κάθε κορυφή του συνόλου V–{1,k} μία φορά ακριβώς Έστω ότι g(i,S) είναι το μήκος του μικρότερου μονοπατιού που αρχίζει από την κορυφή i, περνάει από όλες τις κορυφές του συνόλου S και καταλήγει στην κορυφή 1 g(1,V–{1}) είναι το μήκος του βέλτιστου κύκλου Με βάση την αρχή της βελτιστότητας προκύπτει ότι: g(1,V–{1}) = min {c1k + g(k,V–{1,k})} (1) 2≤k≤n Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Δυναμικό Προγραμματισμό (2) Γενικεύοντας τον προηγούμενο τύπο (1) προκύπτει g(i,S) = minjS {cij + g(j,S–{j})} (2) Ο τύπος (2) μπορεί να επιλυθεί αν γνωρίζουμε όλα τα επί μέρους του τύπου (1), δηλαδή υπολογίζουμε το g(1,V–{1}) αν γνωρίζουμε το g(k,V–{1,k}) για κάθε k Προφανώς ισχύει g(i,)=ci,1, για 1≤i≤n Στη συνέχεια μπορούμε να χρησιμοποιήσουμε το αποτέλεσμα αυτό για τον υπολογισμό του g(i,S) για κάθε S μεγέθους 1, μετά μεγέθους 2, 3 κοκ Όταν |S|<n–1, οι τιμές των i και S για τον υπολογισμό του g(i,S) πρέπει να είναι i1, 1S και iS Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Δυναμικό Προγραμματισμό (3) Παράδειγμα: έστω ο κατευθυνόμενος ζυγισμένος γράφος με αναπαράσταση Ισχύει κατά σειρά g(2,) = c21 = 5 g(3,) = c31 = 6 g(4,) = c41 = 8 Στη συνέχεια g(2,{3}) = c23+g(3,) = 9+6 = 15 g(2,{4}) = c24+g(4,) = 10+8 = 18 g(3,{2}) = c32+g(2,) = 13+5 = 18 g(3,{4}) = c34+g(4,) = 12+8 = 20 g(4,{2}) = c42+g(2,) = 8+5 = 13 g(4,{3}) = c43+g(3,) = 9+6 =15 10 15 20 5 9 6 13 12 8 Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Δυναμικό Προγραμματισμό (4) Στη συνέχεια υπολογίζουμε το g(i,S) για |S|=2, όπου i1; 1S και iS g(2,{3,4}) = min {c23+g(3,{4}), c24+g(4,{3})} = 25 g(3,{2,4}) = min {c32+g(2,{4}), c34+g(4,{2})} = 25 g(4,{2,3}) = min {c42+g(2,{3}), c43+g(3,{2})} = 23 Τελικά λαμβάνουμε g(1,{2,3,4}) = min {c12+g(2,{3, 4}), c13+g(3,{2,4}), c14+g(4,{2,3})} = min {35,40,43} = 35 Η διαδρομή με αυτό το ελάχιστο μήκος μπορεί να βρεθεί αν για κάθε g(i,S) κρατούμε την τιμή του j που ελαχιστοποιεί αυτή την τιμή. Έστω ότι J(i, S) είναι αυτή η τιμή J(1,{2,3,4})=2. Αυτό σημαίνει ότι η διαδρομή ξεκινά από την κορυφή 1 και πάει στην κορυφή 2. Η υπολειπόμενη διαδρομή μπορεί να βρεθεί από το g(2,{3,4}). Ισχύει J(2,{3,4})=4. Επομένως η απόμενη ακμή είναι <2,4>. Η υπολειπόμενη διαδρομή είναι g(4,{3}). Ισχύει J(4,{3})=3. Συνεπώς η βέλτιστη διαδρομή είναι <1,2,4,3,1> Data Science & Engineering Lab

Data Science & Engineering Lab TSP με Δυναμικό Προγραμματισμό (5) Έστω N το πλήθος των g(i,S) που πρέπει να υπολογίσουμε πριν τον τύπο (1) για τον υπολογισμό του g(1,V–{1}) Για κάθε τιμή του |S| υπάρχουν n–1 επιλογές για το i. Το πλήθος των διακριτών συνόλων S μεγέθους k, που δεν περιέχουν τα 1 και i είναι C(n-2,k) n-2 Ισχύει N =  (n–1) C(n-2,k) = (n–1) 2n-2 k=0 Ο τελικός υπολογισμός του τύπου (2) είναι n φορές οι προηγούμενοι υπολογισμοί. Συνεπώς απαιτείται χρόνος O(n22n) Προφανώς είναι καλύτερα από την εξαντλητική απαρίθμηση Μειονέκτημα της μεθόδου είναι ότι απαιτείται χώρος τάξης O(n2n) Data Science & Engineering Lab

Το μέγεθος του TSP 100,000 = 105 άνθρωποι σε ένα γήπεδο 5,500,000,000 = 5.5  109 άνθρωποι στη γη 1,000,000,000,000,000,000,000 = 1021 λίτρα νερού στη γη 1010 years = 3  1017 seconds η ηλικία του σύμπαντος # of cities n possible solutions (n-1)! = # of cyclic permutations 10  181,000 20  10,000,000,000,000,000 = 1016 50  100,000,000,000,000,000,000,000,000,000,000,000, 000,000,000,000,000,000,000,000,000 = 1062 Data Science & Engineering Lab

Data Science & Engineering Lab Εφαρμογή TSP για πόλεις των ΗΠΑ Μία αφίσα του 1962 από την Proctor & Gamble για το διαγωνισμό επίλυσης του προβλήματος για 33 πόλεις των ΗΠΑ το 1962. Data Science & Engineering Lab

Data Science & Engineering Lab Εξέλιξη επίδοσης TSP Data Science & Engineering Lab Data Engineering Lab

Data Science & Engineering Lab Εξέλιξη επίδοσης TSP (2) Data Science & Engineering Lab

Data Science & Engineering Lab Εφαρμογή TSP για 49 πόλεις των ΗΠΑ Το 1954 λύθηκε το πρόβλημα TSP για 49 πόλεις των ΗΠΑ George Dantzig, Ray Fulkerson, Selmer Johnson (1954) Data Science & Engineering Lab Data Engineering Lab

Data Science & Engineering Lab Εφαρμογή TSP για 100 πόλεις της Ευρώπης Το μήκος του βέλτιστου κύκλου είναι 21134 km. Data Science & Engineering Lab Data Engineering Lab

Data Science & Engineering Lab Εφαρμογή TSP για 120 πόλεις της Γερμανίας Το μήκος του βέλτιστου κύκλου είναι 6942 km (1977) Πλήθος λύσεων (179 ψηφία) Data Science & Engineering Lab

Data Science & Engineering Lab Εφαρμογή TSP για 13.509 πόλεις των ΗΠΑ Το 1998 λύθηκε το πρόβλημα TSP για 13,509 πόλεις των ΗΠΑ με πληθυσμό άνω των 500 κατοίκων http://www.tsp.gatech.edu Data Science & Engineering Lab Data Engineering Lab

Data Science & Engineering Lab Εφαρμογή TSP για πόλεις των ΗΠΑ Βέλτιστος κύκλος TSP http://www.tsp.gatech.edu Data Science & Engineering Lab Data Engineering Lab

3 βέλτιστοι κύκλοι για πόλεις της Γερμανίας http://www.math.princeton.edu/ tsp/d15sol/dhistory.html Data Science & Engineering Lab Data Science & Engineering Lab

Βέλτιστος κύκλος για 24.978 πόλεις της Σουηδίας Βέλτιστος κύκλος για 24.978 πόλεις της Σουηδίας 24.978 πόλεις, 2004 Data Science & Engineering Lab

Τρέχον παγκόσμιο ρεκόρ (2006) Με παραλληλισμό του κώδικα Concorde και 2719.5 cpu-days N = 85,900 Data Science & Engineering Lab

Data Science & Engineering Lab Εφαρμογή TSP για PLA 11,849 τρύπες σε programmed logic array http://www.tsp.gatech.edu Data Science & Engineering Lab Data Engineering Lab

Data Science & Engineering Lab Εφαρμογή TSP για PLA (2) Βέλτιστος κύκλος TSP για το ρομποτικό μηχανισμό που θα ανοίξει τις τρύπες http://www.tsp.gatech.edu Data Science & Engineering Lab Data Engineering Lab

Προσεγγιστικοί Αλγόριθμοι Επίλυση με ευριστικές υπο-βέλτιστες λύσεις Μέτρο σύγκρισης είναι η ποσότητα 1<L/Lopt=a 1 2 4 3 51 6 5 60 56 21 36 68 57 61 35 70 13 Data Science & Engineering Lab

Μέθοδος πλησιέστερου γείτονα Θέτουμε i←1. Επιλέγουμε μία τυχαία κορυφή v0 και θεωρούμε το μονοπάτι Pi=v0 Αν i=n, τότε C=Pn είναι ένας κύκλος Hamilton, αλλιώς αναζητείται η ακμή e με το μικρότερο βάρος ώστε να προσπίπτει σε μία από τις δύο τερματικές κορυφές του Pi και αν είναι δυνατόν, να μη δημιουργείται κύκλος με τις κορυφές του Pi. Σχηματίζεται το μονοπάτι Pi+1=(Pie). Θέτουμε i←i+1. Πηγαίνουμε στο βήμα 2. Έχει αποδειχθεί ότι α=(|ln n|+1)/2 και άρα για μεγάλα n έχει σημαντική απόκλιση από τη βέλτιστη λύση Πολυπλοκότητα; Data Science & Engineering Lab

Data Science & Engineering Lab Παράδειγμα 1 2 4 3 51 6 5 13 60 56 21 36 68 57 61 35 70 Μέθοδος πλησιέστερου γείτονα (άπληστη) 3-6  βάρος 2 5-3-6  βάρος 2+35=37 4-5-3-6  βάρος 37+21=58 4-5-3-6-1  βάρος 58+51=109 4-5-3-6-1-2  βάρος 109+13=122 4-5-3-6-1-2-4  βάρος 122+70=192 Data Science & Engineering Lab

Μέθοδος μικρότερης εισαγωγής Θέτουμε i←1. Επιλέγουμε μία τυχαία κορυφή v0 και θεωρούμε το μονοπάτι Ci=v0 Αν i=n, τότε C=Cn είναι ένας κύκλος Hamilton, αλλιώς αναζητείται μία κορυφή vi που δεν υπάρχει στον κύκλο Ci και είναι πλησιέστερα προς ένα ζεύγος διαδοχικών κορυφών {wi,wi+1} του Ci. Σχηματίζεται ο κύκλος Ci+1 εισάγοντας την κορυφή vi μεταξύ των wi και wi+1. Θέτουμε i←i+1. Πηγαίνουμε στο Βήμα 2. Στο βήμα 2 ελαχιστοποιείται η ποσότητα dist(wi,vi)+ dist(vi,wi+1)–dist(wi, wi+1). Πρέπει να ισχύει η τριγωνική ανισότητα. Ισχύει ότι α≤2 Πολυπλοκότητα; Data Science & Engineering Lab

Data Science & Engineering Lab Παράδειγμα Μέθοδος μικρότερης εισαγωγής (άπληστη) (3) (3,6,3) (3,6,5,3) (3,6,5,4,3) (3,6,1,5,4,3) (3,6,2,1,5,4,3) βάρος 192 13 1 2 61 51 60 68 68 51 2 6 3 70 35 57 70 36 56 5 4 21 Data Science & Engineering Lab

Ελάχιστα ζευγνύοντα δέντρα Βρίσκουμε ένα ελάχιστο ζευγνύον δένδρο Τ του G. Εκτελούμε μία αναζήτηση κατά βάθος. [Αν από μία κορυφή v0 προσπελασθεί η v1, τότε η διαδικασία συνεχίζεται προς κάποια νέα γειτονική κορυφή της v1 και όχι της v0. Αν προσεγγισθεί κάποια κορυφή από όπου είναι αδύνατο η διαδικασία να συνεχισθεί σε μία μη ήδη επισκεφθείσα κορυφή, τότε η διαδικασία συνεχίζει από την προηγούμενη της τρέχουσας κορυφής με την ίδια τεχνική.] Αν είναι η σειρά επίσκεψης των κορυφών του T από το Βήμα 2, τότε ο κύκλος Hamilton είναι Data Science & Engineering Lab

Data Science & Engineering Lab Παράδειγμα Ο(m+n logn) Μέθοδος με ελάχιστα ζευγνύοντα δένδρα Με τον αλγόριθμο του Prim προκύπτει το επόμενο ζευγνύον δένδρο και λαμβάνεται το αποτέλεσμα με DFS 1 2 3 6 5 4 51 35 21 68 57 13 DFS με αφετηρία τον κόμβο 3 (3,1,2,5,4,6,3): βάρος 212 DFS με αφετηρία τον κόμβο 1 (1,2,3,5,4,6,1) βάρος 237 κλπ Data Science & Engineering Lab

Διαδοχικές ανταλλαγές ακμών Θεωρείται ένας Hamiltonian κύκλος C=(v1,v2,…,vn,v1) Για κάθε i,j, τέτοια ώστε 1<i+1<j<n, λαμβάνεται ένας νέος Hamiltonian κύκλος Ci,j=(v1,v2,…,vi,vj,vj-1,…,vi+1, vj+1,vj+2,…,vn,v1) διαγράφοντας τις ακμές (vi,vi+1) και (vj,vj+1) και προσθέτοντας τις ακμές (vi,vj) και (vi+1,vj+1). Αν για κάποια i,j προκύψει w(vi,vj)+w(vi+1,vj+1)<w(vi,vi+1)+w(vj,vj+1) τότε θέτουμε C=Ci,j. Πηγαίνουμε στο Βήμα 2. Data Science & Engineering Lab

Data Science & Engineering Lab Παράδειγμα Μέθοδος με διαδοχικές ανταλλαγές ακμών (3,4,5,6,1,2,3) βάρος 237 (3,6,5,4,1,2,3) βάρος 210 (3,6,5,4,2,1,3) βάρος 193 (3,6,1,2,4,5,3) βάρος 192 Ο τελευταίος κύκλος δεν βελτιώνεται περισσότερο αλλά μπορεί να βρεθεί μικρότερος κύκλος με άλλη κορυφή ως αφετηρία. 13 1 2 61 51 60 68 68 51 2 6 3 70 35 57 70 36 56 5 21 4 Data Science & Engineering Lab

Πρακτική εύρεση κάτω φράγματος Μέθοδος πρακτικής εύρεσης κάτω ορίου σε πρόβλημα TSP: Θεωρούμε ελάχιστο ζευγνύον δένδρο σε γράφο G–v με βάρος w(T) Θεωρούμε δύο ακμές προσπίπτουσες στο v έτσι ώστε το άθροισμα των βαρών τους να είναι ελάχιστο Aν v=5, τότε w(T)=122, 122+21+35=178=κάτω φράγμα 1 2 3 6 5 4 13 51 35 56 21 Data Science & Engineering Lab

Σημαντικά βιβλία για TSP The Traveling Salesman Problem, Lawler, Lenstra, Rinnooy Kan, and Shmoys (Editors), Wiley (1985). The Traveling Salesman Problem and Its Variations, Gutin and Punnen (Editors), Kluwer (2002). The Traveling Salesman Problem: A Computational Study, Applegate, Bixby, Chvatal, and Cook, Princeton University Press (2006). In Pursuit of the Traveling Salesman, Cook, Princeton University Press (2012). Data Science & Engineering Lab