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



Σχετικά έγγραφα
Αλγόριθμοι Τυφλής Αναζήτησης

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Επίλυση Προβλημάτων 1

Επίλυση Προβληµάτων. ! Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσµατα της νοηµοσύνης. ! Χαρακτηριστικά αλγορίθµων:

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Κεφάλαιο 2. Περιγραφή Προβληµάτων και Αναζήτηση Λύσης. Τεχνητή Νοηµοσύνη - Β' Έκδοση

Επίλυση Προβλημάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης.

Επίλυση Προβληµάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσµατα της νοηµοσύνης.

Επίλυση προβληµάτων. Αλγόριθµοι Αναζήτησης

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Επίλυση Προβλημάτων 1

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

ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ

Αλγόριθµοι Ευριστικής Αναζήτησης

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ

Αλγόριθμοι Ευρετικής Αναζήτησης

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ

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

Αλγόριθµοι Ευριστικής Αναζήτησης

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

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

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης.

Επίλυση προβλημάτων με αναζήτηση

Ε ανάληψη. Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. συνεισφορά άλλων επιστηµών στην ΤΝ σήµερα

Περιγραφή Προβλημάτων

ΚΕΦΑΛΑΙΟ 1 - Επίλυση Προβλημάτων

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 2: Δένδρο αναζήτησης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

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

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

ιαφάνειες παρουσίασης #11

Θεωρία Λήψης Αποφάσεων

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι

Κεφάλαιο 5. Αλγόριθµοι Αναζήτησης σε Παίγνια ύο Αντιπάλων. Τεχνητή Νοηµοσύνη - Β' Έκδοση

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Τεχνητή Νοημοσύνη. Ενότητα 2: Αναζήτηση (Search)

Διορθώσεις σελ

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

Θέμα 1: Robbie και Αναζήτηση

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Για παράδειγμα η αρχική και η τελική κατάσταση αναπαριστώνται ως εξής: (ένα λίτρο)

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

ΠΛΗ111. Ανοιξη Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Επίλυση προβληµάτων µε αναζήτηση

Ενότητα 7 Ουρές Προτεραιότητας

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

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

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

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

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

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

ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1

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

1 ΠΡΟΒΛΗΜΑΤΑ ΤΝ ΚΑΙ LISP

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

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

Επίλυση Προβλημάτων 1

Αναζήτηση (Search) Τµήµα Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

Κατανεμημένα Συστήματα Ι

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 1

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 3: Αλγόριθμοι πληροφορημένης αναζήτησης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

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

Κατανεμημένα Συστήματα Ι

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Ε ανάληψη. Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. κριτήρια νοηµοσύνης

Κατανεμημένα Συστήματα Ι

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

Δέντρα Απόφασης (Decision(

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

ΠΛΗ111. Ανοιξη Μάθηµα 4 ο. Στοίβα. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Ε ανάληψη. Α ληροφόρητη αναζήτηση

Άσκηση 2: Λαβύρινθοι και ρομπότ Α. (Σχεδιασμός χώρου καταστάσεων) Ενδεικτική επίλυση

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

ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 2

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

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

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

Κατανεμημένα Συστήματα Ι

Συλλογές, Στοίβες και Ουρές

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

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

Δοµές Δεδοµένων. 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων. Ε. Μαρκάκης

Μαθηματικά των Υπολογιστών και των Αποφάσεων Τεχνητή Νοημοσύνη 1η Σειρά Ασκήσεων

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα

Ευφυής Προγραμματισμός

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

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

Transcript:

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

Αλγόριθµοι Τυφλής Αναζήτησης Οι αλγόριθµοι τυφλής αναζήτησης (blind search algorithms) εφαρµόζονται σε προβλήµατα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων. Στους αλγορίθµους τυφλής αναζήτησης έχει σηµασία η χρονική σειρά µε την οποία παράγονται οι καταστάσεις από το µηχανισµό επέκτασης. Όνοµα Αλγορίθµου Συντοµογραφία Ελληνική Ορολογία Depth-First Search DFS Αναζήτηση Πρώτα σε Βάθος Breadth-First Search BFS Αναζήτηση Πρώτα σε Πλάτος Iterative Deepening ID Επαναληπτική Εκβάθυνση Bi-directional Search BiS Αναζήτηση ιπλής Κατεύθυνσης Branch and Bound B&B Επέκταση και Οριοθέτηση Beam Search BS Ακτινωτή Αναζήτηση Τεχνητή Νοηµοσύνη, B' Έκδοση 2

Παράδειγµα Το πρόβληµα των ποτηριών (1/2) Τελεστής (1) Γέµισε το ποτήρι των Χ ml µέχρι το χείλος από τη βρύση Προϋποθέσεις Το ποτήρι των Χ ml έχει 0 ml Αποτελέσµατα Το ποτήρι των Χ ml έχει Χ ml Τεχνητή Νοηµοσύνη, B' Έκδοση 3

Παράδειγµα Το πρόβληµα των ποτηριών (2/2) Τελεστής (2) Γέµισε το ποτήρι των Χ ml από το ποτήρι των Υ ml Προϋποθέσεις Το ποτήρι των Χ ml έχει Ζ ml Το ποτήρι των Y ml έχει W ml (W 0) Αποτελέσµατα Το ποτήρι των Χ ml έχει Χ ml και Το ποτήρι των Υ ml έχει W-(X-Z), αν W X-Z ή Το ποτήρι των Χ ml έχει Ζ+W ml και Το ποτήρι των Υ ml έχει 0, αν W<X-Z Τελεστής (3) Άδειασε το ποτήρι των Χ ml στο νεροχύτη Προϋποθέσεις Το ποτήρι έχει περιεχόµενο Αποτελέσµατα Το ποτήρι των Χ ml έχει 0 ml Τεχνητή Νοηµοσύνη, B' Έκδοση 4

Μέρος του χώρου αναζήτησης Στο πρόβληµα µε τα ποτήρια Α Β Γ 70 50 Ε 20 50 50 Ζ Η 20 50 50 Θ 20 70 20 Ι... Κ ΤΕΛΙΚΗ 40 50 Τεχνητή Νοηµοσύνη, B' Έκδοση 5

Αναζήτηση Πρώτα σε Βάθος Ο αλγόριθµος πρώτα σε βάθος (Depth-First Search - DFS) επιλέγει προς επέκταση την κατάσταση που βρίσκεται πιο βαθιά στο δένδρο. Ο αλγόριθµος DFS: 1. Βάλε την αρχική κατάσταση στο µέτωπο της αναζήτησης. 2. Αν το µέτωπο της αναζήτησης είναι κενό τότε σταµάτησε. 3. Βγάλε την πρώτη κατάσταση από το µέτωπο της αναζήτησης. 4. Αν η κατάσταση ανήκει στο κλειστό σύνολο τότε πήγαινε στο βήµα 2. 5. Αν η κατάσταση είναι µία από τις τελικές, τότε ανέφερε τη λύση. 6. Αν θέλεις και άλλες λύσεις πήγαινε στο βήµα 2. Αλλιώς σταµάτησε. 7. Εφάρµοσε τους τελεστές µετάβασης για να βρεις τις καταστάσεις-παιδιά. 8. Βάλε τις καταστάσεις-παιδιά στην αρχή του µετώπου της αναζήτησης. 9. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. 10. Πήγαινε στο βήµα 2. Τεχνητή Νοηµοσύνη, B' Έκδοση 6

Ο αλγόριθµος DFS (Ψευδοκώδικας) algorithm dfs(initialstate, FinalStates) begin Closed ; Frontier <InitialState>; CurrentState First(Frontier); while CurrentState FinalStates do Frontier delete(currentstate,frontier); if CurrentState ClosedSet then begin ChildrenStates Expand(CurrentState); Frontier ChildrenStates ^ Frontier; Closed Closed {CurrentState}; end; if Frontier= then exit; CurrentState First(Frontier); endwhile; return success; end. Τεχνητή Νοηµοσύνη, B' Έκδοση 7

Αναζήτηση Πρώτα σε Βάθος Σχόλια Το µέτωπο της αναζήτησης είναι µια δοµή στοίβας (Stack LIFO) Η εξέταση αµέσως προηγουµένων (χρονικά) καταστάσεων ονοµάζεται χρονική οπισθοδρόµηση (chronological backtracking). Πλεονεκτήµατα: το µέτωπο της αναζήτησης δε µεγαλώνει πάρα πολύ. Μειονεκτήµατα: εν εγγυάται ότι η πρώτη λύση που θα βρεθεί είναι η βέλτιστη. Θεωρείται µη-πλήρης. Όταν όµως ο χώρος αναζήτησης είναι πεπερασµένος και χρησιµοποιείται κλειστό σύνολο, ο DFS θα βρει λύση, εάν µια τέτοια υπάρχει. Τεχνητή Νοηµοσύνη, B' Έκδοση 8

Αναζήτηση Πρώτα σε Βάθος (DFS) ένδρο αναζήτησης στο πρόβληµα των ποτηριών Τεχνητή Νοηµοσύνη, B' Έκδοση 9

Αναζήτηση Πρώτα σε Βάθος (DFS) Πρόβληµα των ποτηριών Μέτωπο της αναζήτησης Κλειστό Σύνολο Κατάσταση Παιδιά <Α> {} Α <Β, Γ> <Β, Γ> {Α} Β <Α, > <Α,, Γ> {Α,Β} Α - (βρόχος) <, Γ> {Α,Β} <Β,Ζ,Γ> <Β,Ζ,Γ,Γ> {Α,Β, } Β - (βρόχος) <Ζ,Γ,Γ> {Α,Β, } Ζ <Α,Θ, > <Α,Θ,,Γ,Γ> {Α,Β,,Ζ} Α - (βρόχος) <Θ,,Γ,Γ> {Α,Β,,Ζ} Θ <Ζ,,Ι> <Ζ,,Ι,,Γ,Γ> {Α,Β,,Ζ,Θ} Ζ - (βρόχος) <,Ι,,Γ,Γ> {Α,Β,,Ζ,Θ} - (βρόχος) <Ι,,Γ,Γ> {Α,Β,,Ζ,Θ} Ι <Κ,Γ,Β> <Κ,Γ,Β,,Γ,Γ> {Α,Β,,Ζ,Θ,Ι} Κ ΤΕΛΙΚΗ Τεχνητή Νοηµοσύνη, B' Έκδοση 10

Αναζήτηση Πρώτα σε Πλάτος Ο αλγόριθµος αναζήτησης πρώτα σε πλάτος (Breadth First Search - BFS) εξετάζει πρώτα όλες τις καταστάσεις που βρίσκονται στο ίδιο βάθος και µετά συνεχίζει στην επέκταση καταστάσεων στο αµέσως επόµενο επίπεδο. Ο αλγόριθµος BFS: 1. Βάλε την αρχική κατάσταση στο µέτωπο της αναζήτησης. 2. Αν το µέτωπο της αναζήτησης είναι κενό τότε σταµάτησε. 3. Βγάλε την πρώτη κατάσταση από το µέτωπο της αναζήτησης. 4. Αν είναι η κατάσταση ανήκει στο κλειστό σύνολο τότε πήγαινε στο βήµα 2. 5. Αν η κατάσταση είναι µία τελική τότε ανέφερε τη λύση. 6. Αν θέλεις και άλλες λύσεις πήγαινε στο βήµα 2. Αλλιώς σταµάτησε. 7. Εφάρµοσε τους τελεστές µεταφοράς για να βρεις τις καταστάσεις-παιδιά. 8. Βάλε τις καταστάσεις-παιδιά στο τέλος του µετώπου της αναζήτησης. 9. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. 10. Πήγαινε στο βήµα 2. Τεχνητή Νοηµοσύνη, B' Έκδοση 11

Ο αλγόριθµος BFS (Ψευδοκώδικας) algorithm bfs(initialstate, FinalStates) begin Closed ; Frontier <InitialState>; CurrentState First(Frontier); while CurrentState FinalStates do Frontier delete(currentstate,frontier); if CurrentState ClosedSet begin ChildrenStates Expand(CurrentState); Frontier Frontier ^ ChildrenStates; Closed Closed {CurrentState}; end; if Frontier= then exit; CurrentState First(Frontier); endwhile; return success; end. Τεχνητή Νοηµοσύνη, B' Έκδοση 12

Αναζήτηση Πρώτα σε Πλάτος Σχόλια Το µέτωπο της αναζήτησης είναι µια δοµή ουράς (Queue FIFO). Πλεονεκτήµατα: Βρίσκει πάντα την καλύτερη λύση (µικρότερη σε µήκος). Είναι πλήρης. Μειονεκτήµατα: Το µέτωπο της αναζήτησης µεγαλώνει πολύ σε µέγεθος. Τεχνητή Νοηµοσύνη, B' Έκδοση 13

Αναζήτηση Πρώτα σε Πλάτος (BFS) Πρόβληµα των ποτηριών (1/2) Μέτωπο αναζήτησης Κλειστό Σύνολο Κατάσταση Παιδιά <Α> {} Α <Β, Γ> <Β, Γ> {Α} Β <Α, > <Γ,Α, > {Α,Β} Γ <Ε,Α> <Α,,Ε,Α> {Α,Β,Γ} Α - (βρόχος) <,Ε,Α> {Α,Β,Γ} <Β,Ζ,Γ> <Ε,Α,Β,Ζ,Γ> {Α,Β,Γ, } Ε <Α,Η> <Α,Β,Ζ,Γ,Α,Η> {Α,Β,Γ,,Ε} Α - (βρόχος) <Β,Ζ,Γ,Α,Η> {Α,Β,Γ,,Ε} Β - (βρόχος) <Ζ,Γ,Α,Η> {Α,Β,Γ,,Ε} Ζ <Α,Θ, > <Γ,Α,Η,Α,Θ, > {Α,Β,Γ,,Ε,Ζ} Γ - (βρόχος) <Α,Η,Α,Θ, > {Α,Β,Γ,,Ε,Ζ} Α - (βρόχος) <Η,Α,Θ, > {Α,Β,Γ,,Ε,Ζ} Η <Ε,Γ> <Α,Θ,,Ε,Γ> {Α,Β,Γ,,Ε,Ζ,Η} Α - (βρόχος) <Θ,,Ε,Γ> {Α,Β,Γ,,Ε,Ζ,Η} Θ <Ζ,,Ι> Τεχνητή Νοηµοσύνη, B' Έκδοση 14

Αναζήτηση Πρώτα σε Πλάτος (BFS) Πρόβληµα των ποτηριών (2/2) Μέτωπο αναζήτησης Κλειστό Σύνολο Κατάσταση Παιδιά <,Ε,Γ,Ζ,,Ι> {Α,Β,Γ,,Ε,Ζ,Η} - (βρόχος) <Ε,Γ,Ζ,,Ι> {Α,Β,Γ,,Ε,Ζ,Η} Ε - (βρόχος) <Γ,Ζ,,Ι> {Α,Β,Γ,,Ε,Ζ,Η} Γ - (βρόχος) <Ζ,,Ι> {Α,Β,Γ,,Ε,Ζ,Η} Ζ - (βρόχος) <,Ι> {Α,Β,Γ,,Ε,Ζ,Η} - (βρόχος) <Ι> {Α,Β,Γ,,Ε,Ζ,Η} Ι <Κ,Γ,Β> <Κ,Γ,Β> {Α,Β,Γ,,Ε,Ζ,Η,Ι} Κ ΤΕΛΙΚΗ Τεχνητή Νοηµοσύνη, B' Έκδοση 15

Αλγόριθµος Επαναληπτικής Εκβάθυνσης Ο αλγόριθµος επαναληπτικής εκβάθυνσης (Iterative Deepening - ID) συνδυάζει µε τον καλύτερο τρόπο τους DFS και BFS. Ο αλγόριθµος ID: 1. Όρισε το αρχικό βάθος αναζήτησης (συνήθως 1). 2. Εφάρµοσε τον αλγόριθµο DFS µέχρι αυτό το βάθος αναζήτησης. 3. Αν έχεις βρει λύση σταµάτησε. 4. Αύξησε το βάθος αναζήτησης (συνήθως κατά 1). 5. Πήγαινε στο βήµα 2. Ο αλγόριθµος ID (Ψευδοκώδικας) algorithm id(initialstate, FinalStates) begin depth 1 while solution is not found do bounded_dfs(initialstate,finalstates,depth); depth depth+1 endwhile; end. Τεχνητή Νοηµοσύνη, B' Έκδοση 16

Αναζήτηση ID Σχόλια Μειονεκτήµατα: ε θυµάται τίποτα από τον προηγούµενο κύκλο αναζήτησης. Πλεονεκτήµατα: Είναι πλήρης. Αν το βάθος αυξάνεται κατά 1 σε κάθε κύκλο και ο ID βρει λύση, τότε αυτή η λύση θα είναι η καλύτερη. Έχει αποδειχθεί ότι έχει την ίδια πολυπλοκότητα σε χώρο και χρόνο µε τους DFS και BFS. εν κινδυνεύει να χαθεί σε κάποιο κλαδί απείρου µήκους. Αναζήτηση του Αναζήτηση του κύκλου Ν DFS κύκλου Ν+1 DFS ~10 8 ~10 11 Βάθος 8 Βάθος 11 Τελικές Καταστάσεις Τεχνητή Νοηµοσύνη, B' Έκδοση 17

Αναζήτηση ιπλής Κατεύθυνσης (1/2) Η ιδέα της αναζήτησης διπλής κατεύθυνσης (Bidirectional Search - BiS) πηγάζει από τη δυνατότητα του παραλληλισµού (parallelism) στα υπολογιστικά συστήµατα. Προϋποθέσεις κάτω από τις οποίες µπορεί να εφαρµοστεί: Οι τελεστές µετάβασης είναι αντιστρέψιµοι (reversible), και Είναι πλήρως γνωστή η τελική κατάσταση. Εφαρµογή Αρχίζει την αναζήτηση από την αρχική και τελική κατάσταση ταυτόχρονα. Αν κάποια κατάσταση που επεκτείνεται είναι κοινή, τότε βρέθηκε λύση. Λύση είναι η ένωση των µονοπατιών από την κοινή κατάσταση έως την αρχική και έως την τελική κατάσταση. Μειονεκτήµατα: Υπάρχει επιπλέον κόστος επικοινωνίας µεταξύ των δύο αναζητήσεων. Τεχνητή Νοηµοσύνη, B' Έκδοση 18

Αναζήτηση ιπλής Κατεύθυνσης (2/2) Τεχνητή Νοηµοσύνη, B' Έκδοση 19

Επέκταση και Οριοθέτηση (B&B) Ο αλγόριθµος επέκτασης και οριοθέτησης (Branch and Bound - B&B) εφαρµόζεται σε προβλήµατα όπου αναζητείται η βέλτιστη λύση (ελάχιστο κόστος). Ο Β&Β κλαδεύει καταστάσεις (pruning) και µειώνει το χώρο αναζήτησης. Παράδειγµα: βρέθηκε µια λύση µε κόστος 159. Κατά την αναζήτηση για άλλες λύσεις µια κατάσταση έχει ήδη κόστος 167. Άρα κλαδεύεται αυτή η κατάσταση. Τεχνητή Νοηµοσύνη, B' Έκδοση 20

Ο αλγόριθµος B&B: 1. Βάλε την αρχική κατάσταση στο µέτωπο της αναζήτησης. 2. Αρχική τιµή της καλύτερης λύσης είναι το + (όριο). 3. Αν το µέτωπο της αναζήτησης είναι κενό, τότε σταµάτησε. Η καλύτερη µέχρι τώρα λύση είναι και η βέλτιστη. 4. Βγάλε την πρώτη σε σειρά κατάσταση από το µέτωπο της αναζήτησης. 5. Αν η κατάσταση ανήκει στο κλειστό σύνολο, τότε πήγαινε στο 3. 6. Αν η κατάσταση είναι τελική, τότε ανανέωσε τη λύση ως την καλύτερη µέχρι τώρα και ανανέωσε την τιµή του ορίου µε την τιµή που αντιστοιχεί στην τελική κατάσταση. Πήγαινε στο 3. 7. Εφάρµοσε τους τελεστές µεταφοράς για να παράγεις τις καταστάσειςπαιδιά και την τιµή που αντιστοιχεί σε αυτές. 8. Βάλε τις καταστάσεις-παιδιά, των οποίων η τιµή δεν υπερβαίνει το όριο, µπροστά στο µέτωπο της αναζήτησης. (*) 9. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. 10. Πήγαινε στο 3. (*) Αυτός είναι DFS-B&B γιατί οι νέες καταστάσεις µπαίνουν µπροστά στο µέτωπο αναζήτησης. Υπάρχει και BestFS-B&B. Τεχνητή Νοηµοσύνη, B' Έκδοση 21

Ο αλγόριθµος B&B (Ψευδοκώδικας) algorithm b&b(initialstate, FinalStates) begin Closed ; Frontier <InitialState>; BestCost ; BestState null; while Frontier do CurrentState First(Frontier); CurrentCost Cost(Current_State); Frontier delete(currentstate,frontier); if CurrentCost < BestCost then if CurrentState FinalStates then BestState CurrentState; BestCost CurrentCost; else Next Expand(CurrentState); ChildrenStates {s s Next s Frontier s Closed}; Frontier ChildrenStates ^ Frontier; Closed Closed {CurrentState}; endif; endif; endwhile; if BestState = null then return fail else return BestState and BestCost; end. Τεχνητή Νοηµοσύνη, B' Έκδοση 22

Το Πρόβληµα του Πλανόδιου Πωλητή (TSP) Το πρόβληµα ανήκει στην κατηγορία µη-πολυωνυµικού χρόνου (NP-complete). Το πρόβληµα είναι πρόβληµα ελαχιστοποίησης κόστους και έχει πολλές εφαρµογές. Τεχνητή Νοηµοσύνη, B' Έκδοση 23

Ο αλγόριθµος B&B στο πρόβληµα TSP Μέτωπο της αναζήτησης Κόστος Λύσης Κατάσταση Παιδιά <α> + α αβ 8,αγ 5,αδ 10,αε 8 <αβ 8,αγ 5,αδ 10,αε 8 > + αβ αβγ 15,αβδ 14, αβε 14 <αβγ 15,αβδ 14,αβε 14,αγ 5,...> + αβγ αβγδ 24, αβγε 18 <αβγδ 24,αβγε 18, αβδ 14,αβε 14...> + αβγδ αβγδε 28 <αβγδε 28,αβγε 18, αβδ 14,...> + αβγδε αβγδεα 36 < αβγδεα 36, αβγε 18, αβδ 14,..> 36 αβγδεα Τελική Κατάσταση <αβγε 18, αβδ 14,... > 36 αβγε αβγεδ 22 <αβγεδ 22,αβδ 14,...> 36 αβγεδ αβγεδα 32 < αβγεδα 32,αβδ 14,αβε 14...> 32 αβγεδα 32 Τελική Κατάσταση............ <αβδεγα 26,...> 26 αβδεγα Τελική Κατάσταση............ <αβεγδ 26,...> 26 αβεγδ Κλάδεµα............ <αεβγδ 30,...> 26 αεβγδ Κλάδεµα............ <> ΕλάχιστηΤιµή ΤΕΛΟΣ Τεχνητή Νοηµοσύνη, B' Έκδοση 24

Ο αλγόριθµος B&B Ο Β&Β εφαρµόζεται όταν υπάρχει µια πραγµατική εκτίµηση του κόστους. Το κέρδος από το κλάδεµα εξαρτάται από το πόσο γρήγορα θα βρεθεί µια καλή λύση. Υπάρχει περίπτωση να µη γίνει καθόλου κλάδεµα αν οι λύσεις είναι διατεταγµένες από τη χειρότερη προς την καλύτερη. Στη χειρότερη περίπτωση συµπεριφέρεται σαν τον DFS. Μέγιστο Κλάδεµα Καθόλου Κλάδεµα DFS DFS 12 20 27 32 Τελικές Καταστάσεις ιατεταγµένες Ορθά 32 27 20 12 Τελικές Καταστάσεις ιατεταγµένες Αντίστροφα Τεχνητή Νοηµοσύνη, B' Έκδοση 25

Εφαρµογή των Αλγορίθµων Τυφλής Αναζήτησης Το πρόβληµα του Λαβύρινθου - Ορισµός Αρχική κατάσταση (1,4). Το σύνολο τελικών καταστάσεων περιέχει µόνο (15,10). Οι τελεστές µεταφοράς είναι οι εξής: πήγαινε µία θέση αριστερά, πήγαινε µία θέση επάνω, πήγαινε µία θέση δεξιά, πήγαινε µία θέση κάτω, εφόσον η θέση είναι ελεύθερη. Ο χώρος καταστάσεων είναι όλες οι ελεύθερες θέσεις, χωρίς εµπόδια, του πλέγµατος. Τεχνητή Νοηµοσύνη, B' Έκδοση 26

Εφαρµογή του αλγορίθµου DFS Τεχνητή Νοηµοσύνη, B' Έκδοση 27

Λύση στο πρόβληµα του λαβύρινθου µε χρήση DFS Τεχνητή Νοηµοσύνη, B' Έκδοση 28

Εφαρµογή αλγορίθµου BFS Τεχνητή Νοηµοσύνη, B' Έκδοση 29

Λύση στο πρόβληµα του λαβύρινθου µε χρήση BFS Τεχνητή Νοηµοσύνη, B' Έκδοση 30

Εφαρµογή του ID στο πρόβληµα του λαβυρίνθου Τεχνητή Νοηµοσύνη, B' Έκδοση 31