ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ



Σχετικά έγγραφα
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

Αλγόριθμοι Γραφημάτων

Εισαγωγή στους Αλγορίθμους

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

1 Διάσχιση κατευθυνόμενων γραφημάτων

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 2η <Αλγόριθµοι, Θεωρία Γραφηµάτων>

1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0.

ΘΕΩΡΙΑ ΓΡΑΦΩΝ. 10 η Διάλεξη Κατευθυνόμενοι Γράφοι Βασικά χαρακτηριστικά Αλγόριθμοι διάσχισης κατευθυνόμενων γράφων Λίγα Λόγια για Αλυσίδες Markov

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

3η Σειρά Γραπτών Ασκήσεων

Αναζήτηση Κατά Πλάτος

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

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

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

Μια Επισκόπηση της Ύλης & Μερικές Οδηγίες

Αναζήτηση Κατά Πλάτος

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

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

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

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

1η Σειρά Γραπτών Ασκήσεων

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Αναζήτηση Κατά Πλάτος

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

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

Πληροφορική 2. Αλγόριθμοι

3η Σειρά Γραπτών Ασκήσεων

Αναζήτηση Κατά Πλάτος

1 Το πρόβλημα της συντομότερης διαδρομής

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

Δομές Δεδομένων Ενότητα 6

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7

Αλγόριθμοι Τυφλής Αναζήτησης

Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης.

ΘΕΜΑ Α. Μονάδες 10 Α2.

Σχέσεις Μερικής ιάταξης

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3

Θέματα Μεταγλωττιστών

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

(elementary graph algorithms)

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

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

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

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Τελικό διαγώνισμα. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΘΕΜΑ Α

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

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

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

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

Τεχνητή Νοημοσύνη. 3η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

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

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Τεχνητή Νοημοσύνη. 7η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs)

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Ασκήσεις (2) Άσκηση 1

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

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

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

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

Επαναληπτικές Διαδικασίες

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Στοιχεία Θεωρίας Γράφων (Graph Theory)

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

σας φύλλο τον αριθμό της ερώτησης ακολουθούμενη από το γράμμα Σ (Σωστή) ή το γράμμα Λ (Λάθος).

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Φροντιστήριο #8 Ασκήσεις σε Γράφους 24/5/2016

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Ενδεικτικές Ερωτήσεις Θεωρίας

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

Μέγιστη Ροή Ελάχιστη Τομή

Transcript:

1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #2: Πολυωνυμικοί Αλγόριθμοι, Εισαγωγή στα Γραφήματα, Αναζήτηση κατά Βάθος, Τοπολογική Ταξινόμηση Άσκηση #1 Δίνονται οι ακόλουθοι αλγόριθμοι. Δώστε ένα Θ όριο της ασυμπτωτικής πολυπλοκότητάς τους. Αποφανθείτε για το αν είναι πολυωνυμικοί. Αλγόριθμος Διακοπές Είσοδος: Ένας αριθμός n for i=1 to n printf( Θέλω να πάω διακοπές! ); end for Αλγόριθμος Άθροισμα Βαθμών Είσοδος: Ένας πίνακας a μεγέθους n με τους βαθμούς ενός φοιτητή sum=0; for i=1 to n sum+=a[i]; end for Υπόδειξη: Πρόταση #1: Όταν ένας βρόχος επανάληψης (for/ while/ do while) περιλαμβάνει μόνο μια μεταβλητή που αντιστοιχεί σε αριθμητική τιμή της εισόδου, ο αλγόριθμος δεν είναι πολυωνυμικός (αλλά είναι εκθετικός). Πρόταση #2: Όταν ένας βρόχος επανάληψης (for/ while/ do while) περιλαμβάνει μόνο μια μεταβλητή που αντιστοιχεί στο πλήθος των στοιχείων της εισόδου, ο αλγόριθμος είναι πολυωνυμικός. Οι παραπάνω αλγόριθμοι έχουν πολυπλοκότητα Θ(n). Ο αλγόριθμος Διακοπές δεν είναι πολυωνυμικός (αλλά είναι εκθετικός). Ο αλγόριθμος Άθροισμα Βαθμών είναι πολυωνυμικός. Άσκηση #2 Έστω το ακόλουθο κατευθυνόμενο γράφημα G=(V,E). i. Εφαρμόστε τον αλγόριθμο της αναζήτησης κατά βάθος (DFS) στο G με αρχική κορυφή το Α και καταγράψτε τη σειρά με την οποία θα επισκεφθεί τις κορυφές του γραφήματος. Όταν υπάρχει παραπάνω από μια επιλογή, επισκεφτείτε την κορυφή που προηγείται λεξικογραφικά.

2 ii. Χαρακτηρίστε κάθε ακμή του G ως εξής: T(ree) αν είναι δενδρική ακμή, B(ack) αν είναι ακμή προς τα πίσω, F(orward) αν είναι ακμή προς τα εμπρός, C(ross) αν είναι εγκάρσια ακμή. Υπόδειξη: Χρησιμοποιώ τη σύμβαση pre(u) u post(u), όπου u: μια κορυφή του G 1 A 16, 2 B 15, 3 F 14, 4 E 7, 5 K 6, 8 G 9, 10 J 13, 11 H 12, 17 C 18, 19 D 20. Χαρακτηρισμός Ακμών: B(ack): (G, B), (H, J), (K, E) F(orward): δεν υπάρχουν C(ross): (C, B), (C, E), (D, E) T(ree): όλες οι υπόλοιπες Ηθικό δίδαγμα: Εφαρμόζω τον αλγόριθμο DFS προσεκτικά. Η κεντρική ιδέα του αλγορίθμου συμπυκνώνεται στα ακόλουθα βήματα (δείτε τη σχετική διάλεξη για μια αναλυτική παρουσίαση του αλγορίθμου). Βήμα #1: Αριστερά από κάθε κορυφή π.χ. την a σημειώνω έναν αριθμό (έστω pre(a)) που υποδεικνύει την 1 η φορά που επισκέφτηκα αυτή την κορυφή. Το 1 ο pre λαμβάνει την τιμή 1. Βήμα #2: Αν η κορυφή a έχει παιδιά που δεν έχω ήδη επισκεφθεί, επιλέγω αυτό που προηγείται λεξικογραφικά για να το επισκεφτώ, έστω το β. Σημειώνω σε συνεχόμενη αύξουσα αρίθμηση το pre(β). o Βήμα #2.1: Εξετάζω αν η κορυφή β έχει παιδιά που δεν έχω ήδη επισκεφθεί. Αν ναι, επανέρχομαι στο Βήμα #2. Βήμα #3: Αν η κορυφή a δεν έχει παιδιά που δεν έχω ήδη επισκεφθεί, τότε σημειώνω δεξιά της έναν αριθμό (έστω post(a)) που υποδηλώνει ότι η κορυφή αυτή δεν έχει παιδιά που δεν έχω ήδη επισκεφθεί. Η αρίθμηση είναι

3 αύξουσα και είναι ενιαία για τα pre και post, συνεπώς αυξάνει διαρκώς (1, 2, ανεξάρτητα από το αν υπολογίζουμε το pre ή post). Στη συνέχεια επιστρέφω στον πατέρα της a. o Βήμα #3.1: Αν ο πατέρας της a έχει παιδιά που δεν έχω ήδη επισκεφθεί, επανέρχομαι στο Βήμα #2. Αλλιώς, σημειώνω δεξιά του το post και πηγαίνω στον πατέρα του πατέρα του a κοκ Για να χαρακτηρίσω τις ακμές ενός κατευθυνόμενου γραφήματος, αρκεί να θυμάμαι ότι: Μια ακμή (a,b) είναι T(ree) αν pre(a)<pre(b) και τα a, b έχουν σχέση πατέραπαιδιού και επιπλέον το b δεν είναι απόγονος κάποιου παιδιού του a. Μια ακμή (a,b) είναι F(orward) αν pre(a)<pre(b) και τα a, b έχουν σχέση πατέρα-παιδιού και επιπλέον το b είναι απόγονος κάποιου παιδιού του a. Μια ακμή (a,b) είναι B(ack) αν post(a)<post(b). Μια ακμή (a,b) είναι C(ross) αν pre(b)<post(b)<pre(a)<post(a). Άσκηση #3 Έστω το ακόλουθο κατευθυνόμενο γράφημα G=(V,E). i. Εφαρμόστε τον αλγόριθμο της αναζήτησης κατά βάθος (DFS) στο G με αρχική κορυφή το Α και καταγράψτε τη σειρά με την οποία θα επισκεφθεί τις κορυφές του γραφήματος. Όταν υπάρχει παραπάνω από μια επιλογή, επισκεφτείτε την κορυφή που προηγείται λεξικογραφικά. ii. Χαρακτηρίστε κάθε ακμή του G ως εξής: T(ree) αν είναι δενδρική ακμή, B(ack) αν είναι ακμή προς τα πίσω, F(orward) αν είναι ακμή προς τα εμπρός, C(ross) αν είναι εγκάρσια ακμή. iii. Εφόσον διαπιστώσετε ότι το κατευθυνόμενο γράφημα είναι ακυκλικό (DAG), να εφαρμόσετε τον αλγόριθμο τοπολογικής ταξινόμησης παρουσιάζοντας το σχετικό γράφημα. A B C E G F Υπόδειξη: Τα i, ii, προκύπτουν με αντίστοιχο τρόπο με αυτόν της άσκησης 2. Χρησιμοποιώ τη σύμβαση pre(u) u post(u), όπου u: μια κορυφή του G 1 A 12, 2 B 9, 3 E 8, 4 F 5, 6 G 7, 10 C 11.

4 Χαρακτηρισμός Ακμών: B(ack): δεν υπάρχουν F(orward): (B, F) C(ross): δεν υπάρχουν T(ree): όλες οι υπόλοιπες Για το iii, καθόσον διαπιστώσατε ότι δεν υπάρχει back ακμή, αρκεί να διατάξετε τις κορυφές σε φθίνουσα σειρά των post numbers (και μετά απλώς συμπληρώνετε τις ακμές όπου υπάρχουν).η σειρά των κορυφών στην τοπολογική ταξινόμηση είναι: A, C, B, E, G, F. Άσκηση #4 Έστω κατευθυνόμενο γράφημα G=(V,E). Κατά την αναζήτηση κατά βάθος (DFS) συναντάμε τις ακμές (a,b), (e,d) και (f,c). Οι κορυφές a, b, c, d, e, f έχουν τα εξής χαρακτηριστικά (Χρησιμοποιώ τη σύμβαση pre(u) u post(u), όπου u: μια κορυφή του G): 1 α 14, 2 b 11 15 e 16, 4 d 5 7 f 8, 3 c 10 Να εξηγήσετε καθεμιά από τις ακμές (a,b), (e,d) και (f,c) σε ποια από τις ακόλουθες κατηγορίες ανήκει: a. T(ree) b. C(ross) c. F(orward) d. B(ack) e. T(ree) ή F(orward) f. Δεν έχουμε επαρκή στοιχεία για να απαντήσουμε Η άσκηση θα λυθεί στο επόμενο φροντιστήριο. Άσκηση #5 Έστω κατευθυνόμενο ακυκλικό γράφημα G=(V,E). Κατά την αναζήτηση κατά βάθος (DFS) συναντάμε τις κορυφές α, β, γ που έχουν τα εξής χαρακτηριστικά (Χρησιμοποιώ τη σύμβαση pre(u) u post(u), όπου u: μια κορυφή του G): 11 α 16, 13 β 14, 12 γ 15. Αν εφαρμόσετε τοπολογική ταξινόμηση, ποια θα είναι η σειρά εμφάνισης των κορυφών (από αριστερά προς τα δεξιά); a. α, β, γ b. β, α, γ c. α, γ, β d. β, γ, α e. γ, α, β f. γ, β, α

5 g. Δεν έχουμε επαρκή στοιχεία για να απαντήσουμε Η άσκηση θα λυθεί στο επόμενο φροντιστήριο. Άσκηση #6 Απαντήστε στα ερωτήματα της άσκησης 2 για το ακόλουθο κατευθυνόμενο γράφημα G=(V,E):