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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 Διάσχιση κατευθυνόμενων γραφημάτων

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Επαναληπτικές Διαδικασίες

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

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

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

Τεχνητή Νοημοσύνη Ι. Εργαστηριακή Άσκηση 4-6. Σγάρμπας Κυριάκος. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστων

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

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

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων

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

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές

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

Δυναµικός Προγραµµατισµός (ΔΠ)

Ασκήσεις ανακεφαλαίωσης στο μάθημα Τεχνητή Νοημοσύνη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

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

Προγραμματισμός Η/Υ. 4 η ενότητα: Δομές Δεδομένων. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

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

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

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Βασικές Δομές Δεδομένων

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων

1 Το πρόβλημα της συντομότερης διαδρομής

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ. Όνομα:.. Βαθμός: /100

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Τελικές εξετάσεις 24 Ιουνίου 2004

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

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

ΑΕΠΠ Ερωτήσεις θεωρίας

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

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

Transcript:

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

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

Αλγόριθμοι τυφλής Αναζήτησης Οι αλγόριθµοι τυφλής αναζήτησης (blind search algorithms) εφαρµόζονται σε προβλήµατα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης. Παράδειγµα: Έστω το πρόβληµα των ποτηριών: 3

Παράδειγµα Το πρόβληµα των ποτηριών: Τελεστής: Γέµισε το ποτήρι των Χ ml µέχρι το χείλος από τη βρύση Προϋποθέσεις: Το ποτήρι των Χ ml έχει 0 ml Αποτελέσµατα: Το ποτήρι των Χ ml έχει Χ ml Τελεστής: Γέµισε το ποτήρι των Χ 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 Τελεστής: Άδειασε το ποτήρι των Χ ml στο νεροχύτη Προϋποθέσεις: Το ποτήρι έχει περιεχόµενο ΑποτελέσµαταΤο ποτήρι των Χ ml έχει 0 ml 4

Ποτήρια: δένδρο αναζήτησης 5

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

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

Αναζήτηση πρώτα σε βάθος (DFS) 8

Παράδειγμα αναζήτησης (DFS) Μέτωπο αναζήτησης Κλειστό σύνολο Κατάσταση Παιδιά (Α) {} Α Β, Γ (Β, Γ) {Α} Β Α, (Α,, Γ) {Α, Β} Α (βρόχος) (, Γ) {Α, Β} Β, Ζ, Γ (Β, Ζ, Γ, Γ) {Α, Β, } Β (βρόχος) (Ζ, Γ, Γ) {Α, Β, } Ζ Α, Θ, (Α, Θ,, Γ, Γ) {Α, Β,, Ζ} Α (βρόχος) (Θ,, Γ, Γ) {Α, Β,, Ζ} Θ Ζ,, Ι (Ζ,, Ι,, Γ, Γ) {Α, Β,, Ζ, Θ} Ζ (βρόχος) (, Ι,, Γ, Γ) {Α, Β,, Ζ, Θ} (βρόχος) (Ι,, Γ, Γ) {Α, Β,, Ζ, Θ} Ι Κ, Γ, Β (Κ, Γ, Β,, Γ, Γ) {Α, Β,, Ζ, Θ, Ι} Κ (τελική) 9

Χαρακτηριστικά του DFS Το µέτωπο της αναζήτησης είναι µια δοµή στοίβας (Stack LIFO, Last In First Out) Η εξέταση αµέσως προηγουµένων (χρονικά) καταστάσεων ονοµάζεται χρονική οπισθοδρόµηση (chronological backtracking). Πλεονεκτήµατα: Έχει µικρές απαιτήσεις σε χώρο διότι το µέτωπο της αναζήτησης δε µεγαλώνει πάρα πολύ. Μειονεκτήµατα: εν εγγυάται ότι η πρώτη λύση που θα βρεθεί είναι η βέλτιστη (µονοπάτι µε το µικρότερο µήκος ή µε µικρότερο κόστος). Εν γένει θεωρείται ατελής (αν δεν υπάρχει έλεγχος βρόχων ή αν ο χώρος αναζήτησης είναι µη πεπερα-σµένος) 10

Οπισθοδρόμηση στον DFS a b g a c f a (βρόχος) (αδιέξοδο) (βρόχος) i (τελική) d (τελική αλλά ζητώ κι άλλη λύση) e (αδιέξοδο) 11

Οπισθοδρόμηση στον DFS Μέτωπο Κλειστό σύνολο Κατ/ση Παιδιά (a) {} a b, g (b, g) {a} b a, c, f (a, c, f, g) {a, b} a (βρόχος) (c, f, g) {a, b} c d, e (d, e, f, g) {a, b, c} d (τελική) (e, f, g) {a, b, c, d} e (δεν υπάρχουν) (f, g) {a, b, c, d, e} f (δεν υπάρχουν) (g) {a, b, c, d, e, f} g a, i (a, i) (a, b, c, d, e, f, g} a (βρόχος) (i) (a, b, c, d, e, f, g} i (τελική) 12

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

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

Αναζήτηση πρώτα σε πλάτος (BFS) 15

Παράδειγμα αναζήτησης BFS Μέτωπο αναζήτησης Κλειστό σύνολο Κατάσταση Παιδιά (Α) {} Α Β, Γ (Β, Γ) {Α} Β Α, (Γ, Α, ) {Α, Β} Γ Ε, Α (Α,, Ε, Α) {Α, Β, Γ} Α (βρόχος) (, Ε, Α) {Α, Β, Γ} Β, Ζ, Γ (Ε, Α, Β, Ζ, Γ) {Α, Β, Γ, } Ε Α, Η (Α, Β, Ζ, Γ, Α, Η) {Α, Β, Γ,, Ε} Α (βρόχος) (Β, Ζ, Γ, Α, Η) {Α, Β, Γ,, Ε} Β (βρόχος) (Ζ, Γ, Α, Η) {Α, Β, Γ,, Ε} Ζ Α, Θ, (Γ, Α, Η, Α, Θ, ) {Α, Β, Γ,, Ε, Ζ} Γ (βρόχος) (Α, Η, Α, Θ, ) {Α, Β, Γ,, Ε, Ζ} Α (βρόχος) (Η, Α, Θ, ) {Α, Β, Γ,, Ε, Ζ} 16

Παράδειγμα BFS συνέχεια Μέτωπο Κλειστό σύνολο Κατ/ση Παιδιά (Η, Α, Θ, ) {Α, Β, Γ,, Ε, Ζ} Η Ε, Γ (Α, Θ,, Ε, Γ) {Α, Β, Γ,, Ε, Ζ, Η} Α (βρόχος ) (Θ,, Ε, Γ) {Α, Β, Γ,, Ε, Ζ, Η} Θ Ζ,, Ι (, Ε, Γ, Ζ,, Ι) {Α, Β, Γ,, Ε, Ζ, Η, Θ} (βρόχος ) (Ε, Γ, Ζ,, Ι) {Α, Β, Γ,, Ε, Ζ, Η, Θ} Ε (βρόχος ) (Γ, Ζ,, Ι) {Α, Β, Γ,, Ε, Ζ, Η, Θ} Γ (βρόχος ) (Ζ,, Ι) {Α, Β, Γ,, Ε, Ζ, Η, Θ} Ζ (βρόχος ) (, Ι) {Α, Β, Γ,, Ε, Ζ, Η, Θ} (βρόχος ) (Ι) {Α, Β, Γ,, Ε, Ζ, Η, Θ} Ι Κ, Γ, Β (Κ, Γ, Β) {Α, Β, Γ,, Ε, Ζ, Η, Θ, Ι} Κ (τελική) 17

Χαρακτηριστικά BFS Το µέτωπο της αναζήτησης είναι µια δοµή ουράς (Queue FIFO, δηλαδή First In First Out). Πλεονεκτήµατα: Βρίσκει πάντα την καλύτερη λύση (µικρότερη σε µήκος). Είναι πλήρης. Μειονεκτήµατα: Το µέτωπο της αναζήτησης µεγαλώνει πολύ σε µέγεθος. 18

DFS Graphical Example 19

BFS Graphical Example 20

Επαναληπτική εμβάθυνση Iterative deepening (ID) Ο αλγόριθµος επαναληπτικής εκβάθυνσης συνδυάζει τους DFS και BFS ως εξής: Ορίζει ένα αρχικό βάθος αναζήτησης, έστω d. Εκτελεί τον DFS σε όλο το χώρο αναζήτησης µέχρι κάποιο συγκεκριµένο βάθος. Εάν δεν βρεθεί λύση, αυξάνει το d και ξαναεκτελεί τον DFS εξαρχής και µέχρι το νέο βάθος. 21

Επαναληπτική εμβάθυνση (ID) 1. Όρισε το αρχικό βάθος αναζήτησης (π.χ. 1). 2. Εφάρμοσε τον DFS (χωρίς κλειστό σύνολο) μέχρι το βάθος αναζήτησης. 3. Αν βρέθηκε λύση, σταμάτησε. 4. Αύξησε το βάθος αναζήτησης (κατά 1 ή περισσότερο). 5. Πήγαινε στο βήμα 2. Αποτελεί συνδυασμό DFS και BFS. Για βήμα αύξησης βάθους 1, βρίσκει πρώτα τη συντομότερη λύση, όπως ο BFS (αποδεκτός). Πλήρης σε πεπερασμένους χώρους αναζήτησης. Μικρές απαιτήσεις σε μνήμη, όπως ο DFS. Σε κάθε επανάληψη δε θυμάται τίποτα από τις προηγούμενες! 22

Επαναληπτική εμβάθυνση (ID) 23

Επαναληπτική εμβάθυνση (ID) 24

Επαναληπτική εμβάθυνση (ID) 25

Παρατηρήσεις Μειονεκτήµατα: Όταν ο αλγόριθµος ID ξαναρχίσει µε διαφορετικό βάθος, δεν θυµάται τίποτα από την προηγούµενη αναζήτηση. Πλεονεκτήµατα: Είναι πλήρης. Έχει µικρές απαιτήσεις σε µνήµη. εν χάνεται σε κλαδιά άπειρου µήκους. Αν το βάθος αυξάνεται κατά 1 σε κάθε κύκλο και ο ID βρει λύση, τότε αυτή η λύση θα είναι η καλύτερη. Αν το βάθος αυξάνεται κατά d σε κάθε βήµα, τότε η πρώτη λύση που θα βρεθεί θα είναι το πολύ κατά d-1 µεγαλύτερη της βέλτιστης. 26

Αναζήτηση διπλής κατεύθυνσης (Bidirectional Search, BiS) Γενική ιδέα: Ξεκινούµε να ψάχνουµε ταυτόχρονα από την αρχική προς την τελική κατάσταση, αλλά και από την τελική προς την αρχική. Οι δύο κατευθύνσεις της αναζήτησης µπορούν να εκτελεστούν παράλληλα. Όταν οι δύο κατευθύνσεις αναζήτησης συναντήσουν την ίδια κατάσταση, ο αλγόριθµος τερµατίζει. " εν µας ενδιαφέρει ποιος αλγόριθµος αναζήτησης χρησιµοποιείται σε κάθε κατεύθυνση (µπορεί να είναι και διαφορετικοί). Προϋποθέσεις κάτω από τις οποίες µπορεί να εφαρµοστεί: Οι τελεστές µετάβασης είναι αντιστρέψιµοι (reversible), και Είναι πλήρως γνωστή η τελική κατάσταση. Μειονεκτήµατα Υπάρχει επιπλέον κόστος που οφείλεται στην επικοινωνία µεταξύ των δύο αναζητήσεων. 27

Αναζήτηση διπλής κατεύθυνσης υνατότητα παράλληλης αναζήτησης. Οι τελεστές μετάβασης πρέπει να είναι αντιστρέψιμοι. Η τελική κατάσταση πρέπει να είναι πλήρως γνωστή. Κόστος επικοινωνίας μεταξύ των δύο κατευθύνσεων. 28