Ευφυής Προγραμματισμός

Σχετικά έγγραφα
Εισαγωγή στους Αλγορίθμους

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

Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός

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

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

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

Ευφυής Προγραμματισμός

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ευφυής Προγραμματισμός

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

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

Ευφυής Προγραμματισμός

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

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

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

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

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

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

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

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

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

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

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

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

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

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

Ευφυής Προγραμματισμός

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

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

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

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

Διδακτική των εικαστικών τεχνών Ενότητα 1

Διδακτική των εικαστικών τεχνών Ενότητα 3

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

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

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

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

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

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

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

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

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

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

Φιλοσοφία της Ιστορίας και του Πολιτισμού

1 ΠΡΟΒΛΗΜΑΤΑ ΤΝ ΚΑΙ LISP

Διδακτική των εικαστικών τεχνών Ενότητα 2

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

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

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

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

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

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

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

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (1ο Μέρος)

Έλεγχος Ποιότητας Φαρμάκων

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

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

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

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

Οντοκεντρικός Προγραμματισμός

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

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

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

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

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

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

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

Οντοκεντρικός Προγραμματισμός

Εισαγωγή στη Δικτύωση Υπολογιστών

Διδακτική των εικαστικών τεχνών Ενότητα 2

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

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

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

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

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

Transcript:

Ευφυής Προγραμματισμός Ενότητα 6: Προβλήματα ΤΝ και Lisp Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Περιεχόμενα ενότητας Προβλήματα ΤΝ και Lisp 1. Αναζήτηση και Στρατηγικές Ελέγχου 2. Πρόβλημα των Δύο Δοχείων 2

Προβλήματα ΤΝ και Lisp

Προβλήματα ΤΝ και Lisp Τα προβλήματα ΤΝ απαιτούν συνήθως επεξεργασία συμβόλων Η LISP είναι η κατ εξοχήν τέτοια γλώσσα Μια τέτοια περίπτωση είναι η λύση προβλημάτων με αναζήτηση 4

Αναζήτηση και Στρατηγικές Ελέγχου

Αναζήτηση και Στρατηγικές Ελέγχου Αναζήτηση Κατά Πλάτος Τ1 Τ2 Τ3 Τ1 Τ3 Τ2 Τ4 Τ4 6

Αλγόριθμος Κατά Πλάτος 1. Δημιούργησε μια λίστα open (που αρχικά περιέχει τη ρίζα) και μια κενή λίστα closed. 2. Ενόσω open [ ], έλεγχε αν το πρώτο στοιχείο, έστω Χ, είναι ο στόχος 2.1 Αν είναι, τότε σταμάτα (επιτυχία) 2.2 Αν δεν είναι, τότε 2.2.1 Παράγαγε τα παιδιά του Χ και βάλε το Χ στην closed 2.2.2 Διάγραψε όσα παιδιά του Χ υπάρχουν στην closed 2.2.3 Εισάγαγε τα υπόλοιπα παιδιά του Χ στο τέλος της open 3. Σταμάτα (αποτυχία) 7

Αλγόριθμος Κατά Πλάτος σε Lisp-1o Επίπεδο (defun breadth-first-search (init-state final-states) (let ((open (list init-state)) (closed nil)) (breadth-solve open closed final-states))) 8

Αλγόριθμος Κατά Πλάτος σε Lisp-1o Επίπεδο (defun breadth-solve (open closed final-states) (if (null open) nil (let ((cur-state (pop open)) (if (member cur-state final-states) (show-solution-path cur-state closed) (let* ((childs (make-childs cur-state)) (closed (push cur-state closed)) (childs (remove-closed-childs childs closed)) (open (append open childs))) (breadth-solve open closed final-states))))))) 9

Αναζήτηση και Στρατηγικές Ελέγχου Αναζήτηση Κατά Βάθος Τ1 Τ2 Τ3 Τ1 Τ3 Τ2 Τ4 Τ4 10

Αλγόριθμος Κατά Βάθος σε Lisp-1o Επίπεδο 1. Δημιούργησε μια λίστα open (που αρχικά περιέχει τη ρίζα) και μια κενή λίστα closed. 2. Ενόσω open [ ], έλεγχε αν το πρώτο στοιχείο, έστω Χ, είναι ο στόχος 2.1 Αν είναι, τότε σταμάτα (επιτυχία) 2.2 Αν δεν είναι, τότε 2.2.1 Παράγαγε τα παιδιά του Χ και βάλε το Χ στην closed 2.2.2 Διάγραψε όσα παιδιά του Χ υπάρχουν στην closed 2.2.3 Εισάγαγε τα υπόλοιπα παιδιά του Χ στην αρχή της open 3. Σταμάτα (αποτυχία) 11

Αλγόριθμος Κατά Βάθος σε Lisp-1o Επίπεδο (defun breadth-first-search (init-state final-states) (let ((open (list init-state)) (closed nil)) (breadth-solve open closed final-states))) 12

Αλγόριθμος Κατά Βάθος σε Lisp-1o Επίπεδο (defun breadth-solve (open closed final-states) (if (null open) nil (let ((cur-state (pop open)) (if (member cur-state final-states) (show-solution-path cur-state closed) (let* ((childs (make-childs cur-state)) (closed (push cur-state closed)) (childs (remove-closed-childs childs closed)) (open (append childs open))) (breadth-solve open closed final-states))))))) 13

Αλγόριθμος Beam Search 1. Δημιούργησε μια λίστα open (που αρχικά περιέχει τη ρίζα) και μια κενή λίστα closed. 2. Ενόσω open [ ], έλεγχε αν το πρώτο στοιχείο, έστω Χ, είναι ο στόχος 2.1 Αν είναι, τότε σταμάτα (επιτυχία) 2.2 Αν δεν είναι, τότε 2.2.1 Παράγαγε τα παιδιά του Χ και βάλε το Χ στην closed 2.2.2 Διάγραψε όσα παιδιά του Χ υπάρχουν στην closed 2.2.3 Διάταξε τα παιδιά του Χ με βάση το ευρετικό 2.2.4 Εισάγαγε τα m πρώτα παιδιά του Χ στο τέλος της open 3. Σταμάτα (αποτυχία) 14

Beam Search σε Lisp (defun beam-search (init-state final-states) (let ((open (list init-state)) (closed nil)) (beam-solve open closed final-states))) 15

Beam Search σε Lisp (defun beam-solve (open closed final-states) (if (null open) nil (let ((cur-state (pop open)) (if (member cur-state final-states) (show-solution-path cur-state closed) (let* ((childs (make-childs cur-state)) (closed (push cur-state closed)) (childs (remove-closed-childs childs closed)) (childs (sort-childs childs)) (open (append open childs))) (beam-solve open closed final-states)))))) 16

Πρόβλημα των Δύο Δοχείων

Πρόβλημα των Δύο Δοχείων Το πρόβλημα των 2 δοχείων: 4λιτ 3λιτ 2λιτ Α Β (Αρχική κατάσταση) Α Β (Κατάσταση λύσης ή στόχου) 18

Πρόβλημα των Δύο Δοχείων Τελεστές ΤΕΛΕΣΤΗΣ:ΠΕΡΙΓΡΑΦΗ ΠΡΟΫΠΟΘΕΣΕΙΣ ΑΠΟΤΕΛΕΣΜΑ Τ1: Γέμισε το Α x<4 (4 y) Τ2: Γέμισε το Β y<3 (x 3) Τ3:Άδειασε το Α x>0 (0 y) Τ4: Άδειασε το Β y>0 (x 0) Τ5: Άδειασε το Α στο Β x>0, y<3 Τ6: Άδειασε το Β στο Α x<4, y>0 Αν x 3-y τότε ((x-(3-y)) 3), αλλιώς (0 (y+x)) Αν y 4-x τότε (4 (y-(4-x))), αλλιώς ((y+x) 0) 19

Πρόβλημα των Δύο Δοχείων-Τελεστής (defun t1 (state) (let((x (car state)) (y (second state))) Τ1 (if (< x 4) (let ((newstate (list 4 y))) (prog1 newstate (format t "~%~3a GEMISE TO DOXEIO A ~3a" state newstate)))))) >(t1 '(2 3)) (2 3) GEMISE TO DOXEIO A (4 3) 20

Πρόβλημα των Δύο Δοχείων-Τελεστής Τ5 (defun t5 (state) (let ((x (car state)) (y (second state))) (if (and (> x 0) (< y 3)) (let ((z (- 3 y))) (if (or (> x z) (= x z)) (let ((newstate (list (- x (- 3 y)) 3))) (print-state-t5 state newstate)) (let ((newstate (list 0 (+ y x)))) (print-state-t5 state newstate))))))) 21

Πρόβλημα των Δύο Δοχείων-Τελεστής Τ5 (defun print-state-t5 (state newstate) (prog1 newstate (format t" ~3a ADEIASE TO DOXEIO A STO B ~3a" state newstate))) >(t5 '(3 1)) (3 1) ADEIASE TO DOXEIO A STO B (1 3) 22

Πρόβλημα των Δύο Δοχείων Ευρετική Συνάρτηση h(n) = ( 2-x + 2-y )/2 αν x, y 2 0 αν x=2 ή y=2 (defun heuristic (state) (let ((x (car state)) (y (second state))) (if (or (= x 2) (= y 2)) 0 (float (/ (+ (abs (- 2 x)) (abs (- 2 y))) 2))))) >(heuristic '(3 1)) 1.0 23

Πρόβλημα των Δύο Δοχείων Λοιπές Συναρτήσεις (defun sort-childes (states) (sort-states (compute-h states))) (defun compute-h (states) (let ((newstates nil)) (dolist (state states (reverse newstates)) (push (cons state (heuristic state)) newstates)))) 24

Πρόβλημα των Δύο Δοχείων (defun sort-states (h-states) (do* ((n-states h-states (remove-state min-state n- states)) (min-state (find-minstate h-states) (find-minstate n- states)) (s-states nil)) ((null n-states) (reverse s-states)) (push (car min-state) s-states))) 25

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

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. 27

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Ιωάννης Χατζηλυγερούδης 2015. «Ευφυής Προγραμματισμός». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1095/ 28

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 29

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