ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ TEXNHTH ΝΟΗΜΟΣΥΝΗ ΕΡΓΑΣΙΑ 1 η ΑΠΑΝΤΗΣΕΙΣ 1. Α. ΧΩΡΟΣ ΚΑΤΑΣΤΑΣΕΩΝ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

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

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

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

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

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

6 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

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

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

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

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

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

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

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

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

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

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

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

2.1 (i) f(x)=x -3x+2 Η f(x) ορίζεται x R

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

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

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

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

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Πληροφορική 2. Αλγόριθμοι

9. Κόκκινα-Μαύρα Δέντρα

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

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

Κεφάλαιο 10 Ψηφιακά Λεξικά

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

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

Τσάπελη Φανή ΑΜ: Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Δομές Δεδομένων (Data Structures)

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

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

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

Σειρά Προβλημάτων 5 Λύσεις

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

Ημερομηνία Ανάρτησης: 08/1/2018 Ημερομηνία Παράδοσης: - Αρχές Γλωσσών Προγραμματισμού

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

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

===========================================================================

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

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

Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

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

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Μεταβλητες: Q, NSW, V, T, SA, WA, NT. Πεδίο Ορισμού: Για κάθε μεταβλητη το ίδιο. D i ={R, G, B} όπου i= Q, NSW,., NT.

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης

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

Περιεχόμενα. Περιεχόμενα

Ουρά Προτεραιότητας (priority queue)

Θεωρία Γραφημάτων 6η Διάλεξη

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

Μελέτη και έλεγχος της διατήρησης της μηχανικής ενέργειας στην ελεύθερη πτώση σώματος. (Ανάλυση video μέσω του Σ.Σ.Λ.Α, LoggerPro της Vernier)

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

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

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

4. ΔΙΚΤΥΑ

Σχετική κίνηση αντικειμένων

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

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

Προβλήματα Μεταφορών (Transportation)

Δικτυακή Αναπαράσταση Έργων (Δίκτυα ΑΟΑ και ΑΟΝ) & η Μέθοδος CPM. Λυμένες Ασκήσεις & Παραδείγματα

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

Στοιχεία Θεωρίας Γραφηµάτων (1)

Ενδεικτικές Ερωτήσεις Θεωρίας

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

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

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.ds.unipi.gr TEXNHTH ΝΟΗΜΟΣΥΝΗ 2017-2018 ΕΡΓΑΣΙΑ 1 η ΑΠΑΝΤΗΣΕΙΣ 1. Α. ΧΩΡΟΣ ΚΑΤΑΣΤΑΣΕΩΝ Για το πρόβλημα των πύργων Ανόι: Σύνολο καταστάσεων: Στις καταστάσεις, αποθηκεύουμε τις πληροφορίες σχετικά με τις τρέχουσες θέσεις των δίσκων. Αναπαριστώ μία κατάσταση με μία τριάδα (Χ, Υ, Ζ) όπου Χ {P, Q, R} και δείχνει σε ποιο πύργο βρίσκεται ο δίσκος 1, δηλαδή {P, Q, R} και δείχνει σε ποιο πύργο βρίσκεται ο δίσκος 2 στο {P, Q, R} και δείχνει σε ποιο πύργο βρίσκεται ο δίσκος 3 στο {P, Q, R}. Είναι δηλαδή μία διατεταγμένη τριάδα (Χ,Υ,Ζ) όπου τα Χ,Υ και Ζ αναπαριστούν την θέση των δίσκων 1,2 και 3 αντίστοιχα και μπορούν να λάβουν τις τιμές P, Q και R, με Χ,Υ,Ζ {P, Q, R}. Αρχική κατάσταση: Αρχικά, όλοι οι δίσκοι βρίσκονται στη ράβδο P: Άρα η αρχική κατάσταση θα είναι Α = (P, P, P) Σύνολο καταστάσεων στόχων: Ο στόχος είναι να μετακινηθούν και οι τρεις δίσκοι στη ράβδο R. Έτσι, σε αυτό το πρόβλημα, έχουμε μόνο μία κατάσταση στόχου, δηλαδή: L = (R, R, R ) Τελεστές Δράσης: Κάθε τελεστής περιλαμβάνει δύο στοιχεία: - ποιος δίσκο πρέπει να κινηθεί και - σε ποια ράβδο Και συγκεκριμένα: Move I,Θ, όπου Ι μπορεί να πάρει τις τιμές 1,2,3 και Θ τις τιμές P,Q,R Έστω Χ ένας τυχαίος δίσκος {1,2,3} που αναπαριστά τους δίσκους (μικρό,μεσαίο και μεγάλο), αντίστοιχα. Αφού έχουμε ορίσει Χ,Υ και Ζ την αναπαράσταση των θέσεων των τριών δίσκων, ορίζουμε έξι

τελεστές που αναπαριστούν τις κινήσεις (ενέργειες) που επιτρέπονται και μπορούν να εκτελεστούν προκειμένου να μεταβούμε απο μία κατάσταση σε μία άλλη: 1. Μετακίνησε τον δίσκο Χ απο την ράβδο P στην ράβδο Q. Προυποθέσεις: Αν Χ = 1 τότε πρέπει, (Υ Q και Z Q) ή (Υ=Q και Z Q) ή (Υ Q και Z=Q) ή (Υ=Q και Z=Q) Αν Χ = 2 τότε πρέπει, {(Χ Q και Z Q) ή (Χ Q και Z=Q)} και (Χ P) Αν Χ = 3 τότε πρέπει, (X P,Q και Y P,Q) Αποτέλεσμα: Ο δίσκος Χ μετακινείται απο την ράβδο P στην ράβδο Q. 2. Μετακίνησε τον δίσκο Χ απο την ράβδο Q στην ράβδο R. Προυποθέσεις: Αν Χ = 1 τότε πρέπει, (Υ R και Z R) ή (Υ=R και Z R) ή (Υ R και Z=R) ή (Υ=R και Z=R) Αν Χ = 2 τότε πρέπει, {(Χ R και Z R) ή (Χ R και Z=R)} και (Χ Q) Αν Χ = 3 τότε πρέπει, (X Q,R και Y Q,R) Αποτέλεσμα: Ο δίσκος Χ μετακινείται απο την ράβδο Q στην ράβδο R. 3. Μετακίνησε τον δίσκο Χ απο την ράβδο R στην ράβδο Q. Προυποθέσεις: Αν Χ = 1 τότε πρέπει, (Υ Q και Z Q) ή (Υ=Q και Z Q) ή (Υ Q και Z=Q) ή (Υ=Q και Z=Q) Αν Χ = 2 τότε πρέπει, {(Χ Q και Z Q) ή (Χ Q και Z=Q)} και (Χ R) Αν Χ = 3 τότε πρέπει, (X Q,R και Y Q,R) Αποτέλεσμα: Ο δίσκος Χ μετακινείται απο την ράβδο R στην ράβδο Q. 4. Μετακίνησε τον δίσκο Χ απο την ράβδο Q στην ράβδο P. Προυποθέσεις: Αν Χ = 1 τότε πρέπει, (Υ P και Z P) ή (Υ=P και Z P) ή (Υ P και Z=P) ή (Υ=P και Z=P) Αν Χ = 2 τότε πρέπει, {(Χ P και Z P) ή (Χ P και Z=P)} και (Χ Q) Αν Χ = 3 τότε πρέπει, (X P,Q και Y P,Q) Αποτέλεσμα: Ο δίσκος Χ μετακινείται απο την ράβδο Q στην ράβδο P. 5. Μετακίνησε τον δίσκο Χ απο την ράβδο P στην ράβδο R. Προυποθέσεις: Αν Χ = 1 τότε πρέπει, (Υ R και Z R) ή (Υ=R και Z R) ή (Υ R και Z=R) ή (Υ=R και Z=R) Αν Χ = 2 τότε πρέπει, {(Χ R και Z R) ή (Χ R και Z=R)} και (Χ P) Αν Χ = 3 τότε πρέπει, (X P,R και Y P,R) Αποτέλεσμα: Ο δίσκος Χ μετακινείται απο την ράβδο P στην ράβδο R. 6. Μετακίνησε τον δίσκο Χ απο την ράβδο R στην ράβδο P. Προυποθέσεις: Αν Χ = 1 τότε πρέπει, (Υ P και Z P) ή (Υ=P και Z P) ή (Υ P και Z=P) ή (Υ=P και Z=P) Αν Χ = 2 τότε πρέπει, {(Χ P και Z P) ή (Χ P και Z=P)} και (Χ R) Αν Χ = 3 τότε πρέπει, (X P,R και Y P,R) Αποτέλεσμα: Ο δίσκος Χ μετακινείται απο την ράβδο R στην ράβδο P. Χώρος Καταστάσεων: Ο χώρος καταστάσεων διαμορφώνεται ως εξής: ΣΗΜΕΙΩΣΗ:Με κόκκινο αποτυπώνονται οι αριστεροί κόμβοι, με πράσινο οι δεξιοί και μαύρο οι οριζόντιοι για να είναι διακριτές οι ενέργειες του καθενός

ΧΩΡΟΣ ΚΑΤΑΣΤΑΣΕΩΝ (P,P,P) MOVE 1,Q MOVE 1,R (Q,P,P) MOVE 1,P MOVE 1,P MOVE 1,R (R,P,P) MOVE 2,R MOVE 1,Q MOVE 2,Q (Q,R,P) MOVE 2,P MOVE 2,P (R,Q,P) MOVE 1,R (R,R,P) MOVE 1,Q MOVE 1,P MOVE 1,P MOVE 1,Q MOVE 1,P MOVE 2,Q (P,R,P) (P,Q,P) MOVE 1,R MOVE 1,R MOVE 1,Q MOVE 1,Q (Q,Q,P) MOVE 1,R MOVE 2,R MOVE 1,P MOVE 3,R MOVE 3,Q MOVE 3,P MOVE 3,P (Q,Q,R) (R,R,Q) MOVE 1,R MOVE 1,Q MOVE 1,P MOVE 1,P MOVE 1,Q MOVE 1,Q MOVE 1,R MOVE 1,R MOVE 1,P MOVE (R,Q,R) (P,Q,R) 1,Q (P,R,Q) (Q,R,Q) MOVE 1,R MOVE 2,P MOVE 2,R MOVE MOVE MOVE 2,P 2,Q 1,P MOVE 2,Q MOVE 2,R MOVE 2,R MOVE 2,R (P,R,R) (P,Q,Q) (Q,P,Q) (R,P,R) MOVE 1,P MOVE 1,Q MOVE 1,R MOVE 1,Q MOVE 1,R MOVE 1,P MOVE MOVE 1,R MOVE 1,P 1,R MOVE 1,Q MOVE 1,P MOVE 1,Q MOVE 1,P MOVE MOVE MOVE 1,Q 1,R 1,P MOVE 1,R MOVE MOVE MOVE 2,P 1,P 3,R MOVE MOVE 1,Q 2,R MOVE 1,R (R,R,R) (P,P,Q) (P,P,R) (Q,P,R) (Q,R,R) (Q,Q,Q) (R,Q,Q) (R,P,Q) MOVE MOVE 2,P MOVE 1,Q MOVE MOVE 1,R MOVE 1,Q 2,Q 3,Q MOVE 1,P

Σε πίνακα (βλέπε παρακάτω) αποτυπώνονται αναλυτικά οι κόμβοι (καταστάσεις) και οι διαδοχικές τους καταστάσεις (κόμβοι) σύμφωνα με τις ακμές (συναρτήσεις διαδοχής καταστάσεων). Παρατήρηση: Αναγράφονται μόνο τα πιθανά έως ένα σημείο (για να δοθεί παράδειγμα του πως ακριβώς κινηθήκαμε) και στη συνέχεια αποτυπώνονται μόνο αυτά που έχουν νόημα για την επίλυση της άσκησης. Με Bold αναγράφονται οι καταστάσεις που διατρέχουμε προκειμένου να καταλήξουμε στον κόμβο στόχο (επιθυμητή κατάσταση). ΚΟΜΒΟΙ/ΑΚΜΕΣ ΜOVE (1) ΜOVE (2) ΜOVE (3) ΜOVE (4) ΜOVE (5) ΜOVE (6) (P,P,P) ΑΡΧΙΚΗ (Q,P,P) (R,P,P) ΚΑΤΑΣΤΑΣΗ (Q,P,P) (R,P,P) (P,P,P) (Q,R,P) (R,P,P) (R,Q,P) (Q,P,P) (P,P,P) (Q,R,P) (R,R,P) (P,R,P) (Q,P,P) (R,Q,P) (Q,Q,P) (R,P,P) (P,Q,P) (R,R,P) (R,R,Q) (Q,R,P) (P,R,P) (P,R,P) (Q,R,P) (P,Q,P) (R,R,P) (P,Q,P) (Q,Q,P) (P,R,P) (R,Q,P) (Q,Q,P) (R,Q,P) (P,Q,P) (Q,Q,R) (Q,Q,R) (R,Q,R) (P,Q,R) (Q,Q,P) (P,Q,R) (Q,Q,R) (P,R,R) (R,Q,R) (P,R,R) (Q,R,R) (P,Q,R) (R,R,R) ΤΕΛΙΚΗ ΚΑΤΑΣΤΑΣΗ

Β. ΑΝΑΖΗΤΗΣΗ α. Κατά βάθος αναζήτηση με λίστα εισόδου (P,P,P) (Q,P,P) (R,P,P) (Q,R,P) (R,P,P) (P,R,P) (R,R,P) (P,Q,P) (R,R,P) (Q,Q,P (R,Q,P) (Q,Q,R ) (R,Q,P) (P,Q,R) (R,Q,R) (P,R,R) (R,Q,R) (Q,R,R) (R,R,R) (Q,P,R) (R,R,R ) (P,P,R) (R,P,R) (P,P,R) (R,Q,R) (P,P,Q) (R,P,R) (Q,P,Q) (R,P,Q) (R,Q,Q) (R,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q ) (P,Q,Q ) (Q,Q,Q) (R,R,Q ) (R,R,Q ) (R,Q,Q) (P,R,Q ) (R,R,P) (R,P,Q) (R,Q,Q) (Q,Q,Q)

Οι κόμβοι που διαγράφηκαν οφείλεται στο γεγονός ότι προϋπηρχαν στη λίστα εισόδου. Παρατηρείται ότι όταν ο αλγόριθμος φτάσει στον κόμβο (Q,Q,Q) επειδή δεν μπορεί πλέον να επεκταθεί αρχίζει διαδοχικές οπισθοδομήσεις (καθότι ούτε οι κόμβοι (R,Q,Q) (R,R,Q) (R,P,Q) και (R,P,R) μπορούν να επεκταθούν) ώσπου φτάνει στον κόμβο- στόχο (R,R,R) Επίπεδο Μέτωπο αναζήτησης (ουρά) Κόμβος (σειρά επέκτασης ή τιμή αποτίμησης κόστους για τον κόμβο) Λίστα επέκτασης/ εισόδου 0 (P,P,P) (P,P,P) (P,P,P) 1 (Q,P,P) (R,P,P) (Q,P,P) (P,P,P)(Q,P,P) (R,P,P) 2 (Q,R,P) (R,P,P) (Q,R,P) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) 3 (P,R,P) (R,R,P) (P,R,P) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (R,P,P) 4 (Q,Q,P) (R,Q,P) (Q,Q,P) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) 5 (Q,Q,R) (R,Q,P) (Q,Q,R) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) 6 (P,Q,R) (R,Q,R) (R,Q,P) 7 (P,R,R) (R,Q,R) (R,Q,P) 8 (Q,R,R) (R,R,R) (R,Q,R) (R,Q,P) 9 (Q,P,R) (R,R,R) (R,Q,R) (R,Q,P) 10 (P,P,R) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 11 (P,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 12 (Q,P,Q)(R,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 13 (Q,R,Q)(R,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 14 (P,R,Q) (R,R,Q) (R,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 15 (P,Q,Q) (R,R,Q) (R,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 16 (Q,Q,Q) (R,Q,Q) (R,R,Q) (R,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) (P,Q,R) (P,R,R) (Q,R,R) (Q,P,R) (P,P,R) (P,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q) (P,Q,Q) (Q,Q,Q) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R) (P,P,R) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (Q,P,Q) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R) (P,P,R)(P,P,Q) (Q,P,Q) (Q,R,Q) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q) (P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q) (P,Q,Q) Οπισθοδρόμηση

17 (R,Q,Q) (R,R,Q) (R,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 18 (R,R,Q) (R,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 19 (R,P,Q) (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 20 (R,P,R) (R,R,R) (R,Q,R) (R,Q,P) 21 (R,R,R) (R,Q,R) (R,Q,P) 22 Κόμβος -στόχος (R,Q,Q) (R,R,Q) (R,P,Q) (R,P,R) (R,R,R) P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q) (P,Q,Q) P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q) (P,Q,Q) P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q) (P,Q,Q) P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q) (P,Q,Q) P,P,P)(Q,P,P) (R,P,P) (Q,R,P) (P,R,P) (Q,Q,P) (R,Q,P) (Q,Q,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,R,R) (R,R,R) (Q,R,R)(Q,P,R)(P,P,R) (P,P,Q) (Q,P,Q) (Q,R,Q) (P,R,Q) (P,Q,Q) NAI ΝΑΙ ΝΑΙ ΝΑΙ

β. Αναζήτηση κατά πλάτος με λίστα εισόδου (P,P,P) (Q,P,P) (R,P,P) (Q,R,P) (R,P,P) (Q,P,P) (R,Q,P) (R,R,P) (P,R,P) (P,Q,P) (Q,Q,P) (R,R,Q) (P,R,P) (P,R,P) (Q,Q,P) (Q,Q,R) (P,R,Q) (Q,R,Q) (R,Q,R) (P,Q,R) (P,Q,Q) (Q,R,Q) (P,R,Q) (Q,P,Q) (R,P,R) (P,Q,R) (R,Q,R) (P,R,R) (Q,Q,Q) (R,Q,Q) (R,P,Q) (P,P,Q) (P,P,R) (Q,P,R) (Q,R,R) (R,R,R) (R,Q,Q) (R,Q,Q) (P,P,Q) (P,P,Q) (Q,P,R) (Q,P,R) (R,R,R) (Q,Q,Q) (R,P,Q) (R,P,Q) (P,P,R) (P,P,R) (Q,R,R)

Επίπεδο Μέτωπο αναζήτησης (ουρά) Κόμβος (σειρά επέκτασης ή τιμή αποτίμησης κόστους για τον κόμβο) Λίστα επέκτασης/ εισόδου 0 (PPP) (PPP) (PPP) 1 (QPP) (RPP) (QPP) (PPP) (QPP) (RPP) 2 (RPP) (QRP) (RPP) (PPP) (QPP) (RPP) (QRP) 3 (QRP) (RQP) (QRP) (PPP) (QPP) (RPP) (QRP) (RQP) 4 (RQP) (RRP)(PRP) (RQP) (PPP) (QPP) (RPP) (QRP) (RQP) (RRP)(PRP) 5 (RRP)(PRP) (PQP) (QQP) (RRP) (PPP) (QPP) (RPP) (QRP) (RQP) (RRP)(PRP) (PQP) (QQP) 6 (PRP) (PQP) (QQP) (RRQ) (QQP) (PPP) (QPP) (RPP) (QRP) (RQP) (RRP)(PRP) (PQP) (QQP)(RRQ) 7 (RRQ) (QQR) (RRQ) (PPP) (QPP) (RPP) (QRP) (RQP) 8 (QQR) (PRQ)(QRQ) (QQR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) 9 (PRQ)(QRQ) (RQR)(PQR) 10 (QRQ) (RQR)(PQR) (PQQ) 11 (RQR)(PQR) (PQQ)(QPQ) 12 (PQR) (PQQ)(QPQ) (RPR) 13 (PQQ)(QPQ) (RPR) (PRR) 14 (QPQ) (RPR) (PRR) (QQQ)(RQQ) 15 (RPR) (PRR) (QQQ)(RQQ) (RPQ)(PPQ) 16 (PRR) (QQQ)(RQQ) (RPQ)(PPQ) (PPR)(QPR) 17 (QQQ)(RQQ) (RPQ)(PPQ) (PPR)(QPR) (QRR) (RRR) 18 (RQQ) (RPQ)(PPQ) (PPR)(QPR) (QRR) (RRR) (PRQ) (QRQ) (RQR) (PQR) (PQQ) (QPQ) (RPR) (PRR) (QQQ) (RQQ) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ)(RQR)(PQR) (PQQ) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ)(RQR)(PQR) (PQQ)(QPQ) (RPR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ)(RQR)(PQR) (PQQ)(QPQ) (RPR) (PRR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ)(RQR)(PQR) (PQQ)(QPQ) (RPR) (PRR)(QQQ) (RQQ) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ)(RQR)(PQR) (PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (QRR) (RRR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) Οπισθοδρόμηση

19 (RPQ)(PPQ) (PPR)(QPR) (QRR) (RRR) 20 (PPQ) (PPR)(QPR) (QRR) (RRR) 21 (PPR)(QPR) (QRR) (RRR) (RPQ) (PPQ) (PPR) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (QRR) (RRR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (QRR) (RRR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (QRR) (RRR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (QRR) (RRR) 22 (QPR) (QRR) (RRR) (QRP) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (QRR) (RRR) 23 (QRR) (RRR) (QRR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (QRR) (RRR) 24 (RRR) (RRR) (PPP) (QPP) (RPP) (QRP) (RQP) (PRQ)(QRQ) (RQR)(PQR)(PQQ)(QPQ) (RPR) (PRR) (QQQ)(RQQ) (RPQ) (PPQ) (PPR) (QPR) (QRR) (RRR) 25 Κόμβος-στόχος

γ. Συνάρτηση πραγματικού κόστους: Αριθμός ενεργειών που εκτελούνται (δηλαδή το κόστος κάθε ακμής βέλους είναι ίσο με ένα) Μελετώντας το πρόβλημα των πύργων του Ανόι με τρείς δίσκους παρατηρούμε το εξής: Για τον δίσκο 1: Ο δίσκος 1 μπορεί ανά πάσα στιγμή να μετακινηθεί από οποιαδήποτε ράβδο σε οποιαδήποτε άλλη ράβδο, διότι: Λόγω των δεδομένων περιορισμών του προβλήματος, δεν χρειάζεται να μετακινηθεί κάποιος άλλος δίσκος πρώτα, αφού είναι ο δίσκος με τη μικρότερη διάμετρο και κανένας άλλος δίσκος δεν είναι τοποθετημένος πάνω από αυτόν. Δεν απαιτείται να εξετάσουμε κάποια συνθήκη για την ράβδο στην οποία μετακινείται ο δίσκος 1 αφού πάντοτε είτε θα τοποθετείται πάνω από δίσκο μεγαλύτερης διαμέτρου (αφού έχει τη μικρότερη διάμετρο), είτε θα τοποθετείται στη βάση του κάθε πύργου (P,Q,R), ή οποία εποτελεί επιτρεπτή κατάσταση. Επομένως, αφού από τα δεδομένα της άσκησης, ο αριθμός ενεργειών που εκτελούνται θα αποτελεί συνάρτηση κόστους (έστω C1), το κόστος μετακίνησης του δίσκου 1 θα είναι είτε C1 = 0 (όταν δεν μετακινείται ο δίσκος) είτε C1 = 1. Για τον δίσκο 2: Επειδή υπάρχει δίσκος με μικρότερη διάμετρο από αυτόν (δίσκος 1), πρέπει να ελεγχθούν οι εξής καταστάσεις: i. Ο δίσκος 2 έχει από πάνω του τον δίσκο 1 και όλοι οι δίσκοι βρίσκονται στην ίδια ράβδο (έστω στην P). Για να μετακινηθεί ο δίσκος σε οποιαδήποτε άλλη - κενή ράβδο (έστω στην δεύτερη Q) θα χρειαστεί μία μετακίνηση του δίσκου 1 στην ράβδο R και μία μετακίνηση του δίσκου 2 στην ράβδο Q. Κατά συνέπεια, το κόστος μετακίνησης του δίσκου 2 (έστω C2) σε αυτήν την περίπτωση θα είναι 2 (1 για κάθε μετακίνηση). ii. Ο δίσκος 2 δεν έχει απο πάνω του τον δίσκο 1, βρίσκεται πάνω στον δίσκο 3 και θέλει να μετακινηθεί στη ράβδο που είναι ελεύθερη (δηλαδή δεν βρίσκεται εκεί ο δίσκος 1). Για την μετακίνηση αυτή χρειάζεται ακριβώς μία μετακίνηση και αρα C2 = 1. (αντίστοιχα με δίσκο 1 επεξήγηση) iii. Ο δίσκος 2 δεν έχει απο πάνω του τον δίσκο 1, βρίσκεται πάνω στον δίσκο 3 και θέλει να μετακινηθεί στη ράβδο στην οποία βρίσκεται ο δίσκος 1. Για την μετακίνηση αυτή απαιτείται να μετακινηθεί πρώτα ο δίσκος 1 στην ελεύθερη ράβδο και έπειτα να μετακινηθεί ο δίσκος 2 στην νέα ελεύθερη ράβδο. Άρα σε αυτήν την περίπτωση απαιτούνται δύο μετακινήσεις σύνολο άρα C2 = 2. iv. Όλοι οι δίσκοι βρίσκονται σε ξεχωριστές ράβδους και ο δίσκος 2 θέλει να μετακινηθεί στην ράβδο που καταλαμβάνεται απο τον δίσκο 1. Γι αυτό απαιτείται να μετακινηθεί ο δίσκος 1 στη ράβδο που βρίσκεται ο δίσκος 3 (επιτρεπτό) και έπειτα να γίνει η μετακίνηση του δίσκου 2 στην ελεύθερη ράβδο. Άρα C2 = 2. v. Όλοι οι δίσκοι βρίσκονται σε ξεχωριστές ράβδους και ο δίσκος 2 θέλει να μετακινηθεί στην ράβδο που βρίσκεται ο δίσκος 3. Επιτρεπτό, άρα μία μετακίνηση άρα C2 = 1. Με βάση τα ανωτέρω μπορούμε με σχετική ακρίβεια να ορίσουμε οτι το κόστος μετακίνησης του δίσκου 2 (C2) θα είναι ίσο με: - 0, δεν μετακινείται - 1, στις περιπτώσεις ii και v (δεν πάει στη ράβδο του δίσκου 1 και δεν έχει τον δίσκο 1 απο πάνω του) - 2, στις περιπτώσεις i, iii και iv (έχει τον δίσκο 1 απο πάνω του ή θέλει να πάει στη ράβδο του δίσκου 1)

Για τον δίσκο 3: Επειδή υπάρχουν δύο δίσκοι μικρότερης διαμέτρου από αυτόν (δίσκοι 1,2), πρέπει να ελεγχθούν οι εξής καταστάσεις: i. Όλοι οι δίσκοι βρίσκονται στην ίδια ράβδο και ο δίσκος 3 θέλει να μετακινηθεί σε μία εκ των δύο ελεύθερων ράβδων (έστω την Q). Απαιτείται μία μετακίνηση του δίσκου 1 στην ράβδο Q, μία μετακίνηση του δίσκου 2 στην ράβδο R, μία μετακίνηση του δίσκου 1 στην ράβδο R και η μετακίνηση του δίσκου 3 στην ράβδο Q (ελεύθερη). Άρα το κόστος μετακίνησης του δίσκου 3(έστω C3) είναι C3 = 4. ii. Οι δίσκοι 2,3 βρίσκονται σε μία ράβδο και ο δίσκος 3 θέλει να μετακινηθεί στην ελέυθερη ράβδο (που δεν βρίσκεται ο 1). Απαιτούνται μία μετακίνηση του δίσκου 2 στην ράβδο R, μία μετακίνηση του δίσκου 1 στην ράβδο P, μία μετακίνηση του δίσκου 2 στη ράβδο Q, μία μετακίνηση του δίσκου 1 στη ράβδο Q και μία μετακίνηση του δίσκου 3 στην ράβδο R (ελεύθερη) Άρα το κόστος μετακίνησης του δίσκου 3 είναι C3 = 5. iii. Οι δίσκοι 2,3 βρίσκονται σε μία ράβδο και ο δίσκος 3 θέλει να μετακινηθεί στη ράβδο που βρίσκεται ο 1 (π.χ. Q). Απαιτούνται μία μετακίνηση του δίσκου 2 στην ράβδο R, μία μετακίνηση του δίσκου 1 στην ράβδο R και μία μετακίνηση του δίσκου 3 στην ράβδο Q. Άρα το κόστος μετακίνησης του δίσκου 3 είναι C3 = 3. iv. Όλοι οι δίσκοι βρίσκονται σε διαφορετική ράβδο και ο δίσκος 3 θέλει να μετακινηθεί στην ράβδο που βρίσκεται ο δίσκος 1. Απαιτείται μία μετακίνηση του δίσκου 1 στην ράβδο που βρίσκεται ο δίσκος 2 και μία μετακίνηση του δίσκου 3 στην ελεύθερη πλέον ράβδο. Άρα το κόστος μετακίνησης του δίσκου 3 είναι C3 = 2. v. Όλοι οι δίσκοι βρίσκονται σε διαφορετική ράβδο και ο δίσκος 3 θέλει να μετακινηθεί στην ράβδο που βρίσκεται ο δίσκος 2. Απαιτείται μία μετακίνηση του δίσκου 1 στη ράβδο που βρίσκεται ο δίσκος 3, μία μετακίνηση του δίσκου 2 στην ελεύθερη πλέον ράβδο, μία μετακίνηση του δίσκου 1 στη ράβδο που βρίσκεται ο δίσκος 2 και μία μετακίνηση του δίσκου 3 στην ελεύθερη ράβδο. Άρα το κόστος μετακίνησης του δίσκου 4 είναι C3 = 4. vi. Ο δίσκος 3 βρίσκεται τοποθετημένος σε μία ράβδο (π.χ. P) και οι λοιποί δίσκοι βρίσκονται μαζί σε μία άλλη ράβδο. Ο δίσκος 3 θέλει να μετακινηθεί στην ελεύθερη ράβδο. Επιτρεπτό άρα το κόστος μετακίνησης του δίσκου 3 είναι C3 = 1. vii. Ο δίσκος 3 βρίσκεται τοποθετημένος σε μία ράβδο (π.χ. P) και οι λοιποί δίσκοι βρίσκονται μαζί σε μία άλλη ράβδο (π.χ. Q). Ο δίσκος 3 θέλει να μετακινηθεί στην ράβδο που βρίσκονται οι δύο δίσκοι. Απαιτείται μία μετακίνηση του δίσκου 1 απο την ράβδο Q στην ράβδο P (επιτρεπτό), μία μετακίνηση του δίσκου 2 στην ράβδο R (ελεύθερη), μία μετακίνηση του δίσκου 1 στην ράβδο R και μία μετακίνηση του δίσκου 3 στην ράβδο Q (ελεύθερη). Άρα το κόστος μετακίνησης του δίσκου 3 είναι C3 = 4. Με βάση τα ανωτέρω μπορούμε με σχετική ακρίβεια να ορίσουμε οτι το κόστος μετακίνησης του δίσκου 2 (C3) θα είναι ίσο με: - 0, δεν μετακινείται - 1, στις περιπτώσεις (vi) (δεν έχει δίσκους 1,2 απο πάνω και δεν πάει στις ράβδους των 1,2) - 2, στις περιπτώσεις (iv) (δεν έχει δίσκους 1,2 απο πάνω και πάει στη θέση του δίσκου 1) - 3, στις περιπτώσεις (iii) (έχει απο πάνω τον δίσκο 2 και πάει στη ράβδο του δίσκου 1) - 4, στις περιπτώσεις (i), (v), (vii) (δεν έχει κανέναν δίσκο απο πάνω και πάει σε ράβδο που βρίσκονται και οι δύο έτεροι δίσκοι ή που βρίσκεται μόνο ο δίσκος 2 ή έχει απο πάνω τους δίσκους 1,2 και θέλει να μεταβεί σε ελεύθερη ράβδο) - 5, στις περιπτώσεις (ii) (έχει απο πάνω τον δίσκο 2 και δεν πάει στη ράβδο που βρίσκεται ο δίσκος 1) Έχοντας υπ όψην μας όλα τα ανωτέρω ορίζουμε μία ευριστική συνάρτη h(n) η οποία ισούται με το άθροισμα του κόστους μετακίνησης απο μία κατάσταση σε μία άλλη, δηλαδή: h(n) = C1 + C2 + C3

Κατα συνέπεια, διαμορφώνεται ο κάτωθι πίνακας: ΑΡΧΙΚΗ ΚΑΤΑΣΤΑΣΗ - ΤΕΛΙΚΗ ΚΑΤΑΣΤΑΣΗ - ΕΥΡΕΤΙΚΗ ΕΚΤΙΜΗΣΗ ΚΟΜΒΟΣ ΚΟΜΒΟΣ h(n) = C1 + C2 + C3 (P,P,P) (R,P,P) h(n) = 1 + 0 + 0 = 1 (1) (P,P,P) (Q,Q,P) h(n) = 1 + 2 + 0 = 3 (R,P,Q) (P,Q,R) h(n) = 1 + 1 + 2 = 4 (5) (P,P,P) (R,R,R) h(n) = 1 + 2 + 4 = 7 (R,R,P) (P,P,R) h(n) = 1 + 2 + 4 = 7 (4) (Q,Q,Q) (R,Q,R) h(n) = 1 + 0 + 4 = 5 (6)......... Παίρνοντας δειγματοληπτικά κάποιες μεταβάσεις απο μία κατάσταση σε μία άλλη, ανακαλύπτουμε τα πραγματικά κόστη μερικών απο αυτές (όπως εμφαίνονται σε παρένθεση στον παραπάνω πίνακα δίπλα απο την ευριστική εκτιμησή τους). Όμως αν προσπαθήσουμε να μεταβούμε απο την κατάσταση (R,R,P) προς την κατάσταση (P,P,R), θα δούμε οτι το πραγματικό κόστος h* είναι 4 ενώ η ευριστική εκτίμηση 7. Επομένως, δεν ισχύει ο κανόνας υποεκτίμησης (h(n) h*(n)) για όλες τις μεταβάσεις απο κατάσταση σε κατάσταση και στο συγκεκριμένο παράδειγμα για τη μετάβαση απο την κατάσταση (R,R,P) προς την κατάσταση (P,P,R), άρα η ευρετική ΔΕΝ ΕΙΝΑΙ ΑΠΟΔΕΚΤΗ. 2. ΑΝΑΖΗΤΗΣΗ Με βάση τον ανωτέρω γράφο καταστάσεων και έχοντας υπόψη το κόστος μονοπατιού g(n) και την ευριστική εκτίμηση h(n) ως έννοιες, θα τις χρησιμοποιήσουμε κατά περίπτωση για την επίλυση των κατωτέρω ερωτημάτων. Βοηθητικά έχει δημιουργηθεί ο παρακάτω πίνακας: Κόμβος h(v) h*(v) S 25 26 A 20 27 B 22 22 C 14 14 X 0 42 Y 0 34 D 8 12 E 3 5 F 9 10 H 2 16 G 0 0

α)αναρριχηση ΣΕ ΛΟΦΟ Γνωρίζουμε ότι για την αναρρίχηση σε λόφο αναζητούμε την συνάρτηση f(n)= h(n) όπου h(n) η ευριστική εκτίμηση η οποία σύμφωνα με τα δεδομένα της άσκησης αποτυπώνεται στους κόμβους του γράφου καταστάσεων. (1) S f(s)= 25 f(a)= 20 A (2) B f(b)= 22 (3) f(c)= 14 C D f(d)= 8 (4) f(e)= 3 E H f(h)= 2 (5) F f(f)= 9 Παραδοχές: -όταν εισάγουμε τους απογόνους (παιδιά) ενός κόμβου, η σειρά με την οποία τα τοποθετούμε είναι λεξικογραφική (αλφαβητική). -Κριτήριο τερματισμού: ο αλγόριθμος τερματίζει όταν «πατήσουμε-επισκεφθούμε» τον κόμβο-στόχο ή όταν ο αλγόριθμος φτάσει σε αδιέξοδο, δηλαδή δεν μπορεί να επεκταθεί περαιτέρω και αφού δεν πραγματοποιεί οπισθοδρόμηση σταματά. (Η αναζήτηση προχωρά μόνο από διαδοχικά καλύτερους κόμβους, κλαδεύοντας σε κάθε κύκλο αναζήτησης όλες τις καταστάσεις του μετώπου εκτός από την ευρετικά βέλτιστη (δηλαδή κάθε στιγμή το μέτωπο περιέχει μόνο μία κατάσταση) και μεταβαίνει στην τελευταία, μόνο αν έχει καλύτερη ευρετική τιμή από το γονέα της, διαφορετικά τερματίζει έχοντας βρει μία τοπικά βέλτιστη λύση) Επίπεδο Μέτωπο αναζήτησης (ουρά) Κόμβος (σειρά επέκτασης ή τιμή αποτίμησης κόστους για τον κόμβο) Λίστα επέκτασης/ εισόδου 0 S 25 S 25 1 A 20, B 22 A 20 S 25, 2 D 8,C 14 D 8 S 25, A 20 3 H 2, E 3, H 2 S 25, A 20 D 8 4 F 9 F 9 S 25, A 20 D 8 H 2 5 Αδιέξοδο Οπισθοδρόμηση Η σειρά επέκτασης των κόμβων είναι η εξής: S25 -A20 -D8 -H2 -F9 Το μονοπάτι είναι το εξής: S25 -A20 -D8 -H2 -F9 Βλέπουμε ότι ο αλγόριθμος δεν βρίσκει τον κόμβο στόχο και επειδή δεν μπορεί να κάνει οπισθοδρόμηση, καταλήγει σε αδιέξοδο. Βήματα: 5 (κάθε βήμα εμφαίνεται και με τον αριθμό που αναγράφεται στις παρενθέσεις κάθε κόμβου) Κόστος μονοπατιού: 37

β) Α* Γνωρίζουμε ότι για την Α* αναζητούμε την συνάρτηση f(n)=g(n) + h(n). Όπου g(n): κόστος μονοπατιού h(n): ευριστική εκτίμηση (1) f(s)= 0+25=25 S (2) f(a)= 10+20=30 A B f(b)= 4+22=26 f(c)=12+14=26 C (5) f(x)=24+0=24 X (3) Y (4) f(y)= 24+0=24 f(a)= 21+20=41 A f(d)= 19+8=27 D E (6) f(e)= 21+3=24 C f(c)= 44+14=58 (7) f(d)= 28+8=36 D F G f(g)= 26+0=26 f(f)= 29+9=38 Παραδοχές: -όταν εισάγουμε τους απογόνους (παιδιά) ενός κόμβου, η σειρά με την οποία τα τοποθετούμε είναι λεξικογραφική (αλφαβητική). -Κριτήριο τερματισμού: ο αλγόριθμος τερματίζει όταν «πατήσουμε-επισκεφθούμε» τον κόμβο-στόχο. -Σε περίπτωση ισοπαλίας (ίδια τιμή f), επιλέγεται ο κόμβος που είναι σε ψηλότερο επίπεδο ή αν πρόκειται για ίδιο επίπεδο επιλέγεται ο κόμβος που βρίσκεται πιο αριστερά. Παρατήρηση: Ο απόγονος (C) του κόμβου (Υ), διαγράφεται γιατί επεκτείνεται ο κόμβος (C) ως απόγονος του κόμβου (Β) που κατέχει τη μικρότερη τιμή f και ως εκ τούτου δεν μπορεί να πάρει άλλη τιμή. Επίπεδο Μέτωπο αναζήτησης (ουρά) Κόμβος (σειρά επέκτασης ή τιμή αποτίμησης κόστους για τον κόμβο) Λίστα επέκτασης/ εισόδου 0 S 25 S 25 1 A 30, B 26 B 26 S 25, 2 A 30, C 26, X 24, Y 24 X 24 S 25, B 26 3 A 30, C 26, Y 24 Y 24 S 25, B 26, X 24 4 A 30, C 26, C 84 C 26 S 25, B 26, X 24, Y 24 5 A 30, C 58, A 41, D 27, E 24 E 24 S 25, B 26, X 24, Y 24, C 26 6 A 30,,A 41, D 27, D 36, F 38, G 26 G 26 S 25, B 26, X 24, Y 24, C 26, E 24 7 Κατάσταση-στόχος S 25, B 26, X 24, Y 24, C 26, E 24, G 26 Οπισθοδρόμηση Η σειρά επέκτασης των κόμβων είναι η εξής: S 25 -B 26 -X 24 -Y 24 -C 26 -E 24 -G 26 Το μονοπάτι είναι το εξής: S 25 -B 26 -C 26 -E 24 -G 26 Βήματα: 7 (κάθε βήμα εμφαίνεται και με τον αριθμό που αναγράφεται στις παρενθέσεις κάθε κόμβου) Κόστος μονοπατιού: 26 Βλέπουμε ότι ο αλγόριθμος βρίσκει το βέλτιστο μονοπάτι γιατί η ευρετική συνάρτηση είναι αποδεκτή καθότι ισχύει h(n) h*(n)

γ) Αναζήτηση ενιαίου (ή ομοιόμορφου) κόστους (UCS) Γνωρίζουμε ότι για την UCS αναζητούμε την συνάρτηση f(n)=g(n). Όπου g(n): κόστος μονοπατιού f(s)= 0 S (1) f(a)= 10 (3) (2) A B f(b)= 4 f(c)= 19 C D f(d)= 25 f(x)= 24 (7) (8) f(c)= 12 C (4) X Y f(y)= 24 f(a)= 21 A f(d)= 19 D (5) E (6) f(e)= 21 (10) f(g)= 26 f(e)= 26 E f(h)= 26 H (9) D F G f(f)= 29 F f(f)= 32 Παραδοχές: -όταν εισάγουμε τους απογόνους (παιδιά) ενός κόμβου, η σειρά με την οποία τα τοποθετούμε είναι λεξικογραφική (αλφαβητική). -Κριτήριο τερματισμού: ο αλγόριθμος τερματίζει όταν «πατήσουμε-επισκεφθούμε» τον κόμβο-στόχο. -Σε περίπτωση ισοπαλίας (ίδια τιμή f), επιλέγεται ο κόμβος που είναι σε ψηλότερο επίπεδο ή αν πρόκειται για ίδιο επίπεδο επιλέγεται ο κόμβος που βρίσκεται πιο αριστερά. Παρατήρηση: Οι κόμβοι που διαγράφηκαν οφείλεται στο γεγονός ότι είχαν επεκταθεί σε προγενέστερο χρόνο και άρα προϋπήρχαν στο εκάστοτε μονοπάτι. Επίπεδο Μέτωπο αναζήτησης (ουρά) Κόμβος (σειρά επέκτασης ή τιμή αποτίμησης κόστους για τον κόμβο) Λίστα επέκτασης/ εισόδου 0 S (0) S (0) 1 B (4) A (10) B (4) S (0) 2 A (10) C (12) X (24) Y (24) A (10) S (0) B (4) 3 C (12) C (19) D (25) X (24) Y (24) C (12) S (0) B (4) A (10) 4 D (19) E (21) X (24) Y (24) D (25) D (19) S (0) B (4) A (10) C (12) 5 E (21) X (24) Y (24) E (26) H (26) E (21) S (0) B (4) A (10) C (12) D (19) 6 X (24) Y (24) H (26)) G (26) F (29) X (24) S (0) B (4) A (10) C (12) D (19) E (21) ΝΑΙ 7 Y (24) H (26) G (26) F (29) Y (24) S (0) B (4) A (10) C (12) D (19) E (21) ΝΑΙ 8 H (26) G (26) F (29) H (26) S (0) B (4) A (10) C (12) D (19) E (21) ΝΑΙ 9 G (26) F (29) F (32) G (26) S (0) B (4) A (10) C (12) D (19) E (21) H (26) 10 Κατάσταση -στόχος Οπισθοδρόμηση

Η σειρά επέκτασης των κόμβων είναι η εξής: S (0) B (4) A (10) C (12) D (19) E (21) H (26) G 26 Το μονοπάτι είναι το εξής: S (0) B (4) C (12) E (21) G 26 Βήματα: 10 Κόστος μονοπατιού: 26 Βλέπουμε ότι ο αλγόριθμος βρίσκει το βέλτιστο μονοπάτι αλλά δεν είναι εξίσου αποδοτικός με τον Α* σε αυτή τη περίπτωση καθότι απαιτεί περισσότερες κινήσεις-βήματα και έτσι έχει μεγαλύτερη χρονική πολυπλοκότητα, δηλαδή θα απαιτήσει περισσότερο χρόνο για να βρει τη λύση. δ)πρώτα στο καλύτερο Θα βρούμε το f(n) = h(n) όπου h(n) η ευριστική εκτίμηση (1) S f(s)= 25 (2) f(a)= 20 A (3) B f(b)= 22 f(c)= 14 C D f(d)= 8 (5) (4) f(c)= 14 C E f(e)= 3 H f(h)= 2 (6) f(f)= 9 F G f(g)= 0 F f(f)= 9 Παραδοχές: -όταν εισάγουμε τους απογόνους (παιδιά) ενός κόμβου, η σειρά με την οποία τα τοποθετούμε είναι λεξικογραφική (αλφαβητική). -Κριτήριο τερματισμού: ο αλγόριθμος τερματίζει όταν «πατήσουμε-επισκεφθούμε» τον κόμβο-στόχο. Επίπεδο Μέτωπο αναζήτησης (ουρά) Κόμβος (σειρά επέκτασης ή τιμή αποτίμησης κόστους για τον κόμβο) Λίστα επέκτασης/ εισόδου 0 S 25 S 25 1 A 20, B 22 A 20 S 25, 2 D 8, C 14, B 22 D 8 S 25, A 20 3 H 2, E 3, C 14, C 14, B 22 H 2 S 25, A 20 D 8 4 E 3, F 9, C 14, C 14, B 22, E 3 S 25, A 20 D 8 H 2 ΝΑΙ 5 G 0, C 14, C 14, B 22, G 0, S 25, A 20 D 8 H 2,, E 3 6 Κόμβος- στόχος Οπισθοδρόμηση Η σειρά επέκτασης των κόμβων είναι η εξής: S25 -A20 -D8 -H2 E3- G 0 Το μονοπάτι είναι το εξής: S25 -A20 -D8 E3- G 0 Βήματα: 6 (κάθε βήμα εμφαίνεται και με τον αριθμό που αναγράφεται στις παρενθέσεις κάθε κόμβου) Κόστος μονοπατιού: 37

Βλέπουμε ότι ο αλγόριθμος δεν βρίσκει την βέλτιστη λύση και δεν είναι αποδοτικός διότι έχει μεγάλο κόστος αναζήτησης (37). ε) ακτινωτής αναζήτησης με w=2 συνάρτηση f=h h: ευριστική συνάρτηση S f(s)= 25 f(a)= 20 A B f(b)= 22 f(c)= 14 C D f(d)= 8 f(c)= 14 C Y X f(y)= 0 f(x)= 0 f(c)= 14 C f(e)= 3 f(d)= 8 D E f(e)= 3 E H f(h)= 2 F G f(f)= 9 f(g)= 0 Επίπεδο Μέτωπο αναζήτησης (ουρά) Κόμβος (σειρά επέκτασης ή τιμή αποτίμησης κόστους για τον κόμβο) Λίστα επέκτασης/ εισόδου 0 S 25 S 25 1 A 20, B 22 A 20, B 22 S 25, 2 C 14, D 8, C 14, X 0, Y 0, X 0, Y 0, S 25, A 20, B 22 3 C 14 C 14 S 25, A 20, B 22, X 0, Y 0, 4 D 8,E 3, D 8,E 3, S 25, A 20, B 22, X 0, Y 0, C 14 5 E 3, H 2, F 9, G 0, H 2,, G 0, S 25, A 20, B 22, X 0, Y 0, C 14, D 8,E 3, 6 Κόμβος-στόχος S 25, A 20, B 22, X 0, Y 0, C 14, D 8,E 3, H 2,, G 0, Οπισθοδρόμηση Η σειρά επέκτασης των κόμβων είναι η εξής: S25 -A20 - B 22 - X 0, -Y 0,- C 14 -D8 -E 3 - H2 - G 0 Το μονοπάτι είναι το εξής: S25 - B 22 -Y 0,- C 14 -E 3 - G 0 Βήματα: 6 Κόστος μονοπατιού: 58 Βλέπουμε ότι ο αλγόριθμος δεν βρίσκει την βέλτιστη λύση και δεν είναι αποδοτικός διότι έχει μεγάλο κόστος αναζήτησης (58).

3. ΕΥΡΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Στον ακόλουθο χώρο καταστάσεων όπου φαίνονται τα πραγματικά κόστη μετάβασης, Για το σκοπό της άσκησης, δημιουργήθηκε ο κατωτέρω πίνακας όπου g είναι το κόστος μονοπατιού, h 1, h 2 οι ευριστικές συναρτήσεις που απαντούν στα α,β,γ ερωτήματα και h* το πραγματκό κόστος. Στους κόμβους C και G παρατηρούνται δύο τιμές ανάλογα με το μονοπάτι που ακολουθείται. Έτσι πχ στον κόμβο C αν ακολουθήσουμε το μονοπάτι S-A-C το g(c)=1+1+=2 ενώ αν ακολουθήσουμε το μονοπάτι S-B- C το g(c)=1+3=4 Κόμβος g(n) h 1(n) h 2(n) h*(n) S 0 3 3 9 A 1 2 5 8 B 1 5 2 10 C 2 ή 4 1 1 7 G 9 ή 11 0 0 0 Μια ευριστική συνάρτηση h είναι συνεπής αν και μόνο αν για όλους τους κόμβους n, n, όπου ο n είναι απόγονος του n που παράγεται από μία ενέργεια a, έχουμε h(n) c(n,a,n ) + h(n ) και h(g)=0 όπου G ο κόμβος-στόχος Δηλαδή: h είναι η συνεπής ευρετική λειτουργία n είναι οποιοσδήποτε κόμβος στο γράφημα n είναι οποιοσδήποτε απόγονος του n c (n,a,n ) είναι το κόστος επίτευξης του κόμβου n από το n α) 0 h(n) h*(n) Έστω h1 η ευριστική συνάρτηση που εξετάζουμε: h(s)=3 9, h(a)=2 8, h(b)=5 10, h(c)=1 7 hg=0 0 ΆΡΑ ΕΊΝΑΙ ΑΠΟΔΕΚΤΗ όμως δεν είναι συνεπής γιατί πρέπει h1(s) c(s,a) + h1(a) 3 1+2 Ισχύει h1(s) c(s,b) + h1(b) 3 1+5 Ισχύει h1(a) c(a,c) + h1(c) 2 1+1 Ισχύει h1(b) c(b,c) + h1(c) 5 3+1 Δεν ισχύει Αφού έστω για ένα κόμβο δεν ισχύει η εξίσωση, τότε η ευριστική συνάρτηση δεν είναι συνεπής. β) Γνωρίζουμε ότι για την Α* αναζητούμε την συνάρτηση f=g + h1 g: κόστος μονοπατιού h1: ευριστική εκτίμηση f(s)=0+3=3 f(a)=2+1=3 f(b)=5+1=6 f(c)=2+1=3 f(c)=4+1=5 f(g)=9+0=9

f(g)=11+0=11 η συνάρτηση είναι αποδεκτή όχι όμως συνεπής για τους λόγους που αναφέρονται στο α) Επειδή ο Α* θα ακολουθήσει το μονοπάτι S-Α-C-G αυτή δεν είναι η βέλτιστη λύση γ) Αρχικά θα εξετάσουμε αν η h2 είναι αποδεκτή αλλά όχι συνεπής, όπως ζητά η άσκηση. Έστω h2 η ευριστική συνάρτηση που εξετάζουμε: h(s)=3 9, h(a)=5 8, h(b)=2 10, h(c)=1 7 hg=0 0 ΆΡΑ ΕΊΝΑΙ ΑΠΟΔΕΚΤΗ όμως δεν είναι συνεπής γιατί πρέπει h1(s) c(s,a) + h1(a) 3 1+5 Ισχύει h1(s) c(s,b) + h1(b) 3 1+2 Ισχύει h1(a) c(a,c) + h1(c) 5 1+1 Δεν ισχύει Αφού έστω για ένα κόμβο δεν ισχύει η εξίσωση, τότε η ευριστική συνάρτηση δεν είναι συνεπής. Γνωρίζουμε ότι για την Α* αναζητούμε την συνάρτηση f=g + h2 g: κόστος μονοπατιού h2: ευριστική εκτίμηση f(s)=0+3=3 f(a)=5+1=6 f(b)=2+1=3 f(c)=2+1=3 f(c)=4+1=5 f(g)=9+0=9 f(g)=11+0=11 Κατόπιν των ανωτέρω,ο Α* θα ακολουθήσει το μονοπάτι S-B-C-G η οποία είναι η και η βέλτιστη λύση 4. ΥΛΟΠΟΙΗΣΗ ΑΝΑΖΗΤΗΣΗΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ: Η υλοποίηση των αλγορίθμων πραγματοποιήθηκε σε java. Προκειμένου να «τρέξει» ο κάθε αλγόριθμος στο πρόγραμμα Eclipse, πατήστε «Create new java project» και στο src directory του νέου java project που δημιουργήσαμε (αποθηκεύουμε με όποια ονομασία επιθυμούμε), επικολλάτε (paste) όλα τα.java που εμπεριέχονται στο src φάκελο που επισυνάπτεται με τη παρούσα εργασία. ΥΛΟΠΟΙΗΣΗ: Χρησιμοποιώντας το πρόβλημα εύρεσης διαδρομής σε ένα χάρτη που μοντελοποιείται με ένα γράφο, της άσκησης προβλήματος 2, υλοποιήθηκαν οι αλγόριθμοι κατά βάθος, κατά πλάτος αναζήτηση, αναζήτηση ενιαίου (ή ομοιόμορφου) κόστους, πρώτα στον καλύτερο, και Α*. Ο χώρος καταστάσεων υλοποιήθηκε με τη δημιουργία κλάσης Node που αναπαριστά τους κόμβους του προβλήματος, της κλάσης Edge που αναπαριστά τις ακμές του προβλήματος (που ενώνουν τους κόμβους μεταξύ τους). Έπειτα, δημιουργήθηκαν αντίστοιχα αντικείμενα με αυτά του προβλήματος δηλαδή κόμβοι με τις ονομασίες και τις αντίστοιχες ευριστικές εκτιμήσεις τους καθώς και ακμές με τον κόμβο προορισμού τους και το πραγματικό κόστος

μετάβασης απο τον αρχικό κόμβο στον κόμβο προορισμού, περνώντας τις τιμές που μας δίνεται απο το πρόβλημα. Η δομή δεδομένων που χρησιμοποιήθηκε και για τις δύο κλάσεις είναι ArrayList (δυναμική λίστα). Αναλυτικά: Δημιουργία κλάσης Node: Δημιουργία κλάσης Edge:

Δημιουργία αντικειμένων των κλάσεων Node και Edge στην main: Επιπρόσθετα, δημιουργήθηκε μία κλάση Result για να εκτυπώνονται τα τελικά αποτελέσματα των διάφορων αλγορίθμων αναζήτησης, μέσω της δημιουργίας αντικειμένων

της κλάσης που αντιστοιχεί ο κάθε αλγόριθμος. Η δομή δεδομένων που χρησιμοποιήθηκε είναι ArrayList (δυναμική λίστα). Αναλυτικά, η κλάση Result και έπειτα ενδεικτική μεθοδολογία χρήσης εντολών εντός της main για την εκτύπωση των αποτελεσμάτων παίρνοντας ως παράδειγμα τον A* αλγόριθμο.

Β. + Γ. Παραδείγματα τρεξίματος αλγορίθμων και σχόλια επί των αποτελεσμάτων τους. Έχοντας ήδη υλοποιήσει όλες τις αντίστοιχες κλάσεις ξεχωριστά για κάθε αλγόριθμο, παρακάτω εμφαίνονται παραδείγματα τρεξίματος του κάθε αλγορίθμου και τα σχετικά αποτελέσματα αυτού. Αναζήτηση κατά βάθος (DFS): Η δομές δεδομένων που χρησιμοποιήθηκαν είναι ArrayList (δυναμική λίστα), ουράσυνδεδεμένη λίστα και πίνακας κατακερματισμού (Hashmap).

Παρατηρώντας τις τελευταίες γραμμές που εμφανίζονται ως αποτέλεσμα στο πρόγραμμα: Επεκτάθηκαν 5 συνολικά κόμβοι μέχρι τον τελικό κόμβο (και τον τερματισμό του αλγορίθμου)

Το (πραγματικό) κόστος του μονοπατιού απο τον αρχικό κόμβο S έως τον τελικό κόμβο Χ είναι 47. Το μονοπάτι διαμορφώνεται σε S A C B X Η αναζήτηση κατα βάθος (DFS) ΔΕΝ κατάφερε να φτάσει στον κόμβο στόχο. Αναζήτηση κατά πλάτος (BFS): Η δομές δεδομένων που χρησιμοποιήθηκαν είναι ArrayList (δυναμική λίστα), ουράσυνδεδεμένη λίστα και πίνακας κατακερματισμού (Hashmap).

Παρατηρώντας τις τελευταίες γραμμές που εμφανίζονται ως αποτέλεσμα στο πρόγραμμα: Επεκτάθηκαν 11 συνολικά κόμβοι μέχρι τον τελικό κόμβο (και τον τερματισμό του αλγορίθμου) Το (πραγματικό) κόστος του μονοπατιού απο τον αρχικό κόμβο S έως τον τελικό κόμβο Χ είναι 33. Το μονοπάτι διαμορφώνεται σε S A C E G Η αναζήτηση κατα πλάτος (BFS) κατάφερε να φτάσει στον κόμβο στόχο. Αναζήτηση Ενιαίου Κόστους (UCS): Η δομές δεδομένων που χρησιμοποιήθηκαν είναι ArrayList (δυναμική λίστα) και πίνακας κατακερματισμού (Hashmap).

Παρατηρώντας τις τελευταίες γραμμές που εμφανίζονται ως αποτέλεσμα στο πρόγραμμα: Επεκτάθηκαν 10 συνολικά κόμβοι μέχρι τον τελικό κόμβο (και τον τερματισμό του αλγορίθμου) Το (πραγματικό) κόστος του μονοπατιού απο τον αρχικό κόμβο S έως τον τελικό κόμβο Χ είναι 26. Το μονοπάτι διαμορφώνεται σε S B C E G Η αναζήτηση ενιαίου (ή ομοιόμορφου) κόστους (UCS) κατάφερε να φτάσει στον κόμβο στόχο. Αναζήτηση πρώτα στον καλύτερο: Η δομές δεδομένων που χρησιμοποιήθηκαν είναι ArrayList (δυναμική λίστα), ουράσυνδεδεμένη λίστα και πίνακας κατακερματισμού (Hashmap).

Παρατηρώντας τις τελευταίες γραμμές που εμφανίζονται ως αποτέλεσμα στο πρόγραμμα: Επεκτάθηκαν 6 συνολικά κόμβοι μέχρι τον τελικό κόμβο (και τον τερματισμό του αλγορίθμου) Το (πραγματικό) κόστος του μονοπατιού απο τον αρχικό κόμβο S έως τον τελικό κόμβο Χ είναι 37. Το μονοπάτι διαμορφώνεται σε S A D E G Η αναζήτηση πρώτα στον καλύτερο κατάφερε να φτάσει στον κόμβο στόχο. Αναζήτηση με αλγόριθμο Α* (Α star): Η δομές δεδομένων που χρησιμοποιήθηκαν είναι ArrayList (δυναμική λίστα) και πίνακας κατακερματισμού (Hashmap).

Παρατηρώντας τις τελευταίες γραμμές που εμφανίζονται ως αποτέλεσμα στο πρόγραμμα: Επεκτάθηκαν 7 συνολικά κόμβοι μέχρι τον τελικό κόμβο (και τον τερματισμό του αλγορίθμου).

Το (πραγματικό) κόστος του μονοπατιού απο τον αρχικό κόμβο S έως τον τελικό κόμβο Χ είναι 26. Το μονοπάτι διαμορφώνεται σε S B C E G Η αναζήτηση του A* (A star) κατάφερε να φτάσει στον κόμβο στόχο. *Σημείωση: Εκτός των αλγορίθμων που ζητούνται στην άσκηση 4, έχουν υλοποιηθεί επιπλέον και οι αλγόριθμοι αναρρίχησης λόφων και ακτινωτής αναζήτησης με w=2 (απο άσκηση 2) οι οποίοι εμπεριέχονται επίσης στον φάκελο src.