Ασκήσεις ανακεφαλαίωσης στο μάθημα Τεχνητή Νοημοσύνη Τμήμα Μηχανικών Πληροφορικής ΤΕ (ΤΕΙ Ηπείρου) Τυφλή αναζήτηση Δίνεται το ακόλουθο κατευθυνόμενο γράφημα 1. Ο κόμβος αφετηρία είναι ο Α και ο κόμβος προορισμός είναι ο Η. Ποια διαδρομή θα ακολουθήσει ο αλγόριθμος DFS για τη μετάβαση από το A στο H; Να συμπληρωθεί ο ακόλουθος πίνακας. Ποια διαδρομή θα ακολουθήσει ο αλγόριθμος BFS για τη μετάβαση από το A στο H; Να συμπληρωθεί ο ακόλουθος πίνακας. Ποια διαδρομή θα ακολουθήσει ο αλγόριθμος UCS για τη μετάβαση από το A στο H; Να συμπληρωθεί ο ακόλουθος πίνακας. 1 https://github.com/chgogos/ai_laboratory_01 (toy3.txt) 1
Λύση DFS: [A] Α [B,C] [A-B,A-C] A B [C,D] [A-B-C,A-B-D,A-C] A,B C [E] [A-B-C-Ε,A-B-D,A-C] Α,Β,C Ε [D,F,G] [A-B-C-Ε-D, A-B-C-Ε-F,A-B-C-Ε-G, A-B-D,A-C] A,B,C,E D [F,H] [A-B-C-Ε-D-F, A-B-C-Ε-D-H, A-B-C-Ε-F,A-B-C-Ε- A,B,C,E,D F [H] G, A-B-D,A-C] [A-B-C-Ε-D-F-H, A-B-C-Ε-D-H, A-B-C-Ε-F,A-B-C- A,B,C,E,D,H H Ε-G, A-B-D,A-C] Διαδρομή A-B-C-E-D-F-H με μήκος 16 Λύση ΒFS: [A] Α [B,C] [A-B,A-C] A B [C,D] [A-C,A-B-C,A-B-D] A,B C [E] [A-B-C,A-B-D,A-C-E] A,B,C C βρόχος [A-B-D,A-C-E] Α,Β,C D [F,H] [A-C-E, A-B-D-F, A-B-D-H] A,B,C,D E [D,F,G] [ A-B-D-F, A-B-D-H,A-C-E-D, A-C-E-F, A-C-E-G] A,B,C,D,E F [H] [A-B-D-H, A-C-E-D, A-C-E-F, A-C-E-G, A-B-D-F- A,B,C,D,E,F H H] Διαδρομή A-B-D-H με μήκος 19 Λύση UCS: [(A-0)] Α [B,C] [(A-C-4), (A-B-5)] A C [E] [(A-B-5), (A-C-E-8)] A,C B [C,D] [(A-C-E-8),(A-B-C-8),(A-B-D-13)] A,B,C E [D,F,G] [(A-B-C-8),(A-C-E-D-9),(A-C-E-G-9),(A-C-E-F- A,B,C,E C βρόχος 9),(A-B-D-13)] [(A-C-E-D-9),(A-C-E-G-9),(A-C-E-F-9),(A-B-D- Α,Β,C,E D [F,H] 13)] [(A-C-E-G-9),(A-C-E-F-9),(A-C-E-D-F-11),(A-B- D-13), (A-C-E-D-H-15)] A,B,C,E,D G [H] [(A-C-E-F-9),(A-C-E-D-F-11), (A-C-E-G-H-12), A,B,C,E,D,G F [H] (A-B-D-13), (A-C-E-D-H-15)] [(A-C-E-F-H-10), (A-C-E-D-F-11), (A-C-E-G-H- A,B,C,E,D,G,F H 12), (A-B-D-13), (A-C-E-D-H-15)] Διαδρομή A-C-E-F-H με μήκος 10 2
Ευρετική αναζήτηση Στο ακόλουθο γράφημα 2 ο κόμβος αφετηρία είναι ο UBC και ο κόμβος προορισμός είναι ο SP. Η τιμή μέσα σε κάθε κόμβο είναι η τιμή που επιστρέφει η ευρετική συνάρτηση για την απόσταση του αντίστοιχου κόμβου προς το SP. Ποια διαδρομή θα ακολουθήσει ο αλγόριθμος A* χωρίς κλειστό σύνολο για τη μετάβαση από το UBC στο SP; Να συμπληρωθεί ο ακόλουθος πίνακας. Μέτωπο αναζήτησης Τρέχουσα Κατάσταση Παιδιά Ποια διαδρομή θα ακολουθήσει ο αλγόριθμος BestFS για τη μετάβαση από το UBC στο SP; Να συμπληρωθεί ο ακόλουθος πίνακας. Ποια διαδρομή θα ακολουθήσει ο αλγόριθμος Hill Climbing για τη μετάβαση από το UBC στο SP; Να συμπληρωθεί ο ακόλουθος πίνακας. Τρέχουσα Κατάσταση Παιδιά 2 https://github.com/chgogos/ai_laboratory_02 (vancouver.txt) 3
Λύση Α* χωρίς κλειστό σύνολο Μέτωπο αναζήτησης Τρέχουσα Κατάσταση Παιδιά [(UBC 0+5=5)] UBC [JB KD] [(UBC-JB 3+3=6)(UBC-KD 3+6=9)] JB [KB] [(UBC-KD 3+6=9)(UBC-JB-KB 7+3=10)] KD [JB MP] [(UBC-JB-KB 7+3=10)(UBC-KD-JB 7+3=10)(UBC-KD- MP 6+7=13)] [(UBC-KD-JB 7+3=10)(UBC-JB-KB-DT 9+2=11)(UBC- KD-MP 6+7=13)(UBC-JB-KB-BBY 13+8=21)] [(UBC-JB-KB-DT 9+2=11)(UBC-KD-MP 6+7=13)(UBC- KD-JB-KB 11+3=14)(UBC-JB-KB-BBY 13+8=21)] [(UBC-JB-KB-DT-SP 11+0=11)(UBC-KD-MP 6+7=13)(UBC-KD-JB-KB 11+3=14)(UBC-JB-KB-BBY 13+8=21)] Διαδρομή UBC-JB-KB-DT-SP με μήκος 11 KB JB DT SP [BBY DT] Λύση BestFS με κλειστό σύνολο [(UBC 5)] UBC [JB KD] [(UBC-JB 3)(UBC-KD 6)] UBC JB [KB] [(UBC-JB-KB 3)(UBC-KD 6)] JB,UBC KB [BBY DT] [(UBC-JB-KB-DT 2)(UBC-KD 6)(UBC-JB-KB-BBY 8)] JB,KB,UBC DT [SP] [(UBC-JB-KB-DT-SP 0)(UBC-KD 6)(UBC-JB-KB-BBY JB,KB,UBC,DT SP 8)] Διαδρομή UBC-JB-KB-DT-SP με μήκος 11 [KB] [SP] Λύση Hill Climbing Τρέχουσα Κατάσταση (UBC 5) (JB 3)(KD 6) (JB 3) (KB 3) Αδιέξοδο Παιδιά Αναζήτηση με αντιπαλότητα Minimax και alpha-beta Εφαρμόστε τον αλγόριθμο minimax στο ακόλουθο δένδρο. Ποια είναι η διαδρομή που θα ακολουθηθεί αν υποθέσουμε ότι και οι δύο παίκτες παίζουν βέλτιστα; Εκτελέστε τον αλγόριθμο alpha-beta και δείξτε ποιοι είναι οι κόμβοι οι οποίοι θα κλαδευτούν. 4
Λύση: http://homepage.ufp.pt/jtorres/ensino/ia/alfabeta.html game tree structure: 3 3 3 3 3 3 3 3 3 3 3 3 3 game tree terminal values: 0 8 6 7 11 5 1 4 6 4 1 3 3 1 7 5 1 3 3 2 0 4 9 9 5 9 10 Minimax με 3 παίκτες Εφαρμόστε τον αλγόριθμο minimax στο ακόλουθο δένδρο. Θεωρείστε ότι στα φύλλα του δένδρου για κάθε μια τριάδα αριθμών η πρώτη τιμή είναι η χρησιμότητα για τον παίκτη 1, η δεύτερη για τον παίκτη 2 και η τρίτη για τον παίκτη 3. 5
Λύση: Προγραμματισμός με περιορισμούς Τέσσερις οικογένειες A,B,C και D μένουν σε 4 σπίτια με αριθμούς 1,2,3 και 4. Γνωρίζουμε τα εξής: Η οικογένεια C ζει σε σπίτι με υψηλότερο αριθμό από την D. H D ζει δίπλα στην Α σε σπίτι με μικρότερο αριθμό. Υπάρχει τουλάχιστον ένα σπίτι ανάμεσα στα σπίτια των D και B. H C δεν ζει στο 3. Η Β δεν ζει στο 1. 1. Να περιγραφεί το πρόβλημα ως πρόβλημα προγραμματισμού με περιορισμούς. 2. Να σχεδιαστεί το πρόβλημα ως ένα κατευθυνόμενο γράφημα μεταβλητών και περιορισμών. 3. Εφαρμόστε τη συνέπεια τόξου μόνο για τον περιορισμό «Η οικογένεια C ζει σε σπίτι με υψηλότερο αριθμό από την D». Πως θα αλλάξουν τα πεδία των μεταβλητών C και D; Αναφέρετε τα τόξα περιορισμών που θα πρέπει να ελεγχθούν εάν: a. αλλάξει το πεδίο τιμών της μεταβλητής C b. αλλάξει το πεδίο τιμών της μεταβλητής D Λύση: 1. Περιγραφή του προβλήματος 6
Οι μεταβλητές απόφασης και το πεδίο τιμών τους είναι: Α ϵ {1,2,3,4} Β ϵ {2,3,4} C ϵ {1,2,4} D ϵ {1,2,3,4} Οι περιορισμοί είναι: Περιορισμός C1: A B Περιορισμός C2: A C Περιορισμός C3: A D Περιορισμός C4: B C Περιορισμός C5: B D Περιορισμός C6: C D Περιορισμός C7: C > D Περιορισμός C8: D = A-1 Περιορισμός C9: B-D >1 Οι περιορισμοί μπορούν να μειωθούν στους ακόλουθους: Περιορισμός C1: A B Περιορισμός C2: A C Περιορισμός C4: B C Περιορισμός C7: C > D Περιορισμός C8: D = A-1 Περιορισμός C9: B-D >1 2. Γράφημα περιορισμών http://www.aispace.org/constraint/index.shtml 7
3. Εφαρμογή συνέπειας τόξου για τον περιορισμό C>D Εξετάζοντας τον περιορισμό C>D στην κατεύθυνση DC και με δεδομένα τα πεδία τιμών C ϵ {1,2,4} και D ϵ {1,2,3,4} διαπιστώνεται ότι: Για την τιμή 1 του D υπάρχει τιμή στο C τέτοια ώστε C>D (π.χ. C=2) Για την τιμή 2 του D υπάρχει τιμή στο C τέτοια ώστε C>D (π.χ. C=4) Για την τιμή 3 του D υπάρχει τιμή στο C τέτοια ώστε C>D (π.χ. C=4) Για την τιμή 4 του D δεν υπάρχει τιμή στο C τέτοια ώστε C>D, άρα η τιμή 4 αφαιρείται από το πεδίο τιμών του D. Συνεπώς το νέο πεδίο τιμών του D είναι το {1,2,3}. Εξετάζοντας τον περιορισμό C>D στην κατεύθυνση CD και με δεδομένα τα πεδία τιμών C ϵ {1,2,4} και D ϵ {1,2,3} διαπιστώνεται ότι: Για την τιμή 1 του C δεν υπάρχει τιμή στο D τέτοια ώστε C>D, άρα η τιμή 1 αφαιρείται από το πεδίο τιμών του C. Για την τιμή 2 του C υπάρχει τιμή στο D τέτοια ώστε C>D (π.χ. C=1) Για την τιμή 4 του C υπάρχει τιμή στο D τέτοια ώστε C>D (π.χ. C=1) Συνεπώς το νέο πεδίο τιμών του C είναι το {2,4}. Όταν αλλάξει το πεδίο τιμών της μεταβλητής C θα χρειαστεί να ελεγχθεί η συνέπεια των ακόλουθων περιορισμών: A C στην κατεύθυνση ΑC B C στην κατεύθυνση BC C > D στην κατεύθυνση DC Όταν αλλάξει το πεδίο τιμών της μεταβλητής D θα χρειαστεί να ελεγχθεί η συνέπεια των ακόλουθων περιορισμών: D=A-1 στην κατεύθυνση ΑD B-D >1 στην κατεύθυνση BD C>D στην κατεύθυνση CD 8
Γενετικοί αλγόριθμοι Διασταύρωση με έγκυρους απογόνους Έστω ότι στο πληθυσμό λύσεων υπάρχουν 2 λύσεις για το πρόβλημα του περιοδεύοντος πωλητή (TSP) που αφορά 10 πόλεις (αριθμοί πόλεων από 0 έως και 9). Οι 2 αυτές λύσεις επιλέχθηκαν ως γονείς για δημιουργία 2 νέων λύσεων με διασταύρωση 2 σημείων που έδωσε την 3 η και την 7 η θέση του κάθε χρωμοσώματος. Συνεπώς οι τιμές των χρωμοσωμάτων από τη θέση 3 μέχρι τη θέση 7 θα παραμείνουν οι ίδιες. Προκειμένου να προκύψουν έγκυρες λύσεις κατά τη διασταύρωση ένας τρόπος είναι ο ακόλουθος: «Ξεκινώντας από τη θέση μετά το δεύτερο σημείο διασταύρωσης οι τιμές του ενός γονέα Α αντιγράφονται στις θέσεις του άλλου γονέα Β παραλείποντας τις τιμές του Α που υπάρχουν ήδη στον Β. Μόλις η συμπλήρωση τιμών φθάσει στο δεξί άκρο του χρωμοσώματος η αντιγραφή τιμών συνεχίζεται από το αριστερό άκρο». Ποιοι απόγονοι θα προκύψουν; 3 1 5 2 6 8 9 0 4 7 3 5 2 1 9 0 8 4 6 7 Λύση: 4,6,7,3,5,2,1,9,0,8 4,7,3,1,0 1 0 5 2 6 8 9 4 7 3 0,4,7,3,1,5,2,6,8,9 4,7,3,5,6 5 6 2 1 9 0 8 4 7 3 Επιλογή απογόνων Έστω ότι σε ένα πληθυσμό 10 λύσεων ενός γενετικού αλγορίθμου υπάρχουν 2 λύσεις με τιμή συνάρτησης κατάλληλότητας 30 και 10 αντίστοιχα ενώ όλες οι άλλες λύσεις έχουν τιμή συνάρτησης καταλληλότητας 20. Ποια θα είναι η πιθανότητα να επιλέγει για διασταύρωση καθεμία από τις λύσεις του πληθυσμού εφόσον χρησιμοποιηθεί η επιλογή ρουλέτας. Λύση: Η λύση με καταλληλότητα 30 έχει πιθανότητα επιλογής: 30/(8*20+30+10) = 30/200 = 15% Η λύση με καταλληλότητα 10 έχει πιθανότητα επιλογής: 10/(8*20+30+10) = 10/200 = 5% Καθεμία από τις υπόλοιπε λύσεις έχει πιθανότητα επιλογής: 20/(8*20+30+10) = 20/200 = 10% Λογική Προτασιακή Λογική Απόδειξη ισχυρισμού με πίνακα αληθείας Να εξεταστεί η εγκυρότητα του ισχυρισμού με υποθέσεις τις: p q, r p, r και συμπέρασμα το: q χρησιμοποιώντας πίνακα αληθείας. 9
Λύση: p q r p q r p q 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 Άρα ο ισχυρισμός δεν ισχύει. Για παράδειγμα για p ψευδής, q αληθής και r αληθής οι υποθέσεις r, p q και r p είναι αληθείς αλλά το συμπέρασμα είναι ψευδές. Απόδειξη ισχυρισμού με την αρχή της ανάλυσης Να αποδειχθεί το p4 από τις ακόλουθες υποθέσεις: 1. p1 p2 2. p2 3. p1 p3 p4 4. p3 p5 5. p6 p5 6. p6 Λύση: Η αρχή της ανάλυσης είναι: Με απαλοιφή της συνεπαγωγής από τον τύπο p q p q προκύπτουν οι ακόλουθες υποθέσεις: 1. p1 p2 p1 p2 2. p2 3. p1 p3 p4 p1 p3 p4 4. p3 p5 p3 p5 5. p6 p5 p6 p5 6. p6 Για να αποδειχθεί ο ισχυρισμός p4 με την αρχή της ανάλυσης εισάγεται η άρνησή του p4 και εφαρμόζεται σταδιακά η αρχή της ανάλυσης μέχρι να καταλήξει σε άτοπο: 10
Κατηγορηματική λογική Αναπαράσταση προτάσεων σε κατηγορηματική λογική Να αναπαραστήσετε σε κατηγορηματική μορφή τις ακόλουθες εκφράσεις φυσικής γλώσσας. Να χρησιμοποιήσετε ως ατομικούς τύπους μόνο τύπους της μορφής: dog(x), cat(x), likes(x,y), bite(x,y) 1. Ο jack και o black είναι σκύλοι. 2. H lucy και η grey είναι γάτες. 3. Η lucy συμπαθεί τον jack. 4. Την grey τη δάγκωσε ο jack ή ο black. 5. Κάποιος σκύλος δάγκωσε κάποια γάτα. 6. Καμία γάτα δεν συμπαθεί τoν black. 7. Αν κάποιος σκύλος δάγκωσε κάποια γάτα, τότε καμία γάτα δεν συμπαθεί αυτό το σκύλο. Λύση: 1α. dog(jack). 1β. dog(black). 2α. cat(lucy). 2β. cat(grey). 3. likes(lucy, jack). 4. bite(jack, grey) bite(black, grey). 5. D C (dog(d) cat(c) bite(d,c)). 6. C (cat(c) likes(c, black)). 7. D C (dog(d) cat(c) bite(d,c) Z (cat(z) likes(z,d))). Μετατροπή σε κανονική συζευκτική μορφή και στη συνέχεια Skolemization Να μετατρέψετε σε προσημασμένη κανονική συζευκτική μορφή τις ακόλουθες προτάσεις. 1. Κάποιος σκύλος δάγκωσε κάποια γάτα. 2. Καμία γάτα δεν συμπαθεί τoν black. 11
3. Αν κάποιος σκύλος δάγκωσε κάποια γάτα, τότε καμία γάτα δεν συμπαθεί αυτό το σκύλο. Λύση: 1. D C (dog(d) cat(c) bite(d,c)). 2. C (cat(c) likes(c, black)) C ( cat(c) likes(c, black)) 3. D C (dog(d) cat(c) bite(d,c) Z (cat(z) likes(z,d))) D C ( dog(d) cat(c) bite(d,c) Z (cat(z) likes(z,d))) D C ( dog(d) cat(c) bite(d,c) Z ( cat(z) likes(z,d))) D C Z ( dog(d) cat(c) bite(d,c) cat(z) likes(z,d)) Skolemization 1. dog(d1) cat(c1) bite(d1,c1). 2. ( cat(c) likes(c, black)). 3. ( dog(d1) cat(c1) bite(d1,c1) cat(z) likes(z,d1)). όπου c1, d1 είναι Skolem σταθερές Απόδειξη ισχυρισμού με την αρχή της ανάλυσης Χρησιμοποιώντας την εις άτοπο απαγωγή και με βάση μόνο τον κανόνα της ανάλυσης να κατασκευαστεί ένα δένδρο απόδειξης στο οποίο από τους ακόλουθους τύπους να προκύπτει ότι o black δάγκωσε τη grey. 1. dog(jack). 2. dog(black). 3. cat(lucy). 4. cat(grey). 5. likes(lucy, black). 6. bite(black,grey) bite(jack,grey). 7. dog(d1) cat(c1) bite(d1,c1) cat(z) likes(z,d1). 12