Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 1 Εισαγωγή στην Επιστήμη των Υπολογιστών Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών.

Παρόμοιες παρουσιάσεις


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

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

2 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 2 Γράφοι: Κατευθυνόμενοι και μη

3 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 3 Δρόμοι, μονοπάτια, και κύκλοι  Δρόμος: έγκυρη ακολουθία από κορυφές-ακμές ‏  Μονοπάτι: δρόμος χωρίς επαναλήψεις ακμών Απλό μονοπάτι: μονοπάτι χωρίς επαναλήψεις κορυφών  Κύκλος: κλειστό μονοπάτι Απλός κύκλος: απλό κλειστό μονοπάτι  Μήκος δρόμου: το πλήθος των ακμών του ‏‏

4 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 4 Αναπαράσταση Γράφων  … με πίνακα γειτνίασης: Αν έχουμε βάρη, Μη-κατευθυνόμενος: συμμετρικός πίνακας Χώρος Θ(n 2 ) ‏ Άμεσος έλεγχος για ύπαρξη ακμής

5 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 5 Αναπαράσταση Γράφων  … με πίνακα γειτνίασης: Αν έχουμε βάρη, Χώρος Θ(n 2 ) ‏ Άμεσος έλεγχος για ύπαρξη ακμής

6 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 6 Αναπαράσταση Γράφων  … με λίστα γειτνίασης: γειτονικές κορυφές σε λίστα Αν έχουμε βάρη, τα αποθηκεύουμε στους κόμβους Χώρος Θ(m) ‏ Έλεγχος για ύπαρξη ακμής σε χρόνο Ο(deg(u)) ‏

7 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 7 Αναπαράσταση Γράφων  … με λίστα γειτνίασης: γειτονικές κορυφές σε λίστα Αν έχουμε βάρη, τα αποθηκεύουμε στους κόμβους Χώρος Θ(m) ‏ Έλεγχος για ύπαρξη ακμής σε χρόνο Ο(deg(u)) ‏

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

9 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 9 Άλλες έννοιες  Παράγων υπογράφος (spanning subgraph) ‏  Παραγόμενος υπογράφος (induced subgraph) ‏  Συνεκτικές συνιστώσες (connected components) ‏  Πλήρης γράφος (Κ n ), διμερής γράφος (πλήρης K n,m ) ‏  Επίπεδος γράφος: αν δεν περιέχει ως υπογράφους τα Κ 5, Κ 3,3 ούτε γράφους που προκύπτουν από αυτά με υποδιαιρέσεις των ακμών τους  Δένδρο (tree): συνεκτικός γράφος χωρίς κύκλους

10 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 10 Βασικές Κλάσεις Πολυπλοκότητας

11 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 11 NP-πλήρη Προβλήματα Γράφων  VERTEX COVER  CLIQUE  HAMILTON CIRCUIT (HC) ‏  TRAVELING SALESMAN (TSP) ‏  3-COLORABILITY  SUBGRAPH ISOMORPHISM  3-DIMENSIONAL MATCHING (3DM) ‏

12 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 12 Αναγωγή 3SAT ≤ VERTEX COVER

13 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 13 Άλλες Αναγωγές

14 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 14 Προβλήματα Γράφων στην Κλάση P  Κύκλος Euler  Προσπελασιμότητα + Διάσχιση γράφων: DFS, BFS,...  Συντομότερα μονοπάτια  Συνεκτικές συνιστώσες  Ελάχιστο συνδετικό δένδρο (minimum spanning tree) ‏  Μέγιστη ροή (maximum flow) ‏  Τέλειο ταίριασμα (perfect matching) ‏  Χρωματισμός ακμών σε διμερή γράφο (bipartite graph coloring) ‏

15 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 15 Αναζήτηση σε Δένδρα  Προδιατεταγμένη:  Ενδοδιατεταγμένη:  Μεταδιατεταγμένη:

16 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 16 Αναζήτηση Κατά Βάθος (DFS) ‏ Πολυπλοκότητα: O(|V|+|E|) ‏

17 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 17 Αναζήτηση Κατά Βάθος (DFS) ‏

18 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 18 Αναζήτηση Κατά Πλάτος (BFS) ‏ Πολυπλοκότητα: O(|V|+|E|) ‏

19 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 19 Αναζήτηση Κατά Πλάτος (BFS) ‏

20 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 20 Συντομότερα Μονοπάτια (Dijkstra) ‏ Πολυπλοκότητα: O(|V|^2) ‏

21 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 21 Αλγόριθμος Dijkstra

22 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 22 Ελάχιστο Συνδετικό Δένδρο (MST) ‏  Αλγόριθμος Prim: Διαλέγουμε κάθε φορά την ακμή ελάχιστου κόστους έτσι ώστε ο νέος υπογράφος να παραμένει δένδρο  Αλγόριθμος Kruskal: Διαλέγουμε κάθε φορά την ακμή ελάχιστου κόστους έτσι ώστε ο νέος υπογράφος να μην έχει κύκλους

23 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 23 Αλγόριθμος Prim

24 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 24 Αλγόριθμος Prim: Υλοποίηση  Κάθε φορά επιλέγεται ο κόμβος με την ελάχιστη απόσταση από το μέχρι στιγμής κατασκευασμένο δένδρο και προστίθεται στο δένδρο  Πολυπλοκότητα: O(|V|^2) ‏

25 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 25 Αλγόριθμος Kruskal

26 Εισαγωγή στην Επιστήμη των ΥπολογιστώνΓράφοι: Προβλήματα και Αλγόριθμοι 26 Αλγόριθμος Kruskal: Υλοποίηση  Κάθε φορά επιλέγεται η ακμή ελάχιστου κόστους και αν δε δημιουργεί κύκλο στο μέχρι στιγμής δάσος προστίθεται σε αυτό, αλλιώς απορρίπτεται  Πολυπλοκότητα: O(|E|log|E|) ‏


Κατέβασμα ppt "Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 1 Εισαγωγή στην Επιστήμη των Υπολογιστών Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google