Προσεγγιστικοί Αλγόριθμοι

Σχετικά έγγραφα
Προσεγγιστικοί Αλγόριθμοι

για NP-Δύσκολα Προβλήματα

Γραμμικός Προγραμματισμός

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

Δυναμικός Προγραμματισμός

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

υναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός

Δυναμικός Προγραμματισμός

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Κατανεμημένα Συστήματα Ι

υναμικός Προγραμματισμός

υναμικός Προγραμματισμός

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

max 17x x 2 υπό 10x 1 + 7x 2 40 x 1 + x 2 5 x 1, x 2 0.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός

Ελαφρύτατες διαδρομές

Δομές Δεδομένων και Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

Διαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k

Αλγοριθμικές Τεχνικές

Αξιολόγηση Ευριστικών Αλγορίθµων

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι έχουμε δει μέχρι τώρα. Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Διωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Κλάσεις Πολυπλοκότητας

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι

Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :

Αλγόριθµοι Προσέγγισης για NP- ύσκολα Προβλήµατα

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Προσεγγιστικοί Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι

Chapter 7, 8 : Time, Space Complexity

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Θεωρία Υπολογισμού και Πολυπλοκότητα

HY118-Διακριτά Μαθηματικά

Ακέραιος Γραμμικός Προγραμματισμός

ILP-Feasibility conp

max c 1 x 1 + c 2 x c n x n υπό a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2 a m1 x 1 + a m2 x a mn x n b m

Ακέραιος Γραμμικός Προγραμματισμός

Ακέραιος Γραμμικός Προγραμματισμός

Συνδετικότητα γραφήματος (graph connectivity)

viii 20 Δένδρα van Emde Boas 543

Αναδρομικός αλγόριθμος

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 12: Αντιμετώπιση Περιορισμών Αλγοριθμικής Ισχύος

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

ΔΥΣΚΟΛΙΑ ΣΤΗΝ ΠΡΟΣΕΓΓΙΣΙΜΟΤΗΤΑ

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διερεύνηση γραφήματος

Θεωρία Υπολογισμού και Πολυπλοκότητα

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Ακέραιος Γραµµικός Προγραµµατισµός

Κεφάλαιο 6. Μέθοδοι επίλυσης προβλημάτων ακέραιου προγραμματισμού

Τυχαιοκρατικοί Αλγόριθμοι

Ακέραιος Γραµµικός Προγραµµατισµός

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Δυναμική Διατήρηση Γραμμικής Διάταξης

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Συντομότερες Διαδρομές

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Απειροστικός Λογισμός Ι, χειμερινό εξάμηνο Λύσεις έκτου φυλλαδίου ασκήσεων.

Θεωρία Αποφάσεων και Βελτιστοποίηση

Αλγόριθµοι και Πολυπλοκότητα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

Υπολογιστικό Πρόβληµα

Outline. 6 Edit Distance

Υπολογιστική Πολυπλοκότητα

Θεωρία Γραφημάτων 6η Διάλεξη

Δυναμικός προγραμματισμός για δέντρα

Μη γράφετε στο πίσω μέρος της σελίδας

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αλγόριθμοι και πολυπλοκότητα Η Άπληστη Μέθοδος

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

Transcript:

Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/

Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;) η ανακάλυψη πολυωνυμικών αλγορίθμων για αυτά τα προβλήματα; Αλγόριθμοι εκθετικού χρόνου μπορεί να είναι αποδεκτοί για εισόδους μικρού μεγέθους Είναι πιθανό να υπάρχουν πολυωνυμικοί αλγόριθμοι για σημαντικές ειδικές περιπτώσεις Είναι πιθανό να μπορούμε να βρούμε σχεδόν βέλτιστες λύσεις σε πολυωνυμικό χρόνο

Σε πολλές περιπτώσεις μας ικανοποιεί μια προσεγγιστική λύση Ένας προσεγγιστικός αλγόριθμος υπολογίζει σε πολυωνυμικό χρόνο μία λύση η οποία είναι εγγυημένα «κοντά» στη βέλτιστη λύση Λόγος προσέγγισης Έστω τιμή της λύσης του προσεγγιστικού αλγορίθμου για είσοδο τιμή της βέλτιστης λύσης για είσοδο Πρόβλημα μεγιστοποίησης: Ο αλγόριθμος έχει λόγο προσέγγισης αν για κάθε είσοδο μεγέθους ( -προσεγγιστικός αλγόριθμος)

Σε πολλές περιπτώσεις μας ικανοποιεί μια προσεγγιστική λύση Ένας προσεγγιστικός αλγόριθμος υπολογίζει σε πολυωνυμικό χρόνο μία λύση η οποία είναι εγγυημένα «κοντά» στη βέλτιστη λύση Λόγος προσέγγισης Έστω τιμή της λύσης του προσεγγιστικού αλγορίθμου για είσοδο τιμή της βέλτιστης λύσης για είσοδο Πρόβλημα ελαχιστοποίησης: Ο αλγόριθμος έχει λόγο προσέγγισης αν για κάθε είσοδο μεγέθους ( -προσεγγιστικός αλγόριθμος)

Προσεγγιστικό σύστημα Προσεγγιστικός αλγόριθμος που δέχεται στην είσοδο στιγμιότυπο επιπλέον μια τιμή και Για οποιοδήποτε συγκεκριμένο -προσεγγιστικό αλγόριθμο. το προσεγγιστικό σύστημα αποτελεί Ο χρόνος εκτέλεσης αυξάνει όσο μειώνεται το. Είναι πολυωνυμικός ως προς το μέγεθος του στιγμιότυπου αλλά όχι απαραίτητα ως προς το π.χ. Πλήρως πολυωνυμικό προσεγγιστικό σύστημα Προσεγγιστικό σύστημα στο οποίο ο χρόνος εκτέλεσης είναι πολυωνυμικός τόσο ως προς το μέγεθος του στιγμιότυπου όσο και ως προς το π.χ.

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων Απλός αλγόριθμος Αρχικοποίηση : Όσο επιλέγουμε μια ακμή θέτουμε αφαιρούμε από το κάθε ακμή και

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων Απλός αλγόριθμος Αρχικοποίηση : Όσο επιλέγουμε μια ακμή θέτουμε αφαιρούμε από το κάθε ακμή και

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων Απλός αλγόριθμος Αρχικοποίηση : Όσο επιλέγουμε μια ακμή θέτουμε αφαιρούμε από το κάθε ακμή και

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων Απλός αλγόριθμος Αρχικοποίηση : Όσο επιλέγουμε μια ακμή θέτουμε αφαιρούμε από το κάθε ακμή και

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων Απλός αλγόριθμος Αρχικοποίηση : Όσο επιλέγουμε μια ακμή θέτουμε αφαιρούμε από το κάθε ακμή και

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων Απλός αλγόριθμος Αρχικοποίηση : Όσο επιλέγουμε μια ακμή θέτουμε αφαιρούμε από το κάθε ακμή και

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων Απλός αλγόριθμος Αρχικοποίηση : Όσο επιλέγουμε μια ακμή θέτουμε αφαιρούμε από το κάθε ακμή και

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων Απλός αλγόριθμος Αρχικοποίηση : Όσο επιλέγουμε μια ακμή θέτουμε αφαιρούμε από το κάθε ακμή και

Κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με το ελάχιστο αριθμό κόμβων βέλτιστη λύση

Κομβικό κάλυμμα Ο απλός αλγόριθμος είναι 2-προσεγγιστικός αλγόριθμος πολυωνυμικού χρόνου Έστω το σύνολο των ακμών που επέλεξε ο αλγόριθμος: Το κομβικό κάλυμμα αποτελείται από τους κόμβους που είναι άκρα των ακμών του επομένως Κάθε ακμή του καλύπτεται από έναν τουλάχιστον κόμβο του βέλτιστου καλύμματος. Επιπλέον στο δεν υπάρχουν ακμές με κάποιο κοινό άκρο. Επομένως

Το πρόβλημα του περιοδεύοντος πωλητή Ένας πωλητής πρέπει να επισκεφτεί πόλεις και να καταλήξει στην πόλη όπου ξεκίνησε την περιοδεία του, ελαχιστοποιώντας το συνολικό κόστος μετακίνησης Θεσσαλονίκη 13 2 Ιωάννινα Κοζάνη 4 4 5 Λάρισα 16 7 12 5 8 3 Βόλος 8 4 19 Πάτρα 16 Αθήνα 11 Ηράκλειο

Το πρόβλημα του περιοδεύοντος πωλητή Πλήρες γράφημα Συνάρτηση κόστους 2 1 4 5 5 2 Περιοδεία (κύκλος Hamilton): Κύκλος που επισκέπτεται κάθε κόμβο ακριβώς μια φορά Πρόβλημα βελτιστοποίησης : Θέλουμε μια περιοδεία ελάχιστου συνολικού κόστους Για ένα σύνολο ακμών ορίζουμε το κόστος του ως

Το πρόβλημα του περιοδεύοντος πωλητή Πλήρες γράφημα Συνάρτηση κόστους 2 1 4 5 5 2 Μπορούμε να βρούμε μια σχεδόν βέλτιστη περιοδεία αν η συνάρτηση κόστους ικανοποιεί την τριγωνική ανισότητα: Τριγωνική ανισότητα: Για κάθε τριάδα κόμβων Η τριγωνική ανισότητα ισχύει σε πολλές πρακτικές εφαρμογές, π.χ. όταν το κόστος αντιστοιχεί στην απόσταση δύο σημείων στο επίπεδο

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας Ελαφρύτατο συνδετικό δένδρο Γράφημα Συνάρτηση βάρους (εδώ ) Ζητούμενο: δένδρο a 8 4 11 b 7 8 c 7 d 2 i 4 14 6 9 10 e με ελάχιστο κόστος h 1 g 2 f

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας Ελαφρύτατο συνδετικό δένδρο Γράφημα Συνάρτηση βάρους (εδώ ) Ζητούμενο: δένδρο a 8 4 11 b 7 8 c 7 d 2 i 4 14 6 9 10 e με ελάχιστο κόστος h 1 g 2 f Μπορεί να υπολογιστεί σε σχεδόν γραμμικό χρόνο

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας Προσεγγιστικός αλγόριθμος 1. Υπολογίζουμε ένα ελαφρύτατο συνδετικό δένδρο του 2. Επιλέγουμε αυθαίρετα ένα κόμβο ως ρίζα και εκτελούμε καθοδική διερεύνηση του με αφετηρία το 3. Επιστρέφουμε την περιοδεία που σχηματίζεται από την διάταξη των κόμβων ως προς τους χρόνους ανακάλυψης της καθοδικής διερεύνησης

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας [1,16] [2,7] [3,4] [5,6] [8,15] [9,14] ελαφρύτατο συνδετικό δένδρο διάταξη [10,11] [12,13]

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας [1,16] [2,7] [3,4] [5,6] [8,15] [9,14] περιοδεία [10,11] [12,13] διάταξη

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Κεντρική ιδέα: Το βάρος (κόστος) ενός ελαφρύτατου συνδετικού δένδρου του γραφήματος αποτελεί κάτω φράγμα του κόστους της βέλτιστης περιοδείας [1,16] [2,7] [3,4] [5,6] [8,15] [9,14] βέλτιστη περιοδεία περιοδεία [10,11] [12,13] διάταξη

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Ο αλγόριθμος είναι 2-προσεγγιστικός πολυωνυμικού χρόνου Έστω μια βέλτιστη περιοδεία και μια οποιαδήποτε ακμή της Τότε το είναι συνδετικό δένδρο, άρα βέλτιστη περιοδεία συνδετικό δένδρο ελαφρύτατο συνδετικό δένδρο

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Ο αλγόριθμος είναι 2-προσεγγιστικός πολυωνυμικού χρόνου Πλήρης διάνυση του : καταγράφει τη σειρά όλων των επισκέψεων στους κόμβους κατά την καθοδική διερεύνηση Μια πλήρης διάνυση διατρέχει κάθε ακμή του δύο φορές [1,16] [2,7] [3,4] [5,6] [8,15] [9,14] ελαφρύτατο συνδετικό δένδρο [10,11] [12,13] πλήρης διάνυση του :

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Ο αλγόριθμος είναι 2-προσεγγιστικός πολυωνυμικού χρόνου Πλήρης διάνυση του : καταγράφει τη σειρά όλων των επισκέψεων στους κόμβους κατά την καθοδική διερεύνηση Μια πλήρης διάνυση διατρέχει κάθε ακμή του δύο φορές Λόγω της τριγωνικής ανισότητας: [1,16] [2,7] [3,4] [5,6] [8,15] [9,14] π.χ. [10,11] [12,13] πλήρης διάνυση του :

Το πρόβλημα του περιοδεύοντος πωλητή με τριγωνική ανισότητα Ο αλγόριθμος είναι 2-προσεγγιστικός πολυωνυμικού χρόνου Πλήρης διάνυση του : καταγράφει τη σειρά όλων των επισκέψεων στους κόμβους κατά την καθοδική διερεύνηση Μια πλήρης διάνυση διατρέχει κάθε ακμή του δύο φορές Λόγω της τριγωνικής ανισότητας: [1,16] [2,7] [3,4] [5,6] [8,15] [9,14] ελαφρύτατο συνδετικό δένδρο [10,11] [12,13] πλήρης διάνυση του : περιοδεία

Το γενικό πρόβλημα του περιοδεύοντος πωλητή Αν η συνάρτηση κόστους δεν ικανοποιεί την τριγωνική ανισότητα τότε είναι αδύνατο να βρούμε σε πολυωνυμικό χρόνο μια -προσεγγιστική περιοδεία, για οποιαδήποτε σταθερά, εκτός εάν Η ύπαρξη ενός -προσεγγιστικού αλγόριθμου πολυωνυμικού χρόνου συνεπάγεται πολυωνυμικό αλγόριθμο για το παρακάτω NP-πλήρες πρόβλημα Κύκλος Hamilton Μας δίνεται γράφημα : υπάρχει κύκλος που επισκέπτεται κάθε (ενδιάμεσο) κόμβο ακριβώς μία φορά;

Το γενικό πρόβλημα του περιοδεύοντος πωλητή Ας υποθέσουμε ότι υπάρχει -προσεγγιστικός αλγόριθμος πολυωνυμικού χρόνου για το γενικό πρόβλημα του περιοδεύοντος πωλητή, όπου ακέραια σταθερά. Μπορούμε να χρησιμοποιήσουμε τον για να βρούμε σε πολυωνυμικό χρόνο αν υπάρχει κύκλος Hamilton σε ένα γράφημα Έστω το πλήρες γράφημα με σύνολο κόμβων Ορίζουμε τη συνάρτηση κόστους των ακμών του ως Αν το έχει κύκλο Hamilton τότε η βέλτιστη περιοδεία του έχει κόστος Διαφορετικά η περιέχει τουλάχιστον μια ακμή εκτός, άρα

Το γενικό πρόβλημα του περιοδεύοντος πωλητή Ας υποθέσουμε ότι υπάρχει -προσεγγιστικός αλγόριθμος πολυωνυμικού χρόνου για το γενικό πρόβλημα του περιοδεύοντος πωλητή, όπου ακέραια σταθερά. Μπορούμε να χρησιμοποιήσουμε τον για να βρούμε σε πολυωνυμικό χρόνο αν υπάρχει κύκλος Hamilton σε ένα γράφημα Έστω το πλήρες γράφημα με σύνολο κόμβων Έστω η περιοδεία του που επιστρέφει ο. Ισχύει Αν το έχει κύκλο Hamilton τότε Διαφορετικά. Επομένως μπορούμε να αποφασίσουμε σε πολυωνυμικό χρόνο αν το περιέχει κύκλο Hamilton!

Κάλυψη συνόλου σύνολο αντικειμένων οικογένεια υποσυνόλων του Το σύνολο καλύπτει το αν Πρόβλημα βελτιστοποίησης : Θέλουμε ένα υποσύνολο ελάχιστου μεγέθους που να καλύπτει το

Κάλυψη συνόλου Άπληστος αλγόριθμος 1. αρχικοποίηση: 2. ενόσω 3. επιλέγουμε που μεγιστοποιεί το 4.

Κάλυψη συνόλου Άπληστος αλγόριθμος 1. αρχικοποίηση: 2. ενόσω 3. επιλέγουμε που μεγιστοποιεί το 4.

Κάλυψη συνόλου Άπληστος αλγόριθμος 1. αρχικοποίηση: 2. ενόσω 3. επιλέγουμε που μεγιστοποιεί το 4.

Κάλυψη συνόλου Άπληστος αλγόριθμος 1. αρχικοποίηση: 2. ενόσω 3. επιλέγουμε που μεγιστοποιεί το 4.

Κάλυψη συνόλου Άπληστος αλγόριθμος 1. αρχικοποίηση: 2. ενόσω 3. επιλέγουμε που μεγιστοποιεί το 4.

Κάλυψη συνόλου Άπληστος αλγόριθμος 1. αρχικοποίηση: 2. ενόσω 3. επιλέγουμε που μεγιστοποιεί το 4. βέλτιστη κάλυψη

Κάλυψη συνόλου Ο άπληστος αλγόριθμος είναι όπου -προσεγγιστικός πολυωνυμικού χρόνου, και

Κάλυψη συνόλου Ο άπληστος αλγόριθμος είναι όπου -προσεγγιστικός πολυωνυμικού χρόνου, και Έστω το -οστό σύνολο που επιλέγει ο αλγόριθμος Η προσθήκη του έχει κόστος 1 αφού αυξάνει το κατά μια μονάδα στοιχεία του που καλύπτονται για πρώτη φορά Κόστος ανά νέο στοιχείο Επομένως έχουμε

Κάλυψη συνόλου Ο άπληστος αλγόριθμος είναι όπου -προσεγγιστικός πολυωνυμικού χρόνου, και Έστω το -οστό σύνολο που επιλέγει ο αλγόριθμος Η προσθήκη του έχει κόστος 1 αφού αυξάνει το κατά μια μονάδα στοιχεία του που καλύπτονται για πρώτη φορά Κόστος ανά νέο στοιχείο Επομένως έχουμε Αποδίδουμε στο βέλτιστο κάλυμμα κόστος

Κάλυψη συνόλου Ο άπληστος αλγόριθμος είναι όπου -προσεγγιστικός πολυωνυμικού χρόνου, και Θα δείξουμε ότι για οποιοδήποτε Με δεδομένο το παραπάνω έχουμε

Κάλυψη συνόλου Ο άπληστος αλγόριθμος είναι όπου -προσεγγιστικός πολυωνυμικού χρόνου, και Θα δείξουμε ότι για οποιοδήποτε στοιχεία του που δεν έχουν καλυφθεί ακόμα Θέτουμε για και Έστω και, δηλαδή ο αλγόριθμος επιλέγει Ισχύει ακόμα ότι πλήθος στοιχείων που καλύπτονται για πρώτη φορά από το

Κάλυψη συνόλου Ο άπληστος αλγόριθμος είναι όπου -προσεγγιστικός πολυωνυμικού χρόνου, και Θα δείξουμε ότι για οποιοδήποτε Επομένως έχουμε

Κάλυψη συνόλου Ο άπληστος αλγόριθμος είναι όπου -προσεγγιστικός πολυωνυμικού χρόνου, και Θα δείξουμε ότι για οποιοδήποτε Επομένως έχουμε

Ακέραιος Προγραμματισμός Σταθμισμένο κομβικό κάλυμμα Γράφημα Ένα υποσύνολο κόμβων είναι κομβικό κάλυμμα αν για κάθε ακμή έχουμε ή (ή και τα δύο) Βάρη κόμβων : Βάρος καλύμματος : Πρόβλημα βελτιστοποίησης : Θέλουμε κομβικό κάλυμμα με ελάχιστο βάρος 2 2 1 Ακέραιο Πρόγραμμα μεταβλητή για κάθε 1 2 4 1

Προσέγγιση μέσω Γραμμικού Προγραμματισμού Μεταβλητή για κάθε : Ακέραιο Πρόγραμμα Γραμμικό Πρόγραμμα χαλάρωση

Προσέγγιση μέσω Γραμμικού Προγραμματισμού Μεταβλητή για κάθε : Ακέραιο Πρόγραμμα Γραμμικό Πρόγραμμα χαλάρωση Έστω Έστω το βέλτιστο κάλυμμα με βάρος μια βέλτιστη λύση του γραμμικού προγράμματος με βάρος Τότε

Προσέγγιση μέσω Γραμμικού Προγραμματισμού Μεταβλητή για κάθε : Ακέραιο Πρόγραμμα Γραμμικό Πρόγραμμα χαλάρωση Έστω Έστω το βέλτιστο κάλυμμα με βάρος μια βέλτιστη λύση του γραμμικού προγράμματος με βάρος Τότε

Προσέγγιση μέσω Γραμμικού Προγραμματισμού Στρογγυλοποίηση λύσης γραμμικού προγράμματος Ακέραιο Πρόγραμμα Γραμμικό Πρόγραμμα χαλάρωση Έστω μια βέλτιστη λύση του γραμμικού προγράμματος με βάρος Στρογγυλοποίηση : Επιλέγουμε στο κομβικό κάλυμμα τους κόμβους με Για κάθε ακμή έχουμε άρα το είναι κομβικό κάλυμμα

Προσέγγιση μέσω Γραμμικού Προγραμματισμού Στρογγυλοποίηση λύσης γραμμικού προγράμματος Έστω μια βέλτιστη λύση του γραμμικού προγράμματος με βάρος Στρογγυλοποίηση : Επιλέγουμε στο κομβικό κάλυμμα τους κόμβους με Για κάθε ακμή έχουμε άρα το είναι κομβικό κάλυμμα Επιπλέον

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Το πρόβλημα του Σακιδίου Έχουμε αντικείμενα, όπου το αντικείμενο έχει βάρος και (ακέραια) αξία Ο σκοπός μας είναι να γεμίσουμε με τα αντικείμενα αυτά ένα σακίδιο ώστε η συνολική αξία των αντικειμένων που επιλέξαμε να είναι η μέγιστη δυνατή και το συνολικό βάρος. Μπορούμε να υποθέσουμε για κάθε Δηλαδή θέλουμε και ικανοποιεί που μεγιστοποιεί το 1 2 3 4

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Δυναμικός Προγραμματισμός Ορίζουμε τα υποπροβλήματα ελάχιστο βάρος υποσυνόλου στοιχείων με αξία Για να λύσουμε το πρόβλημα του σακιδίου υπολογίζουμε όλες τις τιμές για και και επιλέγουμε τη λύση με μέγιστο τέτοιο ώστε Έστω Τότε άρα έχουμε υποπροβλήματα

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Δυναμικός Προγραμματισμός Τα υποπροβλήματα λύνονται μέσω της ακόλουθης αναδρομής Έστω Αν μια βέλτιστη λύση του τότε Αν και τότε Αν και τότε Αν τότε Άρα

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Δυναμικός Προγραμματισμός Αλγόριθμος Αποθηκεύουμε τις βέλτιστες τιμές των υποπροβλημάτων διδιάστατο πίνακα. Ξεκινάμε με για όλα τα σε ένα Χρόνος εκτέλεσης : Δεν είναι πολυωνυμικός!

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Για να κάνουμε το χρόνο εκτέλεσης πολυωνυμικό (θυσιάζοντας την ακρίβεια της λύσης) στρογγυλοποιούμε τις αξίες ως προς μια παράμετρο Θέτουμε και Οι είναι πολλαπλάσιες του και Επιπλέον έστω τιμή βέλτιστης λύσης του προβλήματος του Σακιδίου με αξίες τιμή βέλτιστης λύσης του προβλήματος του Σακιδίου με αξίες Τότε

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Για να κάνουμε το χρόνο εκτέλεσης πολυωνυμικό (θυσιάζοντας την ακρίβεια της λύσης) στρογγυλοποιούμε τις αξίες ως προς μια παράμετρο Θέτουμε και Οι είναι πολλαπλάσιες του και Επιπλέον έστω τιμή βέλτιστης λύσης του προβλήματος του Σακιδίου με αξίες τιμή βέλτιστης λύσης του προβλήματος του Σακιδίου με αξίες Τότε Άρα για να βρούμε μια προσεγγιστική λύση, λύνουμε το πρόβλημα του Σακιδίου με αξίες. Έστω ότι επιστρέφει το σύνολο στοιχείων. Ισχύει ότι. Θα δείξουμε ότι, όπου οποιοδήποτε σύνολο τέτοιο ώστε

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Άρα για να βρούμε μια προσεγγιστική λύση, λύνουμε το πρόβλημα του Σακιδίου με αξίες. Έστω ότι επιστρέφει το σύνολο στοιχείων. Ισχύει ότι. Θα δείξουμε ότι, όπου οποιοδήποτε σύνολο τέτοιο ώστε Έχουμε Επιπλέον Έστω. Τότε Για απλότητα υποθέτουμε ότι το είναι ακέραιος, οπότε Επίσης

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Άρα για να βρούμε μια προσεγγιστική λύση, λύνουμε το πρόβλημα του Σακιδίου με αξίες. Έστω ότι επιστρέφει το σύνολο στοιχείων. Ισχύει ότι. Θα δείξουμε ότι, όπου οποιοδήποτε σύνολο τέτοιο ώστε Έχουμε Επιπλέον και Άρα

Προσεγγιστικό σύστημα για το πρόβλημα του Σακιδίου Άρα για να βρούμε μια προσεγγιστική λύση, λύνουμε το πρόβλημα του Σακιδίου με αξίες. Έστω ότι επιστρέφει το σύνολο στοιχείων. Ισχύει ότι. Θα δείξουμε ότι, όπου οποιοδήποτε σύνολο τέτοιο ώστε Χρόνος εκτέλεσης = αφού