Θεωρία Λήψης Αποφάσεων Ενότητα 5: Πληροφορημένη Αναζήτηση και Εξερεύνηση Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)
Πληροφορημένη Αναζήτηση και Εξερεύνηση Υποενότητα 1
Σκοποί 1 ης υποενότητας Να μάθουν οι φοιτητές να εφαρμόζουν τις στρατηγικές πληροφορημένης αναζήτησης Να γνωρίσουν οι φοιτητές τις μεθόδους ευρετικής αναζήτησης περιορισμένης μνήμης Να μάθουν οι φοιτητές τι είναι και πως χρησιμοποιούνται οι ευρετικές συναρτήσεις στην επίλυση προβλημάτων 3
Περιεχόμενα 1 ης υποενότητας Στρατηγικές πληροφορημένης (ευρετικής) αναζήτησης Άπληστη αναζήτηση πρώτα στο καλύτερο Αναζήτηση Α* Ευρετική Αναζήτηση Περιορισμένης Μνήμης Ευρετικές Συναρτήσεις Χαλαρά προβλήματα 4
Στρατηγικές πληροφορημένης (ευρετικής) αναζήτησης (1/2) Χρησιμοποιούν ειδική γνώση του προβλήματος, πέρα από τον ίδιο τον ορισμό του προβλήματος Μπορούν να βρίσκουν λύσεις πιο αποδοτικά από μια στρατηγική χωρίς πληροφόρηση 5
Στρατηγικές πληροφορημένης (ευρετικής) αναζήτησης (2/2) Συνάρτηση αξιολόγησης (evaluation function), f(n): μετρά το κόστος μετακίνησης από τον αρχικό κόμβο στον κόμβο στόχο, περνώντας από τον κόμβο n, και με βάση την τιμή της επιλέγεται ο επόμενος κόμβος Ευρετική συνάρτηση (heuristic function), h(n): υπολογίζει (εκτιμά) το κόστος της φθηνότερης διαδρομής από ένα κόμβο n σε ένα κόμβο στόχου 6
Άπληστη αναζήτηση πρώτα στο f(n)=h(n) καλύτερο (1/6) h SLD : Straight Line Distance heuristic (ευθύγραμμη απόσταση στο χάρτη, όχι μέσω των οδικών αρτηριών) 7
Άπληστη αναζήτηση πρώτα στο καλύτερο (2/6) Τιμές h SLD για απόσταση από Βουκουρέστι Arad 366 Mehadia 241 Bucharest 0 Neamt 234 Craiova 160 Oradea 380 Dobreta 242 Pitesti 100 Eforie 161 Rimniscu Vilcea 193 Fagaras 176 Sibiu 253 Giurgiu 77 Timisoara 329 Hirsova 151 Urziceni 80 Iasi 226 Vaslui 199 Lugoj 244 Zerind 374 8
Άπληστη αναζήτηση πρώτα στο καλύτερο (3/6) Μετάβαση από το Arad στο Βουκουρέστι Αρχική κατάσταση: Arad με f(n)=h(n)=366 Μετά την επέκταση του Arad: Sibiu με h(n)=253 Timisoara με h(n)=329 Zerind με h(n)=374 9
Άπληστη αναζήτηση πρώτα στο καλύτερο (4/6) Μετάβαση από το Arad στο Βουκουρέστι Μετά την επέκταση του Sibiu: Arad με h(n)=366 Fagaras με h(n)=176 Oradea με h(n)=380 Rimnicu Vilcea με h(n)=193 10
Άπληστη αναζήτηση πρώτα στο καλύτερο (5/6) Μετάβαση από το Arad στο Βουκουρέστι Μετά την επέκταση του Fagaras: Sibiu με h(n)=253 Bucharest με h(n)=0 11
Άπληστη αναζήτηση πρώτα στο καλύτερο (6/6) Επιρρεπής σε λανθασμένες εκτιμήσεις Μετάβαση από Iasi σε Fagaras Έχει ομοιότητα με την αναζήτηση πρώτα κατά βάθος Μπορεί να μπλέξει σε ατέρμονα κλαδιά Χρονική, χωρική πολυπλοκότητα χειρότερης περίπτωσης b m 12
f(n)=g(n)+h(n) Αναζήτηση Α* (1/7) όπου g(n) είναι το πραγματικό κόστος μετάβασης στον κόμβο n Η Α* είναι βέλτιστη αν: η συνάρτηση h(n) είναι παραδεκτός ευρετικός μηχανισμός, δηλαδή δεν κάνει υπερεκτιμήσεις για το κόστος επίτευξης του στόχου π.χ. h SLD (η ευθεία γραμμή δεν μπορεί να είναι υπερεκτίμηση) 13
Αναζήτηση Α* (2/7) Η αναζήτηση A* χωρίς κλάδεμα επαναλαμβανόμενων καταστάσεων είναι βέλτιστη αν η h(n) είναι παραδεκτός ευρετικός μηχανισμός 14
Αναζήτηση Α* (3/7) Μετάβαση από το Arad στο Βουκουρέστι Αρχική κατάσταση: Arad με f(n)=g(n)+h(n)=0+366=366 Μετά την επέκταση του Arad: Sibiu με f(n)=140+253=393 Timisoara με f(n)=118+329=447 Zerind με f(n)=75+374=449 15
Αναζήτηση Α* (4/7) Μετάβαση από το Arad στο Βουκουρέστι Μετά την επέκταση του Sibiu: Arad με f(n)=280+366=646 Fagaras με f(n)=239+176=415 Oradea με f(n)=291+380=671 Rimnicu Vilcea με f(n)=220+193=413 16
Αναζήτηση Α* (5/7) Μετάβαση από το Arad στο Βουκουρέστι Μετά την επέκταση του Rimnicu Vilcea: Craiova με f(n)=366+160=526 Pitesti με f(n)=317+100=417 Sibiu με f(n)=300+253=553 Για το Fagaras στο προηγούμενο βήμα βρήκαμε f(n)=239+176=415, άρα θα επιστρέψουμε στο Fagaras και θα επεκτείνουμε από εκεί 17
Αναζήτηση Α* (6/7) Μετάβαση από το Arad στο Βουκουρέστι Μετά την επέκταση του Fagaras: Sibiu με f(n)=338+253=591 Bucharest με f(n)=450+0=450 Για το Pitesti στο προηγούμενο βήμα βρήκαμε f(n)=317+100=417, άρα θα επιστρέψουμε στο Pitesti και θα επεκτείνουμε από εκεί 18
Αναζήτηση Α* (7/7) Μετάβαση από το Arad στο Βουκουρέστι Μετά την επέκταση του Pitesti: Bucharest με f(n)=418+0=418 Craiova με f(n)=455+160=615 Rimnicu Vilcea με f(n)=414+193=607 Η τιμή 418 που βρήκαμε για το Βουκουρέστι είναι η μικρότερη που έχουμε βρει για οποιαδήποτε από τους κόμβους μέχρι τώρα και επομένως αποτελεί λύση για το συγκεκριμένο πρόβλημα Η λύση αυτή είναι βέλτιστη διότι ο Α* όταν χρησιμοποιεί ευρετική συνάρτηση που είναι παραδεκτός ευρετικός μηχανισμός βρίσκει τη βέλτιστη λύση 19
Συνεπείς ευρετικές συναρτήσεις (1/2) Μια ευρετική συνάρτηση λέγεται συνεπής ή μονοτονική, εάν ισχύει: h(n) c(n, a, n') + h(n') Δηλαδή η εκτίμηση για το πόσο απέχουμε από τη λύση από ένα κόμβο n συν το κόστος να μεταβούμε στον κόμβο n από τον κόμβο n, να είναι μεγαλύτερη από την εκτίμηση για το πόσο απέχουμε από τη λύση από τον κόμβο n, όπου στον κόμβο n πηγαίνουμε από τον κόμβο n με πραγματικό κόστος c(n, a, n') 20
Συνεπείς ευρετικές συναρτήσεις (2/2) Η αναζήτηση A* με κλάδεμα επαναλαμβανόμενων καταστάσεων, είναι βέλτιστη αν η h(n) είναι συνεπής f(n')=g(n')+h(n')=g(n)+c(n, a, n')+h(n') g(n)+h(n)=f(n) Μια συνεπής ευρετική συνάρτηση είναι και παραδεκτός ευρετικός μηχανισμός Οι περισσότερες παραδεκτές ευρετικές συναρτήσεις είναι και συνεπείς (π.χ. h SLD ) 21
Αποδοτικότητα Α* Βέλτιστος και πλήρης Βέλτιστα αποδοτικός Εξερευνά τις λιγότερες καταστάσεις από όλους τους βέλτιστους και πλήρεις αλγορίθμους Μεγάλες (εκθετικές) απαιτήσεις σε χρόνο και (κυρίως) σε μνήμη Δεν είναι πρακτικά χρήσιμος για πολλά προβλήματα μεγάλης κλίμακας 22
Παράδειγμα: Μη Συνεπής Ευρετική Συνάρτηση f(n)=g(n)+h(n) A h=4 F=0+4=4 Αρχική h=2 Β F=4+2=6 4 3 Γ h=5 3 F=3+5=8 3 Δ h=0 F1=7+0=7 F2=6+0=6 Τελική Μέτωπο αναζήτησης Κλειστό σύνολο Τρέχουσα κατάσταση Παιδιά Α 4 Α ΑΒ 6, ΑΓ 8 ΑΒ 6, ΑΓ 8 Α ΑΒ 6 ΑΒΔ 7 ΑΒΔ 7, ΑΓ 8 Α, ΑΒ ΑΒΔ 7 Λύση 23
Παράδειγμα: Συνεπής Ευρετική Συνάρτηση f(n)=g(n)+h(n) A h=4 F=0+4=4 Αρχική 3 Β h=2 F=4+2=6 4 3 h=3 F=3+3=6 Γ 3 h=0 F1=7+0=7 F2=6+0=6 Τελική Δ Μέτωπο αναζήτησης Κλειστό σύνολο Τρέχουσα κατάσταση Παιδιά Α 4 Α ΑΒ 6, ΑΓ 6 ΑΒ 6, ΑΓ 6 A ΑΒ 6 ΑΒΔ 7 ΑΓ 6, ΑΒΔ 7 Α, ΑΒ ΑΓ 6 ΑΓΔ 6 ΑΓΔ 6, ΑΒΔ 7 Α, ΑΓ, ΑΒ ΑΓΔ 6 Λύση 24
Παράδειγμα: Σύγκριση BestFS και A* f(n)=h(n) A h=4 Αρχική Β h=2 4 3 Γ 3 h=3 3 h=0 Τελική Δ Μέτωπο αναζήτησης Κλειστό σύνολο Τρέχουσα κατάσταση Παιδιά Α Α ΑΒ, ΑΓ ΑΒ, ΑΓ Α ΑΒ ΑΒΔ ΑΒΔ, ΑΓ Α, ΑΒ ΑΒΔ Λύση 25
Α* με επαναληπτική εκβάθυνση Επέκταση των κλαδιών πρώτα κατά βάθος Όριο αποκοπής: f(n) = g(n)+h(n) Αν δε βρεθεί λύση σε κάποιο κόστος, αυξάνεται το όριο αποκοπής στο κόστος του «φθηνότερου» κόμβου που ξεπέρασε το όριο αποκοπής στην προηγούμενη επανάληψη Δεν ανιχνεύει επαναλαμβανόμενες καταστάσεις 26
Αναδρομική αναζήτηση πρώτα στο καλύτερο (1/2) Σε κάθε κόμβο που επιλέγει να επεκτείνει, θυμάται την καλύτερη τιμή f των γειτονικών του κόμβων Εάν δεν υπάρχει παιδί στον τρέχον κόμβο με τιμή f καλύτερη του βέλτιστου γειτονικού κόμβου, η αναζήτηση συνεχίζει από το βέλτιστο γειτονικό κόμβο, ενημερώνοντας τον τρέχοντα κόμβο με την τιμή του καλύτερου παιδιού του 27
Αναδρομική αναζήτηση πρώτα στο καλύτερο (2/2) Γραμμικές απαιτήσεις σε μνήμη Δεν ανιχνεύει επαναλαμβανόμενες καταστάσεις 28
Παζλ των 8 πλακιδίων h 1 = ο αριθμός των πλακιδίων που δεν είναι στη θέση τους h 2 = τοάθροισματωναποστάσεωντωνπλακιδίωναπότις θέσεις προορισμού τους Παραδεκτός ευρετικός μηχανισμός και οι δύο Hh 2 κυριαρχεί της h 1 (χωρίς να υπερεκτιμά) Δηλαδή η h 2 επεκτείνει λιγότερους κόμβους Αρχική κατάσταση Κατάσταση στόχου h 1 =8 h 2 =18 h*=h 1 +h 2 =26 7 2 4 5 6 8 3 1 1 2 3 4 5 6 7 8 29
Δραστικός παράγοντας διακλάδωσης (1/3) b*: Προσδιορίζει την ποιότητα ενός ευρετικού μηχανισμού Ν: ο συνολικός αριθμός των κόμβων που παράγονται από την αναζήτηση Α* για ένα συγκεκριμένο πρόβλημα d: το βάθος της λύσης N = 1 + b* + (b*) 2 + + (b*) d 30
Δραστικός παράγοντας διακλάδωσης (2/3) Ένας καλά σχεδιασμένος αλγόριθμος, δηλαδή ένας αλγόριθμος που δεν επεκτείνει πολλούς κόμβους, έχει τιμή για το b* κοντά στο 1 31
Δραστικός παράγοντας διακλάδωσης (3/3) Μέσος αριθμός κόμβων που επεκτάθηκαν (100 τυχαία στιγμιότυπα του προβλήματος) Δραστικός παράγοντας διακλάδωσης d Επαναληπτική Επαναληπτική Α*(h Εκβάθυνση 1 ) Α*(h 2 ) Εκβάθυνση Α*(h 1 ) Α*(h 2 ) 2 10 6 6 2,45 1,79 1,79 4 112 13 12 2,87 1,48 1,45 6 680 20 18 2,73 1,34 1,30 8 6384 39 25 2,80 1,33 1,24 10 47127 93 39 2,79 1,38 1,22 12 3644035 227 73 2,78 1,42 1,24 14 539 113 1,44 1,23 16 1301 211 1,45 1,25 18 3056 363 1,46 1,26 20 7276 676 1,47 1,27 22 18094 1219 1,48 1,28 24 39135 1641 1,48 1,26 32
Επινόηση παραδεκτών μηχανισμών: Χαλαρά προβλήματα (1/2) Χαλαρά προβλήματα: Απλοποίηση των κανόνων του προβλήματος λιγότεροι περιορισμοί Το κόστος μιας βέλτιστης λύσης για ένα χαλαρό πρόβλημα είναι ένας παραδεκτός ευρετικός μηχανισμός για το αρχικό πρόβλημα Κανόνας: Ένα πλακίδιο μπορεί να μετακινηθεί από το τετράγωνο A στο τετράγωνο B αν το A συνορεύει οριζόντια ή κάθετα με το B και το B είναι κενό 33
Επινόηση παραδεκτών μηχανισμών: Χαλαρά προβλήματα (2/2) Χαλαροί κανόνες που προκύπτουν: Ένα πλακίδιο μπορεί να μετακινηθεί από το τετράγωνο A στο τετράγωνο B αν το A συνορεύει με το B( h 2 ) Ένα πλακίδιο μπορεί να μετακινηθεί από το τετράγωνο A στο τετράγωνο B αν το B είναι κενό Ένα πλακίδιο μπορεί να μετακινηθεί από το τετράγωνο A στο τετράγωνο B ( h 1 ) 34
Επινόηση παραδεκτών μηχανισμών: Υποπροβλήματα Βάσεις δεδομένων προτύπων (pattern databases) Αποθήκευση λύσεων υποπροβλημάτων Αρχική κατάσταση * 2 4 * * * 3 1 Κατάσταση στόχου 1 2 3 4 * * * * 35
Τέλος Υποενότητας 1
Ασκήσεις Αναζήτησης και Εξερεύνησης Υποενότητα 2
Σκοποί 2 ης υποενότητας Να μάθουν οι φοιτητές να εκτελούν αναλυτικά τις παρακάτω μεθόδους αναζήτησης: Αναζήτηση πρώτα κατά πλάτος Αναζήτηση πρώτα κατά βάθος Αναζήτηση πρώτα στο καλύτερο Αναζήτηση Α* 38
Περιεχόμενα 2 ης υποενότητας 1 η Άσκηση: Μέθοδοι Απληροφόρητης και Πληροφορημένης Αναζήτησης και Εξερεύνησης 39
1 η Άσκηση Αναζήτησης και Εξερεύνησης (1/4) Θεωρείστε τον παρακάτω κατευθυνόμενο γράφο με αρχική κατάσταση S και τελική κατάσταση G 40
1 η Άσκηση Αναζήτησης και Εξερεύνησης (2/4) Οι τιμές στις ακμές είναι οι τιμές του πραγματικού κόστους, ενώ οι τιμές μέσα στους κόμβους είναι οι τιμές της ευρετικής συνάρτησης h(n) 41
1 η Άσκηση Αναζήτησης και Εξερεύνησης (3/4) Εκτελέστε αναλυτικά τις παρακάτω μεθόδους αναζήτησης: Αναζήτηση πρώτα κατά πλάτος Αναζήτηση πρώτα κατά βάθος Αναζήτηση πρώτα στο καλύτερο Αναζήτηση Α* 42
1 η Άσκηση Αναζήτησης και Εξερεύνησης (4/4) Προσοχή: Θεωρείστε ότι όταν δεν υπάρχει κάποιο άλλο κριτήριο, οι κόμβοι εξετάζονται κατά αλφαβητική σειρά 43
Τέλος Υποενότητας 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Πατρών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 45
Σημειώματα
Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. Έχουν προηγηθεί οι κάτωθι εκδόσεις: 47
Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Γρηγόριος Μπεληγιάννης. «Θεωρία Λήψης Αποφάσεων. Πληροφορημένη Αναζήτηση και Εξερεύνηση». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/modules/document/document.php?course=deapt1 12. 48
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by nc sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 49