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



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

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

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

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

(α) Ζητείται να αναπαρασταθεί η παραπάνω γνώση σε Prolog, ώστε να δημιουργηθεί αντίστοιχο πρόγραμμα.

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

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

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

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

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

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

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

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

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

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

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

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

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

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

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

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

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

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

32 κάρτες-πόλης 9 κάρτες-χαρακτήρων 5 κάρτες-αστυνομίας

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

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

Περιεχόμενα του Παιχνιδιού

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

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

Β. Βασιλειάδης Αν. Καθηγητής. Επιχειρησιακή Ερευνα Διάλεξη 6 η - Θεωρεία Παιγνίων

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

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

Περιεχόμενα Πρόλογος 1. Εισαγωγή 2. Τα Βασικά Μέρη ενός Προγράμματος Prolog

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ. Πρώτη Σειρά ασκήσεων Ημερομηνία Παράδοσης: 24 Απριλίου 2018, 12 μ.μ.

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 8: Παίγνια πλήρους και ελλιπούς πληροφόρησης

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Θ.Ε. ΠΛΗ22 ( ) 1η Γραπτή Εργασία

10/3/17. Μικροοικονομική. Κεφάλαιο 29 Θεωρία παιγνίων. Μια σύγχρονη προσέγγιση. Εφαρµογές της θεωρίας παιγνίων. Τι είναι τα παίγνια;

Δάσους Δάσους Συστατικών Διαδρομής Σπιτιού Ξορκιών Δάσους Διαδρομής Δάσους πλευρά Δάσους ανοιχτή Διαδρομής Σπιτιού

Μαλούτα Θεανώ Σελίδα 1

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

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

ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 2 ΑΣΚΗΣΗ 3

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

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

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Μάθηση του παιχνιδιού British square με χρήση Temporal Difference(TD) Κωνσταντάκης Γιώργος

Ενότητα 5: ΜΕΤΑΒΛΗΤΕΣ

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

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

HAL R. VARIAN. Μικροοικονομική. Μια σύγχρονη προσέγγιση. 3 η έκδοση

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

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

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

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

4.6 Critical Path Analysis (Μέθοδος του κρίσιμου μονοπατιού)

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

Κεφ. 9 Ανάλυση αποφάσεων

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ 11:00-14:00

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

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

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: SCRATCH. Ονοματεπώνυμο:

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

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

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

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

Κεφάλαιο 29 Θεωρία παιγνίων

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

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

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

ΗΥ360 Αρχεία και Βάσεις εδοµένων


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

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1

Παραδείγματα μεταβλητών

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

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

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

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

Επαναληπτικό διαγώνισμα στην Α.Ε.Π.Π - 18 / Απριλίου / 2010 ΘΕΜΑ 1

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

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

Σκοπός του παιχνιδιού. Περίληψη

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

Σκοπός του παιχνιδιού Σκοπός του παιχνιδιού είναι να τοποθετήσει πρώτος ο παίκτης όλα τα πλακίδιά του στο τραπέζι.

δημιουργία: επεξεργασία: Ν.Τσάντας

Λογικός Προγραμματισμός Ασκήσεις

Transcript:

Θ.Ε. ΠΛΗ31 (2005-6) ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ #1 Στόχος Η εργασία επικεντρώνεται σε θέματα προγραμματισμού για Τεχνητή Νοημοσύνη και σε πρακτικά θέματα εξάσκησης σε Κατηγορηματική Λογική. Θέμα 1: Απλές Αναζητήσεις Το παιχνίδι των σπίρτων ανάμεσα σε δύο παίκτες, Α και Β, που εναλλάσσονται ως προς τη σειρά με τον Α να ξεκινάει, παίζεται ως εξής: από ένα σωρό σπίρτων, ο παίκτης που έχει σειρά αφαιρεί 1, 2 ή 3 σπίρτα, με μία κίνηση. Αυτός που αφαιρεί το τελευταίο σπίρτο χάνει. Σημείωση: Το παραπάνω πρόβλημα ανήκει στην κατηγορία προβλημάτων που ονομάζονται παίγνια δύο παικτών ή με αντίπαλο (two-players or adversary games). Στα προβλήματα αυτά απαιτούνται δύο σύνολα τελετών δράσης, ένα για κάθε παίκτη. Γι αυτό, για τα προβλήματα αυτά υπάρχουν ειδικοί αλγόριθμοι (δηλ. τρόποι αναζήτησης), όπως οι Alpha-Beta και Minimax. Όμως, ιδιαίτερα σε απλά προβλήματα, όπως το παραπάνω, μπορούν να εφαρμοστούν και οι αλγόριθμοι αναζήτησης ενός παίκτη (ή λύτη), όπως αυτοί που παρουσιάζονται στο Κεφ. 2 του Τόμου Α. Στην περίπτωση αυτή, θεωρούμε ότι σε κάθε επίπεδο του παραγόμενου δένδρου εφαρμόζονται οι τελεστές του ενός παίκτη, αυτού που είναι η σειρά του να παίξει, και θα πρέπει στην αναπαράσταση μιας κατάστασης να λάβουμε υπ όψιν τον τρέχοντα παίκτη. Θέμα 1α. Δημιουργία χώρου αναζήτησης Ο αρχικός σωρός περιέχει 7 σπίρτα. 1. Βρείτε ένα τρόπο αναπαράστασης μιας κατάστασης. 2. Προσδιορίστε τους τελεστές δράσης. 3. Σχεδιάστε πλήρως ένα δένδρο αναζήτησης του προβλήματος. Η γραμμή πάνω από ένα γράμμα (Α ή Β) υποδηλώνει ότι ο αντίστοιχος παίχτης κερδίζει. Εναλλακτικά θα χρησιμοποιούμε το συμβολισμό Α για το νικητή (Α). Η αναγραφή μίας κατάστασης σε κύκλο υποδηλώνει ότι έχει αναπτυχθεί πλήρως σε άλλο σημείο του σχήματος. Παρατηρείστε ότι η πλήρης σχεδίαση του δέντρου αναζήτησης απαντά τα ερωτήματα περί αναπαράστασης κατάστασης και περί τελεστών δράσης.

Θέμα 1β. Αναζήτηση-κατά-βάθος 1. Αν εφαρμόσετε αναζήτηση-κατά-βάθος στο δένδρο που σχεδιάσατε, ποιος είναι ο αριθμός των μεταβάσεων μέχρι να φτάσετε σε τελική κατάσταση; Πόσες διαφορετικές καταστάσεις επισκέπτεστε; 2. Το παραπάνω δένδρο μπορεί να κατασκευαστεί με διάφορους τρόπους, π.χ. αν αλλάζουμε τη σειρά εφαρμογής των τελεστών δράσης. Σχεδιάστε τα διαφορετικά δένδρα που προκύπτουν και βρείτε σε ποια περίπτωση από όλες έχουμε τον μικρότερο και σε ποια τον μεγαλύτερο αριθμό μεταβάσεων. (Στην απάντησή σας σχεδιάστε μόνο τα δέντρα που απαιτούνται για την απάντηση.) 1. Για το σχεδιασμένο δέντρο, χρειάζονται 3 μεταβάσεις και επισκεπτόμαστε 4 καταστάσεις (μονοπάτι: Α7, Β4, Α1, Β ) 2. Υπάρχουν 3 τελεστές δράσης, άρα υπάρχουν 6 διαφορετικοί τρόποι (προτεραιότητα, σειρά) εφαρμογής τους: 1-2-3, 1-3-2, 2-1-3, 2-3-1, 3-1-2, 3-2-1. Το δέντρο που σχεδιάστηκε παραπάνω υπονοεί τη χρήση της σειράς 3-2-1. Βεβαίως, και με χρήση της σειράς 3-1-2 πάλι 3 μεταβάσεις θα χρειαζόμασταν (με άλλο μονοπάτι). Αν «διαβάσουμε» το παραπάνω δέντρο από δεξιά προς αριστερά μας βολεύει στο να σκεφτούμε τη σειρά 1-2-3 που (επειδή η κατά-βάθος αναζήτηση αργεί επειδή «αφαιρεί» ένα σπίρτο τη φορά) για να μας φέρει σε τελική κατάσταση απαιτεί 7 μεταβάσεις και επισκέπτεται 8 καταστάσεις (μονοπάτι: Α7, Β6, Α5, Β4, Α3, Β2, Α1, Β ). Θέμα 1γ. Αναζήτηση-κατά-πλάτος (Είναι απόλυτα σκόπιμο να προσπαθήσετε να απαντήσετε στο θέμα 1γ αφού ασχοληθείτε με το 1β.) 1. Αν εφαρμόσετε αναζήτηση-κατά- πλάτος στο δένδρο που σχεδιάσατε, ποιος είναι ο αριθμός των μεταβάσεων μέχρι να φτάσετε σε τελική κατάσταση; Πόσες διαφορετικές καταστάσεις επισκέπτεστε; Απαντήστε για την περίπτωση του μικρότερου αριθμού μεταβάσεων. 2. Υπολογίστε το μεγαλύτερο αριθμό μεταβάσεων. 1. Για το σχεδιασμένο δέντρο, χρειάζονται 13 μεταβάσεις και επισκεπτόμαστε 10 διαφορετικές καταστάσεις (μονοπάτι: Α7, Β4, Β5, Β6, Α1, Α2, Α3, Α2, Α3, Α4, Α3, Α4, Α5, Β ) 2. Παρατηρούμε από το δέντρο ότι η πρώτη τελική κατάσταση που θα εντοπιστεί είναι η «αριστερότερα σχεδιασμένη» Β, την οποία όμως αυτή το φορά θα επισκεφτούμε τελευταία από όλες τις καταστάσεις του ίδιου επιπέδου. Άρα θα χρειαστούμε 3 + 3 x 3 + 3 x 3 x 3 = 39 μεταβάσεις για το παραπάνω δέντρο. 2. Παρατηρούμε από το δέντρο ότι η πρώτη τελική κατάσταση είναι αυτή που φαίνεται στο παρακάτω σχήμα (άρα έχουμε 3 για το 1 ο επίπεδο, 3 x 3 = 9 για το 2 ο επίπεδο και 3 + 3 + 3 = 9 για το 3 ο επίπεδο, σύνολο 21 μεταβάσεις):

Θέμα 1δ. Αναζήτηση με ευρετικό και Α* Έστω το ευρετικό «Επέλεξε την διαδρομή που μεγιστοποιεί τον αριθμό των σπίρτων που έχουν αφαιρεθεί». Ξεκινώντας από την αρχική κατάσταση και χρησιμοποιώντας τον Α*, με ποια σειρά επισκεπτόμαστε τους κόμβους του χώρου κατάστασης, μέχρι να φτάσουμε σε τελική κατάσταση; Η απάντησή σας πρέπει να τεκμηριώνεται με τις διαδοχικές τιμές που παίρνουν στα διάφορα σημεία εκτέλεσης του αλγορίθμου οι λίστες «Ανοικτές» και «Κλειστές» που αναφέρονται στις σελίδες 48 και 49 του βιβλίου ΤΝΕΣ (περιγραφή Α*). Αφού το ευρετικό «... μεγιστοποιεί τον αριθμό των σπίρτων που έχουν αφαιρεθεί», εργαζόμαστε με βάση την ελαχιστοποίηση των σπίρτων που έχουν μείνει (συνάρτηση h). Η απόσταση από μία κατάσταση στη γειτονική της θεωρείται ότι έχει κόστος 1 (υπολογισμός συνάρτησης g). Η συνάρτηση g είναι προφανώς η απόσταση από τη μία κατάσταση στη γειτονική της. Ανοικτές: [Α7], Κλειστές: [] Ανοικτές: [], Κλειστές: [Α7] Ανοικτές: [], Κλειστές: [Α7], Διάδοχοι: [Β4, Β5, Β6] Ανοικτές: [], Κλειστές: [Α7], Διάδοχοι: [f(β4)=1+4, f(β5)=1+5, f(β6)=1+6] Ανοικτές: [Β4, Β5, Β6], Κλειστές: [Α7], Διάδοχοι: [] Ανοικτές: [Β5, Β6], Κλειστές: [Α7, Β4], Διάδοχοι: [] Ανοικτές: [Β5, Β6], Κλειστές: [Α7, Β4], Διάδοχοι: [A1, A2, A3] Ανοικτές: [Β5, Β6], Κλειστές: [Α7, Β4], Διάδοχοι: [f(a1)=2+1, f(a2)=2+2, f(a3)=2+3] Ανοικτές: [Β5, Β6, A1, A2, A3], Κλειστές: [Α7, Β4], Διάδοχοι: [] Ανοικτές: [Β5, Β6, A2, A3], Κλειστές: [Α7, Β4, A1], Διάδοχοι: [] Ανοικτές: [Β5, Β6, A2, A3], Κλειστές: [Α7, Β4, A1], Διάδοχοι: [Β ]

Θέμα 2: Αναζήτηση κατά βάθος Δίνεται το παρακάτω γενεαλογικό δένδρο Θέμα 2α. Δημιουργία χώρου καταστάσεων Να αναπαραστήσετε το παραπάνω δένδρο καταστάσεων χρησιμοποιώντας την δηλωτική γλώσσα προγραμματισμού SWI-Prolog (http://www.swi-prolog.org/). Συμβουλή: Χρησιμοποιήστε το κατηγόρημα tree/3. tree(cathy,michael,melody). tree(michael,charles,hazel). tree(melody,jim,eleanor). tree(charles,nil,nil). tree(hazel,nil,nil). tree(jim,nil,nil). tree(eleanor,nil,nil). Θέμα 2β. Δημιουργία μηχανισμού διαπέρασης Δημιουργείστε κανόνες Prolog που θα υλοποιούν διαπέραση όλων των κόμβων του δένδρου με ταυτόχρονη εκτύπωσή τους, με τον τρόπο που γίνεται στην κατά βάθος αναζήτηση (depth-first search).

print_tree(x):- tree(x,y,z), write(x), nl, print_tree(y), print_tree(z). print_tree(x):-tree(x,nil,nil). go:-print_tree(t). 1?- go. cathy michael charles hazel melody jim eleanor Yes Θέμα 3: Αναζήτηση υπόπτου Η άτυχη Σουζάνα βρέθηκε από την αστυνομία δολοφονημένη, με τσακισμένο το κεφάλι από αμβλύ όργανο. Τα πρόσωπα της ιστορίας είναι ο Άλαν, 35 ετών, χασάπης και «κλεφτρόνι», ο Τζον, 25 ετών, ποδοσφαιριστής, που συνδέεται συναισθηματικά τόσο με τη δολοφονημένη Σουζάνα όσο και με τη Μπάρμπαρα, κομμώτρια, 22 ετών και παντρεμένη με τον πενηντάρη και κουτσό μαραγκό Μπερτ. Σε σχετική έρευνα ανακαλύφθηκε στο σπίτι του Τζον ένα περίστροφο. Η αστυνομία θεωρεί ως πιθανά κίνητρα τη ληστεία και τη ζήλεια. Θέμα 3α. Αναπαράσταση γεγονότων του προβλήματος

Να αναπαραστήσετε τα γεγονότα του προβλήματος χρησιμοποιώντας την δηλωτική γλώσσα προγραμματισμού SWI-Prolog (http://www.swi-prolog.org/), λαμβάνοντας υπόψη τα παρακάτω: Χρησιμοποιήστε τα ακόλουθα κατηγορήματα: person/4, had_affair/2, motive/1, owns/2. Τα τέσσερα ορίσματα του person/4 αναφέρονται στο όνομα, ηλικία, φύλο και ιδιότητα του προσώπου που περιγράφει, π.χ. person(john,25,m,football_player). Τα δύο ορίσματα του had_affair/2 δηλώνουν τα πρόσωπα που έχουν/είχαν δεσμό. Δίνεται το όργανο με το οποίο σκοτώθηκε η Σουζάνα, δηλ. killed_with(susan,club). Ο Μπερτ υποκαθιστά το χαμένο του πόδι με ένα ξύλινο. Δίνονται οι εξής υποθέσεις κοινής λογικής operates_identically(wooden_leg,club). operates_identically(bar,club). operates_identically(pair_of_scissors,knife). operates_identically(football_boot,club). % Τύποι ισχυρισμών και υποθέσεων από % την έρευνα της αστυνομίας. person(john,25,m,football_player). /*m:male*/ person(allan,35,m,butcher). person(barbara,22,f,hairdresser). /*f:female*/ person(bert,50,m,carpenter). person(allan,35,m,pickpocket). had_affair(barbara,john). had_affair(barbara,bert). had_affair(susan,john). killed_with(susan,club). motive(money). motive(jealousy). owns(bert,wooden_leg). owns(john,pistol). % Υποθέσεις κοινής λογικής operates_identically(wooden_leg,club). operates_identically(bar,club). operates_identically(pair_of_scissors,knife).

operates_identically(football_boot,club). Θέμα 3β. Αναπαράσταση κανόνων κοινής λογικής Περιγράψτε με προτάσεις Κατηγορηματικής Λογικής και κώδικα Prolog, χρησιμοποιώντας το κατηγόρημα owns_probably/2 καθώς και κατηγορήματα από το Θέμα 2α, την παρακάτω κοινά αποδεκτή γνώση: Ένας ποδοσφαιριστής κατέχει πιθανώς μπότα ποδοσφαίρου (το σενάριο αναφέρεται στο αμερικάνικο ποδόσφαιρο) Οποιοσδήποτε μπορεί να κατέχει ένα ψαλίδι. Οποιοσδήποτε μπορεί να κατέχει ένα μαχαίρι. Όποιος κατέχει ένα αντικείμενο τότε πιθανώς κατέχει αυτό το αντικείμενο. Προτάσεις Κατηγορηματικής Λογικής ( ( ) ( )) ( ( ) ( )) ( ( ) ( )) ( ( ) ( )) xyz,, owns_probably x,football_boot person xyz,,,football_player xyzw,,, owns_probably x, pair_of_scissors person xyzw,,, xyzw,,, owns_probably x, knife person xyzw,,, xy, owns_probably x, y owns xy, Κώδικας SWI-Prolog owns_probably(x,football_boot):- person(x,_,_,football_player). owns_probably(x,pair_of_scissors):- person(x,_,_,_). owns_probably(x,knife):- person(x,_,_,_). owns_probably(x,object):- owns(x,object). Θέμα 3γ. Αναπαράσταση κανόνων επίλυσης του προβλήματος Δημιουργείστε κανόνες επίλυσης του προβλήματος θεωρώντας ότι υπάρχουν δύο τύποι υπόπτων: α) ύποπτοι με βάση τη δυνατότητα να διαπράξουν τον φόνο, και β) ύποπτοι με βάση το κίνητρό τους. Οι υποθέσεις για τα κίνητρα του φόνου είναι οι εξής: Κάποιος Χ είναι ύποπτος με βάση τη δυνατότητα να διαπράξει τον φόνο αν το αντικείμενο με το οποίο σκοτώθηκε η Σουζάνα έχει την ίδια λειτουργία (ίδια αποτελέσματα) με κάποιο άλλο αντικείμενο Υ και ο Χ πιθανώς κατέχει το αντικείμενο Υ. Κάποιος Χ είναι ύποπτος με βάση το κίνητρό του αν 1. το κίνητρο είναι η ζήλεια, ο Χ είναι άνδρας και είχε δεσμό με τη Σουζάνα 2. το κίνητρο είναι η ζήλεια, ο Χ είναι γυναίκα και είχε δεσμό κάποιον ο οποίος είχε ταυτόχρονα δεσμό με τη Σουζάνα 3. το κίνητρο είναι τα χρήματα και ο Χ είναι «κλεφτρόνι».

Ο πιο πιθανός ύποπτος είναι αυτός που είναι ταυτόχρονα ύποπτος με βάση τη δυνατότητα και το κίνητρο να διαπράξει τον φόνο. Συμβουλή: Χρησιμοποιήστε τα ακόλουθα κατηγορήματα: suspect_by_capability/1, suspect_by_motive/1, mostly_suspected/1. Συνεχίζοντας το πρόγραμμα που δίνεται στην ενδεικτική επίλυση του 2α, έχουμε: % Υποθέσεις για τα κίνητρα φόνου. % Δύο τύποι υπόπτων: % α. ύποπτοι με βάση τη δυνατότητα να % διαπράξουν τον φόνο % β. ύποπτοι με βάση το κίνητρό τους suspect_by_capability(x):- killed_with(susan,weapon), operates_identically(object,weapon), owns_probably(x,object). suspect_by_motive(x):- motive(jealousy), person(x,_,m,_), had_affair(susan,x). suspect_by_motive(x):- motive(jealousy), person(x,_,f,_), had_affair(x,man), had_affair(susan,man). suspect_by_motive(x):- motive(money), person(x,_,_,pickpocket). ----- % Μη πιθανοθεωρητική υπόθεση κοινής λογικής ----- mostly_suspected(x):- suspect_by_capability(x), suspect_by_motive(x). Θέμα 3δ. Εκτέλεση του προγράμματος Εκτελέστε το παραπάνω πρόγραμμα κάνοντας κατάλληλα ερωτήματα (queries) ώστε να βρίσκει α) τους υπόπτους με βάση τη δυνατότητα να διαπράξουν τον φόνο β) τους υπόπτους με βάση το κίνητρό τους γ) τον πιο πιθανό ύποπτο.

1?- suspect_by_capability(x). X = bert ; X = john ; No 2?- suspect_by_motive(x). X = john ; X = barbara ; X = allan ; No 3?- mostly_suspected(x). X = john Yes Κριτήρια αξιολόγησης: Θέμα 1. Απλές Αναζητήσεις 40 1.α. Δημιουργία χώρου καταστάσεων 10 1.β. Αναζήτηση-κατά-βάθος 10 1.γ. Αναζήτηση-κατά-πλάτος 10 1.δ. Αναζήτηση με ευρετικό και Α* 10 Θέμα 2. Αναζήτηση κατά βάθος 20 2.α. Δημιουργία χώρου καταστάσεων 10 2.β. Δημιουργία μηχανισμού διαπέρασης 10 Θέμα 3. Αναζήτηση υπόπτου 40 3.α. Αναπαράσταση γεγονότων του προβλήματος 10 3.β. Αναπαράσταση κανόνων κοινής λογικής 15 3.γ. Αναπαράσταση κανόνων επίλυσης του προβλήματος 10 3.δ. Εκτέλεση του προγράμματος 5 ΣΥΝΟΛΟ 100 Ο συνολικός βαθμός θα διαιρεθεί δια 10, ώστε να προκύψει ο τελικός βαθμός της εργασίας.

Τρόπος Ημερομηνία Παράδοσης Η εργασία σας θα πρέπει να έχει φτάσει στον Καθηγητή-Σύμβουλό σας μέχρι την Κυριακή 27/11/2005 ώρα 23:59. Περιμένουμε όλες οι εργασίες να αποσταλούν μέσω Email και να είναι γραμμένες σε επεξεργαστή κειμένου MSWord. Τα τμήματα κώδικα θα βρίσκονται σε ξεχωριστά αρχεία θ αναφέρονται στο κείμενο της εργασίας. Στον Καθηγητή-Σύμβουλό σας, σε κάθε περίπτωση, στέλνετε ΕΝΑ μόνο αρχείο (συμπιεσμένο). Δεν θα δοθεί παράταση στην παράδοση της εργασίας πέραν της ως άνω αναφερόμενης ημέρας και ώρας, για κανένα λόγο. Την Τρίτη 29/11/2005 ώρα 14:00, θα δημοσιευθεί πρότυπη απάντηση για την επίλυση της εργασίας στο διαδίκτυο. Καλή Επιτυχία!