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

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

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

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

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

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

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση

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

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

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

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

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

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

Αλγόριθμοι ταξινόμησης

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

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

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

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

Αναζήτηση και ταξινόμηση

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

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

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

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

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Εργαστήριο 7: Ο αλγόριθμος ταξινόμησης Radix Sort

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

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

Σελίδα μαθήματος με ημερολόγιο, υλικό, βιβλιογραφία, ββ, ανακοινώσεις

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Προγραμματισμός Η/Υ. Ενότητα 8: Ειδικά Θέματα Αλγορίθμων

Αλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας

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

Προγραμματιστικές Τεχνικές

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

Σημειώσεις δεύτερης εβδομάδας

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

Ταξινόμηση. 1. Ταξινόμηση του Shell. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Εισαγωγή στον δομημένο προγραμματισμό

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

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

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Merge Sort (Ταξινόμηση με συγχώνευση) 6/14/2007 3:04 AM Merge Sort 1

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

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

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

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

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Ταξινόμηση με συγχώνευση Merge Sort

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)

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

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

Προγραμματισμός HY: Γλώσσα Προγραμματισμού C

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Αλγόριθµοι Divide-and- Conquer

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια υπορουτίνα; με υπορουτίνα ΥΠΟΡΟΥΤΙΝΕΣ. Παράδειγμα #1: η πράξη SQ. Ποια η διαφορά συναρτήσεων και υπορουτίνων;

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων

Ταξινόμηση. Σαλτογιάννη Αθανασία

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την

Ουρά Προτεραιότητας: Heap

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

Προγραµµατιστικές Τεχνικές

Προγραμματισμός Ι (ΗΥ120)

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

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

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

Fast Fourier Transform

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

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

Πίνακες. Οι πίνακες αποτελούν ένα σηµαντικό δοµηµένο τύπο δεδοµένων (structured data type) ή πιο απλά µία δοµή δεδοµένων (data structure).

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Transcript:

Αλγόριθμοι Ωμή Βία http://delab.csd.auth.gr/courses/algorithms/ auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και τους ορισμούς των εννοιών Παραδείγματα: 1. Υπολογισμός του a n (όπου a, n > 0, ακέραιοι) ) 2. ΜΚΔ με διαδοχικό έλεγχο ακεραίων 3. Υπολογισμός του n! 4. Πολλαπλασιασμός δύο πινάκων n X n 5. Ταξινόμηση με επιλογή 6. Σειριακή αναζήτηση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 2

Σειριακή αναζήτηση Algorithm Sequential(A[0..n 1]) // Input: An array A[0..n-1] and a sought value k // Output: the position of k if found, -1 otherwise i 0 while i<n and A[i]<>k do i i+1 If i<n return i else return -1 Χειρότερη περίπτωση Καλύτερη περίπτωση Μέση περίπτωση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 3

Bubble Sort Algorithm BubbleSort(A[0..n 1]) // Input: an array A[0..n-1] of orderable elements // Output: Array A[0..n-1] sorted ascendingly for i 0 to n-2 do for j 0 to n-2-i do if A[j+1]<A[j] swap A[j] and A[j+1] Ανάλυση για συγκρίσεις και μετακινήσεις Βελτιώσεις Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 4

Ταύτιση Προτύπου Πρότυπο: ένα προς αναζήτηση string από m χαρακτήρες Κείμενο: ένα μεγάλο string από n χαρακτήρες, όπου θα γίνει η αναζήτηση Αλγόριθμος ωμής βίας: 1. Ευθυγραμμίζουμε το πρότυπο με την αρχή του κειμένου 2. Μετακινώντας από αριστερά προς τα δεξιά, συγκρίνουμε κάθε χαρακτήρα του προτύπου με τον αντίστοιχο χαρακτήρα του κειμένου μέχρι Να ταυτίζονται όλοι οι χαρακτήρες (επιτυχής αναζήτηση); ή Να διαπιστωθεί μία ασυμφωνία 3. Ενόσω το πρότυπο δεν βρίσκεται και το κείμενο δεν έχει εξαντληθεί, επανα ευθυγραμμίζουμε το πρότυπο κατά μία θέση προς τα δεξιά και πηγαίνουμε στο Βήμα 2. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 5

Αλγόριθμος Ωμής Βίας για Ταύτιση Προτύπου Algorithm BruteForceStringMatch(T[0..n 1], P[0..m 1]) // Input: array T[0..n-1] for text and array P[0..m-1] for pattern // Output: the position of the first character in the text stat starts the first matching substring if the search is successful, and -1 otherwise for i 0 to n-m do j 0 while j<m and P[j]=T[i+j] do j j+1 if j=m return i return -1 Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 6

Αλγόριθμος Ωμής Βίας για Ταύτιση Προτύπου (2) Παραδείγματα Pattern: 001011 Text: 10010101101001100101111010 Pattern: happy Text: It is never too late to have a happy childhood Αριθμός συγκρίσεων ; Αποδοτικότητα ; Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 7

Αλγόριθμος Ωμής Βίας για αποτίμηση πολυωνύμου Πρόβλημα: Να βρεθεί η τιμή του πολυωνύμου p(x) = a 1 n x n + a n-1 x n-1 + + a 1 x 1 + a 0 στο σημείο x = x 0 Αλγόριθμος p := 0.0 for i := n down to 0 do power := 1 for j := 1 to i do power := power * x p := p + a[i] * power return p Αποδοτικότητα ; Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 8

Αποτίμηση πολυωνύμου βελτίωση Βελτίωση: υπολογισμός από αριστερά προς τα δεξιά Αλγόριθμος: p := a[0] power := 1 for i := 1 to n do power := power * x p := p + a[i] * power return p Αποδοτικότητα ; Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 9

Το πρόβλημα του πλησιέστερου ζεύγους Πρόβλημα: να βρεθούν τα δύο πλησιέστερα σημεία μεταξύ n σημείων σε ένα k διάστατο χώρο Αλγόριθμος: // Input: List P of n>1 points P 1 =(x 1,y 1 ),,P n =(x n,y n ) // Output: Indices id1, id2 of the closest pair dmin for i 1 to n-1 do for j i+1 to n do d sqrt[(x i -x j ) 2 +(y i -y j ) 2 ] if d<dmin dmin d; id1 i; id2 j; return id1, id2 Αποδοτικότητα (τετραγωνική ρίζα) ; Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 10

Το πρόβλημα του κυρτού περιβλήματος Πρόβλημα: να βρεθεί το μικρότερο ρ κυρτό πολύγωνο που περικλείει n σημεία στο επίπεδο Αλγόριθμος: Για κάθε ζεύγος σημείων p 1 και p 2 προσδιορίζουμε αν όλα τα άλλα σημεία ανήκουν στο ίδιο ημιεπίπεδο σε σχέση με την ευθεία που διέρχεται από τα p 1 και p 2 Μέθοδος: Τα σημεία (x 1,y 1 ) και (x 2,y 2 ) ορίζουν μία ευθεία ax+by=c, όπου a=y 2 y 1, b=x 1 x 2 και c=x 1 y 2 y 1 x 2 Αποδοτικότητα ; Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 11

Δυνατά και αδύνατα σημεία ωμής βίας Δυνατά: Μεγάλη εφαρμοσιμότητα και απλότητα Δίνει λογικούς αλγορίθμους ςγια σημαντικά προβλήματα αναζήτηση, ταύτιση προτύπου, πολλαπλασιασμός πινάκων Δίνει πρότυπους αλγορίθμους για απλά προβλήματα Άθροισμα/γινόμενο n αριθμών, εύρεση μέγιστου/ελάχιστου σε λίστα Αδυναμίες: Δίνει σπάνια αποτελεσματικούς αλγορίθμους Μερικοί αλγόριθμοι ωμής μήςβίας είναι απαράδεκτα αργοί Δεν είναι τόσο δημιουργική όσο άλλες σχεδιαστικές τεχνικές Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 12

Εξαντλητική αναζήτηση Εξαντλητική αναζήτηση είναι μία μέθοδος ωμής βίας όπου αναζητούμε ένα στοιχείο με συγκεκριμένη ιδιότητα, συχνά μεταξύ συνδυαστικών αντικειμένων όπως συνδυασμούς, διατάξεις ή υποσύνολα συνόλου Μέθοδος: Κατασκευάζουμε μία λίστα όλων των δυνατών λύσεων στο πρόβλημα με ένα συστηματικό τρόπο Παρουσιάζονται όλες οι λύσεις Καμία λύση δεν επαναλαμβάνεται Εξετάζουμε τις λύσεις μία προς μία, απορρίπτοντας τις μη ικανοποιητικές και κρατώντας τη μέχρι στιγμής καλύτερη Όταν τελειώσει η αναζήτηση, ανακοινώνεται ο νικητής Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 13

Παράδειγμα 1: πρόβλημα περιοδεύοντος πωλητού Πρόβλημα: Δεδομένων n πόλεων με γνωστές μεταξύ τους αποστάσεις, να βρεθεί η συντομότερη διαδρομή δ που περνά από όλες τις πόλεις ακριβώς μία φορά πριν επιστρέψει στην αφετηρία. Εναλλακτικά: Βρες το Hamiltonian κύκλωμα σε ένα ζυγισμένο συνδεδεμένο γράφο Παράδειγμα: 8 a 2 5 3 b 4 c 7 d Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 14

Ο περιοδεύων πωλητής με εξαντλητική αναζήτηση Διαδρομή Κόστος a b c d a 2+3+7+5 = 17 a b d c a 2+4+7+8 = 21 a c b d a 8+3+4+5 = 20 a c d b a 8+7+4+2 = 21 a d b c a 5+4+3+8 = 20 a d c b a 5+7+3+2 = 17 Αποδοτικότητα: Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 15

Παράδειγμα 2: πρόβλημα του σάκου Πρόβλημα: Δεδομένων n αντικειμένων με βάρη w 1, w 2,,w n και αξίες v 1,v 2,,v n και ενός σάκου χωρητικότητας W, να βρεθεί το πολυτιμότερο υποσύνολο των αντικειμένων που ταιριάζουν στο σάκο Παράδειγμα: χωρητικότητα W=16 Είδος βάρος Αξία $ 1 2 20 2 5 30 3 10 50 4 5 10 Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 16

Σάκος με εξαντλητική αναζήτηση Υποσύνολο Συνολικό βάρος Συνολική αξία {1} 2 $20 {2} 5 $30 {3} 10 $50 {4} 5 $10 {1,2} 7 $50 {1,3} 12 $70 {1,4} 7 $30 {2,3} 15 $80 {2,4} 10 $40 {3,4} 15 $60 {1,2,3} 17 not feasible {1,2,4} 12 $60 {1,3,4} 17 not feasible {2,3,4} 20 not feasible {1,2,3,4} 22 not feasible Αποδοτικότητα; Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 17

Ανάθεση με εξαντλητική αναζήτηση Πρόβλημα: Δεδομένων n ατόμων και n εργασιών, όπουc[i,j] είναι το κόστος αν το άτομο i αναλάβει την εργασία j, να ανατεθεί ένα άτομο σε κάθε εργασία με συνολικό ελάχιστο κόστος Παράδειγμα: Εργασία 1 Εργασία 2 Εργασία 3 Εργασία 4 Άτομο 1 9 2 7 8 Άτομο 2 6 4 3 7 Άτομο 3 5 8 1 8 Άτομο 4 7 6 9 4 Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 18

Ανάθεση με εξαντλητική αναζήτηση Ανάθεση Συνολικό κόστος <1,2,3,4> 9+4+1+4=18 <1,2,4,3>,, 9+4+8+9=30 <1,3,2,4> 9+3+8+4=24 <1342> <1,3,4,2> 9+3+8+6=26 <1,4,2,3> 9+7+8+9=33 <1432> <1,4,3,2> 9+7+1+6=23. Αποδοτικότητα: Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 19

Τελικά σχόλια Οι αλγόριθμοι εξαντλητικής αναζήτησης τρέχουν σε ρεαλιστικούς χρόνους μόνο για μικρά στιγμιότυπα Κάποιες φορές υπάρχουν καλύτερες εναλλακτικές λύσεις: Κυκλώματα Euler Συντομότερα μονοπάτια Ελάχιστα ζευγνύοντα δένδρα Πρόβλημα ανάθεσης Μερικές φορές όμως η εξαντλητική αναζήτηση (ή κάποια παραλλαγή) είναι η μοναδική γνωστή λύση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 20