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

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

ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.

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


Παρουσίαση με θέμα: "ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου."— Μεταγράφημα παρουσίασης:

1 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.1 Άπληστοι αλγόριθμοι Οι άπληστοι αλγόριθμοι εφαρμόζονται συνήθως για την επίλυση προβλημάτων βελτιστοποίησης, όπως π.χ. η εύρεση του συντομότερου μονοπατιού μεταξύ δύο κορυφών γράφου ή η εύρεση της βέλτιστης σειράς για την εκτέλεση από έναν υπολογιστή ενός συνόλου έργων. Ένας άπληστος αλγόριθμος διαθέτει γενικά μία απλή δομή που βασικά αποτελείται από τα εξής στοιχεία: ένα σύνολο υποψηφίων επιλογών (π.χ. οι κορυφές ενός γράφου) ένα σύνολο επιλογών που έχουν ήδη χρησιμοποιηθεί μία συνάρτηση ελέγχου, που απαντά στο ερώτημα αν ένα συγκεκριμένο σύνολο υποψηφίων αποδίδει μία λύση, όχι απαραίτητα τη βέλτιστη για τη στιγμή που εξετάζεται

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

3 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.3 Άπληστοι αλγόριθμοι ΙΙΙ set greedy (set C) { //C είναι το σύνολο το υποψήφιων επιλογών S =  //S είναι το σύνολο της λύσης while (!solution(S) && C  ) { x = στοιχείο του C, που μεγιστοποιεί την select(x) C = C \ {x} if (feasible(S  {x})) S  S  {x} } if solution(S) return S else return “δεν υπάρχει λύση”

4 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.4 Άπληστοι αλγόριθμοι ΙV Η συνάρτηση επιλογής βασίζεται συνήθως στην αντικειμενική συνάρτηση και μάλιστα μπορεί αν είναι και ίδιες. ΠΑΡΑΔΕΙΓΜΑ Θέλουμε να δώσουμε ρέστα σε έναν πελάτη χρησιμοποιώντας το μικρότερο αριθμό κερμάτων. - επιλογές: ένα σύνολο από ένα ή περισσότερα κέρματα 1c,2c,5c,10c,20c,50c,1 ,2  - λύση: το συνολικό αντίτιμο του συνόλου των επιλεγμένων κερμάτων πρέπει να δίνει το ποσό που πρέπει να πληρωθεί - εφικτό σύνολο: το συνολικό αντίτιμο των επιλεγμένων κερμάτων δεν θα πρέπει να υπερβαίνει το ποσό που πρέπει να πληρωθεί - συνάρτηση επιλογής: το μεγαλύτερο κέρμα από αυτά που μένουν στο σύνολο επιλογών - αντικειμενική συνάρτηση: ο αριθμός των κερμάτων της λύσης

5 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.5 Ελάχιστα Ζευγνύοντα Δένδρα Ι ΠΡΟΒΛΗΜΑ Έστω G= ένας συνδεδεμένος μη κατευθυνόμενος γράφος, όπου Ν το σύνολο των κορυφών και Α το σύνολο των ακμών, σε κάθε μία από τις οποίες αντιστοιχεί ένας αριθμός, το βάρος της. Πρέπει να βρεθεί ένα υποσύνολο Τ των ακμών του G, που να συνδέει όλες τις κορυφές του γράφου G και το άθροισμα των βαρών του T να είναι το ελάχιστο δυνατό. ΕΦΑΡΜΟΓΕΣ Πολλά προβλήματα ανάπτυξης δικτύων. Αν για παράδειγμα οι κορυφές αναπαριστούν πόλεις και οι ακμές κόστοι κατασκευής δρόμων, τότε αν όλες οι πόλεις πρέπει να συνδέονται μεταξύ τους με το ελάχιστο δυνατό κόστος, πρέπει να λυθεί το παραπάνω πρόβλημα.

6 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.6 Ελάχιστα Ζευγνύοντα Δένδρα ΙΙ Μπορεί να αποδειχθεί ότι ο γράφος με τις κορυφές του G και τις ακμές του Τ είναι ένα δένδρο, δηλ. δεν περιέχει κύκλους. Το δένδρο αυτό ονομάζεται ελάχιστο ζευγνύον δένδρο και η εύρεσή του αποτελεί ένα από τα θεμελιώδη προβλήματα της Θεωρίας Γράφων. Θα εξετάσουμε δύο άπληστους αλγορίθμους: τον αλγόριθμο του Kruskal τον αλγόριθμο του Prim Βασικά στοιχεία των αλγορίθμων: ένα σύνολο ακμών αποτελεί λύση αν αυτό ενώνει όλες τις κορυφές του γράφου είναι εφικτό, αν δεν περιέχει κύκλους έχει προοπτική, αν είναι εφικτό και επιπλέον μπορεί να συμπληρωθεί έτσι ώστε να αποδώσει τη βέλτιστη λύση

7 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.7 Ελάχιστα Ζευγνύοντα Δένδρα ΙΙΙ

8 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.8 Ελάχιστα Ζευγνύοντα Δένδρα ΙV Ένας γράφος μπορεί να έχει περισσότερα από ένα ελάχιστα ζευγνύοντα δένδρα. ΛΗΜΜΑ: Έστω G= ένας συνδεδεμένος μη κατευθυνόμενος γράφος με δοθέν μήκος για κάθε ακμή. Έστω B  N ένα γνήσιο υποσύνολο των κορυφών του G. Επίσης, έστω T  A ένα σύνολο ακμών με προοπτική, έτσι ώστε να μην υπάρχει ακμή του T, που να προσπίπτει στο B. Τότε, αν e είναι η ακμή με το μικρότερο βάρος που προσπίπτει στο B, το T  {e} είναι επίσης ένα σύνολο με προοπτική.

9 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.9 Ελάχιστα Ζευγνύοντα Δένδρα V Το αρχικό σύνολο των υποψηφίων επιλογών είναι το σύνολο όλων των κορυφών του γράφου. Ένας άπληστος αλγόριθμος επιλέγει μία – μία τις ακμές του γράφου. Έτσι, κάθε ακμή είτε περιλαμβάνεται στο σύνολο της λύσης είτε δεν περιλαμβάνεται, οπότε δεν ξαναεξετάζεται. Η κύρια διαφορά μεταξύ των άπληστων αλγορίθμων, που θα περιγράψουμε είναι η σειρά με την οποία επιλέγονται οι ακμές.

10 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.10 Ελάχιστα Ζευγνύοντα Δένδρα VΙ ΑΛΓΟΡΙΘΜΟΣ KRUSKAL Το σύνολο Τ των ακμών είναι αρχικά άδειο. Με την πρόοδο του αλγορίθμου προστίθενται στο Τ μία προς μία, νέες ακμές. Ανά πάσα στιγμή οι γράφοι που σχηματίζονται από τις κορυφές του G και τις ακμές του Τ αποτελούν ενδεχομένως περισσότερα από ένα διαφορετικά συνδεδεμένα τμήματα. Οι ακμές του Τ που περιλαμβάνονται σε κάθε ένα από αυτά αποτελούν ελάχιστα ζευγνύοντα δένδρα για το σύνολο των κορυφών του εκάστοτε τμήματος. Στο τέλος του αλγορίθμου λαμβάνουμε ένα μόνο συνδεδεμένο τμήμα και έτσι το Τ αποτελεί ελάχιστο ζευγνύον δένδρο του G. Για τη δημιουργία ολοένα και μεγαλύτερων ανεξάρτητων συνδεδεμένων τμημάτων εξετάζουμε τις ακμές του γράφου G κατά αύξουσα σειρά βάρους. Αν μία ακμή ενώνει δύο κορυφές από διαφορετικά τμήματα, τότε αυτή συμπεριλαμβάνεται στο Τ και τα δύο τμήματα γίνονται πλέον ένα ενιαίο συνδεδεμένο τμήμα. Σε διαφορετική περίπτωση η ακμή απορρίπτεται επειδή ακριβώς η συμπερίληψή της στο Τ θα δημιουργούσε κύκλό.

11 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.11 Ελάχιστα Ζευγνύοντα Δένδρα VΙΙ ΑΛΓΟΡΙΘΜΟΣ KRUSKAL: ΠΑΡΑΔΕΙΓΜΑ Οι ακμές σε αύξουσα σειρά βαρών: {1,2},{2,3},{4,5},{6,7},{1,4},{2,5},{4,7},{3,5},{2,4},{3,6},{5,7}, {5,6}

12 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.12 Ελάχιστα Ζευγνύοντα Δένδρα VΙΙΙ ΑΛΓΟΡΙΘΜΟΣ KRUSKAL: ΠΑΡΑΔΕΙΓΜΑ (συνέχεια) ΒΗΜΑΑΚΜΗΣΥΝΔ. ΤΜΗΜΑΤΑ {1} {2} {3} {4} {5} {6} {7} 1{1,2}{1,2} {3} {4} {5} {6} {7} 2{2,3}{1,2,3} {4} {5} {6} {7} 3{4,5}{1,2,3} {4,5} {6} {7} 4{6,7}{1,2,3} {4,5} {6,7} 5{1,4}{1,2,3,4,5} {6,7} 6{2,5}ΑΠΟΡΙΠΤΕΤΑΙ 7{4,7}{1,2,3,4,5,6,7}

13 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.13 Ελάχιστα Ζευγνύοντα Δένδρα ΙΧ ΑΛΓΟΡΙΘΜΟΣ KRUSKAL Ο αλγόριθμος βασίζεται στη διαχείριση συνόλων: πρέπει ακαριαία να μπορούμε με την find(x) να βρίσκουμε σε ποιο σύνολο ανήκει η x και με την merge(A,B) να συνενώνουμε δύο σύνολα. Έτσι, χρησιμοποιούμε διακριτές δομές συνόλων, όπως αυτές που περιγράψαμε. Στο συγκεκριμένο αλγόριθμο συμφέρει να υλοποιήσουμε το γράφο ως ένα σύνολο από ακμές μαζί με τα αντίστοιχα βάρη, παρά ως πίνακα γειτνίασης με βάρη.

14 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.14 Ελάχιστα Ζευγνύοντα Δένδρα Χ ΑΛΓΟΡΙΘΜΟΣ KRUSKAL (O(α logn)) set of edges kruskal (G=, weight:A  R * ) { ταξινόμηση του Α κατά αύξουσα σειρά βάρους; n=αριθμός κόμβων; Τ=  ;//το σύνολο των ακμών του ελάχιστου ζευγνύοντος δένδρου αρχικοποίηση n συνόλων, το κάθε ένα αντιστοιχεί σε μία κορυφή do { {u,v}  ακμή με το μικρότερο βάρος, που δεν έχει εξετασθεί ucomp=find(u); vcomp=find(v); if (ucomp != vcomp) { merge(ucomp,vcomp); T  T  {{u,v}};} } while (αριθμός ακμών στο Τ != n-1); return T;}

15 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.15 Ελάχιστα Ζευγνύοντα Δένδρα ΧI ΑΛΓΟΡΙΘΜΟΣ PRIM Ο αλγόριθμος του Kruskal επιλέγει ακμές με προοπτική, απλά προσπαθώντας να αποφύγει τη δημιουργία κύκλων. Αυτός ο τρόπος λειτουργίας έχει ως συνέπεια τη δημιουργία ενός δάσους από δένδρα, τα οποία στη συνέχεια αναπτύσσονται με ακανόνιστο τρόπο, ανάλογα με την εξέλιξη του αλγορίθμου. Αντίθετα, ο αλγόριθμος του Prim αναπτύσσει σταδιακά το ίδιο το ελάχιστο ζευγνύον δένδρο ξεκινώντας από μία τυχαία επιλεγείσα ρίζα. Σε κάθε βήμα προστίθεται ένα νέο κλαδί του δένδρου και ο αλγόριθμος ολοκληρώνεται όταν έχουν επιλεγεί όλες οι κορυφές του γράφου.

16 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.16 Ελάχιστα Ζευγνύοντα Δένδρα ΧII ΑΛΓΟΡΙΘΜΟΣ PRIM Αρχικά το σύνολο των κορυφών B περιέχει μία μόνο κορυφή και το σύνολο των ακμών T είναι κενό. Σε κάθε βήμα ο αλγόριθμος ψάχνει την ακμή με το μικρότερο βάρος {u,v}, έτσι ώστε u  N\B και v  B. Στη συνέχεια προσθέτει το u στο Β και το {u,v} στο Τ. Με τον τρόπο αυτό οι ακμές στο Τ σχηματίζουν ένα ελάχιστο ζευγνύον δένδρο για τις κορυφές που περιέχονται στο Β. Ο αλγόριθμος συνεχίζει για όσο B  N. ΠΡΟΗΓΟΥΜΕΝΟ ΠΑΡΑΔΕΙΓΜΑ ΜΕ ΑΛΓΟΡΙΘΜΟ PRIM ΒΗΜΑΑΚΜΗΒ {1} 1{2,1}{1,2} 2{3,2}{1,2,3} 3{4,1}{1,2,3,4} 4{5,4}{1,2,3,4,5} 5{7,4}{1,2,3,4,5,7} 6{6,7}{1,2,3,4,5,6,7}

17 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.17 Ελάχιστα Ζευγνύοντα Δένδρα ΧIII ΑΛΓΟΡΙΘΜΟΣ PRIM Έστω ότι οι κορυφές αριθμούνται από 0 μέχρι n-1 και το βάρος της κάθε ακμής δίνεται από ένα συμμετρικό πίνακα L, ενώ αν η σχετική ακμή δεν υπάρχει, τότε L[i,j]= . Χρησιμοποιούμε δύο πίνακες. Για κάθε κορυφή i  N\Β, το στοιχείο nearest[i] δίνει την κορυφή του B από την οποία απέχει με ακμή του μικρότερου δυνατού βάρους. Επίσης, mindist[i] δίνει το σχετικό βάρος από την i στην nearest[i]. Για i  Β θέτουμε mindist[i]=-1. set of edges prim (L[n, n]) { //αρχικοποίηση – μόνο η κορυφή 0 είναι στο Β ταξινόμηση του Α κατά αύξουσα σειρά βάρους; Τ=  ; //το σύνολο των ακμών του ελάχιστου ζευγνύοντος δένδρου for (i=1;i<n;i++) { nearest[i]=0; mindist[i]=L[i,0]; }

18 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.18 Ελάχιστα Ζευγνύοντα Δένδρα ΧIV ΑΛΓΟΡΙΘΜΟΣ PRIM (συνέχεια) for (i=0; i<n-1 ;i++) { min=  ; for (j=1; j<n; j++) { if (0  mindist[j]<min) { min=mindist[j]; k = j;} } T=T  {{k,nearest[k]}}; mindist[k]  -1; //με τον τρόπο αυτό προσθέτουμε το k στο Β for (j=1;j<n;j++) { if (L[k,j]<mindist[j]) { mindist[j]=L[k,j]; nearest[j]=k;}} } return T;}

19 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.19 Ελάχιστα Ζευγνύοντα Δένδρα ΧV ΑΛΓΟΡΙΘΜΟΣ PRIM: ΑΠΟΔΟΤΙΚΌΤΗΤΑ Ο βασικός βρόχος του αλγορίθμου εκτελείται n-1 φορές και σε κάθε εκτέλεση ο βρόχος for που περικλείει έχει πολυπλοκότητα O(n). Άρα ο αλγόριθμος έχει συνολική πολυπλοκότητα Ο(n 2 ). Σε σχέση με τον αλγόριθμο του Kruskal με πολυπλοκότητα O(αlogn): Για «πυκνούς» γράφους όπου ο αριθμός των ακμών τείνει στο n(n-1)/2 ο αλγόριθμός του Kruskal έχει πολυπλοκότητα O(n 2 logn) και επομένως ο αλγόριθμος του Prim είναι καλύτερος. Για «αραιούς» γράφους όπου ο αριθμός των ακμών τείνει στο n ο αλγόριθμος του Kruskal (O(nlogn)) είναι πιο αποδοτικός.

20 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.20 Ελάχιστα Ζευγνύοντα Δένδρα ΧVI Θεώρημα: Ο αλγόριθμος του Kruskal δίνει ένα ζευγνύον δένδρο με ελάχιστο βάρος. Θεώρημα: Ο αλγόριθμος του Prim δίνει ένα ζευγνύον δένδρο με ελάχιστο βάρος.

21 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.21 Συντομότερα μονοπάτια Ι Έστω G= ένας κατευθυνόμενος γράφος, όπου Ν είναι το σύνολο των κορυφών και Α το σύνολο των κατευθυνόμενων ακμών (τόξα). Κάθε τόξο έχει ένα μη αρνητικό βάρος. Επιλέγουμε μία κορυφή ως αφετηρία. Ποιο είναι το συντομότερο μονοπάτι από την αφετηρία σε κάθε μία από τις άλλες κορυφές του γράφου; Το πρόβλημα επιλύεται με έναν άπληστο αλγόριθμο γνωστό ως αλγόριθμο του Dijkstra.

22 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.22 Συντομότερα μονοπάτια ΙΙ Διακρίνουμε το σύνολο C των κορυφών που δεν έχουν ακόμη επιλεγεί και το σύνολο S των κορυφών που επιλέχθηκαν. Ουσιαστικά, το σύνολο S περιέχει τις κορυφές που η ελάχιστη απόστασή τους από την αφετηρία είναι ήδη γνωστή. Στην αρχή περιέχει μόνο την αφετηρία και σταδιακά μεγαλώνει φθάνοντας να περιέχει όλους τις κορυφές του γράφου. Σε κάθε βήμα του αλγορίθμου, η επόμενη κορυφή, που θα περιληφθεί στο S, είναι αυτή της οποίας η απόσταση από την αφετηρία είναι μικρότερη από τις άλλες.

23 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.23 Συντομότερα μονοπάτια ΙΙΙ ΒΗΜΑvCD -{2,3,4,5}{50,30,100,10} 15{2,3,4}{50,30,20,10} 24{2,3}{40,30,20,10} 33{2}{35,30,20,10}

24 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.24 Συντομότερα μονοπάτια ΙV Το σύνολο S προκύπτει ως το S=N \ C. Ένα μονοπάτι από την αφετηρία σε κάποια άλλη κορυφή λέμε ότι είναι ειδικό αν όλες οι ενδιάμεσες κορυφές ανήκουν στο S. Ο πίνακας D θα περιέχει το μήκος του συντομότερου μονοπατιού για κάθε κορυφή του γράφου. Τη στιγμή που προσθέτουμε μία κορυφή v στο S, το συντομότερο ειδικό μονοπάτι προς την v είναι επίσης και το συντομότερο όλων των μονοπατιών προς τη v (χρειάζεται απόδειξη). Όταν ο αλγόριθμος ολοκληρώνεται έχουν μπει στο S όλες οι κορυφές του γράφου και άρα οι τιμές του D δίνουν τα συντομότερα μονοπάτια προς τις κορυφές.

25 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.25 Συντομότερα μονοπάτια V Έστω ότι οι κορυφές του γράφου αριθμούνται από 0 μέχρι n-1 και η κορυφή 0 αποτελεί την αφετηρία. Ο πίνακας L δίνει τα βάρη όλων των τόξων, ενώ αν για κάποιο (i,j) δεν ορίζεται τόξο, τότε L[i,j]= . array[1..n-1] Dijkstra(L[n, n]) { C={1,2,…,n-1}; for (i=1; i<n; i++) D[i]=L[0,i]; for (i=0; i<n-2; i++) { v=η κορυφή του C που δίνει το ελάχιστο D[v] C=C\{v}//και κατά συνέπεια S = S  {v} for (w  C) { D[w]=min(D[w],D[v]+L[v,w]) } return D}

26 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.26 Συντομότερα μονοπάτια VI ΑΠΟΔΕΙΞΗ ΤΟΥ ΟΤΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΕΙΝΑΙ ΣΩΣΤΟΣ: Πρέπει με μαθηματική επαγωγή να αποδειχθεί ότι: i. Αν μία κορυφή i είναι στο S, τότε D[i] είναι το μήκος του συντομότερου μονοπατιού από την αφετηρία στο i. ii.Αν μία κορυφή i δεν ανήκει στο S, τότε D[i] είναι το μήκος του συντομότερου ειδικού μονοπατιού από την αφετηρία στο i. Οι δύο παραπάνω υποθέσεις ισχύουν στην αρχική κατάσταση του αλγορίθμου. Έστω ότι ισχύουν επίσης ακριβώς πριν από την εισαγωγή της κορυφής v στο S. Τότε: i. Μετά από την εισαγωγή της v στο S εξετάζουμε αν το D[v] είναι πράγματι το συντομότερο μονοπάτι από την αφετηρία στο v. Από την υπόθεση της επαγωγής για το (ii) σίγουρα το D(v) δίνει το μήκος του συντομότερου ειδικού μονοπατιού. Άρα αρκεί να αποδείξουμε ότι δεν υπάρχει κάποιο «μη ειδικό μονοπάτι» που είναι συντομότερο από το D[v].

27 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.27 Συντομότερα μονοπάτια VII ΑΠΟΔΕΙΞΗ ΤΟΥ ΟΤΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΕΙΝΑΙ ΣΩΣΤΟΣ: Έστω το αντίθετο. Δηλαδή υπάρχει συντομότερο μονοπάτι προς το v που περνά από κορυφή που δεν ανήκει στο S. Έστω x η πρώτη κορυφή που δεν ανήκει στο S. Τότε η συντομότερη απόσταση προς τη v μέσω x είναι  συντ. απόσταση ως το x  D[x] (από την υπόθεση ii της επαγωγής)  D[v] (επειδή ο αλγόριθμος την επέλεξε πριν από την x)

28 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.28 Συντομότερα μονοπάτια VIIΙ ΑΠΟΔΕΙΞΗ ΤΟΥ ΟΤΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΕΙΝΑΙ ΣΩΣΤΟΣ: ii. Έστω w  S μία κορυφή διαφορετική από τη v. Όταν το v εισάγεται στο S υπάρχουν δύο περιπτώσεις για το συντομότερο ειδικό μονοπάτι από την αφετηρία στο w: δεν αλλάζει μετά από αυτό το βήμα περνάει από την v και για τη δεύτερη περίπτωση επίσης δύο περιπτώσεις η v είναι η τελευταία κορυφή του S πριν από την w δεν είναι η τελευταία Άρα αν αποκλείσουμε το ότι η τελευταία περίπτωση δε δίνει συντομότερο μονοπάτι, τότε πρέπει να γίνεται σύγκριση του προηγούμενου ειδικού συντομότερου μονοπατιού με το νέο που περνάει από την v ακριβώς πριν καταλήξει στην w. Αυτό γίνεται από τον αλγόριθμο και άρα είμαστε σίγουροι ότι έτσι αποδίδεται πάντα το συντομότερο ειδικό μονοπάτι.

29 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.29 Συντομότερα μονοπάτια ΙΧ ΑΠΟΔΕΙΞΗ ΤΟΥ ΟΤΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΕΙΝΑΙ ΣΩΣΤΟΣ: Γιατί όμως δεν υπάρχει περίπτωση να... Το D[x]+L[x,w] δεν μπορεί να είναι συντομότερο επειδή εξετάσθηκε σε προηγούμενο βήμα, όταν προστέθηκε από τον αλγόριθμο η x στο S (αφού η v είναι η τελευταία που προστίθεται).

30 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.30 Συντομότερα μονοπάτια Χ ΑΝΑΛΥΣΗ ΑΠΟΔΟΤΙΚΟΤΗΤΑΣ: Έστω ότι ο αλγόριθμος του Dijkstra εφαρμόζεται σε γράφο με n κορυφές και α ακμές. Η αρχικοποίηση παίρνει χρόνο Ο(n). Επίσης, μέσα στην επανάληψη, υπάρχει ένας άλλος βρόχος για τον εντοπισμό κορυφής του C με το ελάχιστο D[v], οπότε η συνολική πολυπλοκότητα είναι Ο(n 2 ). Αν τώρα α<<n 2 με την αναπαράσταση του γράφου ως λίστα αποφεύγεται η εξέταση στοιχείων του L με τιμή , οπότε βελτιώνεται η αποδοτικότητα της αρχικοποίησης. Πως όμως μπορεί να βελτιωθεί ο χρόνος των βρόχων, που ακολουθούν; Χρησιμοποιούμε σωρό, που στην κορυφή θα δίνει το ελάχιστο στοιχείο. Εύκολα προκύπτει ότι αφαιρούμε ακριβώς n-2 στοιχεία και εκτελούμε percolate το πολύ α φορές, οπότε η συνολική πολυπλοκότητα είναι Ο((α+n)logn), επειδή και οι δύο λειτουργίες του σωρού παίρνουν χρόνο της τάξης log n. Επειδή όμως μιλάμε για συνδεδεμένο γράφο ισχύει α  n-1, οπότε η συνολική πολυπλοκότητα είναι Ο(α logn).

31 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.31 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού Ι Έχουμε ένα σημείο εξυπηρέτησης και n πελάτες. Ο χρόνος εξυπηρέτησης που απαιτείται για κάθε πελάτη είναι εκ των προτέρων γνωστός: για τον πελάτη i είναι t i. Θέλουμε να ελαχιστοποιήσουμε το συνολικό χρόνο (χρόνος παραμονής για τον πελάτη i) Η ελαχιστοποίηση του συνολικού χρόνου παραμονής στο σύστημα είναι ισοδύναμη με την ελαχιστοποίηση του μέσου χρόνου παραμονής. Αν για παράδειγμα έχουμε τρεις πελάτες με χρόνους εξυπηρέτησης t 1 =5t 2 =10t 3 =3 τότε οι πιθανές περιπτώσεις εξυπηρέτησης είναι:

32 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.32 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού ΙΙ ΣΕΙΡΑΧΡΟΝΟΣ 1 2 3:5+(5+10)+(5+10+3)=38 1 3 2:5+(5+3)+(5+3+10)=31 2 1 3:10+(10+5)+(10+5+3)=43 2 3 1:10+(10+3)+(10+3+5)=41 3 1 2:3+(3+5)+(3+5+10)=29βέλτιστο 3 2 1:3+(3+10)+(3+10+5)=34

33 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.33 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού ΙΙΙ ΑΠΛΗΣΤΟΣ ΑΛΓΟΡΙΘΜΟΣ ΠΟΥ ΕΠΙΛΥΕΙ ΤΟ ΠΡΟΒΛΗΜΑ: Μετά το τέλος της εξυπηρέτησης ενός πελάτη επιλέγουμε κάθε φορά αυτόν που έχει τις μικρότερες απαιτήσεις εξυπηρέτησης. Απόδειξη ότι αυτός ο αλγόριθμος δίνει βέλτιστη λύση: Έστω ότι οι πελάτες εξυπηρετούνται με τη σειρά I=(i 1,i 2,…,i n ). Τότε ο συνολικός χρόνος είναι

34 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.34 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού ΙV Έστω ότι ο προγραμματισμός I είναι έτσι ώστε για δύο ακεραίους α και b με α<b είναι Αν ανταλλάξουμε τις σειρές των δύο αυτών πελατών, τότε παίρνουμε μία νέα σειρά εξυπηρέτησης Ι’. Η νέα αυτή σειρά είναι προτιμητέα γιατί και

35 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.35 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού V ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΠΡΟΘΕΣΜΙΕΣ: Έστω ότι υπάρχει ένα σύνολο από n πελάτες, που η εξυπηρέτηση του κάθε ένα γίνεται μέσα στη μονάδα του χρόνου. Έτσι, σε κάθε χρονική στιγμή t=1,2,…, μπορεί να εξυπηρετηθεί ακριβώς ένας πελάτης. Ο πελάτης i, 1  i  n αποδίδει κέρδος g i, αν και μόνο αν εξυπηρετηθεί σε χρόνο όχι μεγαλύτερο από d i. ΠΑΡΑΔΕΙΓΜΑ: Έστω n=4 πελάτες με τις ακόλουθες τιμές: i1234 g i 50101530 d i 2121 Οι πιθανές περιπτώσεις προγραμματισμού που μπορούμε να εξετάσουμε και τα συνοδευόμενα κέρδη είναι:

36 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.36 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού VΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΠΡΟΘΕΣΜΙΕΣ - ΠΑΡΑΔΕΙΓΜΑ: ΚΕΡΔΟΣ 150 210 315 430 1, 365 2, 160 2, 325 3, 165 4, 180βέλτιστο 4, 345 Η περίπτωση 3,2 δεν είναι εφικτή γιατί δεν τηρούνται οι προθεσμίες.

37 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.37 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού VΙΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΠΡΟΘΕΣΜΙΕΣ: Ένα σύνολο πελατών είναι εφικτό αν υπάρχει τουλάχιστο μία διάταξη εξυπηρέτησης αυτών (που επίσης καλείται εφικτή), που επιτρέπει την εκτέλεσή τους χωρίς να παραβιάζονται οι προθεσμίες εξυπηρέτησης. Ένας προφανής άπληστος αλγόριθμος είναι ο βήμα προς βήμα σχηματισμός μιας διάταξης εξυπηρέτησης προσθέτοντας σε κάθε βήμα τον πελάτη, που αποδίδει το μεγαλύτερο κέρδος g i, αν βέβαια το σχηματιζόμενο σύνολο πελατών παραμένει εφικτό. Έστω J ένα σύνολο από k πελάτες. Εκ πρώτης όψεως φαίνεται ότι για να διαπιστωθεί αν το σύνολο J είναι εφικτό, πρέπει να εξετασθούν όλες οι k! πιθανές διατάξεις των πελατών για να διαπιστωθεί αν το σύνολο J είναι εφικτό.

38 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.38 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού VΙΙΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΠΡΟΘΕΣΜΙΕΣ: Λήμμα: Έστω J είναι ένα σύνολο από k πελάτες και έστω σ=(s 1,s 2,…,s k ) μία διάταξη εξυπηρέτησης αυτών, για την οποία ισχύει To σύνολο J είναι εφικτό αν και μόνο αν είναι εφικτή η διάταξη σ. ΑΠΟΔΕΙΞΗ ΟΤΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΔΙΝΕΙ ΤΗ ΒΕΛΤΙΣΤΗ ΛΥΣΗ: Έστω ότι ο άπληστος αλγόριθμος που περιγράψαμε δεν αποδίδει το σύνολο της βέλτιστης λύσης J, αλλά ένα άλλο σύνολο I  J. Έστω S I και S J δύο εφικτές διατάξεις, που αντιστοιχούν στα σύνολα I και J. Αναδιατάσσουμε τους πελάτες στα σύνολα S I και S J, έτσι ώστε κάθε πελάτης, που υπάρχει και στα δύο σύνολο προγραμματίζεται να εξυπηρετηθεί την ίδια χρονική στιγμή, ενώ είναι πιθανή η δημιουργία κενών εξυπηρέτησης. Έστω S I ’ και S J ’ οι νέες διατάξεις.

39 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.39 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού ΙΧ ΑΠΟΔΕΙΞΗ ΟΤΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΔΙΝΕΙ ΤΗ ΒΕΛΤΙΣΤΗ ΛΥΣΗ:

40 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.40 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού Χ ΑΠΟΔΕΙΞΗ ΟΤΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΔΙΝΕΙ ΤΗ ΒΕΛΤΙΣΤΗ ΛΥΣΗ: Έστω ότι ο πελάτης α προγραμματίστηκε για εκτέλεση στη διάταξη S I ’, ενώ στην αντίστοιχη θέση της διάταξης S J ’ υπάρχει κενό. Μπορεί το J  {α} να είναι εφικτό και να απέδιδε μεγαλύτερο κέρδος από το J. OXI γιατί υποθέσαμε ότι το J είναι βέλτιστο. Έστω ότι ο πελάτης b προγραμματίστηκε για εκτέλεση στη διάταξη S J ’, ενώ στην αντίστοιχη θέση της διάταξης S I ’ υπάρχει κενό. Μπορεί το I  {b} να είναι εφικτό; ΟΧΙ γιατί τότε ο αλγόριθμος θα είχε περιλάβει ήδη το b στο I. Η μόνη περίπτωση που απομένει είναι αν για έναν πελάτη α, που είναι προγραμματισμένος στο σύνολο S I ’ υπάρχει ένας άλλος πελάτης b προγραμματισμένος στο S J ’. Μία τέτοια κατάσταση όμως υπονοεί ότι το α δεν περιλαμβάνεται στο J και το b δεν περιλαμβάνεται στο I:

41 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.41 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού ΧI ΑΠΟΔΕΙΞΗ ΟΤΙ Ο ΑΛΓΟΡΙΘΜΟΣ ΔΙΝΕΙ ΤΗ ΒΕΛΤΙΣΤΗ ΛΥΣΗ: Αν g α > g b τότε αντικαθιστώντας τα α με το b στο σύνολο J θα το βελτίωνε. ΑΤΟΠΟ γιατί υποθέσαμε ότι το J είναι βέλτιστο. Αν g α <g b τότε ο άπληστος αλγόριθμος θα είχε επιλέξει το b πριν να εξετάσει το α. ΑΤΟΠΟ γιατί δεν έχει περιλάβει το b στο I. Κατά συνέπεια g α =g b. Άρα σε κάθε χρονική στιγμή οι διατάξεις S I ’ και S J ’ είτε δεν έχουν προγραμματίσει κάποιο πελάτη, είτε έχουν προγραμματίσει τον ίδιο πελάτη, είτε δύο διαφορετικούς πελάτες με το ίδιο κέρδος. Αυτό σημαίνει ότι το σύνολο I είναι επίσης βέλτιστο, όπως και το J.

42 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.42 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού ΧII ΑΠΛΗΣΤΟΣ ΑΛΓΟΡΙΘΜΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΠΡΟΘΕΣΜΙΕΣ: Ας υποθέσουμε ότι χωρίς βλάβη της γενικότητας οι πελάτες είναι αριθμημένοι έτσι ώστε g 1  g 2  …  g n. Επίσης υποθέτουμε ότι n>0 και d i >0, για 1  i  n. array[k] sequence(d[n+1]) { array j[n+1] d[0]=0; j[0]=0; k=1; j[1]=1; //πάντα επιλέγεται ο πρώτος πελάτης for (i=2;i<=n;i++) { r = k; while (d[j[r]]>max(d[i], r)) { r = r-1;} if (d[j[r]]  d[i] && d[i]>r) {

43 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.43 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού ΧIII ΑΠΛΗΣΤΟΣ ΑΛΓΟΡΙΘΜΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΠΡΟΘΕΣΜΙΕΣ (συνέχεια): for (l=k; l>=r+1; l--) { j[l+1]=j[l];} j[r+1]=i; k=k+1; } return j[1..k]

44 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.44 Άπληστοι αλγόριθμοι χρονοπρογραμματισμού ΧIV ΑΠΛΗΣΤΟΣ ΑΛΓΟΡΙΘΜΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΠΡΟΘΕΣΜΙΕΣ (παράδειγμα): Έστω n=6 πελάτες με τις ακόλουθες τιμές: i123456 g i 201510753 d i 311313 αρχικοποίηση i=2 i=3ως έχει i=4 i=5ως έχει i=6ως έχει

45 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.45 Άπληστοι ευριστικοί αλγόριθμοι Ι Είναι οι αλγόριθμοι που αντί να δίνουν την ακριβή βέλτιστη λύση δίνουν μία προσεγγιστική λύση. ΧΡΩΜΑΤΙΣΜΟΣ ΓΡΑΦΟΥ: Έστω G= ένας μη κατευθυνόμενος γράφος του οποίου θέλουμε να χρωματίσουμε τις κορυφές. Αν δύο κορυφές συνδέονται με μία ακμή θα πρέπει σ΄ αυτές να αντιστοιχεί διαφορετικό χρώμα. Σκοπός μας είναι να χρησιμοποιήσουμε το μικρότερο δυνατό αριθμό χρωμάτων. ΑΠΛΗΣΤΟΣ ΑΛΓΟΡΙΘΜΟΣ: Επιλέγουμε ένα χρώμα και μία αρχική κορυφή και στη συνέχεια εξετάζουμε μία προς μία όλες τις υπόλοιπες κορυφές τις οποίες χρωματίσουμε, αν αυτό είναι εφικτό, με το συγκεκριμένο χρώμα. Στη συνέχεια επιλέγουμε ένα νέο χρώμα και μια νέα κορυφή.

46 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.46 Άπληστοι ευριστικοί αλγόριθμοι ΙΙ ΧΡΩΜΑΤΙΣΜΟΣ ΓΡΑΦΟΥ (ΠΑΡΑΔΕΙΓΜΑ): Στο παραπάνω παράδειγμα, αν η κορυφή 1 χρωματιστεί με κόκκινο, δεν επιτρέπεται να χρησιμοποιηθεί το ίδιο χρώμα για την 2, οι 3 και 4 χρωματίζονται με κόκκινο, ενώ η 5 όχι. Σε μία δεύτερη φάση χρησιμοποιούμε το μπλε για το χρωματισμό της 2 και της 5. ΑΡ. ΧΡΩΜΑΤΩΝ: 2. Παρόλα αυτά, αν θεωρήσουμε τις κορυφές με τη σειρά 1, 5, 2, 3, 4 θα χρειαστούμε 3 χρώματα. ΣΥΜΠΕΡΑΣΜΑ: ο άπληστος αλγόριμθος που περιγράψαμε μας δίνει μια «καλή» λύση, αλλά όχι πάντα τη βέλτιστη.

47 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.47 Άπληστοι ευριστικοί αλγόριθμοι ΙΙΙ ΧΡΩΜΑΤΙΣΜΟΣ ΓΡΑΦΟΥ: Στις περιπτώσεις αυτές ο άπληστος αλγόριθμος είναι απλά μια ευριστική προσέγγιση, που μπορεί να δίνει μια «καλή», αλλά όχι πάντα τη βέλτιστη λύση. Στην περίπτωση του χρωματισμού γράφων οι ευριστικές λύσεις είναι σημαντικές γιατί όλοι οι αλγόριθμοι, που βρίσκουν την ακριβή λύση παρουσιάζουν εκθετική πολυπλοκότητα. Αυτό πρακτικά σημαίνει ότι για μεγάλες περιπτώσεις οι συγκεκριμένοι αλγόριθμοι δεν μπορούν να εφαρμοσθούν στην πράξη και γι΄ αυτό καταφεύγουμε σε προσεγγιστικές λύσεις, όπως ο άπληστος αλγόριθμος που περιγράψαμε.

48 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.48 Άπληστοι ευριστικοί αλγόριθμοι ΙV ΧΡΩΜΑΤΙΣΜΟΣ ΓΡΑΦΟΥ (παράδειγμα): Έντεκα φοιτητές A, B, C, D, E, F, G, H, I, J και K πρέπει να παρακολουθήσουν κάποια από τα έξι μαθήματα, που διατίθενται, ως εξής: 1 A, B, C 2 B, C, H, K 3 C, D, H, J 4 C, D, E, G 5 E, F, G 6 A, F, H, I Αναπτύξτε ένα πρόγραμμα με τον ελάχιστο αριθμό ημερών, έτσι ώστε να μην υπάρχει φοιτητής, που να χρειάζεται να παρακολουθήσει δύο διαφορετικά μαθήματα μέσα στην ίδια ημέρα. ΥΠΟΔΕΙΞΗ: εκφράστε τα μαθήματα ως κορυφές γράφου, που συνδέονται μεταξύ τους μόνο αν υπάρχει φοιτητής που παρακολουθεί και τα δύο μαθήματα, που αντιστοιχούν σ΄ αυτές.

49 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.49 Άπληστοι ευριστικοί αλγόριθμοι V ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΠΛΑΝΟΔΙΟΥ ΠΩΛΗΤΗ: Έστω ότι είναι γνωστές οι αποστάσεις μεταξύ μιας ομάδας πόλεων και ο πλανόδιος πωλητής θέλει ξεκινώντας από κάπου να επισκεφθεί κάθε πόλη ακριβώς μία φορά επιστρέφοντας στο σημείο της εκκίνησης και έχοντας διανύσει τη μικρότερη δυνατή απόσταση. Όλοι οι αλγόριθμοι που έχουν προταθεί για το συγκεκριμένο πρόβλημα εμφανίζουν εκθετική πολυπλοκότητα. ΑΠΛΗΣΤΟΣ ΑΛΓΟΡΙΘΜΟΣ: Το πρόβλημα μπορεί να αναπαρασταθεί από έναν πλήρη μη κατευθυνόμενο γράφο με n κορυφές. Σε κάθε βήμα του αλγορίθμου επιλέγεται η πιο σύντομη από τις εναπομείνασες ακμές, με την προϋπόθεση: ότι δε σχηματίζει κύκλο με τις ακμές, που έχουν ήδη επιλεγεί, εκτός από την ακμή που κλείνει το ταξίδι του πωλητή αν επιλεγεί, δε θα αποτελεί την τρίτη προσπίπτουσα ακμή στην ίδια κορυφή

50 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Τμ. Πληροφορικής, Α.Π.Θ.50 Άπληστοι ευριστικοί αλγόριθμοι VΙ ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΠΛΑΝΟΔΙΟΥ ΠΩΛΗΤΗ (ΠΑΡΑΔΕΙΓΜΑ): 23456 131011725 2612826 39420 4515 518 Επιλέχθηκαν με τη σειρά οι ακμές {1,2}, {3,5}, {4,5}, {2,3}, {4,6}, {1,6} για να σχηματίσουν το ταξίδι {1,2,3,5,4,6,1} με συνολικό μήκος 58. Δεν επιλέχθηκε το {1,5} γιατί θα έκανε κύκλο {1,2,3,4,1}. Πάντως η βέλτιστη λύση είναι 56 και όχι 58.


Κατέβασμα ppt "ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου."

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


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