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

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

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

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

Εισαγωγή στους Υπολογιστές

Κβαντική Επεξεργασία Πληροφορίας

Κβαντική Επεξεργασία Πληροφορίας

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Εισαγωγή στους Αλγορίθμους

Διοικητική Λογιστική

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στους Αλγορίθμους

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

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Κβαντική Επεξεργασία Πληροφορίας

Κβαντική Επεξεργασία Πληροφορίας

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

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

Εισαγωγή στους Αλγορίθμους

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στους Υπολογιστές

Βέλτιστος Έλεγχος Συστημάτων

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

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

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Διοικητική Λογιστική

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

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

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

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

Ηλεκτρικά Κινητήρια Συστήματα

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Γενική Φυσική Ενότητα: Ταλαντώσεις

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Τεχνικό Σχέδιο - CAD

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

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

Τεχνητή Νοημοσύνη Ι. Ενότητα 7:Προτασιακή Λογική. Πέππας Παύλος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Βέλτιστος Έλεγχος Συστημάτων

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Τεχνικό Σχέδιο - CAD

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Διδακτική Πληροφορικής

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

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Ψηφιακή Επεξεργασία Εικόνων

Διδακτική Πληροφορικής

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εισαγωγή στην Πληροφορική

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στους Υπολογιστές

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

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

Εκκλησιαστικό Δίκαιο

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Δομές Δεδομένων Ενότητα 1

Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

Αρχές Προγραμματισμού

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Ιστορία της μετάφρασης

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

Transcript:

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ - ΕΡΓΑΣΤΗΡΙΟ ΕΝΣΥΡΜΑΤΗΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Ι - ΕΡΓΑΣΤΗΡΙΟ ΑΣΚΗΣΗ #7: Προσθέσεις και Βασίλισσες (Ικανοποίηση Περιορισμών) 1. Έστω η κρυπταριθμητική πρόσθεση: SEND + MORE ======== MONEY...όπου κάθε γράμμα αντιστοιχεί σε ένα διαφορετικό ψηφίο και κανένας αριθμός δεν ξεκινά από μηδέν. Ο παρακάτω κώδικας λύνει το πρόβλημα: solve(varlist):- VarList=[D,E,M,N,O,R,S,Y], % Οι μεταβλητές του προβλήματος Digits=[0,1,2,3,4,5,6,7,8,9], % Οι τιμές των μεταβλητών (τα ψηφία) member(d,digits), member(e,digits), member(m,digits), member(n,digits), % Ανάθεση τιμών στις μεταβλητές member(o,digits), member(r,digits), member(s,digits), member(y,digits), M\=0, S\=0, % Περιορισμοί E\=D, M\=D, M\=E, N\=D, N\=E, N\=M, O\=D, O\=E, O\=M, O\=N, R\=D, R\=E, R\=M, R\=N, R\=O, S\=D, S\=E, S\=M, S\=N, S\=O, S\=R, Y\=D, Y\=E, Y\=M, Y\=N, Y\=O, Y\=R, Y\=S, S*1000+E*100+N*10+D + M*1000+O*100+R*10+E =:= M*10000+O*1000+N*100+E*10+Y. show([d,e,m,n,o,r,s,y]):- Num1 is S*1000+E*100+N*10+D, Num2 is M*1000+O*100+R*10+E, Num3 is M*10000+O*1000+N*100+E*10+Y, write(num1),write('+'),write(num2),write('='),write(num3),nl. go:- solve(v), show(v). Δοκιμάστε τον και χρονομετρήστε με τη βοήθεια της time/1 (πχ. "?- time(go).") πόσο χρόνο κάνει να βρει τη λύση. Το πρόβλημα έχει μόνο μία λύση. 2. Βελτιώστε τον κώδικα ώστε να μειωθεί ο χρόνος αναζήτησης όσο το δυνατόν περισσότερο. Υπόδειξη: Μεταφέρετε τους ελέγχους σε τέτοια σημεία ώστε να κλαδεύετε νωρίς το δέντρο --1-- (v1.6) 7/12/2012 - Κ.Σγάρμπας

αναζήτησης ή/και αλλάξτε τη σειρά με την οποία παίρνουν τιμές οι μεταβλητές. 3. Τροποποιήστε τον βελτιωμένο κώδικά σας του προηγούμενου ερωτήματος ώστε να βρίσκει μια λύση στο κρυπταριθμητικό πρόβλημα: SEND + ΝΟ MORE ======== MONEY 4. Η πρόσθεση SEND+NO+MORE=MONEY έχει περισσότερες από μια λύσεις. Τροποποιήστε το πρόγραμμά σας ώστε να τις βρίσκει όλες. 5. Το Πρόβλημα των Οκτώ Βασιλισσών σας ζητά να τοποθετήσετε 8 Βασίλισσες σε μια σκακιέρα 8x8 με τέτοιο τρόπο ώστε να μην απειλούνται σύμφωνα με τους κανόνες του σκακιού. Δηλαδή καμμία να μην βρίσκεται στην ίδια γραμμή, στήλη ή διαγώνιο με κάποια άλλη. Μια λύση φαίνεται στο διπλανό διάγραμμα. Γράψτε κατάλληλο κώδικα Prolog για την επίλυση του προβλήματος των Οκτώ Βασιλισσών. Για διευκόλυνσή σας δίνεται η παρακάτω συνάρτηση που ελέγχει αν ένα τετράγωνο στη σκακιέρα είναι ασφαλές. % Κλήση: safe_square((+x,+y),+squares) % Δέχεται τις συντεταγμένες (X,Y) ενός τετραγώνου και μια λίστα Squares % με συντεταγμένες τετραγώνων που θεωρείται ότι περιέχουν βασίλισσες. % Επιστρέφει true/false ανάλογα με το αν το τετράγωνο (X,Y) είναι % σε ασφαλή θέση σε σχέση με τα Squares. safe_square(_,[]). safe_square((x,y),[(xn,yn) Rest_Squares]):- % Για να είναι ασφαλές το (Χ,Υ) πρέπει να βρίσκεται \+(X==Xn), % όχι στην ίδια στήλη \+(Y==Yn), % ούτε στην ίδια γραμμή \+(Yn-Y =:= Xn-X), % ούτε στην ίδια διαγώνιο \+(Yn-Y =:= X-Xn), % με το τετράγωνο (Xn,Yn) safe_square((x,y),rest_squares). % και το ίδιο σε σχέση με τα υπόλοιπα Επίσης μπορείτε αν θέλετε να χρησιμοποιήσετε την συνάρτηση permutation/2 της Prolog η οποία δέχεται μια λίστα και επιστρέφει όλες τις διατάξεις των στοιχείων της με μη ντετερμινιστικό τρόπο. Σημείωση: Για τον τρόπο χρήσης της permutation/2 (ή οποιασδήποτε άλλης συνάρτησης βιβλιοθήκης της Prolog) μπορείτε να δείτε το on-line manual της γλώσσας (Help>Content από το μενού του SWI-Prolog Editor). 6. Βάλτε την Prolog να υπολογίσει πόσες λύσεις έχει το πρόβλημα των Οκτώ Βασιλισσών. Υπόδειξη: Μπορείτε αν θέλετε να χρησιμοποιήσετε τη συνάρτηση length/2 που μετρά το πλήθος των στοιχείων μιας λίστας. --2-- (v1.6) 7/12/2012 - Κ.Σγάρμπας

Σημειώματα Σημείωμα Ιστορικού ΕκδόσεωνΈργου Το παρόν έργο αποτελεί την έκδοση 1.0 Έκδοση 1.0 διαθέσιμη εδώ. Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρων, Φακωτάκης Νικόλαος, Σγάρμπας Κυριάκος, Πέππας Παύλος, Μουστάκας Κωνσταντίνος. «Εργαστήριο 7». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/modules/course_metadata/opencourses.php?fc=15 Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης CreativeCommons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων:

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στoπλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.