Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1
Περιγραφή Προβλημάτων Διαισθητικά, σε ένα πρόβλημα υπάρχει μια δεδομένη κατάσταση (αρχική) μια επιθυμητή κατάσταση (τελική) διαθέσιμες ενέργειες που μπορούν να γίνουν για να επιτευχθεί ο στόχος Στην καθημερινότητα χρησιμοποιείται λανθασμένα ο όρος «πρόβλημα», εφόσον μπορεί κάποιο από τα τρία στοιχεία να μην είναι γνωστό. Η επίλυση προβλημάτων που επιδιώκεται από την Τεχνητή Νοημοσύνη απαιτεί τον σαφή και τυποποιημένο ορισμό τους. Ο ορισμός ενός προβλήματος είναι ανεξάρτητος από την πολυπλοκότητα επίλυσής του: Ο ορισμός καθορίζεται από την αναπαράσταση Η πολυπλοκότητα καθορίζεται από τον αλγόριθμο που χρησιμοποιείται για την επίλυσή του. 2
Classic AI toy problems 3
Κύβοι (Blocks World) Ν κύβοι βρίσκονται σε τυχαία διάταξη πάνω στο τραπέζι. Σκοπός είναι να μετακινηθούν οι κύβοι ώστε να σχηματισθεί μια άλλη διάταξη. Ένας κύβος μπορεί να μετακινηθεί, εφόσον έχει ελεύθερη την επάνω έδρα του. 4
Rubik s Cube (Due to popular demand, the initial image was replaced) 5
Ν-Puzzle Ένα πλαίσιο περιέχει Ν διακριτά πλακίδια, τα οποία μπορούν να μετακινηθούν σε γειτονική θέση, εφόσον αυτή είναι κενή. Σκοπός είναι τα πλακίδια να μετακινηθούν σε κάποια επιθυμητή διάταξη. 6
Τρίλιζα (Tic-Tac-Toe) Δύο παίκτες σημειώνουν εναλλάξ Χ ή Ο στις εννέα θέσεις του αρχικά κενού ταμπλώ με σκοπό κάποιος να έχει τελικά τρία Χ ή τρία Ο στη σειρά, οριζόντια, κατακόρυφα ή διαγώνια. 7
Λαβύρινθος Αναζήτηση μιας διαδρομής σε έναν χώρο με εμπόδια από την είσοδο έως την έξοδο ή από ένα σημείο του χώρου σε ένα άλλο. 8
N-Queens Πώς μπορώ να τοποθετήσω Ν βασίλισσες σε μία ΝxN σκακιέρα, χωρίς να απειλούνται μεταξύ τους; 9
Πύργοι του Hanoi Ν δίσκοι διαφορετικού μεγέθους πρέπει να μεταφερθούν ένας ένας από ένα στύλο σε έναν άλλο, μέσω ενός τρίτου στύλου, με την ίδια τελική διάταξη, ενώ δεν πρέπει σε καμία στιγμή να τοποθετηθεί ένας μεγαλύτερος δίσκος πάνω από έναν μικρότερο. 10
Κανίβαλοι και Ιεραπόστολοι Τρεις κανίβαλοι και τρεις ιεραπόστολοι πρέπει να περάσουν το ποτάμι με μια βάρκα που μπορεί να μεταφέρει το πολύ δύο άτομα κάθε φορά, χωρίς οι κανίβαλοι σε μία από τις δύο όχθες, σε οποιαδήποτε στιγμή, να υπερβαίνουν σε αριθμό τους ιεραπόστολους. http://www.plastelina.net/game2.html 11
O αγρότης και το ποτάμι Ένας αγρότης θέλει να μεταφέρει έναν λύκο, ένα πρόβατο και λάχανα από την μία πλευρά του ποταμού στην άλλη, με μια μικρή βάρκα που χωράει μόνο τον ίδιο και άλλο ένα αντικείμενο. Αν δεν τα προσέχει ο λύκος θα φάει το πρόβατο και το πρόβατο τα λάχανα. http://www.plastelina.net/game1.html 12
Ποτήρια Δύο ποτήρια συγκεκριμένης χωρητικότητας, π.χ. 50 και 70 ml, μπορούν να γεμίζουν μέχρι το χείλος από μία βρύση και να αδειάζουν είτε το ένα μέσα στο άλλο είτε στο νεροχύτη. Τελικός στόχος είναι να υπάρχουν τελικά συγκεκριμένα ml, π.χ. 40, σε κάποιο από τα δύο. 13
Family Crisis Η οικογένεια πρέπει να περάσει απέναντι με μια λάμπα που κρατάει 30 δευτερόλεπτα. Ο κορμός κρατάει το πολύ 2 άτομα. Ο καθένας περπατάει με διαφορετική ταχύτητα και χρειάζεται 1, 3, 6, 8, 12 sec για να περάσει. http://www.plastelina.net/game3.html 14
Περιγραφή προβήματος Με χώρο καταστάσεων (state space) Με αναγωγή (reduction) 15
Περιγραφή προβήματος Με χώρο καταστάσεων (state space) Με αναγωγή (reduction) 16
Περιγραφή προβλήματος με χώρο καταστάσεων Ο κόσμος ενός προβλήματος αποτελείται μόνο από τα αντικείμενα που υπάρχουν σε αυτόν, τις ιδιότητες των αντικειμένων και τις σχέσεις που τα συνδέουν Υποσύνολο του πραγματικού κόσμου που περιέχει μόνο ότι σχετίζεται άμεσα με το πρόβλημα (π.χ. στο πρόβλημα των κύβων δεν μας ενδιαφέρει το χρώμα του κάθε κύβου). Κλειστός κόσμος: κανένα αντικείμενο, ιδιότητα ή σχέση δεν εισάγεται ή εξάγεται από τον κόσμο. Ανοιχτός κόσμος: εξωτερικές παρεμβάσεις μπορεί να αλλάξουν την περιγραφή του (μη προβλέψιμος, πιο δύσκολα προβλήματα). 17
Κατάσταση κόσμου Η κατάσταση (state) του κόσμου είναι ένα στιγμιότυπο (instance) ή μια φωτογραφία (snapshot) του κόσμου σε μια δεδομένη χρονική στιγμή Η τυπική αναπαράσταση (περιγραφή) της κατάστασης γίνεται με περιγραφή των χαρακτηριστικών της Πρέπει να είναι επαρκής, δηλαδή οι ιδιότητες που θα αποτυπωθούν να επιλεχθούν με τέτοιο τρόπο ώστε διαφορετικές τιμές τους αντικατοπτρίζουν τις πραγματικές διαφορές των στιγμιοτύπων του κόσμου αφαίρεση, abstraction: αφαιρούνται από τη περιγραφή όλες οι ιδιότητες που δεν είναι σημαντικές για την επίλυση του προβλήματος S είναι το σύνολο όλων των έγκυρων (valid) καταστάσεων (χώρος καταστάσεων) 18
Λεκτικές Περιγραφές Αντικείμενα Ιδιότητες Σχέσεις Κύβος Α Κύβος Β Κύβος Γ Τραπέζι Τ Κύβος Α ελεύθερος Κύβος Γ ελεύθερος Τ έχει αρκετό ελεύθερο χώρο Κύβος Β δεν είναι ελεύθερος Κύβος Α πάνω στον Β Κύβος Β πάνω στο Τ Κύβος Γ πάνω στο Τ 19
Αρχική και τελική κατάσταση προβλήματος Αρχική κατάσταση Αντικείμενα Ιδιότητες Σχέσεις 3 ιεραπόστολοι 3 κανίβαλοι Βάρκα Αριστερή όχθη Δεξιά όχθη Τελική κατάσταση Αντικείμενα Ιδιότητες Σχέσεις 3 ιεραπόστολοι 3 κανίβαλοι Βάρκα Αριστερή όχθη Δεξιά όχθη Η βάρκα χωράει 2 άτομα Η βάρκα χωράει 2 άτομα Ιεραπόστολοι στην αριστερή όχθη Κανίβαλοι στη αριστερή όχθη Βάρκα στην αριστερή όχθη Ιεραπόστολοι στην δεξιά όχθη Κανίβαλοι στη δεξιά όχθη 20
Τελεστές / Ενέργειες Οι τελεστές καταστάσεων (operators) ή ενέργειες (actions) επιτρέπουν την μετάβαση από μία κατάσταση σε μια νέα. Το σύνολο των τελεστών σε ένα πρόβλημα ορίζεται ως Τ:S S, (remember S, το σύνολο όλων των έγκυρων καταστάσεων;). Παραδείγματα τελεστών για τον κόσμο των κύβων: Βάλε τον κύβο Α πάνω στον κύβο Γ. Βάλε τον κύβο Α πάνω στον κύβο Β. Βάλε τον κύβο Α πάνω στο τραπέζι Τ. Οι τελεστές μετάβασης μπορεί να περιέχουν μεταβλητές για να αποφευχθεί ο μεγάλος αριθμός τελεστών που προκύπτουν από όλους τους πιθανούς συνδυασμούς. Βάλε τον κύβο?χ πάνω στον κύβο?υ. Ένας τελεστής μπορεί να εφαρμοστεί σε μόνο ορισμένες καταστάσεις και να τις αλλάξει μέσω της αλλαγής της περιγραφής τους. 21
Προϋποθέσεις και Αποτελέσματα Για να είναι δυνατή η εφαρμογή ενός τελεστή σε μια κατάσταση του κόσμου συνήθως πρέπει να ισχύουν κάποιες προϋποθέσεις (preconditions) Για τον τελεστή «Βάλε τον κύβο Χ πάνω στον κύβο Υ» πρέπει ο Χ και ο Υ να είναι ελεύθεροι ο Χ να βρίσκεται πάνω σε κάποιο Ζ (τόσο οι κύβοι όσο και το τραπέζι Τ συμπεριλαμβάνονται στην μεταβλητή Ζ) ο Χ και ο Υ να είναι διαφορετικοί κύβοι Μετά την εφαρμογή ενός τελεστή, η νέα κατάσταση προκύπτει από τα αποτελέσματά του (results) Μετά την εφαρμογή του τελεστή «Βάλε τον κύβο Χ πάνω στον κύβο Υ» ο κύβος Χ βρίσκεται πάνω στον Υ ο Υ δεν είναι πλέον ελεύθερος ο Χ δεν είναι πάνω στο Ζ πλέον ο Ζ είναι ελεύθερος 22
Παράδειγμα Τελεστή Τελεστής Μετέφερε δύο ιεραπόστολους από την αριστερή όχθη στη δεξιά. Προϋποθέσεις Υπάρχουν τουλάχιστον 2 ιεραπόστολοι στην αριστερή όχθη. Η βάρκα είναι στην αριστερή όχθη. Ο αριθμός των ιεραπόστολων που θα προκύψει στην αριστερή όχθη να μην είναι μικρότερος από τον αριθμό των κανιβάλων ή να μην υπάρχει άλλος ιεραπόστολος στην αριστερή όχθη. Αποτελέσματα Ο αριθμός των ιεραπόστολων στην αριστερή όχθη μειώνεται κατά 2. Ο αριθμός των ιεραπόστολων στη δεξιά όχθη αυξάνεται κατά 2. Η βάρκα δεν είναι πλέον στην αριστερή όχθη. Η βάρκα είναι στη δεξιά όχθη. 23
Χώρος καταστάσεων Χώρος καταστάσεων (state space ή domain space) ονομάζεται το σύνολο όλων των έγκυρων καταστάσεων. Διαισθητικά, ο χώρος καταστάσεων μπορεί να απεικονιστεί με έναν γράφο όπου κόμβοι είναι οι καταστάσεις και ακμές οι τελεστές μετάβασης Τυπικά, ο χώρος καταστάσεων μπορεί να περιγραφεί σε κάποια κατάλληλη γλώσσα ή σύστημα, όπως για παράδειγμα τη λογική. 24
Τυπικός ορισμός προβλήματος & λύσης Ένα πρόβλημα (problem) ορίζεται ως η τετράδα P = (I, G, T, S) I είναι η αρχική κατάσταση, I S G είναι το σύνολο των τελικών καταστάσεων, G S T είναι το σύνολο των τελεστών, Τ:S S S είναι ο χώρος καταστάσεων Λύση (solution) σε ένα πρόβλημα (I, G, T, S) είναι μια ακολουθία από τελεστές μετάβασης: t 1, t 2,, t n T με την ιδιότητα g = t n ( (t 2 (t 1 (I))) ), όπου g G 25
Κατηγορίες προβλημάτων Τα προβλήματα μπορούν να κατηγοριοποιηθούν ανάλογα με την ερμηνεία που δίνεται στον όρο λύση: Σχεδιασμού ενεργειών (planning): τελική κατάσταση πλήρως γνωστή, επιδιώκεται η εύρεση μιας σειράς ενεργειών που την επιτυγχάνει (π.χ. πλοήγηση, στρατηγική, εφοδιαστική) Χρονοπρογραμματισμού (scheduling), ικανοποίησης περιορισμών (constraint satisfaction): γνωστές κάποιες ιδιότητες της τελικής κατάστασης, ζητούμενη η εύρεση ενός πλήρους στιγμιοτύπου (π.χ. ωρολόγιο πρόγραμμα, σταυρόλεξο) Διαμόρφωσης (configuration): γνωστές ιδιότητες της τελικής κατάστασης, ζητούμενο τόσο η πλήρης κατάσταση όσο και οι ενέργειες που οδήγησαν σε αυτήν (π.χ. συναρμολόγηση) Βελτιστοποίησης: η εύρεση οποιασδήποτε λύσης δεν είναι δύσκολη, αλλά ζητείται η βέλτιστη λύση (π.χ. πλανόδιος πωλητής) 26
Περιγραφή προβήματος Με χώρο καταστάσεων (state space) Με αναγωγή (reduction) 27
Περιγραφή προβλήματος με αναγωγή Βασική ιδέα είναι ότι μια ακολουθία από τελεστές ανάγουν την περιγραφή του προβλήματος σε υποπροβλήματα τα οποία είναι άμεσα επιλύσιμα και ονομάζονται αρχέγονα (primitive). Παράδειγμα: για να μεταφερθούν Ν δίσκοι (Ν>1) από τον στύλο 1 στον στύλο 3, πρέπει: Να μεταφερθούν οι Ν-1 μικρότεροι δίσκοι από τον 1 στον 2 Να μεταφερθεί ο μεγαλύτερος δίσκος από τον 1 στον 3 Να μεταφερθούν οι Ν-1 δίσκοι από τον 2 στον 3 28
Τυπικός ορισμός προβλήματος Ένα πρόβλημα (problem) ορίζεται ως η τετράδα P = (ID, GD, TR, PP) ID είναι η αρχική περιγραφή GD είναι ένα σύνολο από τελικές περιγραφές TR είναι ένα σύνολο τελεστών αναγωγής PP είναι ένα σύνολο από αρχέγονα προβλήματα 29
Χώρος Καταστάσεων VS Αναγωγή Υπάρχουν αντιστοιχίες μεταξύ των δύο τρόπων περιγραφής προβλημάτων. Γενικά τα προβλήματα μπορούν να αναπαρασταθούν με οποιονδήποτε από τους δύο τρόπους. Συνήθως στο κάθε πρόβλημα ταιριάζει καλύτερα ο ένας ή ο άλλος. Η PROLOG βασίζεται στην αναγωγή. 30
Ενδεικτική Βιβλιογραφία Ενότητα 2.1 (2.1.1 και 2.1.2) του βιβλίου «Τεχνητή Νοημοσύνη», Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας και Η. Σακελλαρίου. 31