Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις μελέτης της 19 ης διάλεξης

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

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

Αριθμητική Ανάλυση & Εφαρμογές

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

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

Ασκήσεις μελέτης της 8 ης διάλεξης

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

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

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

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

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

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

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

ΑΝΑΚΟΙΝΩΣΗ ΚΑΤΑΤΑΚΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ ΑΚ. ΈΤΟΥΣ

Στοχαστικές Στρατηγικές. διαδρομής (1)

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

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

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

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

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

Ασκήσεις μελέτης της 6 ης διάλεξης

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

Φροντιστήριο 8 Λύσεις

Μη γράφετε στο πίσω μέρος της σελίδας

Υπολογιστικό Πρόβληµα

Μη γράφετε στο πίσω μέρος της σελίδας

Φροντιστήριο 8 Λύσεις

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

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

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

α n z n = 1 + 2z 2 + 5z 3 n=0

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

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

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

Στοχαστικές Στρατηγικές. διαδρομής (3)

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

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

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

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

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

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

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

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

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

Ψευδοκώδικας. November 7, 2011

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

Αναζήτηση Κατά Πλάτος

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

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

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

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

4.3 Ορθότητα και Πληρότητα

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

Θεωρία Παιγνίων Δρ. Τασσόπουλος Ιωάννης

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα

Ευφυείς Τεχνολογίες Πράκτορες

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ-ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ. ΜΕΡΟΣ Α : Άλγεβρα. Κεφάλαιο 2 ο (Προτείνεται να διατεθούν 12 διδακτικές ώρες) Ειδικότερα:

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Transcript:

Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1

Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας Εκδοτική, 2006 και Artificial Intelligence A Modern Approach των S. Russel και P. Norvig, 2η έκδοση, Prentice Hall, 2003. Τα περισσότερα σχήματα των διαφανειών προέρχονται από αντίστοιχες διαφάνειες των δύο βιβλίων. 2

Τι θα ακούσετε σήμερα Επίλυση προβλημάτων με αναζήτηση σε χώρους καταστάσεων. Αναζήτηση πρώτα σε πλάτος. Χρήση κλειστού συνόλου. 3

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

Απλά προβλήματα διδασκαλίας κύβοι πλακίδια ποτήρια κανίβαλοι & ιεραπόστολοι 5

Παράσταση προβλήματος Αρχική κατάσταση και τελική κατάσταση Ενδέχεται να υπάρχουν πολλές τελικές καταστάσεις. Ενδέχεται να γνωρίζουμε μόνο μερικά επιθυμητά χαρακτηριστικά τους (π.χ. να μην μπορεί να κινηθεί ο βασιλιάς). Διαθέσιμες ενέργειες (τελεστές μετάβασης) π.χ. μετακίνηση πλακιδίου αριστερά, δεξιά, κλπ. Παραδοχές για απλούστευση: Το περιβάλλον δεν αλλάζει όσο ψάχνουμε και έχουμε πλήρη εικόνα του. Υπάρχουν πεπερασμένες δυνατές ενέργειες και γνωρίζουμε πλήρως τις συνέπειές τους. 6

Καταστάσεις Κατάσταση: Παράσταση ενός στιγμιότυπου του κόσμου του προβλήματος. Περιέχει μόνο πληροφορίες σχετικές με τη λύση του προβλήματος (αφαιρετική παράσταση του στιγμιότυπου). Περιέχει όλες τις απαραίτητες πληροφορίες που σχετίζονται με τη λύση (επαρκής παράσταση του στιγμιότυπου). Η επιλογή τρόπου παράστασης απαιτεί και αυτή ευφυία! Εδώ θεωρούμε ότι κάποιος έχει ήδη επιλέξει κατάλληλο τρόπο παράστασης των στιγμιότυπων. Στην πράξη συνήθως χρησιμοποιείται μια τυπική γλώσσα παράστασης γνώσεων (π.χ. λογική). blocks([a,b,c]). on(a,b). on(b, table). on(c, table). 7

Παράδειγμα τελεστή μετάβασης Τελεστής: Μεταφορά 2 ιεραποστόλων από την όχθη Α στην όχθη Β. Προϋποθέσεις: Τουλάχιστον 2 ιεραπόστολοι στην όχθη Α. Βάρκα στην όχθη Α. Προκύπτει επιτρεπτός συσχετισμός ιεραποστόλωνκανιβάλων στις όχθες. Αποτέλεσμα: Βάρκα στην όχθη Β. Ο αριθμός ιεραποστόλων στην όχθη Α μειώνεται κατά 2. Ο αριθμός ιεραποστόλων στην όχθη Β αυξάνεται κατά 2. 8

Παράδειγμα χώρου καταστάσεων 9

Χώρος καταστάσεων και αναζήτησης Χώρος καταστάσεων: Το σύνολο των επιτρεπτών καταστάσεων. Μπορεί να παρασταθεί ως γράφος, μαζί με τις δυνατές μεταβάσεις: Κόμβοι: επιτρεπτές καταστάσεις. Ακμές: δυνατές μεταβάσεις με χρήση τελεστών. Χώρος αναζήτησης: Υποσύνολο του χώρου καταστάσεων. Περιέχει μόνο τις καταστάσεις στις οποίες μπορούμε να φτάσουμε από την αρχική. 10

Τυπική παράσταση προβλήματος Πρόβλημα: P = (S, I, G, T, c) S: το σύνολο των καταστάσεων. Ι: αρχική κατάσταση (I S). G: το σύνολο των τελικών καταστάσεων (G S). T: το σύνολο των τελεστών μετάβασης. c: συνάρτηση κόστους (βλ. παρακάτω). Λύση προβλήματος: <t 1, t 2,, t n >, με t n ( (t 2 (t 1 (I)))) = g, g G, t i T. Παράδειγμα: κινήσεις που λύνουν το πρόβλημα των κανιβάλων ή εφαρμογές αξιωμάτων και γνωστών θεωρημάτων που αποδεικνύουν κάποιο ζητούμενο. Μπορεί να μας ενδιαφέρει μόνο να βρούμε μια τελική κατάσταση, όχι το πώς φτάνουμε σε αυτήν (π.χ. εύρεση προγράμματος εξετάσεων που ικανοποιεί περιορισμούς). 11

Παράδειγμα λύσης αρχική κατάσταση: 3 Ι, 3 Κ 0 Ι, 0 Κ (βάρκα αριστερά) 1 Ι & 1 Κ, Α Δ S1: 2 I, 2 K 1 I, 1 K (βάρκα δεξιά) 1 I, Α Δ S2: 3 I, 2 K 0 Ι, 1 Κ (βάρκα αριστερά) 2 Κ, Α Δ S3: 3 I, 0 K 0 I, 3 K (βάρκα δεξιά) 1 Κ, Α Δ S4: 3 I, 1 K 0 I, 2 K (βάρκα αριστερά) 2 I, A Δ S5: 1 I, 1 K 2 I, 2 K (βάρκα δεξιά) 12

Παράδειγμα λύσης συνέχεια S5: 1 I, 1 K 2 I, 2 K (βάρκα δεξιά) 1 Ι & 1 Κ, Α Δ S6: 2 Ι, 2 Κ 1 Ι, 1 Κ (βάρκα αριστερά) 2 Ι, Α Δ S7: 0 I, 2 K 3 I, 1K (βάρκα δεξιά) 1 K A Δ S8: 0 Ι, 3 Κ 3 Ι, 0 Κ (βάρκα αριστερά) 2 Κ, Α Δ S9: 0 Ι, 1 Κ 3 Ι, 2 Κ (βάρκα δεξιά) 1 Ι, Α Δ S10: 1 I, 1 K 2 I, 2 K (βάρκα αριστερά) 1 I & 1 K, A Δ τελική κατάσταση: 0 I, 0 K 3 I, 3 K (βάρκα δεξιά) 13

Κόστος μεταβάσεων 14

Κόστος λύσεως c(s 1, t, s 2 ) R: Κόστος μεταβάσεως από την s 1 στην s 2 με τον τελεστή t. Στο πρόβλημα των κανιβάλων και ιεραποστόλων, όλες οι μεταβάσεις είχαν κόστος 1. Θεωρούμε ότι το κόστος μιας λύσης (μονοπατιού) είναι το άθροισμα του κόστους των μεταβάσεών της. Π.χ. η πιο σύντομη διαδρομή ή μαθηματική απόδειξη. Δεν ισχύει πάντα. Μπορεί π.χ. το κόστος της λύσης να θεωρούμε ότι εξαρτάται μόνο από την τελική κατάσταση στην οποία φτάσαμε (π.χ. κόστος υλοποίησης προγράμματος εξετάσεων), όχι από τις μεταβάσεις που οδήγησαν σε αυτήν. Βέλτιστη λύση: εκείνη με το μικρότερο κόστος. 15

Ο χώρος αναζήτησης ως δένδρο αρχική κατάσταση Στο δένδρο μπορεί να υπάρχουν πολλοί κόμβοι για την ίδια κατάσταση (π.χ. περίπτωση επιστροφής σε μία κατάσταση). Κύκλοι του γράφου άπειρα μονοπάτια του δένδρου. Φύλλα του δένδρου: τελικές καταστάσεις ή αδιέξοδα. 16

Επέκταση και μέτωπο αναζήτησης Επέκταση κόμβου: Η παραγωγή των παιδιών ενός κόμβου στο δένδρο αναζήτησης. Μέτωπο αναζήτησης: Οι κόμβοι που έχουμε παραγάγει και δεν έχουμε επεκτείνει.... 17

Αξιολόγηση αλγορίθμων αναζήτησης Πλήρης αλγόριθμος: Βρίσκει πάντα μια λύση, αν υπάρχει. Βέλτιστος αλγόριθμος: Η λύση που βρίσκει (αν βρει) είναι βέλτιστη. Πολυπλοκότητα χρόνου και χώρου: Απαιτήσεις σε χρόνο και μνήμη, συναρτήσει των: Μέγιστος παράγοντας διακλάδωσης (b): ο μέγιστος δυνατός αριθμός παιδιών που προκύπτουν από την επέκταση ενός κόμβου. Βάθος της ρηχότερης λύσης (d). Μέγιστο δυνατό βάθος (m) στο δέντρο αναζήτησης. Μπορεί να είναι άπειρο. 18

Αναζήτηση πρώτα σε πλάτος (BFS) Δεν επεκτείνει κατώτερους κόμβους, αν δεν επεκτείνει πρώτα όλους τους κόμβους του μετώπου που ανήκουν σε ανώτερο επίπεδο. 19

Αναζήτηση πρώτα σε πλάτος (ΒFS) 1. Βάλε τη ρίζα (κόμβος αρχικής κατάστασης) στο μέτωπο αναζήτησης. 2. Αν το μέτωπο είναι άδειο, σταμάτα. 3. Βγάλε τον πρώτο σε σειρά κόμβο από το μέτωπο. 4. Αν ο κόμβος αντιστοιχεί σε τελική κατάσταση, επίστρεψε τη λύση. 5. Επέκτεινε τον κόμβο και πρόσθεσε τα παιδιά του στο τέλος του μετώπου αναζήτησης (ουρά). 6. Πήγαινε στο βήμα 2. 20

Κόμβοι που παριστάνουν καταστάσεις Περιεχόμενα κάθε κόμβου: Κατάσταση που παριστάνει. Πατέρας και τελεστής που οδήγησαν σε αυτή. Βάθος, κόστος μονοπατιού ως εκεί κλπ. 21

Χαρακτηριστικά του BFS Πλήρης, αν το b είναι πεπερασμένο. Βέλτιστος, αν το κόστος λύσεως είναι αύξουσα συνάρτηση (αποκλειστικά) του βάθους. Π.χ. αν όλες οι μεταβάσεις κοστίζουν το ίδιο c > 0. Χρονική πολυπλοκότητα: O(b d+1 ). Μετράμε πόσους κόμβους παράγουμε. Στη χειρότερη περίπτωση, η τελική κατάσταση είναι ο τελευταίος κόμβος που εξετάζουμε στο επίπεδό της. b + b 2 + b 3 +... + b d + (b d+1 b) = O(b d+1 ). Πολυπλοκότητα χώρου: O(b d+1 ). Αποθηκεύουμε όλους τους κόμβους που παράγουμε, για να μπορέσουμε να επιστρέψουμε τη λύση. Ίδια πολυπλοκότητα και αν αποθηκεύουμε μόνο το μέτωπο. 22

Προβλήματα με κύκλους A B... A... C... χώρος αναζήτησης ως γράφος Οι κύκλοι του γράφου αναζήτησης γίνονται άπειρα μονοπάτια στο δένδρο αναζήτησης. Αν δεν υπάρχει λύση, ο BFS θα συνεχίσει να ψάχνει κατά μήκος των άπειρων μονοπατιών. Δεν θέλουμε να ψάχνουμε κάτω από κόμβους καταστάσεων που έχουμε ήδη συναντήσει, για να αποφύγουμε τέτοια άπειρα μονοπάτια (κύκλους). 23... A C... B......... χώρος αναζήτησης ως δέντρο

Αποφυγή άσκοπης έρευνας A B C D E B G F H D E G Γενικότερα δεν θέλουμε να ψάχνουμε κάτω από κόμβους καταστάσεων που έχουμε ήδη συναντήσει, γιατί επαναλαμβάνουμε δουλειά. Στο παράδειγμα του σχήματος, το κάτω υποδέντρο του Β είναι αντίγραφο του πιο πάνω. Αν η F είναι τελική κατάσταση, περιλαμβάνεται και στο πιο πάνω υποδέντρο του Β, με μικρότερη απόσταση από τη ρίζα. 24 F H

Κλειστό σύνολο Αποθηκεύουμε στο «κλειστό σύνολο» τις καταστάσεις (όχι κόμβους) που έχουμε συναντήσει. «Συναντούμε» μια κατάσταση όταν ελέγχουμε (για τελική κατάσταση) έναν κόμβο που αντιστοιχεί σε αυτήν και επεκτείνουμε τον κόμβο (αν δεν είναι τελική). Στη χειρότερη (ως προς την απαιτούμενη μνήμη) περίπτωση, κάθε κόμβος αντιστοιχεί σε διαφορετική κατάσταση. Άρα στη χειρότερη περίπτωση αποθηκεύουμε στο κλειστό σύνολο τόσες καταστάσεις όσοι είναι οι κόμβοι που ελέγχουμε, που στη χειρότερη περίπτωση είναι όλοι οι κόμβοι που παράγουμε. Άρα στη χειρότερη περίπτωση χρειαζόμαστε διπλάσια μνήμη: O(b d+1 ) + O(b d+1 ). Δεν αλλάζει η πολυπλοκότητα χώρου του BFS. 25

ΒFS με κλειστό σύνολο 1. Βάλε τη ρίζα (κόμβος αρχικής κατάστασης) στο μέτωπο αναζήτησης και θέσε κλειστό σύνολο = {}. 2. Αν το μέτωπο είναι άδειο, σταμάτα. 3. Βγάλε τον πρώτο σε σειρά κόμβο από το μέτωπο. 4. Αν ο κόμβος αντιστοιχεί σε τελική κατάσταση, επίστρεψε τη λύση. 5. Αν η κατάσταση του κόμβου ανήκει στο κλειστό σύνολο, πήγαινε στο βήμα 2. Διαφορετικά πρόσθεσε την κατάσταση στο κλειστό σύνολο. 6. Επέκτεινε τον κόμβο και πρόσθεσε τα παιδιά του στο τέλος του μετώπου αναζήτησης (ουρά). 7. Πήγαινε στο βήμα 2. 26

BFS με κλειστό σύνολο 27

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

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

Βιβλιογραφία Russel & Norvig: κεφάλαιο 3 ως σελ. 109 και ενότητα 3.5. Βλαχάβας κ.ά.: κεφάλαιο 2 (εκτός της ενότητας 2.1.2), εισαγωγή κεφαλαίου 3, ενότητα 3.2. Όσοι ενδιαφέρονται μπορούν να διαβάσουν προαιρετικά (εκτός εξεταστέας ύλης) και την ενότητα 2.1.2. 30