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

Σχετικά έγγραφα
Fast Fourier Transform

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Φροντιστήριο #9 Ασκήσεις σε Γράφους 18/5/2018

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

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

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

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

u v 4 w G 2 G 1 u v w x y z 4

Multicut and Integer Multicomodity Flow in Trees (chap. 18) Αγγελής Γιώργος

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

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

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4

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

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

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

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

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

2 Composition. Invertible Mappings

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

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

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

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

ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΣΤΟΥΚΑ ΝΙΚΟΛΑΟΣ ΛΑΜΠΡΟΥ. μπλ 2014

ΗΜΥ 325: Επαναληπτικές Μέθοδοι. Διδάσκων: Χρίστος Παναγιώτου

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

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

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

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

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

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

Αλγόριθμοι Ταξινόμησης Μέρος 4

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

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

HY118- ιακριτά Μαθηµατικά

Αλγόριθμοι και πολυπλοκότητα Διαίρει και Κυρίευε

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

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

General Models & Inapproximability Overview. Influence Maximization σε Social Networks

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

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

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

HY118- ιακριτά Μαθηµατικά

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

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

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

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

Κουτσιούμπας Αχιλλέας U. Adamy, C. Ambuehl, R. Anand, T. Erlebach

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

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

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

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

Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα)

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

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

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

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

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27)

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής»

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

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

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

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

Εισαγωγή στον Προγραμματισμό

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

2 ) d i = 2e 28, i=1. a b c

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013

Σχέσεις, Ιδιότητες, Κλειστότητες

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

Transcript:

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη αλλά αν χρησιμοποιήσετε κάτι θα πρέπει να το αναφέρετε στην λύση του αντίστοιχου προβλήματος. β) Προσπαθήστε να λύσετε όσον το δυνατόν περισσότερα από τα προβλήματα. γ) Η προσπάθεια βαθμολογείται με την προϋπόθεση ότι θα φαίνεται καθαρά ποια είναι η στρατηγική που ακολουθήσατε για την λύση ενός προβλήματος. Πρόβλημα 1 Έστω G ( V, ένας μη κατευθυνόμενος γράφος με n κόμβους. Ένα υποσύνολο των κόμβων ονομάζεται ανεξάρτητο (independent set) σύνολο αν δεν υπάρχουν δύο κόμβοι του υποσυνόλου που να συνδέονται με ακμή. Η εύρεση ενός ανεξάρτητου συνόλου με μέγιστο αριθμό κόμβων είναι δύσκολο πρόβλημα στην γενική του περίπτωση. Στο πρόβλημα αυτό θα δούμε ότι η λύση μπορεί να βρεθεί με δραστικό αλγόριθμο αν ο γράφος είναι αρκετά απλός. Ένας γράφος G ( V, ονομάζεται μονοπάτι εάν οι κόμβοι του μπορούν να γραφούν ως v, v,... 1, vn, με μια ακμή μεταξύ των κόμβων και εάν και μόνο εάν οι αριθμοί i και διαφέρουν κατά v j ένα. Σε κάθε κόμβο αντιστοιχίζουμε ένα βάρος που είναι ένας θετικός ακέραιος. π.χ. Θεωρήστε το μονοπάτι του επόμενου σχήματος. Τα βάρη είναι οι αριθμοί μέσα σε κάθε κόμβο. j 1 8 6 3 6 Ο στόχος είναι να λυθεί το επόμενο αλγοριθμικό πρόβλημα: Να βρεθεί ένα ανεξάρτητο σύνολο μέγιστου βάρους σε ένα μονοπάτι G. α) Δείξτε με ένα παράδειγμα ότι ο επόμενος αλγόριθμος δεν βρίσκει πάντα ένα ανεξάρτητο σύνολο μέγιστου βάρους. The heaviest-first greedy algorithm: 1. Start with S equal to empty set. while some node remains in G

3. Pick a node 4. Add 5. Delete 6. end while 7. return S to S of maximum weight and its neighbors from G β) Δείξτε με ένα παράδειγμα ότι και ο επόμενος αλγόριθμος δεν βρίσκει πάντα ένα ανεξάρτητο σύνολο μέγιστου βάρους. 1. Let S 1 be the set of all where is an odd number.. Let S be the set of all where i is an even number. /* Note that and are both independent sets. */ 3. Determine which of or has greater total weight, and return this one. S 1 S S 1 S i γ) Δώστε έναν αλγόριθμο ο οποίος δέχεται ως είσοδο ένα μονοπάτι G με n κόμβους με βάρη και επιστρέφει ως έξοδο ένα ανεξάρτητο σύνολο μέγιστου βάρους. Ο χρόνος που απαιτεί ο αλγόριθμος θα πρέπει να είναι ένα πολυώνυμο ως προς το n και να μην εξαρτάται από τα βάρη. Πρόβλημα n n Ένα πλέγμα είναι ένας γράφος G του οποίου οι κόμβοι είναι διατεταγμένα ζεύγη φυσικών αριθμών ( i, j) με 1 i n και 1 j n ; Δύο κόμβοι i, ) και i, ) είναι γείτονες εάν και μόνο εάν i i j j 1. ( j 1 1 ( i 1 Υποθέτουμε ότι σε κάθε κόμβο έχει αντιστοιχηθεί ένας μοναδικός φυσικός αριθμός. Ένας κόμβος v είναι τοπικό ελάχιστο εάν xv xu για όλους τους γείτονες u του. Για παράδειγμα στον γράφο του επόμενου σχήματος υπάρχουν τέσσερα τοπικά ελάχιστα. Οι κόμβοι,, ( 5,3), ( 6,5) με ετικέτες τους φυσικούς αριθμούς 9, 10, 5, 15 αντίστοιχα. x v v (1,) (1,6)

1 3 4 5 6 1 30 9 41 53 80 10 31 36 8 50 71 70 3 3 37 7 57 6 47 4 33 38 6 56 63 45 5 34 39 5 51 4 44 6 35 40 4 5 15 17 Δοθέντος ενός τέτοιου γράφου G και μιας αντιστοίχησης φυσικών αριθμών (ετικετών) στους κόμβους του, το πρόβλημα είναι να βρούμε ένα τοπικό ελάχιστο του. α) Θεωρείστε τον επόμενο αλγόριθμο ο οποίος αρχίζει από τον κόμβο ( 1,1) και ψάχνει για τον μικρότερο γείτονα μέχρι να βρεθεί ένα τοπικό ελάχιστο του G. 1. v (1,1 ). while there is a neighbor u of v such that xu xv 3. Let u be the neighbor of v with smallest x u 4. v u 5. end while 6. return v G Να δείξετε ότι ο παραπάνω αλγόριθμος πάντα επιστρέφει ένα τοπικό ελάχιστο του. Πόσο χρόνο χρειάζεται ο αλγόριθμος στη χείριστη περίπτωση. Να δώσετε την απάντησή σας με τον συμβολισμό. G β) Να δώσετε έναν αλγόριθμο ο οποίος λύνει το πρόβλημα σε χρόνο O (n). Να δείξετε ότι ο αλγόριθμό σας πάντα επιστρέφει ένα τοπικό ελάχιστο. Υποθέστε ότι το k είναι δύναμη του ( n ) n Πρόβλημα 3 Δίνονται τρία διανύσματα A, B και C διάστασης n με στοιχεία πραγματικούς αριθμούς. Γράψτε έναν αλγόριθμο ο οποίος βρίσκει αν υπάρχουν τρεις αριθμοί, ένας από κάθε έναν από τους πίνακες (διανύσματα) A, B και C, οι οποίοι έχουν άθροισμα 0.

Μπορείτε να βρείτε έναν 3 ) Μπορείτε να βρείτε έναν O ( n log n) Μπορείτε να βρείτε έναν ) Μπορείτε να βρείτε έναν αλγόριθμο ταχύτερο από ) ; Πρόβλημα 4 Γράψτε μια έκδοση του Fast Fourier Transform (fft) για την περίπτωση που το n είναι δύναμη του 3, χωρίζοντας το διάνυσμα εισόδου σε τρία υποδιανύσματα., λύνοντας το πρόβλημα αναδρομικά σε αυτά και συνδυάζοντας τις λύσεις των υποπροβλημάτων. Γράψτε την αναδρομική σχέση για τον χρόνο εκτέλεσης του προγράμματος και λύστε την αναδρομική σχέση με το κεντρικό θεώρημα. Πρόβλημα 5 Δίνεται μη κατευθυνόμενος γράφος G ( V,, και δύο κόμβοι v και u του G. Δώστε έναν αλγόριθμο ο οποίος να υπολογίζει τον αριθμό των συντομότερων v-u μονοπατιών στον G. (Ο αλγόριθμος δεν χρειάζεται να τυπώνει όλα τα μονοπάτια, αλλά μόνο το πόσα υπάρχουν). Ο αλγόριθμος θα πρέπει να τρέχει σε χρόνο m) για έναν γράφο με n κορυφές και m ακμές. Πρόβλημα 6 Θεωρούμε έναν μακρύ ευθύγραμμο δρόμο, κατά μήκος του οποίου υπάρχουν κάποια σπίτια. Μια εταιρεία κινητής τηλεφωνίας θέλει να τοποθετήσει κεραίες κατά μήκος του δρόμου για την εξυπηρέτηση των κατοίκων των σπιτιών. Η εμβέλεια κάθε κεραίας είναι τέσσερα χιλιόμετρα. Δώστε έναν αλγόριθμο ο οποίος να τοποθετεί τον μικρότερο αριθμό κεραιών. Πρόβλημα 7 Σε κάποιες εφαρμογές θέλουμε να βρούμε ελαφριά συνδετικά δένδρα με συγκεκριμένες ιδιότητες. Το επόμενο πρόβλημα είναι ένα παράδειγμα., βάρη ακμών w e, και ένα υποσύνολο U των κόμβων ( U V ). Έξοδος: Το ελαφρύτερο συνδετικό δένδρο στο οποίο οι κόμβοι του συνόλου U είναι φύλλα. (Το δένδρο μπορεί να έχει φύλλα και από τους κόμβους του συνόλου V U ) Είσοδος: Μη κατευθυνόμενος γράφος G V, E

Να γράψετε έναν αλγόριθμο για το παραπάνω πρόβλημα ο οποίος να τρέχει σε χρόνο O ( E log V ). Πως μπορούμε να βρούμε βαρύτερο συνδετικό δένδρο αντί για ελαφρύτερο? Πρόβλημα 8 Η Αλίκη θέλει να κάνει ένα πάρτι και προσπαθεί να αποφασίσει ποιους θα καλέσει. Έχει να διαλέξει ανάμεσα σε n ανθρώπους, και έχει κάνει μια λίστα με ζευγάρια ατόμων που γνωρίζονται μεταξύ τους. Θέλει να καλέσει όσον το δυνατόν περισσότερους, αλλά με κάποιους περιορισμούς. Στο πάρτι κάθε καλεσμένος θα πρέπει να γνωρίζεται με τουλάχιστον πέντε άλλους καλεσμένους, και θα πρέπει να μην γνωρίζει τουλάχιστον πέντε άλλους καλεσμένους. Γράψτε έναν αποτελεσματικό αλγόριθμο ο οποίος παίρνει σαν είσοδο την λίστα των ατόμων και τη λίστα των ζευγαριών που γνωρίζονται μεταξύ τους και επιστρέφει μια βέλτιστη επιλογή καλεσμένων. Ποιος είναι ο χρόνος που χρειάζεται ο αλγόριθμος σαν συνάρτηση του n ; n