Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και τους ορισμούς.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Παράδειγμα 1:Σειριακή αναζήτηση
Advertisements

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Επιμέλεια Π. Τσάκωνας. 1. Ποια από τα ακόλουθα αποσπάσματα αλγόριθμων πραγματοποιούν σωστά την ταξινόμηση του πίνακα Α; ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Διαίρει και Βασίλευε γνωστότερη Η γνωστότερη μέθοδος σχεδιασμού αλγορίθμων: Διαιρούμε.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Eξάμηνο 4ο1 Μείωσε και Βασίλευε Μειώνουμε το στιγμιότυπο του προβλήματος σε ένα μικρότερο στιγμιότυπο.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Μετασχημάτισε και Κυριάρχησε Μπορούμε να επιλύσουμε ένα πρόβλημα με μετασχηματισμό σε: b απλοποίηση.
Χωρικοί-χρονικοί συμβιβασμοί
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Αλγόριθμοι b b Σελίδα μαθήματος με ημερολόγιο, υλικό, βιβλιογραφία, ανακοινώσεις
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα.
ΑΡΙΘΜΟΔΕΙΚΤΕΣ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ
Επαγγέλματα στο Βυζάντιο
ΗΛΕΚΤΡΟΜΥΟΓΡΑΦΗΜΑ.
Μεσαιωνικό Κάστρο Λεμεσού
Πυρηνική Φυσική και Φυσική Στοιχειωδών Σωματιδίων (5ου εξαμήνου, χειμερινό ) Τμήμα T3: Κ. Κορδάς & X. Πετρίδου Ασκήσεις #3 Ενέργεια σύνδεσης και.
Ενότητα 1η: Ο ΔΙΣΚΟΣ ΚΑΙ Η ΔΟΚΟΣ
Μύκητας Κεφίρ και Σπόροι Κεφίρ είναι το ίδιο πράγμα.
Θεμελιώδεις αρχές του εμπραγμάτου δικαίου
Ψηφιακές Τηλεπικοινωνιές
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΝΗΠΙΑΓΩΓΩΝ
Μάθημα: Συμβουλευτική στη Δια Βίου Ανάπτυξη
Μάθημα: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΕΙΔΙΚΗΣ ΑΓΩΓΗΣ
Το ζήτημα των κάδων Δήμος Χ με πληθυσμό κατοίκους
Η επικοινωνία ιατρού-γονέα και ασθενή με Παιδιατρικό Ρευματικό Νόσημα
Παρουσίαση ομαδικής εργασίας
¨ Παρουσίαση προγράμματος¨
ΡΕΥΜΑΤΙΚΑ ΝΟΣΗΜΑΤΑ & ΝΕΥΡΙΚΟ ΣΥΣΤΗΜΑ
Κεφαλαλγίες και Πρωσοπαλγίες
Βάσεις Δεδομένων ΙΙ 1η διάλεξη
ΑΣΠΑΙΤΕ - ΠΕΣΥΠ ΤΜΗΜΑ ΄Α ΜΑΘΗΜΑ: ΣΥΜΒΟΥΛΕΥΤΙΚΗ ΣΤΗ ΔΙΑ ΒΙΟΥ ΑΝΑΠΤΥΞΗ
ΗΦΑΙΣΤΕΙΑ ΚΑΙ ΣΕΙΣΜΟΙ ΣΤ2 ΜΑΡΙΑ ΡΕΒΒΕΚΑ.
ηθη και εθιμα πρωτοχρονιας και φωτων
Μουσείο: Τέμενος των Μουσών ή χώρος μάθησης;
Βασικά Στοιχεία Φέροντος Οργανισμού
Οικονομικά Μαθηματικά
Αναπτύσσοντας ένα Σχέδιο Πειθαρχίας Δορυφορικό 2ης ομάδας.
Καθηγητής Σιδερής Ευστάθιος
ΕΡΓΑΣΤΗΡΙΟ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΤΡΟΦΙΜΩΝ
Τιμή προσφορά Τιμή ισορροπίας E Σημείο ισορροπίας
Ενότητα 5η: Η ΑΡΧΗ ΤΩΝ ΔΥΝΑΤΩΝ ΕΡΓΩΝ
ΛΙΜΝΗ ΠΑΜΒΩΤΙΔΑ χλωρίδα και πανίδα
Θέση σώματος, συμβολίζεται συνήθως με χ: πού βρίσκεται το σώμα σε σχέση με ένα σημείο αναφοράς (αρχή συστήματος αξόνων). Πλήρης περιγραφή της κίνησης.
Συμβούλιο των Ευρωπαϊκών Εκκλησιών
Economics 434: The Theory of Financial Markets
Η αναγκαιότητα για υδατικά μέσα
ΤΟ ΝΕΡΟ ΣΤΟ ΒΥΖΑΝΤΙΟ.
1o Γυμνάσιο Ελευσίνας «ΑΙΣΧΥΛΕΙΟ»
ΕΛΛΗΝΟΓΑΛΛΙΚΗ ΣΧΟΛΗ ΠΕΙΡΑΙΑ ΑΓΙΟΣ ΠΑΥΛΟΣ
ΑΠΟΘΗΚΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΕΞΟΡΥΞΗ ΓΝΩΣΗΣ
ΑΠΟΜΥΘΟΠΟΙΗΣΕΙΣ-ΠΕΙΡΑΜΑ
ΑΓΓΕΛΗΣ ΚΩΝ/ΝΟΣ ΓΚΟΥΜΠΛΙΑΣ ΑΠΟΣΤΟΛΟΣ
Κλασσική Μηχανική Ενότητα 4: Σύστημα υλικών σημείων
ΔΦΕ_Πρακτική άσκηση 1ο Μάθημα.
Αυτό που η Μαρία ήθελε να πει…
Τι μπορεί να κάνει ο εγκέφαλός μας …
Διδάσκων: Καθηγητής Αλέξανδρος Ρήγας Συνεπικουρία: Σπύρογλου Ιωάννης
ΑΡΩΜΑΤΙΚΑ ΦΥΤΑ ΚΑΙ ΒΟΤΑΝΑ ΤΗΣ ΛΕΣΒΟΥ
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Μεθοδολογία έρευνας Δρ Ζωή Καραμπατζάκη
Άρθρο 24 παρ. 3 ΣΧΕΔΙΟ ΕΓΓΡΑΦΟΥ ΤΟΥ ΕΝΕΡΓΟΥΝΤΟΣ ΤΗΝ Π.Δ.Ε. ΠΡΟΣ ΤΟΝ ΕΜΠΛΕΚΟΜΕΝΟ ΣΕ ΠΕΙΘΑΡΧΙΚΗ ΥΠΟΘΕΣΗ ΑΣΤΥΝΟΜΙΚΟ ΓΙΑ ΠΑΡΟΧΗ ΕΞΗΓΗΣΕΩΝ.
ΤΟ ΜΥΣΤΗΡΙΟ ΤΗΣ ΜΕΤΑΝΟΙΑΣ
ΔΤΕ-Ερευνητικά πεδία Α) Ικανότητες της φαντασίας των μαθητών
ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΑΝΤΡΕΑΣ ΚΟΥΜΗ.
ΓΑΡΥΦΑΛΛΙΑ ΖΕΡΒΟΥ ΤΑΞΗ: Α3’ ( 1η Γυμνασίου) 1ο Γυμνάσιο Άργους.
Η ΗΓΕΜΟΝΙΑ ΤΗΣ ΣΠΑΡΤΗΣ.
Μεταγράφημα παρουσίασης:

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο2 Σειριακή αναζήτηση b b Χειρότερη περίπτωση b b Καλύτερη περίπτωση b b Μέση περίπτωση 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 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] b b Ανάλυση για συγκρίσεις και μετακινήσεις b b Βελτιώσεις

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο4 Ταύτιση Προτύπου b Πρότυπο b Πρότυπο: ένα προς αναζήτηση string από m χαρακτήρες b Κείμενο b Κείμενο: ένα μεγάλο string από n χαρακτήρες, όπου θα γίνει η αναζήτηση b Αλγόριθμος ωμής βίας: 1. 1.Ευθυγραμμίζουμε το πρότυπο με την αρχή του κειμένου 2. 2.Μετακινώντας από αριστερά προς τα δεξιά, συγκρίνουμε κάθε χαρακτήρα του προτύπου με τον αντίστοιχο χαρακτήρα του κειμένου μέχρι – –Να ταυτίζονται όλοι οι χαρακτήρες (επιτυχής αναζήτηση); ή – –Να διαπιστωθεί μία ασυμφωνία 3. 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 Παραδείγματα b b Pattern: Text: b b Pattern: happy Text: It is never too late to have a happy childhood Αριθμός συγκρίσεων ? Αποδοτικότητα ? Αλγόριθμος Ωμής Βίας για Ταύτιση Προτύπου (2)

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο7 b Πρόβλημα b Πρόβλημα: Να βρεθεί η τιμή του πολυωνύμου p(x) = a n x n + a n-1 x n-1 +… + a 1 x 1 + a 0 στο σημείο x = x 0 b Αλγόριθμος 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 b Αποδοτικότητα b Αποδοτικότητα ? Αλγόριθμος Ωμής Βίας για αποτίμηση πολυωνύμου

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο9 Το πρόβλημα του πλησιέστερου ζεύγους b Πρόβλημα b Πρόβλημα: να βρεθούν τα δύο πλησιέστερα σημεία μεταξύ n σημείων σε ένα k-διάστατο χώρο b Αλγόριθμος b Αλγόριθμος: // 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 b Αποδοτικότητα b Αποδοτικότητα (τετραγωνική ρίζα) ?

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο10 Το πρόβλημα του κυρτού περιβλήματος b Πρόβλημα b Πρόβλημα: να βρεθεί το μικρότερο κυρτό πολύγωνο που περικλείει n σημεία στο επίπεδο b Αλγόριθμος b Αλγόριθμος: Για κάθε ζεύγος σημείων p 1 και p 2 προσδιορίζουμε αν όλα τα άλλα σημεία ανήκουν στο ίδιο ημιεπίπεδο σε σχέση με την ευθεία που διέρχεται από τα p 1 και p 2 b Μέθοδος b Μέθοδος: Τα σημεία (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 b Αποδοτικότητα b Αποδοτικότητα ?

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

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο13 Παράδειγμα 1: πρόβλημα περιοδεύοντος πωλητού b Πρόβλημα b Πρόβλημα: Δεδομένων n πόλεων με γνωστές μεταξύ τους αποστάσεις, να βρεθεί η συντομότερη διαδρομή που περνά από όλες τις πόλεις ακριβώς μία φορά πριν επιστρέψει στην αφετηρία. b Εναλλακτικά b Εναλλακτικά: Βρες το Hamiltonian κύκλωμα σε ένα ζυγισμένο συνδεδεμένο γράφο b Παράδειγμα b Παράδειγμα: ab cd

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο14 Ο περιοδεύων πωλητής με εξαντλητική αναζήτηση b ΔιαδρομήΚόστος a→b→c→d→a = 17 a→b→d→c→a = 21 a→c→b→d→a = 20 a→c→d→b→a = 21 a→d→b→c→a = 20 a→d→c→b→a = 17 b Αποδοτικότητα b Αποδοτικότητα:

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 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} 17not feasible {2,3,4} 20not feasible {1,2,3,4} 22not feasible Efficiency:

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο18 Ανάθεση με εξαντλητική αναζήτηση ΑνάθεσηΣυνολικό κόστος = = = = = =23 ………………………. Αποδοτικότητα Αποδοτικότητα :

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