ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 3

Σχετικά έγγραφα
Αναζήτηση με αντιπαλότητα (Adversarial Search)

ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 2

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

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

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

Αναζήτηση με Αντιπαλότητα

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

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

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

Ε ανάληψη. Παιχνίδια παιχνίδια ως αναζήτηση. Βέλτιστες στρατηγικές στρατηγική minimax. Βελτιώσεις κλάδεµα α-β

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

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

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

Δομές Δεδομένων και Αλγόριθμοι (Γ εξάμηνο) Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Ηπείρου. Άσκηση εργαστηρίου #6 (Υλοποίηση δυαδικού δένδρου αναζήτησης)

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

ΕΚΛΟΓΙΚΗ ΠΕΡΙΦΕΡΕΙΑ ΕΒΡΟΥ

Ε ανάληψη. Προβλήµατα ικανο οίησης εριορισµών. ορισµός και χαρακτηριστικά Ε ίλυση ροβληµάτων ικανο οίησης εριορισµών

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

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

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

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

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: περιγραφική στατιστική, γραφήματα, συναρτήσεις βάσεων δεδομένων, συγκεντρωτικοί πίνακες

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

Αλγόριθµοι Ευριστικής Αναζήτησης

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

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1

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

Μάθημα 22: Δυαδικά δέντρα (Binary Trees)

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών. ΤΗΜΜΥ Α.Π.Θ Πέμπτη 11 / 12 / 2014 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Αντικείμενα 5 ου εργαστηρίου

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

#4. Heaps (σωροί), η ταξινόμηση HeapSort, η δομή std::priority_queue της STL

ΠΛΗ 405 Τεχνητή Νοηµοσύνη Ε ανάληψη. πεπερασµένα χρονικά περιθώρια ανά κίνηση. απευθείας αξιολόγηση σε ενδιάµεσους κόµβους

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

Εργαστήριο 5 Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά

[ΠΛΗ 417] Τεχνητή Νοημοσύνη. Project Εξαμήνου ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ

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

Συστηματική Αναζήτηση και Ενισχυτική Μάθηση για το Επιτραπέζιο Παιχνίδι Backgammon

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

που θα δώσει αποτέλεσµα 48, λόγω της αριστερής προσεταιριστικότητας των τελεστών / και *, ενώ η επιθυµητή αντικατάσταση θα ήταν η

ΝΕΑ ΔΗΜΟΚΡΑΤΙΑ ΓΡΑΦΕΙΟ ΤΥΠΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Ακαδημαϊκό έτος Α εξάμηνο (χειμερινό)

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

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

Διδάσκων: Κωνσταντίνος Κώστα

Εκφωνήσεις ασκήσεων εργαστηρίου 1

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων Σωτήρης Γυφτόπουλος

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

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Ερώτημα Α 1. Να γράψετε τις εντολές που πραγματοποιούν τα ακόλουθα:

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

ΔΟΜΗ ΠΑΛΑΙΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ( )

Συστηματική Αναζήτηση και Ενισχυτική Μάθηση για το Επιτραπέζιο Παιχνίδι "Amazons"

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

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

Διάλεξη 18: B-Δένδρα

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

Red-Black Δέντρα. Red-Black Δέντρα

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ

Εισαγωγή στον Προγραμματισμό

ΑΝΑΚΟΙΝΩΣΗ Αφορά τους σπουδαστές του τμήματος Ηλεκτρολογίας (Λαμία)

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

ΠΤΥΧΙΑΚΗ/ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Ακαδημαϊκό έτος B εξάμηνο (εαρινό)

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

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ.

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

Πίνακες (Arrays) Εισαγωγή στη C++

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Τελικές εξετάσεις Παρασκευή 4 Ιουλίου 2014, 18:00-21:00

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 1: Εισαγωγικό Μάθημα

Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ

Μάθημα 21: Ουρές (Queues)

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

Υπερπροσαρμογή (Overfitting) (1)

Τεχνικές και Αλγόριθμοι Ταξινόμησης

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

Οι υποψήφιοι του ΠΑΣΟΚ για τις εκλογές της 17ης Ιουνίου

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

ΠΛΗ 405 Τεχνητή Νοηµοσύνη Ε ανάληψη. Προβλήµατα ικανο οίησης εριορισµών ορισµός και χαρακτηριστικά

Μάθημα: Στατική ΙΙ 6 Οκτωβρίου 2011 Διδάσκων: Τριαντ. Κόκκινος, Ph.D. Διάρκεια εξέτασης 2:15 ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ

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

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

ΠΕΡΙΛΗΨΗ ΠΡΟΚΗΡΥΞΗΣ ΓΙΑ ΤΗΝ ΠΡΟΣΛΗΨΗ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΣΥΝΕΡΓΑΤΩΝ ΑΚΑΔΗΜΑΪΚΟΥ ΕΤΟΥΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Ακαδημαϊκό έτος B εξάμηνο (εαρινό)

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΕΝΤΡΑ (TREES) B C D E F G H I J K L M

Εκφωνήσεις ασκήσεων εργαστηρίου 2 (pthreads)

Εισαγωγή στον Προγραμματισμό

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 1 Συμβολοσειρές, Πίνακες, Δείκτες

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

Συστήματα Ανάκτησης Πληροφοριών ΗΥ-463

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

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

Τμήμα Μηχανικών Πληροφορικής & Υπολογιστών

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

Transcript:

Version 1.0 (16/03/2017) Σχολή Τεχνολογικών Εφαρμογών (ΣΤΕΦ) Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διδάσκων: Γκόγκος Χρήστος Μάθημα: Τεχνητή Νοημοσύνη (εργαστήριο Δ εξαμήνου) Ακαδημαϊκό έτος 2016-2017 εαρινό εξάμηνο ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 3 Άσκηση 1 Να γράψετε πρόγραμμα που να παίζει ένα παιχνίδι Οθέλλο χωρίς την παρέμβαση του χρήστη κατά τη διάρκεια του παιχνιδιού. Το παιχνίδι θα ξεκινά από ένα αρχικό ταμπλό και θα γίνονται αυτόματα τυχαίες έγκυρες κινήσεις και από τους δύο παίκτες εφόσον αυτό είναι δυνατόν. Το παιχνίδι θα ολοκληρώνεται είτε όταν συμπληρωθεί το ταμπλό είτε όταν πλέον δεν θα υπάρχουν έγκυρες κινήσεις οι οποίες θα μπορούσαν να γίνουν και από τους δύο παίκτες. Άσκηση 2 Να γράψετε πρόγραμμα που να παίζει ένα παιχνίδι Οθέλλο ο επιλυτής άλφα-βήτα (παίκτης O) με τον απλό ευρετικό επιλυτή (παίκτης X) του εργαστηρίου. Άσκηση 3 1. Εφαρμόστε τον αλγόριθμο minimax και τον αλγόριθμο άλφα-βήτα στο ακόλουθο δένδρο. 2. Επιβεβαιώστε τα αποτελέσματα που υπολογίσατε με αυτά που δίνει η εκτέλεση του αλγορίθμου άλφα-βήτα στην ιστοσελίδα http://homepage.ufp.pt/jtorres/ensino/ia/alfabeta.html. 3. Τι τιμή θα έπρεπε να έχει κάποιος από τους τερματικούς κόμβους που έχουν προηγηθεί του πρώτου κλαδέματος έτσι ώστε να μη συμβεί το πρώτο κλάδεμα; Άσκηση 4 1. Εφαρμόστε τον αλγόριθμο άλφα-βήτα στο ακόλουθο δένδρο. Ποιοι θα είναι οι κόμβοι που θα κλαδέψει ο αλγόριθμος; 2. Ποια θα είναι η τιμή του κόμβου ρίζα και ποια σειρά ενεργειών θα ακολουθηθεί; 3. Τι τιμή θα έπρεπε να έχει κάποιος από τους τερματικούς κόμβους που έχουν προηγηθεί του πρώτου κλαδέματος έτσι ώστε να μη συμβεί το πρώτο κλάδεμα; 1

Άσκηση 5 Εφαρμόστε τον αλγόριθμο άλφα-βήτα στο ακόλουθο δένδρο. 2

Άσκηση 1 #include "lab03_board.hpp" int main() { default_random_engine gen; gen.seed(time(null)); char **board = initialize_board(); bool flag{false; int moves{0; draw_board(board); while (!flag) { bool player1_moved{false; bool player2_moved{false; vector<pair<int, int>> valid_pairs_x = get_valid_positions(board, 'X'); if (!(valid_pairs_x.empty())) { shuffle(valid_pairs_x.begin(), valid_pairs_x.end(), gen); pair<int, int> p = valid_pairs_x.front(); update_board(board, p.first, p.second, 'X'); player1_moved = true; vector<pair<int, int>> valid_pairs_o = get_valid_positions(board, 'O'); if (!(valid_pairs_o.empty())) { shuffle(valid_pairs_o.begin(), valid_pairs_o.end(), gen); pair<int, int> p = valid_pairs_o.front(); update_board(board, p.first, p.second, 'O'); player2_moved = true; if ((moves == ROWS * COLS - 4) (!player1_moved &&!player2_moved)) flag = true; draw_board(board); lab03_exercise01.cpp g++ lab03_board.cpp lab03_exercise01.cpp -o lab03_exercise01 -std=c++11./lab03_exercise01 0 1 2 3 X O 4 O X 5 6 7 Score X=2 O=2 0 O O X X X X X X 1 O O O O O O O X 2 O X X O X O X X 3 X X X O O X X X 4 X X X O O X O X 5 X O X X X X O X 6 X X X X O O X X 7 X X X X X X X X 3

Score X=43 O=21 Άσκηση 2 #include "lab03_board.hpp" #include "lab03_human.hpp" #include "lab03_solvers.hpp" int main() { char **board = initialize_board(); bool flag{false; int moves{0; draw_board(board); while (!flag) { bool player1_moved{false; bool player2_moved{false; if (!(get_valid_positions(board, 'X').empty())) { computer_move_using_simple_heuristic(board, 'X'); player1_moved = true; if (!(get_valid_positions(board, 'O').empty())) { computer_move_using_alpha_beta(board, 5, 'O'); player2_moved = true; if ((moves == ROWS * COLS - 4) (!player1_moved &&!player2_moved)) flag = true; delete_board(board); lab03_exercise02.cpp g++ lab03_board.cpp lab03_solvers.cpp lab03_exercise02.cpp -o lab03_exercise02 -std=c++11./lab03_exercise01... Computer using heuristic plays with disk X (7 6)->27 0 O O O O O O X X 1 O O O O O O O X 2 O O O O X X O X 3 O O O X O O X X 4 O O O O O O X X 5 X X X O X O X X 6 X X X X X X X X 7 O O O O O X X Score X=27 O=36 Computer using alpha-beta plays with disk O 0 O O O O O O X X 1 O O O O O O O X 2 O O O O X X O X 3 O O O X O O X X 4 O O O O O O X X 5 X X O O O O X X 6 X X X O O X X X 7 O O O O O O X X Score X=23 O=41 4

Άσκηση 3 http://homepage.ufp.pt/jtorres/ensino/ia/alfabeta.html game tree structure: 2 3 3 2 1 3 1 2 3 3 2 3 2 1 2 3 2 1 3 2 3 game tree terminal nodes: 4 3 8 2 1 4 2 3 6 4 7 5 2 1 9 0 4 3 0 2 8 4 3 7 5 4 1 5

Ξεκινώντας από τον αριθμό 1 και αριθμώντας τους κόμβους από πάνω προς τα κάτω και από αριστερά προς τα δεξιά ο κόμβος 25 θα πρέπει να είχε τιμή μεγαλύτερη του 3 έτσι ώστε να μην κλαδευτεί ο κόμβος 26. Άσκηση 4 http://homepage.ufp.pt/jtorres/ensino/ia/alfabeta.html game tree structure: 3 2 2 3 1 2 1 2 2 2 2 game tree terminal nodes: 5 16 15 8 9 7 16 14 1 3 6 2 1. Ξεκινώντας από τον αριθμό 1 και αριθμώντας τους κόμβους από πάνω προς τα κάτω και από αριστερά προς τα δεξιά ο αλγόριθμος άλφα-βήτα θα κλαδέψει τους κόμβους 11, 14, 17, 22 και 23. 2. Η διαδρομή που θα πρέπει να ακολουθήσει ο max έτσι ώστε να επιτευχθεί μέγιστο κέρδος για αυτόν είναι η 1-3-7-15. Σε αυτή τη περίπτωση το μέγιστο κέρδος για τον max θα είναι 8. 3. Ο πρώτος κόμβος ο οποίος κλαδεύεται είναι ο κόμβος 14. Για να μην κλαδευτεί θα έπρεπε ο κόμβος 13 να έχει τιμή μικρότερη του 5. 6

Άσκηση 5 http://homepage.ufp.pt/jtorres/ensino/ia/alfabeta.html Game tree structure: 3 3 2 2 2 2 2 2 2 2 2 2 Game tree terminal values: 2 3 6 5 7 9 1 2 3 5 7 3 8 2 7