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

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

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

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

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

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

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

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

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

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

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

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

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

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

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

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

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

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

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

Αλγοριθμικές Τεχνικές

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

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

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

2η Σειρά Γραπτών Ασκήσεων

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

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

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

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

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

Outline. 6 Edit Distance

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

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

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

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

4. ΔΙΚΤΥΑ

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

Κάνοντας ακριβέστερες μετρήσεις με την βοήθεια των Μαθηματικών. Ν. Παναγιωτίδης, Υπεύθυνος ΕΚΦΕ Ν. Ιωαννίνων


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

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

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

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

ΕΡΩΤΗΜΑΤΑ σε ΑΝΑΖΗΤΗΣΗ

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

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

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

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

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

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

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

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015

ΦΥΣΙΚΗ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Α ΛΥΚΕΙΟΥ

Θέματα Μεταγλωττιστών

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Μαθηματικά στην Πολιτική Επιστήμη:

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

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

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

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

ΜΑΘΗΜΑΤΙΚΑ Θετικής & Τεχνολογικής Κατεύθυνσης Β ΜΕΡΟΣ (ΑΝΑΛΥΣΗ) ΚΕΦ 1 ο : Όριο Συνέχεια Συνάρτησης

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

υναμικός Προγραμματισμός

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

Επεξεργασία Ερωτήσεων

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Επεξεργασία Ερωτήσεων

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αλγόριθμοι Αναζήτησης σε Παίγνια Δύο Αντιπάλων

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

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Επεξεργασία Ερωτήσεων

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Transcript:

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

Εισαγωγή Παράδειγμα: κρυφός συνδυασμός μιας ηλεκτρονικής κλειδαριάς που δέχεται ως κλειδί έναν αριθμό με 2 ψηφία έχουμε να ψάξουμε (δοκιμάσουμε) 100 συνδυασμούς. Αν η κάθε δοκιμή χρειάζεται 1 δευτερόλεπτο τότε θέλουμε 1 min και 40sec. Αν όμως το κλειδί αποτελείται από 4 ψηφία τότε πρέπει να ψάξουμε 10000 συνδυασμούς το οποίο μπορεί να μας πάρει μέχρι και 2 ώρες και 45 λεπτά. με 8 ψηφία; πάνω από 3 χρόνια στην χειρότερη περίπτωση. Εισαγωγή βλέπουμε την εκθετική αύξηση της πολυπλοκότητας που παρουσιάζουν πολλά προβλήματα. για μικρά μεγέθη προβλημάτων ή για πολύ απλά προβλήματα μπορούμε να χρησιμοποιήσουμε τυφλή αναζήτηση. αλλοιώς χρησιμοποιούμε extra πληροφορία. Αν για παράδειγμα, ξέραμε ότι αυτός που όρισε το κλειδί βάζει ως κλειδιά ημερομηνίες γεννήσεως συγγενικών του προσώπων τότε θα χρειαζόταν να δοκιμάσουμε πολύ λίγους συνδυασμούς (ευριστικός τρόπος). εξαρτάται από το πρόβλημα

Μισθοφόροι και κανίβαλοι A B cannibal cannibal cannibal missionary missionary missionary Μισθοφόροι και κανίβαλοι Έχουμε στην όχθη ενός ποταμού 3 μισθοφόρους και 3 κανίβαλους και μία βάρκα που χωράει το πολύ 2 άτομα. Περιορισμοί δεν υπάρχει κανένας τρόπος να περάσει κάποιος το ποτάμι πάρα μόνο με την βάρκα η βάρκα δεν μπορεί να μετακινηθεί παρά μόνο αν υπάρχει κάποιος μέσα. Ζητείται ένα σχέδιο μετακινήσεων με βάση το οποίο θα περάσουν το ποτάμι και οι μισθοφόροι και οι κανίβαλοι με τον επιπλέον περιορισμό ότι ποτέ δεν πρέπει σε μία όχθη να υπάρχουν μισθοφόροι, ο αριθμός των οποίων να είναι μικρότερος από τον αριθμό των κανιβάλων σε εκείνη την όχθη.

Σπαζοκεφαλιά 2 8 3 1 6 4 7 5 1 2 3 8 4 7 6 5 Σπαζοκεφαλιά Έχουμε έναν πίνακα 3 x 3 (9 θέσεων). Η μία θέση του πίνακα είναι κενή ενώ στις άλλες υπάρχει κάποιος από τους αριθμούς 1 μέχρι 8. Ο κάθε αριθμός εμφανίζεται ακριβώς μία φορά. Στον πίνακα αυτόν επιτρέπονται οι μετακινήσεις των αριθμών με τον εξής τρόπο: ένας αριθμός μπορεί να μετακινηθεί μόνο οριζόντια ή κάθετα κατά μία θέση κάθε φορά εφόσον η θέση στην οποία θα μετακινηθεί ήταν προηγουμένως άδεια. Δεδομένου μίας αρχικής διάταξης ζητείται να γίνουν οι κατάλληλες κινήσεις έτσι ώστε ο πίνακας να φτάσει στην τελική του μορφή

Ο κόσμος των κύβων A B C A B C Ο κόσμος των κύβων Έχουμε πάνω σε ένα τραπέζι 3 κύβους ιδίου μεγέθους: Α, B, C. Αρχικά έχουμε τον κύβο C πάνω στον κύβο Α ενώ ο κύβος B βρίσκεται μόνος του πάνω στο τραπέζι. Κάθε φορά μπορούμε να μετακινήσουμε ένα μόνο κύβο και να τον τοποθετήσουμε πάνω στο τραπέζι ή πάνω σε κάποιο άλλο κύβο ο οποίος όμως δεν πρέπει να έχει άλλον κύβο πάνω του (πρέπει να είναι ο πάνω κύβος). Δεν μπορούμε να μετακινήσουμε τους κύβους που έχουν κάποιον άλλο κύβο πάνω τους. Ζητείται ένα σχέδιο κινήσεων έτσι ώστε να καταλήξουμε να έχουμε τον κύβο C πάνω στο τραπέζι, τον B πάνω στο C και τον Α πάνω στο Β.

Το πρόβλημα του πλανόδιου πωλητή C C1 C2 C3 C4 C5 C6 C7 B C8 C10 F C9 C12 A C13 C11 D C14 C15 E Το πρόβλημα του πλανόδιου πωλητή Έχουμε ένα σύνολο από πόλεις οι οποίες συνδέονται με διάφορους δρόμους μεταξύ τους. Για κάθε τέτοιο δρόμο ξέρουμε το μήκος του. Ένας πλανόδιος πωλητής θέλει να περάσει από όλες αυτές τις πόλεις. Ζητείται η σειρά με την οποία πρέπει να επισκεφτεί τις πόλεις ο πλανόδιος πωλητής έτσι ώστε από κάθε πόλη να περάσει ακριβώς μία φορά, να καταλήξει στην πόλη από την οποία ξεκίνησε και να κάνει τα ελάχιστα δυνατά χιλιόμετρα.

Επιλογή οδικής διαδρομής Δεδομένου ενός οδικού χάρτη που περιέχει πόλεις, δρόμους και χιλιομετρικές αποστάσεις για τους δρόμους, ζητείται να βρεθεί ο συντομότερος δρόμος που συνδέει δύο δεδομένες πόλεις. 150 ΙΩΑΝΝΙΝΑ 144 120 ΤΡΙΚΑΛΑ 26 80 ΗΓΟΥΜΕΝΙΤΣΑ ΑΡΤΑ ΚΟΖΑΝΗ 50 ΚΑΤΕΡΙΝΗ 141 197 100 210 60 ΛΑΡΙΣΑ 60 ΒΟΛΟΣ 40 80 ΦΑΡΣΑΛΑ 92 ΛΑΜΙΑ 120 ΔΕΛΦΟΙ 140 212 100 80 45 90 ΑΙΓΙΟ 80 ΑΘΗΝΑ ΠΑΤΡΑ ΚΟΡΙΝΘΟΣ 75 ΝΑΥΠΛΙΟ Τα 12 νομίσματα Μας δίνονται 12 νομίσματα ένα από τα οποία είναι κάλπικο Στην διάθεση μας έχουμε μία ζυγαριά με την οποία μπορούμε να κάνουμε το πολύ 3 ζυγίσεις. Σε κάθε ζύγιση μπορούμε να συγκρίνουμε δύο ομάδες νομισμάτων και να δούμε πια ομάδα είναι βαρύτερη ή αν οι δύο ομάδες έχουν το ίδιο βάρος. Ζητείται ένα σχέδιο ζυγίσεων το οποίο βρίσκει σε κάθε περίπτωση ποιο είναι το κάλπικο νόμισμα.

Οι 8 βασίλισσες Έχουμε μία άδεια σκακιέρα και 8 βασίλισσες Ζητείται να τοποθετήσουμε τις βασίλισσες πάνω στην σκακιέρα έτσι ώστε καμία βασίλισσα να μην απειλεί κάποια άλλη. Αυτή είναι μία αποτυχημένη απόπειρα λύσης του προβλήματος: στην κυρίως λευκή διαγώνιο υπάρχουν 2 βασίλισσες. Κατηγοριοποίηση προβλημάτων Η λύση μπορεί να είναι απλώς μια τελική κατάσταση ή μπορεί να είναι το μονοπάτι προς κάποια τελική κατάσταση. Μπορεί να ψάχνουμε για την καλύτερη λύση ή απλώς για μια λύση. Η αρχική γνώση μπορεί να αρκεί ή μπορεί να μην αρκεί για να βρούμε μια λύση - εξωτερικοί παράγοντες μπορεί να επηρεάζουν τις επιλογές που έχουμε ή τα αποτελέσματα των πράξεων μας.

Επίλυση μέσω αναζήτησης Περιγραφή του προβλήματος ώς πρόβλημα αναζήτησης Μοντελοποίηση καταστάσεων Μοντελοποίηση μεταβάσεων Ορισμός αρχικής κατάστασης Ορισμός μεθόδου αναγνώρισης τελικών καταστάσεων Επιλογή αλγορίθμου αναζήτησης Παράδειγμα μοντελοποίησης Μισθοφόροι και κανίβαλοι: (M,K,O) Μεταβάσεις:» (x, y, Α) (x-1, y, B) αν x > 0.» (x, y, Α) (x-2, y, B) αν x > 1.» (x, y, Α) (x, y-1, B) αν y > 0.» (x, y, Α) (x, y-2, B) αν y > 1.» (x, y, Α) (x-1, y-1, B) αν x > 0 και y > 0.» (x, y, B) (x+1, y, A) αν x < 3.»... Αρχική κατάσταση: (3,3,Α) Τελική κατάσταση: (0,0,Β)

Γράφος καταστάσεων Περιγράφει των χώρο αναζήτησης και όλες τις δυνατές μεταβάσεις B E A C D Δέντρο αναζήτησης Το γενικό δέντρο αναζήτησης περιέχει όλα τα δυνατά μονοπάτια που μπορούν να ακολουθήσουν οι αλγόριθμοι αναζήτησης A C B D C E A D C B A

Παράδειγμα - Μισθ. Και Κανίβαλοι δέντρο αναζήτησης 3, 3, A 3, 2, B 3, 1, B 2, 2, B 1, 3, B 2, 3, B 3, 3, A 3, 2, A 3, 3, A 2, 3, A 3, 2, A 3, 3, A............ 3, 1, B 3, 0, B 2, 1, B 1, 2, B 2, 2, B Παράδειγμα - Μισθ. Και Κανίβαλοι 3, 3, A 3, 1, B 3, 2, B 2, 2, B 2, 3, B 1, 3, B 3, 2, A 1, 2, B 2, 3, A 3, 0, B 2, 1, B 2, 0, B Γράφος καταστάσεων 3, 1, A 1, 1, B 2, 1, A 1, 3, A 1, 2, A 2, 2, A 1, 1, A 0, 2, B 0, 3, A 0, 1, B 0, 2, A 0, 0, B

Μείωση Προβλημάτων Αντί να λύσουμε όλο το πρόβλημα συνολικά το διασπάμε σε μικρότερα υπο-προβλήματα και λύνουμε αυτά ανεξάρτητα (Divide and conquer). Χρειάζεται ανάλογη μοντελοποίηση- δεν είναι πάντα δυνατό και εξαρτάται από την φύση του προβλήματος. Για παράδειγμα έχουμε να βρούμε μία διαδρομή που να ενώνει την Αθήνα με την Θεσσαλονίκη. Το πρόβλημα αυτό μπορούμε να το διασπάσουμε σε δύο προβλήματα: Αθήνα - Λάρισα και Λάρισα - Θεσσαλονίκη. Στο τέλος ενώνουμε τις δύο λύσεις Όταν χρησιμοποιούμε την τακτική μείωσης των προβλημάτων τα δέντρα αναζήτησης παίρνουν την μορφή δέντρων AND-OR Μείωση προβλήματος (χάρτης) βρες διαδρομή Αθήνα - Θεσσαλονίκη Κόμβος OR... βρες διαδρομή Αθήνα - Θεσσαλονίκη μέσω Λάρισας βρες διαδρομή Αθήνα - Θεσσαλονίκη μέσω Τρικάλα Κόμβοι AND βρες διαδρομή Αθήνα - Λάρισα βρες διαδρομή Λάρισα - Θεσσαλονίκη βρες διαδρομή Αθήνα - Τρίκαλα βρες διαδρομή Τρίκαλα - Θεσσαλονίκη Κόμβοι OR......... βρες διαδρομή Αθήνα - Τρίκαλα μέσω Δελφούς βρες διαδρομή Αθήνα - Τρίκαλα μέσω Φάρσαλα βρες διαδρομή Αθήνα - Τρίκαλα μέσω Λάρισας Κόμβοι AND.........

Αλγόριθμοι αναζήτησης Τυφλή αναζήτηση αναζήτηση κατα πλάτος, κατα βάθος, σταδιακής εκβάθυνσης μέθοδος αναρρίχησης, περιορισμένης δέσμης αναζήτηση με βάση το κόστος αμφίδρομη αναζήτηση Πληροφορημένη αναζήτηση Άπληστη αναζήτηση, Α* Ενδιαφέρουν πλήρεις αλγόριθμοι (βρίσκουν λύση) Πάντα τη βέλτιστη; Το παράδειγμα που θα χρησιμοποιούμε A 0 B 2 D 7 F 13 G 8 I 22 J 27 K 10 M 22 M 107 N 16 R 16 T U V X Y Z 33 34 27 44 16 28

Αναζήτηση κατα πλάτος Αλγόριθμος: 1. Δημιούργησε μία ουρά (queue) που αρχικά έχει τη ρίζα (root). 2. Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί, έλεγξε αν το πρώτο στοιχείο είναι ο στόχος. 2α. Αν είναι μην κάνεις τίποτα. 2β. Αν δεν είναι, τότε: - βγάλε το πρώτο στοιχείο - βάλε τα παιδιά του πρώτου στοιχείου πίσω στην ουρά 3. Αν έχει βρεθεί ο στόχος, τότε έχουμε επιτυχία, αλλιώς, αποτυχία. Αναζήτηση κατα πλάτος Πλήρης, δεν είναι σίγουρο αν θα βρεί τη βέλτιστη λύση - Ο(b m ) χώρου και χρόνου A 0 1 B 2 2 3 D 7 F 13 4 5 G 8 6 I 22 J 27 K 10 M 22 M 107 N 16 R 16 T U V X Y Z 33 34 27 44 16 28

Αναζήτηση κατα βάθος Αλγόριθμος: 1. Δημιούργησε μία ουρά (queue) που αρχικά έχει τη ρίζα (root). 2. Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί, έλεγξε αν το πρώτο στοιχείο είναι ο στόχος. 2α. Αν είναι μην κάνεις τίποτα. 2β. Αν δεν είναι, τότε: - βγάλε το πρώτο στοιχείο - βάλε τα παιδιά του πρώτου στοιχείου μπροστά στην ουρά 3. Αν έχει βρεθεί ο στόχος, τότε έχουμε επιτυχία, αλλιώς, αποτυχία. Αναζήτηση κατα βάθος Δεν είναι πλήρης (εγκλωβισμός), δεν είναι σίγουρο ότι θα βρεί πρώτα τη βέλτιστη, Ο(bm) χώρος - O(b m ) χρόνος A 0 1 B 2 2 D 7 F 13 3 G 8 5 I 22 J 27 K 10 4 6 7 M 22 M 107 N 16 R 16 8 T U V X Y Z 33 34 27 44 16 28

Μέθοδος αναρρίχησης (Hill Climbing) Παραλλαγή της αναζήτησης κατά βάθος Σε κάθε βήμα διαλέγει τον καλύτερο απόγονο του τρέχοντα κόμβου χωρίς να κρατάει τους εναλλακτικούς δρόμους (ταξινομούμε με βάση την συνάρτηση d(s) τα παιδιά του κάθε κόμβου) Προβλήματα της μεθόδου Δεν βρίσκει πάντα λύση d(s) είναι σταθερή στην εκτέλεση τοπικά βέλτιστη λύση (local minima) Μέθοδος αναρρίχησης Παραλλαγή της αναζήτησης κατά βάθος που βρίσκει λύση όταν και η κατά βάθος βρίσκει 1. Δημιούργησε μία ουρά (queue) που αρχικά έχει τη ρίζα (root). 2. Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί, έλεγξε αν το πρώτο στοιχείο είναι ο στόχος. 2α. Αν είναι μην κάνεις τίποτα. 2β. Αν δεν είναι, τότε: - βγάλε το πρώτο στοιχείο - ταξινόμησε τα παιδιά του πρώτου στοιχείου και βάλε τα μπροστά στην ουρά 3. Αν έχει βρεθεί ο στόχος, τότε έχουμε επιτυχία, αλλιώς, αποτυχία.

Μέθοδος αναρρίχησης Ο(bm) χώρος - O(b m ) χρόνος A 0 1 B 2 2 D 7 F 13 G 8 3 I 22 J 27 K 10 4 M 22 M 107 N 16 R 16 5 T U V X Y Z 33 34 27 44 16 28 Μέθοδος σταδιακής εκβάθυνσης Συνδυάζει την αναζήτηση κατά πλάτος με την κατά βάθος. Διατηρεί την ιδιότητα της πληρότητας και έχει χαμηλή πολυπλοκότητα. 1. Θέσε όριο βάθους = 1 2. Εκτέλεσε την παρακάτω διαδικασία αναζήτησης περιορισμένου βάθους έως ότου η αναζήτηση δεν φτάσει στο όριο βάθους ή βρεθεί ο στόχος. 2.1. Αύξησε το όριο βάθους κατά 1 2.2. Δημιούργησε μία ουρά (queue) που αρχικά έχει τη ρίζα (root). 2.3. Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί κάνε τα παρακάτω : 2.3.α. Έλεγξε αν το πρώτο στοιχείο είναι ο στόχος. 2.3.β. Αν είναι μην κάνεις τίποτα. 2.3.γ. Αν δεν είναι, τότε : - βγάλε το πρώτο στοιχείο - αν το στοιχείο που βγήκε ήταν σε βάθος μικρότερο του ορίου βάθους τότε: - βάλε τα παιδιά του μπροστά στην ουρά - διαφορετικά σημείωσε ότι φτάσαμε στο όριο βάθους 3. Αν έχει βρεθεί ο στόχος, τότε έχουμε επιτυχία, αλλιώς, αποτυχία.

Μέθοδος σταδιακής εκβάθυνσης Πλήρης - Ο(bm) χώρου - Ο(b m ) χρόνου A 0 1, 4 B 2 2, 5 D 7 3, 8 F 13 6 7 9 G 8 I 22 J 27 K 10 M 22 M 107 N 16 R 16 T U V X Y Z 33 34 27 44 16 28 Αναζήτηση με βάση το κόστος Αλγόριθμος: 1. Δημιούργησε μία ουρά (queue) που αρχικά έχει τη ρίζα (root). 2. Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί, έλεγξε αν το πρώτο στοιχείο είναι ο στόχος. 2α. Αν είναι μην κάνεις τίποτα. 2β. Αν δεν είναι, τότε: - βγάλε το πρώτο στοιχείο - βάλε τα παιδιά του πρώτου στοιχείου πίσω στην ουρά - ταξινόμησε όλη την ουρά με βάση την d(s) (ο καλύτερος κόμβος μπροστά) 3. Αν έχει βρεθεί ο στόχος, τότε έχουμε επιτυχία, αλλιώς, αποτυχία.

Αναζήτηση με βάση το κόστος Βέλτιστη λύση (με αύξουσα συν. κόστους - Ο(b m ) χώρου και χρόνου A 0 1 B 2 2 D 7 3 5 F 13 6 G 8 4 I 22 J 27 K 10 M 22 M 107 N 16 R 16 7 T U V X Y Z 33 34 27 44 16 28 Μέθοδος περιορισμού δέσμης Ευριστικός τρόπος μείωσης του χώρου αναζήτησης. Επιλογή μόνο των k καλύτερων παιδιών κάθε κόμβου. Μπορεί να χρησιμοποιηθεί στην αναζήτηση κατα πλάτος, κατα βάθος ή ακόμα και στην αναζήτηση βέλτιστου κόμβου. Μπορεί να μην βρεί λύση.

Αμφίδρομη αναζήτηση Εφαρμόσιμη όταν οι μεταβάσεις μπορούν να αντιστραφούν και όταν γνωρίζουμε καταστάσεις στόχος. Πολύ καλή πολυπλοκότητα χρόνου: Ο(b m/2 ) Χρειάζεται όμως αλγόριθμος που σε Ο(1) να βρίσκει αν τα δέντρα συναντήθηκαν - συνήθως με πίνακα κατακερματισμού. Ευριστικές συναρτήσεις Κωδικοποιούν πληροφορία για το πρόβλημα και τον τρόπο επίλυσης του. Εκτιμάνε την αξία της κατάστασης. Αποδεκτή είναι η ευριστική συνάρτηση που ποτέ δεν υποτιμά την αξία της κατάστασης. Κατασκευή ευριστικών συναρτήσεων με την μέθοδο της απαλοιφής περιορισμών του προβλήματος.

Ευριστικές συναρτήσεις Για παράδειγμα στο πρόβλημα της σπαζοκεφαλιάς μεγέθους 8 μπορούμε να ορίσουμε τις δύο παρακάτω συναρτήσεις : h1 = ο αριθμός των στοιχείων που δεν ταιριάζουν. h2 = το άθροισμα των αποστάσεων των στοιχείων που δεν ταιριάζουν από την σωστή τους θέση. Η απόσταση ενός στοιχείου από την σωστή του θέση υπολογίζεται από το άθροισμα των οριζόντιων και κάθετων κινήσεων που πρέπει να γίνουν στο στοιχείο έτσι ώστε να φτάσει στην σωστή του θέση, δεδομένου ότι δεν υπάρχουν τα άλλα στοιχεία που εμποδίζουν τις μετακινήσεις. Και οι δύο συναρτήσεις είναι αποδεκτές. Έχουν, δηλαδή, την ιδιότητα να μας καθοδηγούν πάντα προς την καλύτερη λύση. Ευριστικές συναρτήσεις Σε άλλα προβλήματα είναι πολύ πιο δύσκολο να αξιολογήσουμε τις καταστάσεις για να καθοδηγήσουμε την αναζήτηση. Μπορούμε όμως πολλές φορές να περιορίσουμε τον αριθμό των καταστάσεων ανάμεσα στις οποίες γίνεται η αναζήτηση. Για παράδειγμα, στο πρόβλημα των 12 νομισμάτων, δεν χρειάζεται να δοκιμάζουμε ζυγίσεις με οποιοδήποτε αριθμό νομισμάτων αλλά ζυγίζοντας πάντα 8 νομίσματα μπορούμε να βρούμε την λύση. Γενικά, η κατασκευή ευριστικών μεθόδων απαιτεί καλή κατανόηση του προβλήματος και των ιδιοτήτων της διαδικασίας επίλυσης.

Πληροφορημένοι Αλγόριθμοι Οι πληροφορημένοι αλγόριθμοι αναζήτησης βασίζονται σε κάποια ευριστική συνάρτηση. Χρησιμοποιώντας αυτήν την συνάρτηση (αλλά πιθανώς και άλλες παραμέτρους) αξιολογούν τις πιθανές επόμενες καταστάσεις και διαλέγουν την καλύτερη από αυτές. Σε αντιστοιχία με την απαίτηση η συνάρτηση d(s) να μας δίνει το κόστος για να φτάσουμε στην κατάσταση s απαιτούμε η συνάρτηση h(s) να εκτιμάει το κόστος για να φτάσουμε από την κατάσταση s σε κάποια κατάσταση στόχος. Το πόσο καλή θα είναι η εκτίμηση καθορίζει το πόσο χρήσιμη θα είναι η ευριστική συνάρτηση. Το παράδειγμα που θα χρησιμοποιούμε 21 h(s) A 0 7 B 2 d(s) 8 D 7 20 F 13 6 G 8 0 I 22 76 J 27 5 K 10 2 M 22 2 M 107 3 N 16 0 R 16 0 56 U 0 38 43 1 T V X Y Z 33 34 27 44 16 28

Άπληστη αναζήτηση (Greedy search) 1. Δημιούργησε μία ουρά (queue) που αρχικά έχει τη ρίζα (root). 2. Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί, έλεγξε αν το πρώτο στοιχείο είναι ο στόχος. 2α. Αν είναι μην κάνεις τίποτα. 2β. Αν δεν είναι, τότε: - βγάλε το πρώτο στοιχείο - βάλε τα παιδιά του πρώτου στοιχείου πίσω στην ουρά - ταξινόμησε όλη την ουρά με βάση την h(s) (ο καλύτερος κόμβος μπροστά) 3. Αν έχει βρεθεί ο στόχος, τότε έχουμε επιτυχία, αλλιώς, αποτυχία. Άπληστη αναζήτηση Ο(b m ) χρόνου και χώρου, δεν είναι σίγουρο ότι θα βρεί τη 21 βέλτιστη λύση πρώτα A 1 0 2 7 8 B 2 D 7 20 F 13 6 G 8 3 0 I 22 76 J 27 5 K 10 4 5 2 M 22 2 M 107 3 N 16 0 R 16 6 0 56 U 0 38 43 1 T V X Y Z 33 34 27 44 16 28

Αναζήτηση Α* Συνδυάζουν την άπληστη αναζήτηση με την αναζήτηση με βάση το κόστος. Χρησιμοποιούν δηλαδή στην ταξινόμηση την συνάρτηση f(s) = d(s) + h(s) Η f(s) μας δίνει ουσιαστικά μία εκτίμηση της καλύτερης λύσης που περνάει από τον κόμβο s. Προϋπόθεση ότι η h(s) δεν υπερεκτιμά ποτέ το κόστος για να φτάσουμε στο κοντινότερο στόχο (αποδεκτή συνάρτηση). Όπως μπορεί να αποδειχτεί και αυστηρά αυτή η ιδιότητα της f(s) μας εγγυάται ότι ο αλγόριθμος θα βρει πάντα λύση και μάλιστα θα βρει πρώτα την καλύτερη λύση. Ο αλγόριθμος Α* δηλαδή, είναι πλήρης και βέλτιστος. Αναζήτηση Α* - Ιδιότητες Άλλη σημαντική Ιδιότητα: πληροφόρηση Πληροφόρηση: αν h 1 (n) & h 2 (n) είναι αποδεκτές συναρτήσεις (δηλ. Δεν υπερεκτιμούν την απόσταση σε στόχο) και & h 1 (n) >= h 2 (n), τότε οι κόμβοι που ο A* εξετάζει χρησιμοποιώντας την h 1 είναι υποσύνολο αυτών που εξετάζει χρησιμοποιώντας την h 2 δηλαδή η h 1 (n) θα οδηγήσει σε πιο γρήγορη αναζήτηση ακραία περίπτωση: h 2 (n) = 0 = καθόλου πληροφόρηση - τότε ότι παραπάνω ξέρει η h 1 θα βελτίωνε την αναζήτηση θα λέμε ότι η h 1 είναι πιο πληροφορημένη από την h 2

Αναζήτηση Α* - Ιδιότητες Σταθερότητα: Αν η h σπάνια υπερεκτιμά την απόσταση το πολυ s, τότε ο A* σπάνια θα βρεί λύσεις που είναι χειρότερες από την καλύτερη αρα, είναι χρήσιμο να έχουμε καλή εκτίμηση της h Πληρότητα: Ο A* θα τελειώσει και θα βρεί τη βέλτιστη λύση ακόμα και σε άπειρους χώρους αναζήτησης, αν υπάρχει βέλτιστη λύση και όλα τα κόστη είναι θετικά Μονότονη συνάρτηση: Αν για όλα τα n, m όπου m είναι απόγονος του n και h(n) - h(m) <= cost(n, m), τότε όποτε επισκεφτόμαστε ένα κόμβο, θα είμαστε εκεί με τον συντομότερο δρόμο δεν χρειάζεται να θυμόμαστε τα μονοπάτια ακραία περίπτωση: h(n) = 0 [κατά πλάτος] Αναζήτηση Α* Αλγόριθμος: 1. Δημιούργησε μία ουρά (queue) που αρχικά έχει τη ρίζα (root). 2. Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί, έλεγξε αν το πρώτο στοιχείο είναι ο στόχος. 2α. Αν είναι μην κάνεις τίποτα. 2β. Αν δεν είναι, τότε: - βγάλε το πρώτο στοιχείο - βάλε τα παιδιά του πρώτου στοιχείου πίσω στην ουρά - ταξινόμησε όλη την ουρά με βάση την f(s) (ο καλύτερος κόμβος μπροστά) 3. Αν έχει βρεθεί ο στόχος, τότε έχουμε επιτυχία, αλλιώς, αποτυχία.

Αναζήτηση Α* Πλήρης - Ο(b m ) χρόνου και χώρου -βέλτιστη λύση f(s)=d(s)+h(s) 21 A 1 με h(s) 0 αποδεκτή 2 7 B 2 8 D 7 4 20 F 13 6 G 8 3 0 I 22 76 J 27 5 5 K 10 6 2 M 22 2 M 107 3 N 16 0 R 16 0 56 U 0 38 43 1 T V X Y Z 33 34 27 44 16 28 Σύγκριση αλγορίθμων Όνομα αλγορίθμου Πολυπλοκότητα χρόνου Πολυπλοκότητα χώρου Πληρότητα Κατά πλάτος O(b m ) O(b m ) ΝΑΙ ΟΧΙ Κατά βάθος O(b m ) O(bm) ΟΧΙ ΟΧΙ Αναρρίχησης O(b m ) O(bm) ΟΧΙ ΟΧΙ Σταδιακής εκβάθυνσης Με βάση το κόστος Περιορισμένης δέσμης Άπληστη αναζήτηση O(b m ) O(bm) ΝΑΙ ΟΧΙ Βέλτιστη Λύση O(b m ) O(b m ) αναλόγως την d(s) αναλόγως την d(s) O(k m ) O(k m ) ή O(km) ΟΧΙ ΟΧΙ O(b m ) O(b m ) αναλόγως την h(s) OXI Α* O(b m ) O(b m ) ΝΑΙ ΝΑΙ

Γενικοί παράγοντες στην αναζήτηση βέλτιστη - κάποια λύση μεγάλοι χώροι αναζήτησης - βέλτιστη λύση κόστος εκτέλεσης της αναζήτησης - κόστος να βρείς μια λύση γνώση σε σχέση με το πρόβλημα - brute force implicit - explicit στόχοι