Σχεδίαση και Ανάλυση Αλγορίθμων

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Σχεδίαση και Ανάλυση Αλγορίθμων"

Transcript

1 Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 10.0 Μετασχηματισμοί Υπολογιστικών Προβλημάτων Αναγωγές NP-πληρότητα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage:

2 Αναγωγές Στο Βασίλειο των Ζώων = Κοινωνικά ζώα Φροντίζουν τα μικρά τους Έχουν τρίχωμα Δαρβίνος Πράγματα φαινομενικά εντελώς διαφορετικά, συχνά Αποδεικνύεται ότι είναι ΙΔΙΑ, πέρα από επιφανειακές διαφορές

3 Αναγωγές Στο Βασίλειο των Προβλημάτων Μέγιστη Αύξουσα Υπακολουθία Υπολογισμός Μέγιστη Διαδρομή σε DAG Είδαμε με ποιο τρόπο ένας Αλγόριθμος για τον υπολογισμό της Μέγιστης Διαδρομής σε DAG μπορεί, με εκπληκτικό τρόπο, να χρησιμοποιηθεί για την εύρεση μιας Μέγιστης Αύξουσας Υπακολουθίας

4 Αναγωγές Στο Βασίλειο των Προβλημάτων Μέγιστη Αύξουσα Υπακολουθία Το Πρόβλημα της Μέγιστης Αύξουσας Υπακολουθίας Υπολογισμός Μέγιστη Διαδρομή σε DAG ανάγεται στο Πρόβλημα της Μέγιστης Διαδρομής σε DAG

5 Αναγωγές ΜΕΓΙΣΤΗ-ΑΥΞΟΥΣΑ-ΥΠΑΚΟΛΟΥΘΙΑ ΜΕΓΙΣΤΗ-ΔΙΑΔΡΟΜΗ-DAG Α = (5, 2, 8, 6, 3, 6, 9, 7) Δημιουργούμε ένα G με ΟΛΕΣ τις επιτρεπτές μεταβάσεις 7

6 Αναγωγές ΜΕΓΙΣΤΗ-ΑΥΞΟΥΣΑ-ΥΠΑΚΟΛΟΥΘΙΑ ΜΕΓΙΣΤΗ-ΔΙΑΔΡΟΜΗ-DAG Α = (5, 2, 8, 6, 3, 6, 9, 7) Λύση: (2, 3, 6, 7) Υπάρχει 1-1 αντιστοιχία ανάμεσα στις αύξουσες υπακολουθίες και στις διαδρομές του DAG

7 Αναγωγές Στο Βασίλειο των Προβλημάτων Τέλεια Αντιστοίχιση Υπολογισμός Μέγιστη Ροή Πρόσφατα είδαμε ότι: Μπορούμε να «ανάγουμε» το πρόβλημα της Τέλειας Αντιστοίχισης σε πρόβλημα Μεγίστης Ροής

8 Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ ΑΓΟΡΙΑ ΚΟΡΙΤΣΙΑ Άγγελος Δανάη Γιάννης Ιωσήφ Δημήτρης Άννα Μαρία Κατερίνα Πρόβλημα: Είναι δυνατόν να επιλεγούν ζευγάρια έτσι ώστε: όλοι να έχουν από ένα μόνο σύντροφο, και να είναι κάποιος που συμπαθούν

9 Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ Με όρους Γραφοθεωρίας το πρόβλημα διατυπώνεται ως εξής: Υπάρχει μια τέλεια αντιστοίχιση (perfect matching) Αναγωγή Άγγελος Δανάη Γιάννης Άννα Ιωσήφ Μαρία Δημήτρης Κατερίνα

10 Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ Εισάγουμε 2 κόμβους s και t Εισάγουμε κατευθύνσεις και ορίζουμε το δίκτυο Δ S Άγγελος Δανάη Γιάννης Άννα Ιωσήφ Μαρία Δημήτρης Κατερίνα Δ t

11 Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ Δίνουμε σε κάθε ακμή χωρητικότητα 1 Και τότε, υπάρχει τέλεια αντιστοίχιση εάν-ν το δίκτυο Δ δίνει μια ροή f με μέγεθος f = πλήθος των ζευγαριών 1 S Άγγελος 1 Γιάννης 1 Ιωσήφ Δημήτρης Δ Δανάη 1 Άννα Μαρία Κατερίνα 1 1 t 1

12 Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ Υπολογίζουμε μια Μέγιστη Ροή στο δίκτυο Δ Άγγελος 1 S 1 Δ Δανάη 1 Γιάννης Άννα 1 Ιωσήφ Μαρία Δημήτρης Κατερίνα t 1

13 Αναγωγές ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ Υπολογίζουμε μια Μέγιστη Ροή στο δίκτυο Δ Και παίρνουμε μια τέλεια αντιστοίχιση Άγγελος Δανάη Γιάννης Άννα Ιωσήφ Μαρία Δημήτρης Κατερίνα Ιδιότητα: Εάν όλες οι χωρητικότητες των ακμών είναι ακέραιες, τότε η βέλτιστη ροή είναι ακέραιη

14 Αναγωγές Στο Βασίλειο των Προβλημάτων Μέγιστη Διαδρομή σε DAG Υπολογισμός Ελάχιστη Διαδρομή σε DAG Longest-Path(G) for each edge (u,v) Ε(G) w(u,v) -w(u,v) return Shortest-Path(G) Αλγόριθμος Dijkstra

15 Αναγωγές Μια πιο Τυπική Θεώρηση Λέμε ότι Α Β εάν μπορούμε να διατυπώσουμε έναν Αλγόριθμο πολυωνυμικού χρόνου για την επίλυση του Α χρησιμοποιώντας έναν Αλγόριθμο για την επίλυση του Β Αλγόριθμος για το Α x προεπεξεργασία y Αλγόριθμος για το Β Β(y) μετεπεξεργασία Α(x) Σημείωση: Στην πραγματικότητα, μπορεί να έχουμε ή και να μην έχουμε αλγόριθμο για το Β

16 Αναγωγές Γιατί Αναγωγές Αυξάνουν την ισχύ των αλγορίθμων : εάν Α Β και έχουμε έναν αλγόριθμο για το Β, τότε μπορούμε να τον χρησιμοποιήσουμε για να λύσουμε το πρόβλημα Α Επιτρέπουν συγκρίσεις και κατηγοριοποιήσεις : μια αναγωγή Α Β μας επιτρέπει να συγκρίνουμε τις πολυπλοκότητες των Α και Β και να κατηγοριοποιήσουμε αυτά ανάλογα με τη δυσκολία τους Αναγωγές : ΜΕΓΙΣΤΗ-ΑΥΞΟΥΣΑ-ΥΠΑΚΟΛΟΥΘΙΑ ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ ΜΕΓΙΣΤΗ-ΔΙΑΔΡΟΜΗ-DAG ΕΛΑΧΙΧΤΗ-ΔΙΑΔΡΟΜΗ-DAG ΜΕΓΙΣΤΗ-ΔΙΑΔΡΟΜΗ-DAG

17 Αναγωγές Γιατί Αναγωγές Αυξάνουν την ισχύ των αλγορίθμων : εάν Α Β και έχουμε έναν αλγόριθμο για το Β, τότε μπορούμε να τον χρησιμοποιήσουμε για να λύσουμε το πρόβλημα Α Επιτρέπουν συγκρίσεις και κατηγοριοποιήσεις : μια αναγωγή Α Β μας επιτρέπει να συγκρίνουμε τις πολυπλοκότητες των Α και Β και να κατηγοριοποιήσουμε αυτά ανάλογα με τη δυσκολία τους Γενικά, διευρύνουν : την αλγοριθμική μας ικανότητα την επιστημονική μας σκέψη το πεδίο γνώσης της επιστήμης μας

18 Αναγωγές Γιατί Αναγωγές Ειδικά, οι αναγωγές είναι χρήσιμες: Για επινόηση και δημιουργία ΝΕΩΝ αλγορίθμων για ΝΕΑ προβλήματα (άνω φράγματα) Για απόδειξη ότι ΚΑΠΟΙΑ προβλήματα δεν μπορούν να εκτελεστούν γρηγορότερα από ένα πολυωνυμικό χρόνο T(n) Ή για εύρεση ενδείξεων ότι δεν υπάρχουν αποτελεσματικοί αλγόριθμοι για ΚΑΠΟΙΑ άλλα προβλήματα (κάτω φράγματα)

19 Αναγωγές Άνω και Κάτω Φράγματα Έστω η αναγωγή Α Β Άνω φράγμα Εάν υπάρχει αλγόριθμος πολυωνυμικού χρόνου για το Β, τότε υπάρχει ένας και για το Α Το Α είναι το πολύ ίδιας δυσκολίας με το Β Κάτω φράγμα Αντίστροφα, εάν δεν υπάρχει πολυωνυμικός αλγόριθμος για το Α, τότε δεν υπάρχει ούτε για το Β Το Β είναι τουλάχιστον ίδιας δυσκολίας με το Α

20 Χρήση Αναγωγών Επίλυση Προβλημάτων Επίλυση Γρίφων Απόδειξη Κάτω Φραγμάτων Χρήση Αλγοριθμικών Τεχνικών Επινόηση Νέων Αλγορίθμων

21 Χρήση Αναγωγών Επίλυση Προβλημάτων Επίλυση Γρίφων Απόδειξη Κάτω Φραγμάτων 6 Χρήση Αλγοριθμικών Τεχνικών Επινόηση Νέων Αλγορίθμων Εύρεση Κύκλου Ελάχιστου Κόστους ΕΛΑΧΙΣΤΟΣ-ΚΥΚΛΟΣ ΕΛΑΧΙΣΤΕΣ-ΔΙΑΔΡΟΜΕΣ 8

22 Πρόβλημα 1 Εύρεση Κύκλου Ελάχιστου Κόστους Έστω κατευθυνόμενο G = (V, E, w), w : E Το πρόβλημα ΕΛΑΧΙΣΤΟΣ-ΚΥΚΛΟΣ είναι το ακόλουθο: Βρες έναν κύκλο C, εάν υπάρχει, στο G με το Ελάχιστο Κόστος

23 Κύκλος Ελάχιστου Κόστους ΕΛΑΧΙΣΤΟΣ-ΚΥΚΛΟΣ ΕΛΑΧΙΣΤΕΣ-ΔΙΑΔΡΟΜΕΣ Υπάρχει απλός τρόπος αναγωγής αυτού του προβλήματος σε πρόβλημα Ελαχίστων Διαδρομών Βρες την ε.δ P1 : i j και την ε.δ P2 : j 6 9 i Μια Πρώτη Σκέψη d(i,j) Κύκλος... ΝΑΙ Απλός Κύκλος... ΟΧΙ j i d(j,i)

24 Κύκλος Ελάχιστου Κόστους ΕΛΑΧΙΣΤΟΣ-ΚΥΚΛΟΣ ΕΛΑΧΙΣΤΕΣ-ΔΙΑΔΡΟΜΕΣ Υπάρχει απλός τρόπος αναγωγής αυτού του προβλήματος σε πρόβλημα Ελαχίστων Διαδρομών Βρες την ε.δ P1 : i j και την ε.δ P2 : j 6 9 i Μια Πρώτη Σκέψη d(i,j) Κύκλος... ΝΑΙ Απλός Κύκλος... ΟΧΙ j i d(j,i)

25 Κύκλος Ελάχιστου Κόστους ΕΛΑΧΙΣΤΟΣ-ΚΥΚΛΟΣ ΕΛΑΧΙΣΤΕΣ-ΔΙΑΔΡΟΜΕΣ Υπάρχει απλός τρόπος αναγωγής αυτού του προβλήματος σε πρόβλημα Ελαχίστων Διαδρομών Βρες την ε.δ P1 : i j και την ε.δ w : j 6 9 i Μια Λύση d(i,j) Κύκλος... ΝΑΙ Απλός Κύκλος... ΝΑΙ j i w(j,i)

26 Κύκλος Ελάχιστου Κόστους ΕΛΑΧΙΣΤΟΣ-ΚΥΚΛΟΣ ΕΛΑΧΙΣΤΕΣ-ΔΙΑΔΡΟΜΕΣ Για κάθε ζεύγος κόμβων (i,j) V Βρες την ε.δ P1 : i 6 j και d(i,j) Έλεγξε εάν (j,i) είναι ακμή 8 Εάν (j,i) Ε τότε Cost(C1) = d(i,j) + w(j,i) Πανζευκτικές Ελάχιστες Διαδρομές Floyd-Warshall

27 Χρήση Αναγωγών Επίλυση Προβλημάτων Επίλυση Γρίφων Απόδειξη Κάτω Φραγμάτων Χρήση Αλγοριθμικών Τεχνικών Επινόηση Νέων Αλγορίθμων Το Πρόβλημα του Βοσκού ΠΡΟΒΛΗΜΑ-ΒΟΣΚΟΥ ΠΡΟΒΛΗΜΑ-ΠΡΟΣΒΑΣΙΜΟΤΗΤΑΣ

28 Πρόβλημα 2 Το Πρόβλημα του Βοσκού Ένας βοσκός θέλει να περάσει στην απέναντι όχθη ενός ποταμού έναν Λύκο, ένα Πρόβατο και ένα Λάχανο ή Χορτάρι Πως είναι δυνατόν ο βοσκός να τα περάσει απέναντι, έτσι ώστε να μην φάει το πρόβατο το χορτάρι, ή ο λύκος το πρόβατο κ.o.κ

29 Το Πρόβλημα του Βοσκού Ο Λύκος, το Πρόβατο και το Χορτάρι Στη Βάρκα: Βοσκός Βοσκός & Λύκος Βοσκός & Πρόβατο Βοσκός & Χορτάρι

30 Το Πρόβλημα του Βοσκού Καταστάσεις Μετάβασης 1 ΛΠΧ-Β 2 ΠΧ-Β Λ 3 ΛΧ-Β Π ΛΠ-Β Χ 5 Π-Β ΛΧ 6 ΛΧ Β-Π 7 Χ Β-ΛΠ 8 Π Β-ΛΧ 9 Λ Β-ΠΧ 10 Β-ΛΠΧ ΕΠΙΤΡΕΠΤΕΣ ΚΑΤΑΣΤΑΣΕΙΣ ΜΕΤΑΒΑΣΗΣ Χ Π Λ - Β Αρχική Κατάσταση Β Λ Π Χ Τελική Κατάσταση

31 Το Πρόβλημα του Βοσκού ΠΡΟΒΛΗΜΑ-ΒΟΣΚΟΥ ΠΡΟΒΛΗΜΑ-ΠΡΟΣΒΑΣΙΜΟΤΗΤΑΣ 1 ΛΠΧ-Β 2 ΠΧ-Β Λ 3 ΛΧ-Β Π ΛΠ-Β Χ 5 Π-Β ΛΧ 6 ΛΧ Β-Π 7 Χ Β-ΛΠ 8 Π Β-ΛΧ 9 Λ Β-ΠΧ 10 Β-ΛΠΧ ΕΠΙΤΡΕΠΤΕΣ ΚΑΤΑΣΤΑΣΕΙΣ ΜΕΤΑΒΑΣΗΣ ΛΠΧ-Β ΛΠΧ B ΛΧ B-Π ΠΧ B-Λ ΛΠ B-Χ ΛΧ-Β Π Λ B-ΠΧ Χ B-ΛΠ ΛΠ-Β Χ ΠΧ-Β Λ Λ-B ΠΧ ΛΠ B-Χ Π B-ΛΧ Π-Β ΛΧ Β-ΛΠΧ ΠΧ B-Λ Χ-Β ΛΠ

32 Το Πρόβλημα του Βοσκού ΠΡΟΒΛΗΜΑ-ΒΟΣΚΟΥ ΠΡΟΒΛΗΜΑ-ΠΡΟΣΒΑΣΙΜΟΤΗΤΑΣ DFS Γράφημα καταστάσεων ΛΠΧ-Β ΛΠΧ B Κόμβος Εκκίνησης ΛΠ B-Χ ΛΧ-Β Π ΛΠΧ-Β Κόμβος Πρόσβασης ΛΧ B-Π ΠΧ B-Λ Λ B-ΠΧ Χ B-ΛΠ ΛΠ-Β Χ ΠΧ-Β Λ Λ-B ΠΧ ΛΠΧ-Β ΛΠ B-Χ Π B-ΛΧ Π-Β ΛΧ Β-ΛΠΧ ΠΧ B-Λ Χ-Β ΛΠ

33 Το Πρόβλημα του Βοσκού ΠΡΟΒΛΗΜΑ-ΒΟΣΚΟΥ ΠΡΟΒΛΗΜΑ-ΠΡΟΣΒΑΣΙΜΟΤΗΤΑΣ DFS Γράφημα καταστάσεων ΛΠΧ-Β ΛΠΧ B Κόμβος Εκκίνησης ΛΠ B-Χ ΛΧ-Β Π ΛΠΧ-Β Κόμβος Πρόσβασης ΛΧ B-Π ΠΧ B-Λ Λ B-ΠΧ Χ B-ΛΠ ΛΠ-Β Χ ΠΧ-Β Λ Λ-B ΠΧ ΛΠΧ-Β ΛΠ B-Χ Λύση Προβλήματος Προσβασιμότητας Π B-ΛΧ Π-Β ΛΧ Β-ΛΠΧ ΠΧ B-Λ Χ-Β ΛΠ

34 Το Πρόβλημα του Βοσκού ΠΡΟΒΛΗΜΑ-ΒΟΣΚΟΥ ΠΡΟΒΛΗΜΑ-ΠΡΟΣΒΑΣΙΜΟΤΗΤΑΣ DFS Γράφημα καταστάσεων Κόμβος Εκκίνησης ΛΠΧ-Β Κόμβος Πρόσβασης ΛΠΧ-Β ΛΧ B-Π ΛΧ-Β Π Λ B-ΠΧ ΛΠ-Β Χ ΛΠΧ-Β Π B-ΛΧ Λύση Προβλήματος Βοσκού Π-Β ΛΧ Β-ΛΠΧ

35 Χρήση Αναγωγών Επίλυση Προβλημάτων Επίλυση Γρίφων Απόδειξη Κάτω Φραγμάτων Χρήση Αλγοριθμικών Τεχνικών Επινόηση Νέων Αλγορίθμων Κάτω Φράγμα για Κυρτό Περίβλημα ΤΑΞΙΝΟΜΗΣΗ ΚΥΡΤΟ-ΠΕΡΙΒΛΗΜΑ

36 Πρόβλημα 3 Κάτω Φράγμα για Κυρτό Περίβλημα Ερώτημα... Πόσο γρήγορα μπορώ να υπολογίσω το Κυρτό Περίβλημα N σημείων στο επίπεδο Αρκεί να βρω ένα πρόβλημα Α, με γνωστό ένα κάτω φράγμα υπολογισμού του, και να αναγάγω το Α στο Πρόβλημα του Κυρτού Περιβλήματος

37 Κάτω Φράγμα για Κυρτό Περίβλημα Ορισμοί Το κυρτό περίβλημα συνόλου σημείων του επιπέδου είναι το κυρτό πολύγωνο με το ελάχιστο εμβαδόν που περιλαμβάνει όλα τα δεδομένα σημεία

38 Κάτω Φράγμα για Κυρτό Περίβλημα Ορισμοί Το κυρτό περίβλημα συνόλου σημείων του επιπέδου είναι το κυρτό πολύγωνο με το ελάχιστο εμβαδόν που περιλαμβάνει όλα τα δεδομένα σημεία

39 Κάτω Φράγμα για Κυρτό Περίβλημα Ορισμοί ακμή

40 Κάτω Φράγμα για Κυρτό Περίβλημα Ορισμοί ακμή

41 Κάτω Φράγμα για Κυρτό Περίβλημα Ορισμοί όχι ακμή

42 Ορισμοί Κάτω Φράγμα για Κυρτό Περίβλημα

43 Ορισμοί Κάτω Φράγμα για Κυρτό Περίβλημα

44 Κάτω Φράγμα για Κυρτό Περίβλημα Ερώτημα... Πόσο γρήγορα μπορώ να υπολογίσω το Κυρτό Περίβλημα N σημείων στο επίπεδο

45 Κάτω Φράγμα για Κυρτό Περίβλημα Απόδειξη... ενός κάτω φράγματος για το Πρόβλημα του Κυρτού Περιβλήματος Απόδειξη με αναγωγή από το πρόβλημα της Ταξινόμησης Ν πραγματικών αριθμών Το πρόβλημα της Ταξινόμησης έχει πολυπλοκότητα χρόνου O(N logn) ΚΑΙ είναι γνωστό ένα κάτω φράγμα Ω(N logn) υπολογισμού του

46 Κάτω Φράγμα για Κυρτό Περίβλημα ΤΑΞΙΝΟΜΗΣΗ ΚΥΡΤΟ-ΠΕΡΙΒΛΗΜΑ τα δεδομένα του προβλήματος ΤΑΞΙΝΟΜΗΣΗ (n στοιχεία που θέλουμε να ταξινομήσουμε) Έστω Κανόνας μετατροπής των δεδομένων σε δεδομένα εισόδου στο Πρόβλημα ΚΥΡΤΟ-ΠΕΡΙΒΛΗΜΑ: Για κάθε πραγματικό αριθμό ορίζουμε στο επίπεδο ένα σημείο

47 Κάτω Φράγμα για Κυρτό Περίβλημα ΤΑΞΙΝΟΜΗΣΗ ΚΥΡΤΟ-ΠΕΡΙΒΛΗΜΑ Παραβολή n σημεία στο επίπεδο Η κατασκευή των n σημείων στο επίπεδο, από τους n αριθμούς, απαιτεί χρόνο Ο(n)

48 Κάτω Φράγμα για Κυρτό Περίβλημα ΤΑΞΙΝΟΜΗΣΗ ΚΥΡΤΟ-ΠΕΡΙΒΛΗΜΑ Υπολογισμός

49 Κάτω Φράγμα για Κυρτό Περίβλημα ΤΑΞΙΝΟΜΗΣΗ ΚΥΡΤΟ-ΠΕΡΙΒΛΗΜΑ Υπολογισμός Υπολογισμός Από παίρνουμε τα του συνόλου ταξινομημένα κατ αύξουσα τάξη σε χρόνο Ο(n)

50 Κάτω Φράγμα για Κυρτό Περίβλημα ΤΑΞΙΝΟΜΗΣΗ ΚΥΡΤΟ-ΠΕΡΙΒΛΗΜΑ Τότε, η Ταξινόμηση n αριθμών μπορεί να γίνει σε χρόνο: Έστω ότι ο υπολογισμός του Κυρτού Περιβλήματος ενός συνόλου n σημείων στο επίπεδο απαιτεί χρόνο Τ(n) Ο(n) + Τ(n) Όμως, είναι γνωστό ότι το πρόβλημα της Ταξινόμησης έχει κάτω φράγμα υπολογισμού: Ω(n logn) Θεώρημα: Ο υπολογισμός του Κυρτού Περιβλήματος ενός συνόλου n σημείων στο επίπεδο απαιτεί χρόνο Ω(n logn)

51 Χρήση Αναγωγών Επίλυση Προβλημάτων έξοδος Επίλυση Γρίφων AND Απόδειξη Κάτω Φραγμάτων Χρήση Αλγοριθμικών Τεχνικών NOT OR Επινόηση Νέων Αλγορίθμων OR AND NOT Αποτίμηση Κυκλώματος ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ LP true false true

52 Πρόβλημα Αποτίμηση Κυκλώματος έξοδος Μας δίδεται ένα λογικό κύκλωμα (Boolean circuit), δηλαδή ένα DAG, με πύλες των ακόλουθων τύπων: AND πύλες ΕΙΣΟΔΟΥ (input gates) με βαθμό εισόδου 0 και τιμή true ή false NOT πύλες AND και OR OR AND πύλες ΝΟΤ Θέλουμε την αποτίμηση της εξόδου του κυκλώματος σε τιμή true OR true false NOT true

53 Αποτίμηση Κυκλώματος ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ LP έξοδος AND Υπάρχει ένας απλός - αυτόματος τρόπος μετάφρασης αυτού του προβλήματος σε ένα Γραμμικό Πρόβλημα Δημιουργία μιας μεταβλητής xg για κάθε πύλη, μ.τ.π 0 xg 1 πύλη g true xg = 1 OR NOT AND true NOT OR false true g g g g false OR AND NOT xg = 0 h h xg xh xg xh xg xh + xh h h xg xh xg xh xg xh + xh - 1 h xg = 1- xh

54 Αποτίμηση Κυκλώματος ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ LP έξοδος AND Οι περιορισμοί αναγκάζουν όλες τις πύλες να πάρουν σωστές τιμές 0 για false και 1 για true Δεν χρειάζεται να μεγιστοποιήσουμε ή ελαχιστ/σουμε κάτι απλώς να πάρουμε την τιμή της μεταβλητής xο πύλη εξόδου πύλη g true xg = 1 OR NOT AND true NOT OR false true g g g g false OR AND NOT xg = 0 h h xg xh xg xh xg xh + xh h h xg xh xg xh xg xh + xh - 1 h xg = 1- xh

55 Χρήση Αναγωγών Επίλυση Προβλημάτων Επίλυση Γρίφων Απόδειξη Κάτω Φραγμάτων Χρήση Αλγοριθμικών Τεχνικών Επινόηση Νέων Αλγορίθμων Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson

56 Πρόβλημα 5 Ροές σε Δίκτυα Πρόβλημα Μετάφερε όσο το δυνατόν περισσότερο πετρέλαιο s t χωρίς να υπερβείς τη χωρητικότητα ce > 0 καμιάς ακμής Λύση Με αναγωγή σε πρόβλημα Γραμμικού Προγραμματισμού (LP) Αναθέσαμε τιμές ροών fe, e Ε, οι οποίες: ικανοποιούν ένα σύνολο γραμμικών περιορισμών και μεγιστοποιούν μια γραμμική αντικειμενική συνάρτηση.

57 Ροές σε Δίκτυα ΜΕΓΙΣΤΗ-ΡΟΗ LP Στο δίκτυο του σχήματος, το LP ζητά να μεγιστοποιήσει την παράσταση: max fsa + fsb + fsc με 27 περιορισμούς: 11 για μη-αρνητικότητα (όπως fsa 0) 11 για χωρητικότητα (όπως fsa 3) 5 για διατήρηση της ροής σε κάθε κόμβο u V-{s, t} (όπως fsc + fdc = fce) Ο αλγόριθμος Simplex επιλύει το πρόβλημα πολύ γρήγορα στην πράξη δίνοντας ροή 7 που είναι πράγματι βέλτιστη

58 Ροές σε Δίκτυα ΜΕΓΙΣΤΗ-ΡΟΗ LP Με την αναγωγή που δώσαμε, τι πετύχαμε Πετύχαμε να λύσουμε «αποτελεσματικά» το πρόβλημα της μεγίστης ροής με LP Αποκτήσαμε «στοιχεία» και «έμπνευση» για το σχεδιασμό άμεσων αλγορίθμων (direct max-flow algorithms) Ας έρθουμε να σχεδιάσουμε έναν άμεσο αλγόριθμο για το πρόβλημα της μεγίστης ροής (direct max-flow algorithms)

59 Ροές σε Δίκτυα Πρώτες Παρατηρήσεις Πως συμπεριφέρεται (διαισθητικά) ο αλγόριθμος Simplex κάνει τοπικές κινήσεις στην επιφάνεια μιας κυρτής εφικτής περιοχής, βελτιώνοντας διαδοχικά την αντικειμενική συνάρτηση, μέχρι τελικά να φθάσει στη βέλτιστη λύση Στοιχειώδης ερμηνεία της συμπεριφοράς του Simplex για τον υπολογισμό της max Ροής : Ξεκινάει αρχικά με μηδενική ροή Επανάληψη: επιλέγει κατάλληλη διαδρομή P : s t, και αυξάνει τη ροή κατά μήκος των ακμών της P όσο το δυνατόν περισσότερο

60 Ροές σε Δίκτυα Ιδιότητες Ροών 10/12 13/20 10/16 Κατευθυνόμενο γράφημα 9 3/7 / 7/13 7/1 Συνάρτηση χωρητικότητας Συμβολισμός a/b Η ακμή e = (y, z) του δικτύου έχει: a : ροή fe = f(y, z) = 7 b : χωρητικότητα ce = c(y, z) = 1

61 Ροές σε Δίκτυα Ιδιότητες Ροών 10/12 13/20 10/16 Κατευθυνόμενο γράφημα 9 3/7 / 7/13 7/1 Ροή δικτύου: Συνάρτηση με τις ακόλουθες ιδιότητες: Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής: για κάθε ζεύγος για κάθε ζεύγος

62 Ροές σε Δίκτυα Ιδιότητες Ροών 10/12 13/20 10/16 Κατευθυνόμενο γράφημα 9 3/7 / 7/13 7/1 Τιμή ροής Συνολική εκροή από τον κόμβο αφετηρίας s Π.χ. Αλγόριθμος Μέγιστης Ροής Θέλουμε να βρούμε μια ροή σε ένα δίκτυο με Μέγιστη Τιμή

63 Ροές σε Δίκτυα 12 Στοιχεία Αλγόριθμου Αυξητικές Διαδρομές Υπολοιπόμενα Δίκτυα Τομές 12 Αυξητική Διαδρομή P : s t Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής :

64 Ροές σε Δίκτυα 12 Σκιαγράφηση Αλγόριθμου / /20 0/16 0/ 0/9 0/13 0/7 0/ 0/1 Μηδενική ροή Αυξητική Διαδρομή P : s t

65 Ροές σε Δίκτυα 12 Σκιαγράφηση Αλγόριθμου / /20 /16 0/ /9 0/ /7 / /1 Αύξηση της ροής f κατά μονάδες στις ακμές της P Αυξητική Διαδρομή P : s t

66 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου / /20 /16 0/ /9 0/13 0/7 / /1 Πως συνεχίζω Επιλέγω αυξητική διαδρομή P : s t

67 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου /12 0/20 /16 0/ /9 0/ /7 / /1 Αύξηση της ροής f κατά 12 μονάδες στις ακμές της P Εάν επιλέξω την P = (s, x, w, t)

68 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου / /20 /16 0/ /9 0/13 0/7 / / Αύξηση της ροής f κατά μονάδες στις ακμές της P Εάν επιλέξω την P = (s, y, z, t)

69 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου / /20 /16 0/ /9 0/13 0/7 / / Χμμ... Πως συνεχίσω

70 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου Ορίζουμε δύο τύπους ακμών: /12 /16 0/ /9 0/13 /1 Ιδέα 0/20 1. Η ακμή (u, v) υπάρχει στο δίκτυο, και έχει ακόμα υπολειπόμενη χωρητικότητα / 2. Η αντίστροφη ακμή (v, u) δεν υπάρχει στο αρχικό δίκτυο, και υπάρχει κάποια ροή σε αυτή 0/7

71 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου Εάν η τρέχουσα ροή είναι f, τότε: /12 0/20 /16 0/ /9 0/13 0/7 1. Η ακμή (u, v) υπάρχει στο δίκτυο, και έχει ακόμα υπολειπόμενη χωρητικότητα / /1 Ιδέα 2. Η αντίστροφη ακμή (v, u) δεν υπάρχει στο δίκτυο, και υπάρχει κάποια ροή σε αυτή

72 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου Παράδειγμα: /12 0/20 /16 0/ /9 0/13 0/7 / /1 Υπολειπόμενη χωρητικότητα 5/8 3 5 Ιδέα

73 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου /12 8 0/20 /16 0/ /9 0/13 0/7 / /1 Τώρα ξέρω πως να συνεχίζω Δίκτυο Υπολοίπων ή υπολειπόμενο δίκτυο

74 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου /12 8 0/20 /16 0/ /9 0/13 0/7 / / Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

75 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 8 /20 /16 / /9 /13 0/7 / /1 Αύξηση της ροής f κατά μονάδες στις ακμές της P Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

76 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 /20 /16 / /9 0/ /13 / /1 Αύξηση της ροής f κατά μονάδες στις ακμές της P Ενημέρωση υπολειπόμενου δικτύου

77 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 /20 /16 / /9 0/ /13 / / Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

78 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 8/20 8/16 0/ 0/9 0/ /13 / /1 Αύξηση της ροής f κατά μονάδες στις ακμές της P Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

79 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 8/20 8/16 0/ 0/ /7 8 9 /13 / /1 Αύξηση της ροής f κατά μονάδες στις ακμές της P Ενημέρωση υπολειπόμενου δικτύου

80 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 8/20 8/16 0/ 0/ /7 8 9 /13 / / Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

81 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 15/20 8/16 0/ 0/ / /13 / 11/1 Αύξηση της ροής f κατά 7 μονάδες στις ακμές της P Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

82 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 15/20 8/16 0/ 0/ / /13 / 11/1 Αύξηση της ροής f κατά 7 μονάδες στις ακμές της P Ενημέρωση υπολειπόμενου δικτύου

83 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 8/12 15/20 8/16 0/ 0/ / /13 / 11/ Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

84 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 12/12 19/20 12/16 0/ 0/ / /13 / 11/1 Αύξηση της ροής f κατά μονάδες στις ακμές της P Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

85 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 12/12 19/20 12/16 0/ 0/ / /13 / 11/ Ενημέρωση υπολειπόμενου δικτύου

86 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 12/12 19/20 12/16 0/ 0/ / /13 / 11/1 Δεν υπάρχει Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

87 Ροές σε Δίκτυα Σκιαγράφηση Αλγόριθμου 12/12 19/20 12/16 0/ 0/ / /13 / 11/1 Έχω την λύση Επιλέγω αυξητική διαδρομή P : s στο υπολειπόμενο δίκτυο t

88 Ροές σε Δίκτυα 12 Σκιαγράφηση Αλγόριθμου / /20 12/ / 0/9 11/13 7/7 1 / 11/1 Αρχικό δίκτυο Τιμή της μέγιστης ροής του δικτύου: = 23

89 Ροές σε Δίκτυα 12 Σκιαγράφηση Αλγόριθμου / /20 12/ / 0/9 11/13 7/7 1 / 11/1 Αρχικό δίκτυο Τιμή της μέγιστης ροής του δικτύου: = 23 Επαλήθευση Υπολοιπόμενες χωρητικότητες:,,, 7,

90 Ροές σε Δίκτυα 12 Σκιαγράφηση Αλγόριθμου / /20 12/ / 0/9 11/13 7/7 1 / 11/1 Αρχικό δίκτυο Τιμή της μέγιστης ροής του δικτύου: = 23 Επαλήθευση Υπολοιπόμενες χωρητικότητες:,,, 7,

91 Ροές σε Δίκτυα 12 Σκιαγράφηση Αλγόριθμου / /20 12/ / 0/9 11/13 7/7 1 / 11/1 Αρχικό δίκτυο Τιμή της μέγιστης ροής του δικτύου: = 23 Επαλήθευση Υπολοιπόμενες χωρητικότητες:,,, 7,

92 Ροές σε Δίκτυα 12 Σκιαγράφηση Αλγόριθμου / /20 12/ / 0/9 11/13 7/7 1 Αρχικό δίκτυο / 11/1 Τιμή της μέγιστης ροής του δικτύου: = 23 Αλγόριθμος των Ford-Fulkerson 1956

93 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson αύξηση της ροής κατά 1 μονάδα 1. Θέτουμε τη ροή f ίση με 0 2. Ενόσω υπάρχει αυξητική διαδρομή P στο Gf 3.. αυξάνουμε τη ροή f κατά μήκος της διαδρομής P Επιστροφή f χρόνος για την εύρεση και επεξεργασία της αυξητικής διαδρομής Ανάλυση: Υποθέτουμε ακέραιες χωρητικότητες. Τότε ο χρόνος εκτέλεσης είναι ροής. όπου η τιμή της μέγιστης

94 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 0/1000 0/ /1 0/ /1000 Δίκτυο Υπολειπόμενο δίκτυο

95 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 0/1000 0/ /1 0/ /1000 Δίκτυο Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

96 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 0/1000 1/ /1 0/ /1000 Δίκτυο Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

97 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 0/1000 1/ / /1000 1/1000 Δίκτυο Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

98 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 0/1000 1/ / /1000 1/1000 Δίκτυο Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

99 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 1/1000 1/ / /1000 1/1000 Δίκτυο Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

100 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 1/1000 1/ /1 1 1/1000 1/1000 Δίκτυο Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

101 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 1/1000 1/ /1 1 1/1000 1/1000 Δίκτυο Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

102 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 1/1000 2/ /1 1 1/1000 2/1000 Δίκτυο Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

103 Ροές σε Δίκτυα Αλγόριθμος των Ford-Fulkerson Μια κακή περίπτωση 1/1000 2/ /1 1 1/1000 2/1000 Δίκτυο κ.ο.κ Υπολειπόμενο δίκτυο Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

104 Ροές σε Δίκτυα Ένα Πιστοποιητικό Βελτιστότητας Στη μέθοδο των Ford-Fulkerson αυξάνουμε τη ροή κατά μήκος αυξητικών διαδρομών έως να βρεθεί μια μέγιστη ροή Πως γνωρίζουμε ότι πράγματι έχουμε βρει μια μέγιστη ροή 7 1 Δίκτυο Τιμή της μέγιστης ροής του δικτύου: Υπάρχει ροή με f > 23 = 23

105 Ροές σε Δίκτυα Ένα Πιστοποιητικό Βελτιστότητας Στη μέθοδο των Ford-Fulkerson αυξάνουμε τη ροή κατά μήκος αυξητικών διαδρομών έως να βρεθεί μια μέγιστη ροή Την απάντηση δίνει το 1 Δίκτυο Θεώρημα Μέγιστης Ροής Ελάχιστης Τομής 7

106 Ροές σε Δίκτυα Ένα Πιστοποιητικό Βελτιστότητας Τομή Δικτύου Ροής : 12/12 Μια διαμέριση των κόμβων του δικτύου σε σύνολα και τέτοια ώστε και 0/ 0/9 11/13 : : 7/7 / 11/1 Καθαρή ροή δια μέσου της τομής Χωρητικότητα της τομής 19/20 12/16

107 Ροές σε Δίκτυα Θεώρημα (Μέγιστης ροής Ελάχιστης τομής) Το μέγεθος της μέγιστης ροής σε ένα δίκτυο ισούται με την χωρητικότητα της ελάχιστης τομής (S, T)

108 Ροές σε Δίκτυα Θεώρημα (Μέγιστης ροής Ελάχιστης τομής) Οι ακόλουθες προτάσεις είναι ισοδύναμες: 1. Η είναι μια μέγιστη ροή στο 2. Δεν υπάρχει αυξητική διαδρομή στο υπολειπόμενο δίκτυο 3. Υπάρχει τομή του τέτοια ώστε

109 Προβλήματα Εύκολα, Δύσκολα και Μη-επιλύσιμα Στο Βασίλειο των Προβλημάτων P NP POLΥNOMIAL ΝP-πλήρη ΝP-δύσκολα EXPOΝENTIAL ΜΗ-ΕΠΙΛΥΣΙΜΑ

110 Προβλήματα Εύκολα, Δύσκολα και Μη-επιλύσιμα Τι αλγορίθμους έχουμε δει έως τώρα P NP POLΥNOMIAL ΝP-πλήρη ΝP-δύσκολα EXPOΝENTIAL ΜΗ-ΕΠΙΛΥΣΙΜΑ

111 Προβλήματα Αναζήτησης Τι αλγορίθμους έχουμε δει έως τώρα Αναπτύξαμε αλγορίθμους για να βρίσκουμε: ελάχιστες διαδρομές, αντιστοιχίσεις σε διμερή γραφήματα, μέγιστες ροές σε δίκτυα, και γενικά, για να βρίσκουμε βέλτιστες (optimal) λύσεις με χρήση έξυπνων αλγοριθμικών τεχνικών και αναγωγών Όλοι αυτοί οι αλγόριθμοι είναι αποδοτικοί (efficient) ο χρόνος εκτέλεσής τους T(n) είναι πολυωνυμική συνάρτηση του μεγέθους της εισόδου n (όπως n, n2, n3, )

112 Προβλήματα Αναζήτησης Τι αναζητούμε σε όλα αυτά τα Προβλήματα Σε όλα αναζητούμε μια λύση, για παράδειγμα: μια διαδρομή, ένα δένδρο, μια αντιστοίχιση, κλπ ανάμεσα σε ένα εκθετικό πλήθος λύσεων Πράγματι: n αγόρια μπορούν να αντιστοιχηθούν με n κορίτσια με n διαφορετικούς τρόπους ένα γράφημα τάξης n έχει nn-2 συνδετικά δένδρα ένα τυπικό γράφημα τάξης n έχει εκθετικό πλήθος διαδρομών από τον κόμβο s στον t.

113 Προβλήματα Αναζήτησης ΟΛΑ αυτά τα Προβλήματα Αναζήτησης μπορούν να λυθούν σε εκθετικό χρόνο Με τον έλεγχο όλων των υποψηφίων λύσεων, μία προς μία Όμως, ένας αλγόριθμος με εκθετική πολυπλοκότητα, όπως T(n) = 2n, είναι πρακτικά άχρηστος Τι Θέλουμε Έξυπνες και Πρωτότυπες Ιδέες για να παρακάμψουμε την Εξαντλητική Αναζήτηση

114 Προβλήματα Αναζήτησης Υπάρχουν Έξυπνες και Πρωτότυπες Ιδέες ΝΑΙ έχουμε δει αλγοριθμικές τεχνικές που «κατατροπώνουν» τον εφιάλτη της εκθετικότητας Άπληστη τεχνική Δυναμικός προγραμματισμός Γραμμικός Προγραμματισμός Κάποτε όμως έρχεται και η ώρα της Αποτυχίας

115 Προβλήματα Αναζήτησης Τι σημαίνει «Αποτυχία» Υπάρχουν κάποια «προβλήματα αναζήτησης» για τα οποία : δεν φαίνεται να υπάρχει αποτελεσματικός τρόπος επίλυσης Τι ξέρουμε για τα προβλήματα αυτά Οι ταχύτεροι αλγόριθμοι που γνωρίζουμε είναι όλοι εκθετικοί Ορίστε μερικά από αυτά...

116 Προβλήματα Αναζήτησης 1 Ικανοποιησιμότητα Πρόβλημα SAT Μας δίδεται ένας λογικός τύπος (Boolean formula) σε κανονική συζευκτική μορφή (CNF), όπως για παράδειγμα: (x y z) (x y) (y z) (z x) (x y z) και μας ζητείται είτε να βρούμε μια ικανοποιούσα ανάθεση τιμών αληθείας (satisfying truth assignment) ή να αναφέρουμε ότι δεν υπάρχει καμία Μια ικανοποιούσα ανάθεση τιμών αληθείας είναι μια ανάθεση τιμών true ή false σε κάθε μεταβλητή έτσι ώστε ο λογικός τύπος να είναι true

117 Προβλήματα Αναζήτησης 2 Το πρόβλημα του Περιοδεύοντος Πωλητή Πρόβλημα TSP Μας δίδεται ένα πλήρες έμβαρο γράφημα n κόμβων, καθώς και ένας προϋπολογισμός b, και μας ζητείται μια περιήγηση (tour), δηλαδή ένας κύκλος που διέρχεται από κάθε κόμβο μία μόνο φορά, με συνολικό κόστος το πολύ b ή να αναφέρουμε ότι δεν υπάρχει τέτοια περιήγηση Η βέλτιστη περιήγηση του παραδείγματος έχει κόστος 16

118 Προβλήματα Αναζήτησης 3 Ανεξάρτητα Σύνολα Γραφημάτων Πρόβλημα ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ Μας δίδεται ένα γράφημα n κόμβων και ένας ακέραιος k, και μας ζητείται να βρούμε ένα σύνολο ΙS με k κόμβους οι οποίοι είναι ανεξάρτητοι (independent), δηλαδή ανά δύο δεν έχουν καμία ακμή μεταξύ τους, ή να αναφέρουμε ότι δεν υπάρχει τέτοιο σύνολο κόμβων Το πρόβλημα λύνεται αποδοτικά σε δένδρα, αλλά όχι σε γενικά γραφήματα

119 Προβλήματα Αναζήτησης Κάλυψη Γραφήματος με Κόμβους Πρόβλημα ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ Μας δίδεται ένα γράφημα n κόμβων και ένας ακέραιος k, και μας ζητείται να βρούμε ένα σύνολο VC με k κόμβους οι οποίοι καλύπτουν κάθε ακμή, δηλαδή κάθε ακμή έχει τουλάχιστον ένα κόμβο της στο σύνολο VC, ή να αναφέρουμε ότι δεν υπάρχει τέτοιο σύνολο κόμβων Το πρόβλημα λύνεται αποδοτικά σε κάποιες κλάσεις γραφημάτων, αλλά όχι σε γενικά γραφήματα

120 Προβλήματα Αναζήτησης 5 Κλίκες Γραφημάτων Πρόβλημα ΚΛΙΚΑ Μας δίδεται ένα γράφημα n κόμβων και ένας ακέραιος k, και μας ζητείται να βρούμε ένα σύνολο CL με k κόμβους οι οποίοι έχουν πλήρη σύνδεση, δηλαδή ανά δύο έχουν ακμή μεταξύ τους, ή να αναφέρουμε ότι δεν υπάρχει τέτοιο σύνολο κόμβων Το πρόβλημα λύνεται αποδοτικά σε κάποιες κλάσεις γραφημάτων, αλλά όχι σε γενικά γραφήματα

121 Προβλήματα Αναζήτησης 6 Μέγιστες Διαδρομές Πρόβλημα ΜΕΓΙΣΤΗ-ΔΙΑΔΡΟΜΗ Μας δίδεται ένα έμβαρο γράφημα n κόμβων (με μη-αρνητικά βάρη) και δύο διακριτοί κόμβοι s και t μαζί με έναν ακέραιο k, και μας ζητείται να βρούμε μια διαδρομή Δ από τον s στον t με συνολικό κόστος τουλάχιστον k ή να αναφέρουμε ότι δεν υπάρχει τέτοια διαδρομή t s Για να αποφύγουμε τετριμμένες λύσεις απαιτούμε διαδρομή να είναι απλή, δηλαδή να μην περιέχει επαναλαμβανόμενους κόμβους η

122 Κλάσεις Προβλημάτων Δύσκολα & Εύκολα Προβλήματα Δύσκολα Προβλήματα 3SAT TSP ΜΕΓΙΣΤΗ ΔΙΑΔΡΟΜΗ ΣΑΚΙΔΙΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ ILP ΔΙΑΔΡΟΜΗ HAMILTON Εύκολα Προβλήματα 2SAT MST EΛΑΧΙΣΤΗ ΔΙΑΔΡΟΜΗ ΜΟΝΑΔΙΑΙΟ ΣΑΚΙΔΙΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ ΣΕ ΔΕΝΔΡΑ LP ΔΙΑΔΡΟΜΗ EULER

123 Κλάσεις Προβλημάτων Δύσκολα & Εύκολα Προβλήματα Δύσκολα Προβλήματα 3SAT TSP ΜΕΓΙΣΤΗ ΔΙΑΔΡΟΜΗ ΣΑΚΙΔΙΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ ILP ΔΙΑΔΡΟΜΗ HAMILTON Εύκολα Προβλήματα Όλα τα προβλήματα εδώ λύνονται αποδοτικά με αλγορίθμους: Αναζήτησης σε γραφήματα Άπληστων τεχνικών Ροών Δυναμικού προγραμματισμού Γραμμικού προγραμματισμού

124 Κλάσεις Προβλημάτων Δύσκολα & Εύκολα Προβλήματα Δύσκολα Προβλήματα Θλιβερή Αντίθεση Τα προβλήματα εδώ είναι όλα δύσκολα, όλα για τον ίδιο λόγο Στη βάση τους είναι όλα το ίδιο πρόβλημα με διαφορετικές μεταμφιέσεις Εύκολα Προβλήματα Όλα τα προβλήματα εδώ λύνονται αποδοτικά με αλγορίθμους: Αναζήτησης σε γραφήματα Άπληστων τεχνικών Ροών Δυναμικού προγραμματισμού Γραμμικού προγραμματισμού

125 Κλάσεις Προβλημάτων Δύσκολα & Εύκολα Προβλήματα Δύσκολα Προβλήματα Θλιβερή Αντίθεση Τα προβλήματα εδώ είναι όλα δύσκολα, όλα για τον ίδιο λόγο Στη βάση τους είναι όλα το ίδιο πρόβλημα NP-πλήρη Εύκολα Προβλήματα Όλα τα προβλήματα εδώ λύνονται αποδοτικά με αλγορίθμους: Αναζήτησης σε γραφήματα Άπληστων τεχνικών Ροών Δυναμικού προγραμματισμού Γραμμικού προγραμματισμού

126 Κλάσεις Προβλημάτων P και NP Γνωρίζουμε τι είναι ένα Πρόβλημα Αναζήτησης Χαρακτηριστικό: Μια προτεινόμενη λύση S μπορεί να ελεγχθεί γρήγορα για την ορθότητά της

127 Κλάσεις Προβλημάτων P και NP Γνωρίζουμε τι είναι ένα Πρόβλημα Αναζήτησης Υπάρχει αποδοτικός (πολυωνυμικός) αλγόριθμος ελέγχου C Ο χρόνος εκτέλεσης του αλγόριθμου C(I, S) φράσσεται από ένα πολυώνυμο ως προς Ι, όπου Ι ένα στιγμιότυπο του προβλήματος. Συμβολίζουμε την κλάση ΟΛΩΝ των ΠΡΟΒΛΗΜΑΤΩΝ ΑΝΑΖΗΤΗΣΗΣ που μια Λύση τους Ελέγχεται σε ΠΟΛΥΩΝΥΜΙΚΟ ΧΡΟΝΟ με NP

128 Κλάσεις Προβλημάτων P και NP Γνωρίζουμε τι είναι ένα Πρόβλημα Αναζήτησης NP Συμβολίζουμε την κλάση ΟΛΩΝ των ΠΡΟΒΛΗΜΑΤΩΝ ΑΝΑΖΗΤΗΣΗΣ που μια Λύση τους Ελέγχεται σε ΠΟΛΥΩΝΥΜΙΚΟ ΧΡΟΝΟ με NP

129 Κλάσεις Προβλημάτων P και NP ΠΟΛΛΑ πρόβλημα αναζήτησης NP γνωρίζουμε ότι μπορούν να λυθούν σε πολυωνυμικό χρόνο NP P Συμβολίζουμε την κλάση ΟΛΩΝ των ΠΡΟΒΛΗΜΑΤΩΝ ΑΝΑΖΗΤΗΣΗΣ που Μπορούν να Λυθούν σε ΠΟΛΥΩΝΥΜΙΚΟ ΧΡΟΝΟ με P

130 Κλάσεις Προβλημάτων Το Μεγάλο Ερώτημα Πόσα ΠΟΛΛΑ προβλήματα αναζήτησης NP υπάρχουν που μπορούν να λυθούν σε πολυωνυμικό χρόνο NP P Συμβολίζουμε την κλάση ΟΛΩΝ των ΠΡΟΒΛΗΜΑΤΩΝ ΑΝΑΖΗΤΗΣΗΣ που Μπορούν να Λυθούν σε ΠΟΛΥΩΝΥΜΙΚΟ ΧΡΟΝΟ με P

131 Κλάσεις Προβλημάτων Το Μεγάλο Ερώτημα Μήπως ΟΛΑ τα προβλήματα αναζήτησης NP μπορούν να λυθούν σε πολυωνυμικό χρόνο NP P Συμβολίζουμε την κλάση ΟΛΩΝ των ΠΡΟΒΛΗΜΑΤΩΝ ΑΝΑΖΗΤΗΣΗΣ που Μπορούν να Λυθούν σε ΠΟΛΥΩΝΥΜΙΚΟ ΧΡΟΝΟ με P

132 Κλάσεις Προβλημάτων Το Μεγάλο Ερώτημα Μήπως ΟΛΑ τα προβλήματα αναζήτησης NP μπορούν να λυθούν σε πολυωνυμικό χρόνο P = NP Συμβολίζουμε την κλάση ΟΛΩΝ των ΠΡΟΒΛΗΜΑΤΩΝ ΑΝΑΖΗΤΗΣΗΣ που Μπορούν να Λυθούν σε ΠΟΛΥΩΝΥΜΙΚΟ ΧΡΟΝΟ με P

133 Κλάσεις Προβλημάτων Το Μεγάλο Ερώτημα Ισχύει : NP P = NP ή P NP P Οι περισσότεροι ερευνητές πιστεύουν πως P NP Είναι δύσκολο να πιστέψουμε ότι μπορεί πάντοτε να αποφευχθεί η εκθετική αναζήτηση... Ή, ότι μια τεχνική θα «σπάσει» όλα αυτά τα δύσκολα προβλήματα Υπάρχει ένας καλός λόγος για να πιστεύουν οι μαθηματικοί ότι P NP

134 Κλάσεις Προβλημάτων Το Μεγάλο Ερώτημα NP ή P NP Ισχύει : P = NP P Ωστόσο... Δεν υπάρχει απόδειξη και η απόδειξη φαίνεται, και ίσως είναι, εξαιρετικά δύσκολη

135 Κλάσεις Προβλημάτων Το Μεγάλο Ερώτημα Ισχύει : NP P = NP ή P NP P Το ερώτημα είναι ένα από τα βαθύτερα και σημαντικότερα αναπάντητα Million Dollar Question ερωτήματα της επιστήμης μας (Clay Institute millennium problems)

136 Κλάσεις Προβλημάτων Δύσκολα Προβλήματα Εάν ισχύει : P NP «Ζώνη Αβεβαιότητας» NP-P P NP Αύξουσα Δυσκολία

137 Κλάσεις Προβλημάτων Δύσκολα Προβλήματα Εάν ισχύει : P NP Τι ισχύει για τα προβλήματα αναζήτησης του αριστερού πίνακα 3SAT Υπάρχουν ΕΝΔΕΙΞΕΙΣ ότι αυτά είναι ιδιαίτερα προβλήματα και ότι δεν έχουν αποδοτικούς αλγορίθμους επίλυσης TSP ΜΕΓΙΣΤΗ ΔΙΑΔΡΟΜΗ ΣΑΚΙΔΙΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ ILP ΔΙΑΔΡΟΜΗ HAMILTON Τέτοιες ενδείξεις παρέχουν οι Αναγωγές 2SAT MST EΛΑΧΙΣΤΗ ΔΙΑΔΡΟΜΗ ΜΟΝΑΔΙΑΙΟ ΣΑΚΙΔΙΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ ΣΕ ΔΕΝΔΡΑ LP ΔΙΑΔΡΟΜΗ EULER

138 Κλάσεις Προβλημάτων Δύσκολα Προβλήματα Θα δείξουμε, μέσω αναγωγών, ότι : όλα τα προβλήματα του πίνακα, κατά μία έννοια (υπολογιστικά), είναι ακριβώς το ίδιο πρόβλημα είναι τα δυσκολότερα στην κλάση NP εάν ένα λυθεί πολυωνυμικά, τότε κάθε πρόβλημα στην NP λύνεται πολυωνυμικά 3SAT TSP ΜΕΓΙΣΤΗ ΔΙΑΔΡΟΜΗ ΣΑΚΙΔΙΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ ILP ΔΙΑΔΡΟΜΗ HAMILTON Έτσι, εάν πιστεύουμε ότι P NP τότε όλα τα προβλήματα του πίνακα είναι δύσκολα

139 Κλάσεις Προβλημάτων Πάλι Αναγωγές Ας θυμηθούμε... οι αναγωγές εκφράζουν ένα πρόβλημα αναζήτησης σε κάποιο άλλο Α Β Αλγόριθμος για το Α x προεπεξεργασία y Αλγόριθμος για το Β ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ LP Β(y) μετεπεξεργασία Α(x)

140 Κλάσεις Προβλημάτων Πάλι Αναγωγές Ας θυμηθούμε... έως τώρα, ο σκοπός της αναγωγής ήταν σαφής και έντιμος Α Β γνωρίζουμε έναν αποδοτικό αλγόριθμο για το Β, και τον χρησιμοποιούμε για να λύσουμε αποδοτικά το πρόβλημα Α ΤΕΛΕΙΑ-ΑΝΤΙΣΤΟΙΧΙΣΗ ΜΕΓΙΣΤΗ-ΡΟΗ ΤΙΜΗ-ΚΥΚΛΩΜΑΤΟΣ LP ΜΕΓΙΣΤΗ-ΑΥΞΟΥΣΑ-ΥΠΑΚΟΛΟΥΘΙΑ ΜΕΓΙΣΤΗ-ΔΙΑΔΡΟΜΗ-DAG Άνω Φράγματα

141 Κλάσεις Προβλημάτων Πάλι Αναγωγές Στη συνέχεια θα χρησιμοποιήσουμε τις αναγωγές για ένα κάπως διεστραμμένο στόχο: Α Β Κάτω Φράγματα γνωρίζουμε ότι το πρόβλημα Α είναι δύσκολο, και χρησιμοποιούμε την αναγωγή για να αποδείξουμε ότι και το Β είναι δύσκολο Α Β Ροή Δυσκολίας

142 Κλάσεις Προβλημάτων Πάλι Αναγωγές Στη συνέχεια θα χρησιμοποιήσουμε τις αναγωγές για ένα κάπως διεστραμμένο στόχο: Α Β Κάτω Φράγματα γνωρίζουμε ότι το πρόβλημα Α είναι δύσκολο, και χρησιμοποιούμε την αναγωγή για να αποδείξουμε ότι και το Β είναι δύσκολο Εάν Α Β και Β C τότε A C Ροή Δυσκολίας

143 Κλάσεις Προβλημάτων Πάλι Αναγωγές Ας εξειδικεύσουμε τον ορισμό της αναγωγής για προβλήματα αναζήτησης Α Β Αλγόριθμος για το A Στιγμ/πο Ι f Στιγμ/πο f(i) Αλγόριθμος για το B Λύση S του f(i) h Δεν υπάρχει λύση του f(i) Μια αναγωγή A B είναι δύο πολυωνυμικοί αλγόριθμοι f και h f : μετασχηματίζει κάθε στιγμιότυπο I του A σε ένα στιγμιότυπο f(i) του B h : απεικονίζει μια λύση S του στιγμιότυπου f(i) σε μια λύση h(s) του I Λύση h(s) του Ι Δεν υπάρχει λύση για το I

144 Κλάσεις Προβλημάτων NP-πλήρη Και τώρα ορίζουμε την κλάση των δυσκολότερων προβλημάτων αναζήτησης Α Β NP P Αύξουσα Δυσκολία Ένα πρόβλημα αναζήτησης είναι NP-πλήρες (NP-complete) εάν ΟΛΑ ΤΑ ΑΛΛΑ ΠΡΟΒΛΗΜΑΤA ΑΝΑΖΗΤΗΣΗΣ ΣΤΟ NP ΑΝΑΓΟΝΤΑΙ σε αυτό

145 Κλάσεις Προβλημάτων NP-πλήρη Και τώρα ορίζουμε την κλάση των δυσκολότερων προβλημάτων αναζήτησης Εάν P NP NP P ΝP-πλήρη Αύξουσα Δυσκολία Ένα πρόβλημα αναζήτησης είναι NP-πλήρες (NP-complete) εάν ΟΛΑ ΤΑ ΑΛΛΑ ΠΡΟΒΛΗΜΑΤA ΑΝΑΖΗΤΗΣΗΣ ΣΤΟ NP ΑΝΑΓΟΝΤΑΙ σε αυτό

146 Κλάσεις Προβλημάτων NP-πλήρη NP Αυτή είναι μια πολύ ισχυρή απαίτηση ΝP-πλήρη P Για να είναι ένα πρόβλημα NP-πλήρες πρέπει να είναι Αύξουσα Δυσκολία Χρήσιμο για την επίλυση κάθε προβλήματος NP στον Κόσμο Είναι εντυπωσιακό, αλλά... Υπάρχουν τέτοια προβλήματα (3SAT, TSP, MΕΓΙΣΤΗ ΔΙΑΔΡΟΜΗ, )

147 Κλάσεις Προβλημάτων NP-πλήρη NP Ισχύει : P ΝP-πλήρη Όλα τα NP-πλήρη πρόβλημα ανάγονται το ένα στο άλλο SAT Q R Και, όλα τα NP προβλήματα ανάγονται στα NP-πλήρη ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-ΣΤΟ-NP SAT Αύξουσα Δυσκολία

148 Κλάσεις Προβλημάτων P, NP και NP-πλήρη Εάν P NP NP P ΝP-πλήρη Αύξουσα Δυσκολία Μια Σχηματική Παρουσίαση

149 Κλάσεις Προβλημάτων P, NP και NP-πλήρη Εάν P NP NP P ΝP-πλήρη Αύξουσα Δυσκολία ΟΛΑ ΤΑ ΠΡΟΒΛΗΜΑΤΑ NP

150 Κλάσεις Προβλημάτων P, NP και NP-πλήρη Εάν P NP NP P ΝP-πλήρη Αύξουσα Δυσκολία SAT Q R

151 Κλάσεις Προβλημάτων P, NP και NP-πλήρη Εάν P NP NP P ΝP-πλήρη Αύξουσα Δυσκολία ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-ΣΤΟ-NP SAT Q R

152 Κλάσεις Προβλημάτων P, NP και NP-πλήρη Εάν P NP NP P ΝP-πλήρη Αύξουσα Δυσκολία ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-ΣΤΟ-NP SAT Q R

153 Κλάσεις Προβλημάτων P, NP και NP-πλήρη Εάν P NP NP P ΝP-πλήρη Αύξουσα Δυσκολία ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-ΣΤΟ-NP SAT Q R

154 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ ΖΟΕ AΘΡΟΙΣΜΑ-ΥΠΟΣΥΝΟΛΟΥ ILP ΚΥΚΛΟΣ-HAMILTON TSP Θα δείξουμε μέσω Αναγωγών

155 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ ΖΟΕ AΘΡΟΙΣΜΑ-ΥΠΟΣΥΝΟΛΟΥ ILP ΚΥΚΛΟΣ-HAMILTON TSP Θα δείξουμε μέσω Αναγωγών

156 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ ΖΟΕ AΘΡΟΙΣΜΑ-ΥΠΟΣΥΝΟΛΟΥ ILP ΚΥΚΛΟΣ-HAMILTON TSP Θα δείξουμε μέσω Αναγωγών

157 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ ΖΟΕ AΘΡΟΙΣΜΑ-ΥΠΟΣΥΝΟΛΟΥ ILP ΚΥΚΛΟΣ-HAMILTON TSP Θα δείξουμε μέσω Αναγωγών

158 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ ΖΟΕ AΘΡΟΙΣΜΑ-ΥΠΟΣΥΝΟΛΟΥ ILP ΚΥΚΛΟΣ-HAMILTON TSP Θα δείξουμε μέσω Αναγωγών

159 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ ΖΟΕ AΘΡΟΙΣΜΑ-ΥΠΟΣΥΝΟΛΟΥ ILP ΚΥΚΛΟΣ-HAMILTON TSP Θα δείξουμε μέσω Αναγωγών

160 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ ΖΟΕ AΘΡΟΙΣΜΑ-ΥΠΟΣΥΝΟΛΟΥ ILP ΚΥΚΛΟΣ-HAMILTON TSP Θα δείξουμε μέσω Αναγωγών

161 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP Cook (1971) SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ ΖΟΕ AΘΡΟΙΣΜΑ-ΥΠΟΣΥΝΟΛΟΥ ILP ΚΥΚΛΟΣ-HAMILTON TSP Θα δείξουμε μέσω Αναγωγών

162 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP Cook (1971) SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ Αρχικά θα δείξουμε αυτές τις Αναγωγές ΚΛΙΚΑ SAT Q R

163 Αναγωγές Προβλημάτων NP Α Β Α Β ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP Cook (1971) SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ και στη συνέχεια την αναγωγή: από Οποιοδήποτε Πρόβλημα NP στο SAT ΚΛΙΚΑ ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-ΣΤΟ-NP SAT Q R

164 Αναγωγές Προβλημάτων NP 1 SAT 3SAT 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛO 3 ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΛΙΚΑ SAT 3 SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ

165 Αναγωγές Προβλημάτων NP 1 SAT 3SAT 1 Το πρόβλημα SAT Μας δίδεται ένας λογικός τύπος (Boolean formula) σε συζευκτική μορφή: (x y z w) (x y) (z x w p y) (x y z) και μας ζητείται είτε να βρούμε μια ικανοποιούσα ανάθεση τιμών αληθείας (satisfying truth assignment) ή να αναφέρουμε ότι δεν υπάρχει καμία 3SAT (x y z) (w y) (y z) (p x) (x y z)

166 Αναγωγές Προβλημάτων NP 1 SAT 3SAT 1 Τέχνασμα για την Αναγωγή του SAT στο 3SAT: Με δεδομένο ένα στιγμιότυπο I του SAT, χρησιμοποιούμε ακριβώς το ίδιο στιγμιότυπο για το 3SAT, με την διαφορά ότι ένας όρος με k > 3 στοιχεία (a1 a2 ak) αντικαθίσταται από ένα σύνολο όρων (a1 a2 y1) (y1 a3 y2) (y2 a y3) (yk-3 ak-1 ak) όπου τα y1, y2,, yk-3 είναι νέες μεταβλητές.

167 Αναγωγές Προβλημάτων NP 1 SAT 3SAT 1 Τέχνασμα για την Αναγωγή του SAT στο 3SAT: Έστω I το στιγμιότυπο του 3SAT που προκύπτει... προφανώς σε χρόνο Τ( Ι ) Στιγμιότυπο I είναι ισοδύναμο με I ως προς την ικανοποιησιμότητα διότι για οποιαδήποτε ανάθεση τιμών στα ai (1 i k), ισχύει: (a1 a2 ak) ικανοποιείται υπάρχει μια ανάθεση τιμών των y1, y2,, yk-3 για την οποία οι όροι (a1 a2 y1) (y1 a3 y2) (yk-3 ak-1 ak) ικανοποιούνται όλοι

168 Αναγωγές Προβλημάτων NP 1 SAT 3SAT 1 Τέχνασμα για την Αναγωγή του SAT στο 3SAT: Για να το δείτε υποθέστε ότι ικανοποιούνται όλοι οι όροι στα δεξιά. Τότε, τουλάχιστον ένα από τα a1, a2,, ak πρέπει να είναι true (a1 a2 ak) ικανοποιείται διαφορετικά το y1 θα πρέπει να είναι true, το οποίο αναγκάζει το y2 να είναι true, κάνοντας false τον τελευταίο όρο Άρα, ικανοποιείται επίσης και ο αριστερός όρος (a1 a2 ak) υπάρχει μια ανάθεση τιμών των y1, y2,, yk-3 για την οποία οι όροι (a1 a2 y1) (y1 a3 y2) (yk-3 ak-1 ak) έστω ότι ικανοποιούνται όλοι

169 Αναγωγές Προβλημάτων NP 1 SAT 3SAT 1 Τέχνασμα για την Αναγωγή του SAT στο 3SAT: Αντιστρόφως υποθέστε ότι ικανοποιείται ο όρος (a1 a2 ak) Τότε, κάποια ai πρέπει να είναι true (a1 a2 ak) Θέτουμε τιμές true στις y1, y2,, yi-2 και στις yi-1, yi,, yk-3 τιμές false Αυτό διασφαλίζει ότι ικανοποιούνται όλοι οι όροι δεξιά ικανοποιείται υπάρχει μια ανάθεση τιμών των y1, y2,, yk-3 για την οποία οι όροι (a1 a2 y1) (y1 a3 y2) (yk-3 ak-1 ak) ικανοποιούνται όλοι

170 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 3SAT (x y z) (x y z) (x y z) (x y) ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ Μας δίδεται γράφημα n κόμβων και ακέραιος k και μας ζητείται να βρούμε ένα σύνολο ΙS με k κόμβους οι οποίοι είναι ανεξάρτητοι, δηλ. ανά δύο δεν έχουν ακμή μεταξύ τους, ή να αναφέρουμε ότι δεν υπάρχει τέτοιο σύνολο κόμβων 1

171 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ Δύο πολύ διαφορετικά προβλήματα 1 2 (x y z) (x y z) (x y z) (x y) Συσχετισμός Λογικής Boole με Γραφήματα Ας σκεφτούμε Σε μια ικανοποιούσα ανάθεση τιμών αληθείας του 3SAT θα πρέπει ένα στοιχείο από κάθε όρο να είναι true Συνεπείς επιλογές εάν επιλέξουμε το x να είναι true σε κάποιο όρο δεν μπορούμε να επιλέξουμε το x να είναι true σε κάποιο άλλο

172 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ Δύο πολύ διαφορετικά προβλήματα 1 2 (x y z) (x y z) (x y z) (x y) Συσχετισμός Λογικής Boole με Γραφήματα ΑΝΑΠΑΡΑΣΤΑΣΗ y (x y z) x z

173 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 1 2 Παράδειγμα (x y z) (x y z) (x y z) (x y) y y x z x y z x y z x Στο γράφημα G που προκύπτει, ένα IS περιέχει το πολύ ένα στοιχείo από κάθε τρίγωνο όρο Για να επιβάλουμε ΜΙΑ επιλογή από κάθε τρίγωνο-όρο, θέτουμε: k = πλήθος όρων

174 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 1 2 Παράδειγμα (x y z) (x y z) (x y z) (x y) y y x Λείπει κάτι... z x y z x y z x ΝΑΙ, ένας τρόπος που θα μας εμποδίζει να επιλέγουμε αντίθετα στοιχεία - και το x και το x Αυτό είναι πολύ εύκολο

175 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 2 Παράδειγμα (x y z) (x y z) (x y z) (x y) y y x z x y z 1 x Αυτό είναι πολύ εύκολο Ορίστε και ο Τρόπος y z x

176 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 1 2 Παράδειγμα (x y z) (x y z) (x y z) (x y) y y x z x y z x y z x Με δεδομένο ένα στιγμιότυπο Ι του προβλήματος 3SAT δημιουργήσαμε ένα στιγμιότυπο (G, k) του προβλήματος ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ

177 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 2 Παράδειγμα x = false y = true z = true (x y z) (x y z) (x y z) (x y) y y x z x y z 1 x y z x Με δεδομένο ένα στιγμιότυπο Ι του προβλήματος 3SAT δημιουργήσαμε ένα στιγμιότυπο (G, k) του προβλήματος ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ

178 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 2 Παράδειγμα x = false y = false z = true (x y z) (x y z) (x y z) (x y) y y x z x y z 1 x y z x Με δεδομένο ένα στιγμιότυπο Ι του προβλήματος 3SAT δημιουργήσαμε ένα στιγμιότυπο (G, k) του προβλήματος ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ

179 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 1 2 Παράδειγμα (x y z) (x y z) (x y z) (x y) y y x z x y z x y z x Πολυωνυμικό Χρόνο Με δεδομένο ένα στιγμιότυπο Ι του προβλήματος 3SAT δημιουργήσαμε ένα στιγμιότυπο (G, k) του προβλήματος ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ

180 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 1 2 (x y z) (x y z) (x y z) (x y) Θυμηθείτε Στις αναγωγές δεν χρειαζόμαστε μόνο τρόπο απεικόνισης στιγμιότυπων I του Α σε στιγμιότυπα f(i) του Β y x y y z x z x y z Αλλά και έναν τρόπο ανακατασκευής μιας λύσης h(i) του I από οποιαδήποτε λύση S του f(i), δηλ. τη συνάρτηση h Αλγόριθμος για το Α Στιγμ/πο Ι f Στιγμ/πο f(i) Αλγόριθμος για το Β Λύση S του f(i) h Δεν υπάρχει λύση του f(i) Λύση h(s) του Ι Δεν υπάρχει λύση για το I x

181 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 2 (x y z) (x y z) (x y z) (x y) Όπως πάντα Υπάρχουν δύο πράγματα για να αποδείξουμε 1 y x y y z x z x y z x (1) Με δεδομένο ένα ανεξάρτητο σύνολο S με k κόμβους στο γράφημα G, μπορούμε πάντα να ανακτήσουμε αποδοτικά μια ικανοποιούσα ανάθεση τιμών αληθείας στο I. (2) Αν το γράφημα G δεν έχει ανεξάρτητο σύνολο S μεγέθους k, τότε ο λογικός (Boolean) τύπος I δεν είναι ικανοποιήσιμος.

182 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 2 (x y z) (x y z) (x y z) (x y) Απόδειξη (1) Για οποιαδήποτε μεταβλητή x, το S δεν περιέχει κόμβους με επιγραφές x και x 1 y x y y z x z x Αναθέτουμε: x = true εάν το S περιέχει κόμβο με επιγραφή x x = false εάν το S περιέχει κόμβο με επιγραφή x Επειδή, S = k πρέπει να έχει ένα κόμβο ανά όρο Αυτή η ανάθεση ικανοποιεί όλους τους όρους (1) Με δεδομένο ένα ανεξάρτητο σύνολο S με k κόμβους στο G, μπορούμε πάντα να ανακτήσουμε αποδοτικά μια ικανοποιούσα ανάθεση τιμών αληθείας στο I. y z x

183 Αναγωγές Προβλημάτων NP 2 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ 2 (x y z) (x y z) (x y z) (x y) Απόδειξη (2) Αρκεί να αποδείξουμε ότι : εάν ο λ.τ. I έχει μια ικανοποιούσα ανάθεση τιμών αληθείας, τότε το G έχει ένα IS μεγέθους k 1 y x y y z x z x y z Αυτό είναι εύκολο... Για κάθε όρο του 3SAT, επιλέγουμε ένα στοιχείο του οποίου η τιμή στην ικανοποιούσα ανάθεση είναι true και προσθέτουμε τον αντίστοιχο κόμβο στο S τότε το S είναι ανεξάρτητο το βλέπετε (2) Αν το γράφημα G δεν έχει ανεξάρτητο σύνολο S μεγέθους k, τότε ο λογικός (Boolean) τύπος I δεν είναι ικανοποιήσιμος. x

184 Αναγωγές Προβλημάτων NP 3 ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ Μας δίδεται γράφημα n κόμβων και ακέραιος k και μας ζητείται να βρούμε ένα σύνολο ΙS με k κόμβους οι οποίοι είναι ανεξάρτητοι ή να αναφέρουμε ότι δεν υπάρχει τέτοιο σύνολο κόμβων ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ Μας δίδεται γράφημα n κόμβων και ακέραιος k και μας ζητείται να βρούμε ένα σύνολο VC με k κόμβους οι οποίοι καλύπτουν κάθε ακμή ή να αναφέρουμε ότι δεν υπάρχει τέτοιο σύνολο κόμβων 1 2 3

185 Αναγωγές Προβλημάτων NP 3 ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ Ισχύει ότι Κάποιες αναγωγές βασίζονται στην επινοητικότητα του συσχετισμού δύο πολύ διαφορετικών προβλημάτων Ενώ, άλλες απλώς καταγράφουν μια λεπτή μεταμφίεση του ενός προβλήματος στο άλλο Τι ισχύει εδώ Τι μπορούμε να πούμε για τη συσχέτιση των δύο προβλημάτων 1 2 3

186 Αναγωγές Προβλημάτων NP 3 ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ Παρατήρηση Ένα σύνολο κόμβων S αποτελεί κομβική κάλυψη ενός γραφήματος G = (V, E) εάν και μόνο εάν οι υπόλοιποι κόμβοι στο σύνολο V-S είναι ανεξάρτητο σύνολο του G S V-S 1 2 3

187 Αναγωγές Προβλημάτων NP 3 ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ Αναγωγή Για να λύσουμε ένα στιγμιότυπο (G, k) του προβλήματος ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ απλώς αναζητούμε μια Κομβική Κάλυψη VC του G με V -k κόμβους VC IS 1 2 3

188 Αναγωγές Προβλημάτων NP 3 ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ Αναγωγή Εάν υπάρχει τέτοια κομβική κάλυψη VC τότε, παίρνουμε όλους τους κόμβους που δεν ανήκουν σε αυτή VC = V -k IS = k VC IS 1 2 3

189 Αναγωγές Προβλημάτων NP 3 ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ Αναγωγή Εάν ΔΕΝ υπάρχει τέτοια κομβική κάλυψη VC τότε, το G δεν έχει ανεξάρτητο σύνολο μεγέθους k VC V -k S IS k 1 2 3

190 Αναγωγές Προβλημάτων NP ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΛΙΚΑ ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ Μας δίδεται γράφημα n κόμβων και ακέραιος k και μας ζητείται να βρούμε ένα σύνολο ΙS με k κόμβους οι οποίοι είναι ανεξάρτητοι, ή να αναφέρουμε ότι δεν υπάρχει τέτοιο σύνολο κόμβων ΚΛΙΚΑ Μας δίδεται γράφημα n κόμβων και ακέραιος k και μας ζητείται να βρούμε ένα σύνολο CL με k κόμβους οι οποίοι έχουν πλήρη σύνδεση ή να αναφέρουμε ότι δεν υπάρχει τέτοιο σύνολο κόμβων 1 2 3

191 Αναγωγές Προβλημάτων NP ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΛΙΚΑ Παρατήρηση Πολύ εύκολη αναγωγή του ενός προβλήματος στο άλλο Ένα σύνολο κόμβων S αποτελεί ανεξάρτητο σύνολο ενός γραφήματος G = (V, E) εάν και μόνο εάν το S αποτελεί μια κλίκα του συμπληρώματος (complement) G = (V, E) του γραφήματος G 1 2 3

192 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT

193 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΠΡΟΒΛΗΜΑΤΑ NP Όπως: Ελάχιστες Διαδρομές Ελάχιστα Συνδετικά Δένδρα Αντιστοιχίσεις Μέγιστες Ροές σε Δίκτυα 3SAT ΑΝΕΞΑΡΤΗΤΟ-ΣΥΝΟΛΟ ΚΟΜΒΙΚΗ-ΚΑΛΥΨΗ ΚΛΙΚΑ SAT NP P SAT ΝP-πλήρη Αύξουσα Δυσκολία (x y z w) (x y) (z x w p y) (x y z)

194 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT 1 ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP 2 ΚΥΚΛΩΜΑ-SAT ΚΥΚΛΩΜΑ-SAT SAT ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP ΚΥΚΛΩΜΑ-SAT SAT

195 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΠΡΟΒΛΗΜΑ C-SAT Θα αποδείξουμε ότι όλα τα προβλήματα στο NP μπορούν να αναχθούν σε μία γενίκευση του SAΤ που ονομάζουμε ΚΥΚΛΩΜΑ-SAT ή C-SAT (Circuit-SAT) ΚΥΚΛΩΜΑ-SAT SAT

196 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΠΡΟΒΛΗΜΑ C-SAT έξοδος Ένα λογικό (Boolean) κύκλωμα -- ένα DAG του οποίου οι κόμβοι είναι πύλες (gates) 5 διαφορετικών τύπων : Πύλες AND και OR με βαθμό εισόδου 2 AND NOT OR Πύλες ΝΟΤ με βαθμό εισόδου 1 Πύλες γνωστής εισόδου με βαθμό 0 AND Πύλες άγνωστης εισόδου με βαθμό 0 Ένας τερματικός κόμβος του DAG είναι η πύλη εξόδου (output gate) true NOT OR

197 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΠΡΟΒΛΗΜΑ C-SAT έξοδος Με δεδομένο ένα λογικό (Boolean) κύκλωμα βρείτε μια ανάθεση τιμών αληθείας για τις άγνωστες εισόδους : η πύλη εξόδου να αποτιμάται true, AND NOT ή να αναφέρουμε ότι δεν υπάρχει καμία τέτοια ανάθεση τιμών OR AND true NOT OR

198 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΠΡΟΒΛΗΜΑ C-SAT έξοδος Με δεδομένο ένα λογικό (Boolean) κύκλωμα βρείτε μια ανάθεση τιμών αληθείας για τις άγνωστες εισόδους : η πύλη εξόδου να αποτιμάται true, AND NOT ή να αναφέρουμε ότι δεν υπάρχει καμία τέτοια ανάθεση τιμών (false, true, true) true (true, false, true) false OR AND true NOT OR

199 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΠΡΟΒΛΗΜΑ C-SAT true Με δεδομένο ένα λογικό (Boolean) κύκλωμα βρείτε μια ανάθεση τιμών αληθείας για τις άγνωστες εισόδους : η πύλη εξόδου να αποτιμάται true, AND NOT ή να αναφέρουμε ότι δεν υπάρχει καμία τέτοια ανάθεση τιμών (false, true, true) true (true, false, true) false Αποτίμηση Κυκλώματος OR AND true NOT OR false true true

200 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΠΡΟΒΛΗΜΑ C-SAT false Με δεδομένο ένα λογικό (Boolean) κύκλωμα βρείτε μια ανάθεση τιμών αληθείας για τις άγνωστες εισόδους : η πύλη εξόδου να αποτιμάται true, AND NOT ή να αναφέρουμε ότι δεν υπάρχει καμία τέτοια ανάθεση τιμών (false, true, true) true (true, false, true) false Αποτίμηση Κυκλώματος OR AND true NOT OR true false true

201 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP SAT ΠΡΟΒΛΗΜΑ C-SAT έξοδος Με δεδομένο ένα λογικό (Boolean) κύκλωμα βρείτε μια ανάθεση τιμών αληθείας για τις άγνωστες εισόδους : η πύλη εξόδου να αποτιμάται true, AND NOT ή να αναφέρουμε ότι δεν υπάρχει καμία τέτοια ανάθεση τιμών C-SAT ως Πρόβλημα Αναζήτησης OR AND true NOT OR

202 Αναγωγές Προβλημάτων NP ΟΠΟΙΟΔΗΠΟΤΕ-ΠΡΟΒΛΗΜΑ-NP 1 Α ΚΥΚΛΩΜΑ-SAT Έστω Α ένα πρόβλημα στο NP SAT Α NP έξοδος AND OR NOT Θέλουμε μια αναγωγή Α ΚΥΚΛΩΜΑ-SAT AND true NOT OR

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

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

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 6 Γραμμικός Προγραμματισμός Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Γραμμικός Προγραμματισμός

Διαβάστε περισσότερα

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 1 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΓΡΑΦΗΜΑΤΩΝ Σταύρος Δ. Νικολόπουλος 2017-18 www.cs.uoi.gr/~stavros Σχετικά με το Μάθημα Ώρες γραφείου: Δευτέρα Παρασκευή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κλάση NP, NP-Complete Προβλήματα

Κλάση NP, NP-Complete Προβλήματα Κλάση NP, NP-Complete Προβλήματα Βαγγέλης ούρος douros@aueb.gr 1 11/6/2012 Αλγόριθμοι, Εαρινό Εξάμηνο 2012, Φροντιστήριο #14 Προβλήματα Απόφασης & Βελτιστοποίησης 2 Πρόβλημα Απόφασης: Κάθε πρόβλημα που

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

Μη Ντετερμινισμός και NP-Πληρότητα

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

Διαβάστε περισσότερα

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 7 Φεβρουαρίου 2017 1 / 38 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

Διαβάστε περισσότερα

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 3/2/2019 1 / 37 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον i ανάμεσα σε όλους

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 9 P vs NP 1 / 13 Δυσκολία επίλυσης υπολογιστικών προβλημάτων Κάποια προβλήματα είναι εύκολα να λυθούν με

Διαβάστε περισσότερα

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κλάσεις P, NP NP-πληρότητα 15 Απριλίου 2008 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να περιγράψουμε με

Διαβάστε περισσότερα

Μη Ντετερμινισμός και NP-Πληρότητα

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1, Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα

Διαβάστε περισσότερα

4.3 Ορθότητα και Πληρότητα

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

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 13: Πολυωνυμική αναγωγή Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 1 Αλγόριθμοι και Πολυπλοκότητα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Εισαγωγή Ας ξεκινήσουμε

Διαβάστε περισσότερα

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα αναζήτησης είναι ένα πρόβλημα στο

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 4.2 Διαδρομές σε Γραφήματα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Πρόβλημα Οδικό Δίκτυο

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 7 ΧΡΩΜΑΤΙΣΜΟΣ Σταύρος Δ. Νικολόπουλος 2017-18 www.cs.uoi.gr/~stavros Εισαγωγή Χρωματισμός κορυφών-ακμών-περιοχών. Χρωματική τάξη (color class):

Διαβάστε περισσότερα

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

Κλάσεις Πολυπλοκότητας Κλάσεις Πολυπλοκότητας Παύλος Εφραιμίδης pefraimi ee.duth.gr Κλάσεις Πολυπλοκότητας 1 Οι κλάσεις πολυπλοκότητας P και NP P: Polynomial ΗκλάσηP περιλαμβάνει όλα τα υπολογιστικά προβλήματα που μπορούν

Διαβάστε περισσότερα

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 3ο μέρος σημειώσεων: Μέθοδος της Επίλυσης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91 Ε.Μ.Πoλυτεχνείο ΣΗΜΜΥ, ΣΕΜΦΕ Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Διδάσκων: Ε.Ζαχος Ονοματεπώνυμο:... Αριθμός Μητρώου:... Σχολή:... εξάμηνο:... ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 005 Σύνολο

Διαβάστε περισσότερα

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 3 ΜΟΝΟΠΑΤΙΑ & ΚΥΚΛΟΙ Σταύρος Δ. Νικολόπουλος 2017-18 www.cs.uoi.gr/~stavros Περίπατος Ίχνος - Διαδρομή Περίπατος (walk) Ίχνος (trail) Διαδρομή

Διαβάστε περισσότερα

Λύσεις 4ης Σειράς Ασκήσεων

Λύσεις 4ης Σειράς Ασκήσεων Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

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

Διαβάστε περισσότερα

NP-complete problems. IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH. NP-complete problems 1 / 30

NP-complete problems. IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH. NP-complete problems 1 / 30 NP-complete problems IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH Καλογερόπουλος Παναγιώτης (ΜΠΛΑ) NP-complete problems 1 / 30 Independent Set is NP-complete Ορισμός. Εστω

Διαβάστε περισσότερα

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

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

Διαβάστε περισσότερα

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

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων

Διαβάστε περισσότερα

Μη Ντετερμινισμός και NP-Πληρότητα

Μη Ντετερμινισμός και NP-Πληρότητα Μη Ντετερμινισμός και P-Πληρότητα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Μη Ντετερμινιστικές Μηχανές Turing Μη ντετερμινιστική Μηχ. Turing (ΝTM)

Διαβάστε περισσότερα

Chapter 9: NP-Complete Problems

Chapter 9: NP-Complete Problems Θεωρητική Πληροφορική Ι: Αλγόριθμοι και Πολυπλοκότητα Chapter 9: NP-Complete Problems 9.3 Graph-Theoretic Problems (Συνέχεια) 9.4 Sets and Numbers Γιώργος Αλεξανδρίδης gealexan@mail.ntua.gr Κεφάλαιο 9:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Γράφοι: κατευθυνόμενοι και μη

Γράφοι: κατευθυνόμενοι και μη Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος Μορφές αποδείξεων Μαθηματικά Πληροφορικής ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.

Διαβάστε περισσότερα

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

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ Μαθηματικά Πληροφορικής 2ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 14. Χρονική Πολυπλοκότητα 17, 20, 24 Απριλίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Chapter 7, 8 : Completeness

Chapter 7, 8 : Completeness CSC 314: Switching Theory Chapter 7, 8 : Completeness 19 December 2008 1 1 Αναγωγές Πολυωνυμικού Χρόνου Ορισμός. f: Σ * Σ * ονομάζεται υπολογίσιμη σε πολυνωνυμικό χρόνο αν υπάρχει μια πολυωνυμικά φραγμένη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός Κεφάλαιο 5ο: Ακέραιος προγραμματισμός 5.1 Εισαγωγή Ο ακέραιος προγραμματισμός ασχολείται με προβλήματα γραμμικού προγραμματισμού στα οποία μερικές ή όλες οι μεταβλητές είναι ακέραιες. Ένα γενικό πρόβλημα

Διαβάστε περισσότερα

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι έχουμε δει μέχρι τώρα. Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων. HY118-Διακριτά Μαθηματικά Θεωρία γράφων/ γραφήματα Τρίτη, 15/05/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 16-May-18 1 1 16-May-18 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

Διαβάστε περισσότερα

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

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αντιμετώπιση NP- υσκολίας Αν P NP, όχι αλγόριθμος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

Διαβάστε περισσότερα

ILP-Feasibility conp

ILP-Feasibility conp Διάλεξη 19: 23.12.2014 Θεωρία Γραμμικού Προγραμματισμού Γραφέας: Χαρίλαος Τζόβας Διδάσκων: Σταύρος Κολλιόπουλος 19.1 Θεωρία Πολυπλοκότητας και προβλήματα απόφασης Για να μιλήσουμε για προβλήματα και τον

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

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

Διαβάστε περισσότερα

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα και 12 26 20 10 9 7 17 14 4 Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο)

Διαβάστε περισσότερα

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιµότητα Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβληµα αναζήτησης (search problem) Ένα πρόβληµα αναζήτησης είναι ένα πρόβληµα στο

Διαβάστε περισσότερα

HY118-Διακριτά Μαθηματικά. Τι είδαμε την προηγούμενη φορά. Θεωρία γράφων / γραφήματα. 25 -Γράφοι. ΗΥ118, Διακριτά Μαθηματικά Άνοιξη 2017

HY118-Διακριτά Μαθηματικά. Τι είδαμε την προηγούμενη φορά. Θεωρία γράφων / γραφήματα. 25 -Γράφοι. ΗΥ118, Διακριτά Μαθηματικά Άνοιξη 2017 HY118-Διακριτά Μαθηματικά Τι είδαμε την προηγούμενη φορά Παρασκευή, 12/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Υπογράφημα Συμπληρωματικά γραφήματα Ισομορφισμός γράφων Υπολογιστική πολυπλοκότητα

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο Σ.Η.Μ.Μ.Υ. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 4η εβδομάδα: Εύρεση k-οστού Μικρότερου Στοιχείου, Master Theorem, Τεχνική Greedy: Knapsack, Minimum Spanning Tree, Shortest Paths

Διαβάστε περισσότερα

Φροντιστήριο 11 Λύσεις

Φροντιστήριο 11 Λύσεις Άσκηση 1 Φροντιστήριο 11 Λύσεις Να αποδείξετε ότι η κλάση Ρ είναι κλειστή ως προς τις πράξεις της ένωσης, της συναρμογής και του συμπληρώματος. Θα πρέπει να δείξουμε ότι: (α) Ένωση: Αν οι Λ 1 και Λ 2 είναι

Διαβάστε περισσότερα

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν

Διαβάστε περισσότερα

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων Εισαγωγή στην Επιστήμη των Υπολογιστών ο εξάμηνο ΣΗΜΜΥ Ενότητα : Αλγόριθμοι γράφων και δικτύων Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι είδαμε την προηγούμενη φορά. Συνεκτικότητα. 25 -Γράφοι

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι είδαμε την προηγούμενη φορά. Συνεκτικότητα. 25 -Γράφοι HY118-Διακριτά Μαθηματικά Θεωρία γράφων/ γραφήματα Πέμπτη, 17/05/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 17-May-18 1 1 17-May-18 2 2 Τι είδαμε την προηγούμενη φορά Ισομορφισμός γράφων Υπολογιστική

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο ΣHMΜY Εισαγωγή Διδάσκοντες: Άρης Παγουρτζής, Δώρα Σούλιου Στάθης Ζάχος, Δημήτρης Σακαβάλας Επιμέλεια διαφανειών: Άρης Παγουρτζής www.corelab.ntua.gr/courses/algorithms

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

Διαβάστε περισσότερα

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

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι HY118-Διακριτά Μαθηματικά Θεωρία γράφων / γραφήματα Πέμπτη, 11/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 11-May-17 1 1 11-May-17 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

Διαβάστε περισσότερα

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Ταιριάσματα Γράφημα Ταίριασμα (matching) Σύνολο ακμών τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Θέλουμε να βρούμε ένα μέγιστο ταίριασμα (δηλαδή με μέγιστο αριθμό ακμών) Ταιριάσματα

Διαβάστε περισσότερα

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

viii 20 Δένδρα van Emde Boas 543 Περιεχόμενα Πρόλογος xi I Θεμελιώδεις έννοιες Εισαγωγή 3 1 Ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες 5 1.1 Αλγόριθμοι 5 1.2 Οι αλγόριθμοι σαν τεχνολογία 12 2 Προκαταρκτικές έννοιες και παρατηρήσεις

Διαβάστε περισσότερα

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Πέµπτη, 19/05/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/22/2016 1 1 5/22/2016 2 2 Τι έχουµε δει µέχρι τώρα Κατευθυνόµενοι µη κατευθυνόµενοι

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Απαιτήσεις Μαθήματος Εργαστηρίου Σκιαγράφηση Μαθήματος μια Πρώτη Εισαγωγή Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής Θεωρία Παιγνίων και Αποφάσεων Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Παίγνια μηδενικού αθροίσματος PessimisIc play Αμιγείς max-min και

Διαβάστε περισσότερα

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Τεχνικές Αποδείξεις Κάτω Φραγμάτων

Τεχνικές Αποδείξεις Κάτω Φραγμάτων Τεχνικές Αποδείξεις Κάτω Φραγμάτων Θέλουμε να δείξουμε κυκλωματικά κάτω φράγματα για ομοιόμορφες κλάσεις επειδή: Δίνουν μεγάλη πληροφορία για τις κλάσεις αυτές: π.χ. αν EXP P /poly σημαίνει Ότι παρότι

Διαβάστε περισσότερα

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and

Διαβάστε περισσότερα

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

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Πέμπτη, 11/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 11-May-17 1 1 Θεωρία γράφων / γραφήματα 11-May-17 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

Διαβάστε περισσότερα

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

Διαβάστε περισσότερα

Ασκήσεις μελέτης της 8 ης διάλεξης

Ασκήσεις μελέτης της 8 ης διάλεξης Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2017 18 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 8 ης διάλεξης 8.1. (i) Έστω ότι α και β είναι δύο τύποι της προτασιακής

Διαβάστε περισσότερα

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

Διαβάστε περισσότερα

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

ΔΥΣΚΟΛΙΑ ΣΤΗΝ ΠΡΟΣΕΓΓΙΣΙΜΟΤΗΤΑ ΔΥΣΚΟΛΙΑ ΣΤΗΝ ΠΡΟΣΕΓΓΙΣΙΜΟΤΗΤΑ Επιμέλεια : Γεωργίου Κωστής Παρουσίαση στα πλαίσια του μαθήματος: Δίκτυα και πολυπλοκότητα Φεβρουάριος 004 μπλ Κίνητρα για τη μελέτη της μη προσεγγισιμότητας Ο πληρέστερος

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 5 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα