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

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

Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα1 Η σφαίρα των αλγοριθμικών προβλημάτων.

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


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

1 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα1 Η σφαίρα των αλγοριθμικών προβλημάτων

2 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα2 Πρόβλημα Πλανόδιου Πωλητή  Βρες την μικρότερη διαδρομή που περνά από κάθε πόλη μόνο μια φορά και γυρνά σε αυτήν που ξεκίνησε Α Ε D B C σημείο εκκίνησης: B μικρότερη διαδρομή: ABDECA μήκος(ABDECA) = =11

3 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα3 Εξαντλητική Αναζήτηση  Υπολόγισε όλα τα μονοπάτια και διάλεξε το συντομότερο  Μήκος(ABCDEA) = = 18  Μήκος(ACBDEA) = = 15 ……  Μήκος(ABDECA) = = 11   Μήκος(AEBCDA) = = 19  Για n πόλεις => (n-1)! μονοπάτια =>  Πολυπλοκότητα: Ω(2 n )

4 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα4 Εκθετικά Προβλήματα  Έστω ότι είναι γνωστό ότι υπάρχει ένας εκθετικός αλγόριθμος που λύνει το πρόβλήμα π.χ., όπως στο πρόβλημα πλανόδιου πωλητή  Ερώτημα: Υπάρχει καλύτερος αλγόριθμος; Μέχρι πότε θα ψάχνουμε για ένα καλύτερο αλγόριθμο;  An αποδειχθεί ότι το πρόβλημα είναι το ίδιο δύσκολο όσο κάποιο άλλο επίσης δύσκολο πρόβλημα για το οποίο δεν έχει βρεθεί καμία καλύτερη λύση, τότε, σταματάμε να ψάχνουμε καλύτερη λύση για το πρώτο πρόβλημα

5 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα5 Προβλήματα NP-Complete  Δύσκολα προβλήματα για τα οποία ξέρουμε μόνο εκθετικούς αλγορίθμους  Ίσως υπάρχουν πολυωνυμικές λύσεις άλλα δεν έχουν βρεθεί ακόμα  Παραδείγματα:  Πλανόδιου Πωλητή (TSP)  Μονοπάτι Hamilton  Καλάθι 0-1 (Knapsack Problem)  Ιδιότητές NP Completeness: a) Όχι αποφασισμένη πολυωνυμικότητα b) Πληρότητα

6 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα6 Όχι Αποφασισμένη Πολυωνυμικότητα  Ένας πολυωνυμικός αλγόριθμος δεν εγγυάται βέλτιστο αποτέλεσμα  Ο πολυωνυμικός αλγόριθμος είναι μη αποφασιστικός (deterministic): προσπαθεί να βρει μια λύση χρησιμοποιώντας τεχνάσματα  Π.χ., TSP: το επόμενο σημείο είναι το πιο κοντινό στο παρόν σημείο

7 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα7 Παράδειγμα στο πρόβλημα TSP  Ακολουθεί πάντα την μικρότερη διαδρομή προκειμένου να πάει στην επόμενη πόλη  Δεν καταλήγει πάντα σε συντομότερη διαδρομή Α Ε D B C μήκος(ABEDCA) = =14 δεν είναι βέλτιστο

8 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα8 Πληρότητα  Κάθε NP-complete πρόβλημα μετατρέπεται σε ένα άλλο NP-complete σε πολυωνυμικό χρόνο  Τότε, αν βρεθεί βέλτιστος πολυωνυμικός αλγόριθμος για ένα από αυτά τα προβλήματα, τότε υπάρχει τέτοιος αλγόριθμος για όλα  Για να λυθεί ένα NP-complete πρόβλημα αρκεί να μετασχηματιστεί στο πρόβλημα που λύνεται πολυωνυμικά  Η πολυπλοκότητα της λύσης είναι το άθροισμα της πολυπλοκότητας μετατροπής και της λύσης του πρώτου προβλήματος  Στο σύνολο η πολυπλοκότητα θα είναι πολυωνυμική

9 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα9 Μονοπάτι Hamilton  Υπάρχει διαδρομή που περνά από κάθε σημείο ενός γράφου G μόνο μια φορά;  Ο αλγόριθμός εξαντλητικής αναζήτησης ελέγχει n! μονοπάτια  Είναι NP Complete διότι μετετρέπεται σε TSP σε πολυωνυμικό χρόνο ως εξής  Δημιούργησε έναν πλήρη γράφο G’ στον οποίο οι ακμές που υπάρχουν στον G έχουν μήκος 1 και αυτές που δεν υπάρχουν έχουν μήκος 2

10 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα10 Λύση  Μετατροπή σε TSP σε πολυωνυμικό χρόνο: κόστος δημιουργίας του G συν κόστος προσθήκης πρόσθετων ακμών: O(n)  Η λύση ισοδυναμεί με την εύρεση μονοπατιού TSP στον γράφο G’ με μήκος n GG’

11 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα11 Τύποι Αλγορίθμων  Ευρηματικοί (Heuristic)  Λαίμαργοι (greedy)  Τοπική αναζήτηση  Βέλτιστοι (Optimal)  Εξαντλητική Αναζήτηση  Διαίρει & Βασίλευε (divide & conquer)  Διακλάδωση με όρια (branch and bound)  Δυναμικός Προγραμματισμός (DP)

12 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα12 Λαίμαργοι (1/2)  Όταν κάνουν μια επιλογή διαλέγουν αυτή με μικρότερο κόστος  TSP: η επόμενη πόλη της διαδρομής είναι η πιο κοντινή σε αυτή που βρίσκεται κάθε φορά Α Ε D B C σημείο εκκίνησης μήκος(BECADB) = = 12 όχι βέλτιστο βέλτιστο μήκος(BACEDB) = = 11

13 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα13 Λαίμαργοι (2/2)  Σε κάποιες περιπτώσεις, βρίσκουν την βέλτιστη λύση  Πρόβλημα σακιδίου: ανάμεσα σε Ν αντικείμενα διαφόρων αξιών και ίδιου μεγέθους βρες αυτά που γεμίζουν ένα σακί χωρητικότητας C με την μεγαλύτερη αξία; Λύση: γέμισε το σακί με τα αντικείμενα μεγαλύτερης αξίας  Προγραμματισμός δουλειάς: ποια είναι η σειρά εξυπηρέτησης Ν πελατών η οποία ελαχιστοποιεί τον μέσο χρόνο αναμονής; Λύση: πρώτα πελάτες με τον μικρότερο χρόνο εξυπηρέτησης  Δέντρο σύνδεσης ελάχιστου κόστους: επόμενη διαφάνεια

14 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα14 Δέντρα Ελάχιστου Κόστους Σύνδεσης  Σε ένα γράφο G με κόστος στις ακμές, βρες τις ακμές με το μικρότερο συνολικό κόστος ώστε όλους όλοι οι κόμβοι να μείνουν ενωμένοι  Εφαρμογή: σύνδεσε όλες τις πόλεις με μικρότερο μήκος καλωδίου  Οι ακμές δημιουργούν δένδρο  Η εξαντλητική αναζήτηση χρειάζεται εκθετικό χρόνο (επιλογή ανάμεσα σε n n-2 δέντρα ή n! πλευρές)  Δύο βέλτιστοι αλγόριθμοι (επόμενη διαφάνεια)

15 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα15 Αλγόριθμοι για Δέντρα Ελάχιστου Κόστους Σύνδεσης Α Ε D B C Α Ε D B C Cost=7  Prim: σε κάθε βήμα προσθέτει στο δένδρο την ακμή με το μικρότερο κόστος  Kruskal: σε κάθε βήμα προσθέτει την ακμή με το μικρότερο κόστος αρκεί να μην δημιουργούνται κύκλοι

16 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα16 Αλγόριθμος Prim Είσοδος: γράφος G=(V,E), V={1,2,…,n} σύνολο κόμβων, U: σύνολο ακμών function Prim(είσοδος G:γράφος, έξοδος δένδρο U: σύνολο ακμών) { T = 0; U = {1}; while (U != V) { (u,v) = ακμή μικρότερου κόστους: u από το U, v από το V T = T + {(u,v)}; U = U + {v}; } Το δέντρο θα περιέχει n – 1 ακμές Πολυπλοκότητα: O(n 2 ) γιατί;

17 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα17 G = (V,E) Βήμα 1 Βήμα 2 Βήμα 3 Βήμα 4 Βήμα

18 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα18 Τοπική Αναζήτηση  Αλγόριθμοι που βελτιώνουν μη βέλτιστες λύσεις, όπως μια τοπική μετατροπή που βελτιώνει μια υπάρχουσα λύση που έχει βρει ένας λαίμαργος αλγόριθμος  Μπορεί να εφαρμοστεί επαναληπτικά και όσο βελτιώνεται η λύση  Εφαρμογή σε δύσκολα (NP προβλήματα) όπως TSP  Η πολυπλοκότητα της μετατροπής πρέπει να είναι πολυωνυμική

19 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα19 Α Ε D B C Σημείο εκκίνησης Λαίμαργος TSP  B Α B Ε D C Α Ε D B 1 4 τοπικό κόστος = 5  Α Ε D B 2 2 τοπικό κόστος = 4 ΕB D Α C κόστος = 11: βέλτιστο  κόστος=12 6

20 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα20 Διαίρει και Βασίλευε (D&C)  Το πρόβλημα διασπάται σε μικρότερα προβλήματα που λύνονται και οι λύσεις τους συνδυάζονται μέχρι να βρεθεί η λύση του αρχικού προβλήματος  Η ιδέα είναι ότι όσο μικρότερο είναι ένα υποπρόβλημα, τόσο πιο εύκολο είναι να λυθεί  Προσπάθεια να έχουμε υπο-προβλήματα ίδιου μεγέθους  Εκφράζεται με επαναληπτικούς αλγορίθμους  Π.χ. mergesort

21 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα21 Συγχωνευμένη ταξινόμηση list mergesort(list L, int n) { if (n == 1) return (L); L 1 = πάνω μισό του L; L 2 = κάτω μισό του L; return merge (mergesort(L 1,n/2), mergesort(L 2,n/2) ); } n:μέγεθος του πίνακα L(υποθέτουμε το L δύναμη του 2) merge:συγχωνεύει τα ταξινομημένα L 1, L 2 σε ένα ταξινομημένο πίνακα

22 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα22 Πολυπλοκότητα: O(nlogn)

23 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα23 Δυναμικός Προγραμματισμός  Το αρχικό πρόβλημα διασπάται σε μικρότερα προβλήματα πού λύνονται ευκολότερα  Οι λύσεις τους αποθηκεύονται και επαναχρησιμοποιούνται πολλές φορές όταν χρειάζονται για να λυθούν μεγαλύτερα υπο- προβλήματα και τελικά το αρχικό πρόβλημα  Συχνά εκφράζεται με αναδρομική φόρμουλα που δηλώνει πως συνδυάζονται τα μικρότερα προβλήματα για να λύσουν ένα μεγαλύτερο  Το διαίρει & βασίλευε μοιάζει αλλά δεν αποθηκεύει ή χρησιμοποιεί ξανά μερικές λύσεις

24 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα24 Αριθμοί Fibonacci  Χρησιμοποιώντας αναδρομή η πολυπλοκότητά είναι  Χρησιμοποιώντας ένα πίνακα για αποθήκευση λύσεων η πολυπλοκότητα είναι O(n) F(0)F(1)F(n-1)F(n)…

25 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα Σακί (knapsack)  Aν δίνονται αντικείμενα που ποικίλουν σε μέγεθος και αξία, ποια είναι η μέγιστη αξία που μπορεί να χωρέσει σε σακί χωρητικότητας C ;  Πως θα επιτύχουμε την μέγιστη δυνατή πληρότητα με την μέγιστη αξία ;

26 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα26 Εξαντλητική Αναζήτηση (1)  Η προφανής μέθοδος για να λύσουμε το πρόβλημα του είναι να δοκιμάσουμε όλους τους δυνατούς συνδυασμούς n αντικειμένων  Κάθε αντικείμενο αντιστοιχεί σε ένα κελί  Αν μπει στο σακί τότε το κελί του γίνεται 1  Αν δεν μπει τότε γίνεται 0  Υπάρχουν 2 n διαφορετικοί συνδυασμοί … n 0011

27 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα27 Ορολογία του Προβλήματος  n αντικείμενα  s 1, s 2, s 3, … s n : μεγέθη  v 1, v 2, v 3, …. v n : αξίες  C: χωρητικότητα σακιού  Έστω 0 <= i <= n και A <= C  V(k,A) : η μέγιστη τιμή η οποία μπορεί να χωρέσει σε σακί χωρητικότητας A ξέροντας ότι διαλέγουμε τα περιεχόμενα από τα πρώτα k αντικείμενα  V(n,C) : η μέγιστη αξία η οποία μπορεί να χωρέσει στο σακί C όταν επιλέγουμε ανάμεσα από όλα τα αντικείμενα  V(k,A) = 0 αν k = 0 ή A <= 0 για κάθε k

28 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα28 Διατύπωση Προβλήματος  V(k,A) = max{V(k-1,A), V(k-1,A-s k )+v k }: λύνοντας το πρόβλημα για το επόμενο αντικείμενο k, υπάρχουν δύο επιλογές:  Μπορούμε να το συμπεριλάβουμε ή όχι:  Αν όχι, τότε μπορούμε να πετύχουμε καλύτερη αξία αν επιλέξουμε ανάμεσα από τα προηγούμενα k-1 αντικείμενα  Αν ναι, τότε η αξία του v k προστίθεται στη συνολική αξία αλλά η χωρητικότητα του σακιού μειώνεται κατά το μέγεθός του s k

29 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα29 Εξαντλητική Αναζήτηση  Αν υπολογίσουμε το V(n,c) με αναδρομική αντικατάσταση η πολυπλοκότητα είναι Ω(2 n )  Υπολογίζονται δύο τιμές για το V(n-1,A)  Τέσσερις τιμές του V(n-2,A) κ.ο.κ  Ο αριθμός μερικών λύσεων ισούται με τον αριθμό των κόμβων σε ένα πλήρες δυαδικό δέντρο βάθους n που είναι Ω(2 n )  Ο αριθμός των αξιών που πρέπει να υπολογιστούν διπλασιάζεται σε κάθε βήμα

30 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα30 Δυναμικός Προγραμματισμός  Πολλές από αυτές τις τιμές είναι πιθανό να είναι ίδιες ειδικά όταν το C είναι μικρό συγκρινόμενο με το 2 n  Ο Δυναμικός Προγραμματισμός υπολογίζει και αποθηκεύει αυτές τις τιμές σε ένα πίνακα n+1 σειρών και C στηλών

31 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα31  Δυναμικός Προγραμματισμός (ΔΠ) : υπολόγισε και αποθήκευσε V(0,A), V(1,Α), … V(k,A), … V(n,C) όπου 0 <= k <= n και 0 <= A <= C χρησιμοποιώντας V(k,A) = max{V(k-1,A), V(k-1,A-s k )+v k }: V(n,C): λύση C 0 V(0,0) V(1,0) V(1,A) n +1

32 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα32 Πολυπλοκότητα  Κάθε λύση V(k,A) χρειάζεται σταθερό χρόνο να υπολογιστεί  Πρέπει να γεμίσει όλος ο πίνακας  Ο συνολικός χρόνος για να γεμίσει ο πίνακας είναι ανάλογος του μεγέθους του, άρα η πολυπλοκότητα του αλγορίθμου είναι O(nC)  Γρηγορότερο από την εξαντλητική αναζήτηση αν C << 2 n  Όμως ποια αντικείμενα περιλαμβάνονται στο σακί;  Χρήση δεύτερου πίνακα X i (k,A)  X i (k,A) = 1 αν το αντικείμενο i περιλαμβάνεται, 0 αν όχι

33 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα33 Συντομότερο μονοπάτι  Βρες τη συντομότερη διαδρομή από ένα δοσμένο κόμβο προς οποιονδήποτε άλλον κόμβο στο γράφο G  Ο ίδιος αλγόριθμος ακόμα και αν ζητείται η συντομότερη διαδρομή προς ένα μόνο τελικό κόμβο  Ορολογία:  G = (V,E) : γράφος εισόδου  C[i,j] : απόσταση μεταξύ των κόμβων i, j  V : κόμβος εκκίνησης  S : σύνολο κόμβων για τους οποίους το συντομότερο μονοπάτι από το v έχει υπολογιστεί  D(W) : μήκος του συντομότερου μονοπατιού από το v εώς το w περνώντας από κόμβους στο S

34 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα κόμβος εκκίνησης: v = 1 βήμαSWD(2)D(3)D(4)D(5) 1{1}-10oo {1,2} {1,2,4} {1,2,4,3} {1,2,4,3,5}

35 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα35 Αλγόριθμος του Dijkstra  function Dijkstra(G: graph, int v) { S = {1}; for i = 2 to n: D[i] = C[i,j]; while (S != V) { επέλεξε w από V-S: D[w] = minimum S = S + {w}; για κάθε v σε V–S: D[v] = min{D[v], D[w]+[w,v]}*; } * Αν D[w]+C[w,v] < D[v] τότε P[v] = w: κράτησε το μονοπάτι στο πίνακα P  Πολυπλοκότητα: O(n 2 )

36 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα36 Δυναμικός Προγραμματισμός στο TSP (1/3)  Ο βέλτιστος αλγόριθμος είναι Ω((n-1)!)  Αν τα ίδια μερικά μονοπάτια χρησιμοποιούνται πολλές φορές τότε ο δυναμικός προγραμματισμός μπορεί να είναι γρηγορότερος!  Ορολογία:  Αριθμούμε τις πόλεις ως 1,2,…n,  1 είναι η πόλη εκκίνησης και τερματισμού  d(i,j) : η απόσταση από τον κόμβο i μέχρι τον j  D(b,S) : μήκος της συντομότερης διαδρομής που ξεκινάει από το b, περνά από όλες τις πόλεις του συνόλου S σε κάποια σειρά και τερματίζει στον κόμβο 1  Το S είναι υπό-σύνολο του {1,2,…n} – {1,b}

37 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα37 Δυναμικός Προγραμματισμός στο TSP (2/3)  Το TSP πρέπει να υπολογίζει την τιμή D(1,{2,…n}) και τη σειρά των κόμβων  Ο δυναμικός προγραμματισμός υπολογίζει και αποθηκεύει τις τιμές D(b,S) για όλα τα b  Το TSP πρέπει να υπολογίσει όλα τα D(b,S) ξεκινώντας από άδειο S και προχωρώντας έως S={2,3,….n}  Υποθέτουμε ότι ξεκινά από b=1  D(b,φ) = d(b,1)

38 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα38 Δυναμικός Προγραμματισμός στο TSP (3/3)  Για κάθε ένα n από τα πιθανά b υπάρχουν το πολύ 2 n-1 μονοπάτια  Υπάρχουν n τιμές του b στο S  Υπάρχουν n2 n-1 τιμές του D(b,S)  Για κάθε D(b,S) επιλέγει ένα α που δίνει ελάχιστο τιμή  Η πολυπλοκότητα είναι O(n 2 2 n-1 ) : εκθετική αλλά, καλύτερη από την εξαντλητική αναζήτηση!  D(a, S-{a}) δεν ξανά-υπολογίζονται (είναι αποθηκευμένα)

39 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα39 Διακλάδωση με Όρια  Ερευνά όλες τις λύσεις χρησιμοποιόντας περιορισμούς (όρια)  Κάτω Όριο: ελάχιστη δυνατή τιμή της λύσης  Πάνω Όριο: μέγιστη δυνατή τιμή της λύσης  Το πρόβλημα χωρίζεται σε υποπροβλήματα  Κάθε υποπρόβλημα επεκτείνεται προς τη λύση του συνολικού προβλήματος αρκεί η λύση που προκύπτει σε κάθε βήμα να μην ξεπερνά τα όρια δηλ. πρέπει να  είναι μεγαλύτερη από το κάτω όριο και  μικρότερη από το πάνω όριο

40 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα40 Πάνω-Κάτω Όρια  Τα πάνω όριο μπορούν να είναι αρχικά άπειρο  Παίρνει το κόστος μίας λύσης μόλις βρεθεί μια  Ένας λαίμαργος αλγόριθμός μπορεί να δώσει το αρχικό πάνω όριο (π.χ., στο TSP κ.λ.π)  Αναθεωρείται κάθε φορά που βρίσκονται λύσεις με μικρότερο κόστος  Το κάτω όριο δεν είναι πάντα εύκολο να υπολογιστεί  Εξαρτάται από το πρόβλημα  Υπάρχει ένα σχετικό θεώρημα για το TSP

41 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα41 s cf ad e g h k tb s s abc s bca be d s b c a bed ef s b c a bed ef f 2 … πάνω όριο με αυξανόμενο: length(saefkt)=8 9

42 Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα42 Βασικός αλγόριθμος S = { 1,2,…n } /* αρχικό πρόβλημα */ U = oo /* πάνω όριο */ while S != empty { K = k  S, S = S – {k}; C = { c 1,c 2,…c m } /* παιδιά του k */ Υπολογίζει τις Μερικές Λύσεις Zc 1,Zc 2,…Zc m for i = 1 to m { if Zc i >= U kill C else if ( c i = solution ) { U = Zc i best solution = i } else S = S + { c i } }


Κατέβασμα ppt "Ε. ΠετράκηςΑλγόριθμοι και Πολυπλοκότητα1 Η σφαίρα των αλγοριθμικών προβλημάτων."

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


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