Βελτιστοποίηση σε τρίλιζα Καταδίωξη/διαφυγή

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Καταδίωξη / Διαφυγή. Οι κανόνες • Ένας «φυγάς», ένας ή περισσότεροι «κυνηγοί» • Κινούνται πάνω σε ένα γράφημα • Στην πιο απλή περίπτωση, μία κίνηση ο.
Advertisements

Nikos Louloudakis Nikos Orfanoudakis Irini Genitsaridi
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Aυτόνομοι Πράκτορεσ Ενισχυτική μαθηση σto Peg Solitaire
Αλγόριθμοι Αναζήτησης
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έχουμε αποθηκεύσει.
Αλγόριθμοι και Πολυπλοκότητα
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Τι θα κάνουμε Στο υπάρχον σενάριο θα προστεθούν 3 λειτουργίες : Όταν το αυτοκίνητο βρίσκεται εκτός πίστας η μέγιστη δυνατή μονάδα μετατόπισής του θα μειώνεται.
Δυναμικός Προγραμματισμός
Προσεγγιστικοί Αλγόριθμοι
ΕΚΠΑΙΔΕΥΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ ΤΗΣ ΕΥΡΥΤΕΡΗΣ ΕΝΝΟΙΑΣ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΔΙΑΦΟΡΕΤΙΚΟ ΛΟΓΙΣΜΙΚΟ ΓΙΑ ΚΑΘΕ ΠΤΥΧΗ ΤΟΥ Κάππας Κων/νος Επιμορφωτής ΤΠΕ -
Ιωάννης Γ. Κοντοχριστόπουλος Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Επιβλέπων: Επ. Καθηγητής Κ. Σγάρμπας Τετάρτη 10 Οκτωβρίου 2012.
Υποθετικός τελεστής Ο υποθετικός τελεστής (?:) αποτελείται από δύο σύμβολα. Ανήκει στην κατηγορία των τελεστών που αποτελούνται από συνδυασμό συμβόλων.
Παράγωγοι, συμβολισμοί Αν Y=f(X) μια παραγωγίσιμη συνάρτηση του Χ οι συμβολισμοί είναι αποδεκτοί συμβολισμοί της παραγώγου της Υ.
Σχεδίαση αλγορίθμων (2ο μέρος)
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Γιάννης Σταματίου Αναδρομή και αναδρομικές σχέσεις
Προηγμένη Τεχνητή Νοημοσύνη Solving Dots-And-Boxes Joseph K. Barker and Richard E. Korf Μεταπτυχιακός Φοιτητής: Ιωάννης Σίδερης (Μ1068) 1/500.
Πρωτόκολλο αμοιβαίου αποκλεισμού (mutual exclusion) για δύο διεργασίες-CPN Tools Νάνος Λέανδρος 156 Τζιαλαμάνη Βιργινία 166.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Αυτό το παιχνίδι είναι σχεδόν ίδιο με το προηγούμενο. Διαφορές Οι κυνηγοί δεν γνωρίζουν τη θέση του φυγάδα (αόρατος φυγάδας). Ο φυγάδας γνωρίζει τις θέσεις.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
1 Βέλτιστη δρομολόγηση (optimal routing) Αντιμετώπιση της δρομολόγησης σαν «συνολικό» πρόβλημα βελτιστoποίησης. Γιατί: Η αλλαγή της δρομολόγησης μιας συνόδου.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Searching Game Trees. The top-level statement play(Game) :- initialize(Game,Position,Player), display_game(Position,Player), play(Position,Player,Result).
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Lab 3: Sorted List ΕΠΛ231-Δομές Δεδομένων και Αλγόριθμοι115/4/2015.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Πολυμορφισμός.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 4-1 Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
2) Aν δανειστούμε ένα ποσό Α με επιτόκιο Τ=Ε% και υποχρεωθούμε να το ξεχρεώσουμε σε Ν χρόνια, τότε το ποσό της μηνιαίας δόσης Μ θα δίνεται από τον τύπο.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Αυτόνομοι Πράκτορες Ενισχυτική Μάθηση (Q-learning algorithm) in PONG Χανιά, 4/3/2011 Μπαμπαλής Μπάμπης.
1 Διαχείριση Έργων Πληροφορικής Διάλεξη 7 η Διαχείριση Πόρων.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΘΕΩΡΙΑΣ ΠΑΙΓΝΙΩΝ Τρίλιζα, Pacman, Age of Empires ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΘΕΩΡΙΑΣ ΠΑΙΓΝΙΩΝ Τρίλιζα, Pacman, Age of Empires Αλέξης Γελαστόπουλος, Βάσω.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Προβλήματα Ικανοποίησης Περιορισμών
Βελτιστοποίηση σε τρίλιζα Καταδίωξη/διαφυγή
Εφαρμογές Υπολογιστών
Τι μαθαίνει αυτός που μαθαίνει προγραμματισμό;
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
Βέλτιστη δρομολόγηση (optimal routing)
Γενικές Διαδικασίες.
Διάλεξη 15: O αλγόριθμος SIMPLE
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
EPL231 – Data Structures and Algorithms
Στρατηγικές πληροφορημένης αναζήτησης
Δυναμικός Προγραμματισμός
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
Μη Γραμμικός Προγραμματισμός
Προβλήματα Μεταφοράς: Παραδείγματα και Εφαρμογές
Δυναμικός Κατακερματισμός
Αναδρομή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Μεταγράφημα παρουσίασης:

Βελτιστοποίηση σε τρίλιζα Καταδίωξη/διαφυγή ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Ένα απλό παράδειγμα Βελτιστοποίηση σε τρίλιζα Καταδίωξη/διαφυγή (με ορατό ή αόρατο φυγά)

Ας παίξουμε! Δύο παίκτες Ο 1ος παίκτης διαλέγει τον αριθμό 1 ή 2 Το ίδιο και ο 2ος και ο αριθμός του προστίθεται στου πρώτου. Παίζουν εναλλάξ αυξάνοντας τον αριθμό κατά 1 ή 2 Όποιος φτάσει πρώτος στο 10 κερδίζει

Ας παίξουμε! LIVE!

Δέντρο παιχνιδιού 1 2 2 3 3 4 4 5 1 2 1 2 1 2 1 2 1ος παίκτης 1 2 1ος παίκτης 1 2 2ος παίκτης 1 2 2 3 1 2 1ος 3 4 1 2 2ος 4 5

Δέντρο παιχνιδιού 1 2 1ος 1 2 1 2ος 2 2 3 1 1ος 2 3 4 1 2 2ος 4 5

Δέντρο παιχνιδιού 1 2 1ος 1ος 1 2 1 2ος 2 2 3 1 1ος 1ος 2 3 4 1 2 2ος 1 2 1ος 1ος 1 2 1 2ος 2 2 3 1 1ος 1ος 2 3 4 1 2 2ος 4 5 1 2 1ος 5 6 2ος 1 2 1 6 7 7 1ος 1 7

Δέντρο παιχνιδιού 1 2 1ος 1ος 1 2 1 2ος 2 2 3 1 1ος 1ος 2 3 4 1 2 2ος 1 2 1ος 1ος 1 2 1 2ος 2 2 3 1 1ος 1ος 2 3 4 1 2 2ος 4 5 1 2 1ος 1 2 5 6 6 7 2ος 1 2 1 1 6 7 7 7 1ος 1 7

Δέντρο παιχνιδιού 1 2 1ος 1ος 1 2 1 2ος 2 2 3 1 1ος 1ος 2 3 4 1 2 2ος 1 2 1ος 1ος 1 2 1 2ος 2 2 3 1 1ος 1ος 2 3 4 1 2 2ος 1 2 4 5 5 6 1 2 1ος 1 2 1 2 1 5 6 6 7 6 7 7 2ος 1 2 1 1 1 6 7 7 7 7 1ος 1 7

Δέντρο παιχνιδιού 1 2 1ος 1ος 1 2 1 2ος 2 2 3 1 1ος 1ος 2 1 2 3 4 4 5 1 2 1ος 1ος 1 2 1 2ος 2 2 3 1 1ος 1ος 2 1 2 3 4 4 5 1 2 1 2ος 1 2 2 1 2 4 5 5 6 5 6 6 7 1 2 1ος 1 2 1 2 1 1 2 1 1 5 6 6 7 6 7 7 6 7 7 7 2ος 1 2 1 1 1 1 6 7 7 7 7 7 1ος 1 7

Δέντρο παιχνιδιού 1 2 1ος 1ος 1 2 1 2ος 2 1 2 2 3 3 4 1 1ος 1ος 2 1 2 1 2 1ος 1ος 1 2 1 2ος 2 1 2 2 3 3 4 1 1ος 1ος 2 1 2 1 2 1 2 3 4 4 5 4 5 5 6 1 2 1 2 2ος 1 2 2 1 2 1 1 2 1 2 1 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 1 2 1ος 1 2 1 2 1 1 2 1 1 1 2 1 1 1 5 6 6 7 6 7 7 6 7 7 7 6 7 7 7 7 2ος 1 2 1 1 1 1 1 6 7 7 7 7 7 7 1ος 1 7

Δέντρο παιχνιδιού 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 1ος 5 6 6 7 6 7 7 6 7 7 7 6 7 7 7 7 2ος 6 7 7 7 7 7 7 1ος 7

Δέντρο παιχνιδιού 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 1ος 5 6 6 7 6 7 7 6 7 7 7 6 7 7 7 7 2ος 6 7 7 7 7 7 7 1ος 7

Δέντρο παιχνιδιού 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 1ος 5 6 6 7 6 7 7 6 7 7 7 6 7 7 7 7 2ος 6 7 7 7 7 7 7 1ος 7

Δέντρο παιχνιδιού 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 1ος 5 6 6 7 6 7 7 6 7 7 7 6 7 7 7 7 2ος 6 7 7 7 7 7 7 1ος 7

Δέντρο παιχνιδιού 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 1ος 5 6 6 7 6 7 7 6 7 7 7 6 7 7 7 7 2ος 6 7 7 7 7 7 7 1ος 7

Δέντρο παιχνιδιού 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 1ος 1ος 1 2 2ος 2 3 3 4 1ος 1ος 3 4 4 5 4 5 5 6 2ος 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 1ος 5 6 6 7 6 7 7 6 7 7 7 6 7 7 7 7 2ος 6 7 7 7 7 7 7 1ος 7

Τρίλιζα

Τρίλιζα Υπάρχει δέντρο παιχνιδιού για την τρίλιζα? Ποιο είναι το βάθος του δέντρου? Είναι σταθερό το βάθος? Πόσες διακλαδώσεις υπάρχουν σε κάθε βήμα?

Τρίλιζα δέντρο 1 1ος παίκτης (επιλέγει maximum) -1 -1 1 2ος παίκτης (επιλέγει minimum) 1 -1 -1 1 1 -1 -1 1 1 1 1

Τρίλιζα Όλο το δέντρο έχει χοντρικά 9! = 360000 τελικούς κόμβους Για την ακρίβεια έχει 549.946 κόμβους (58.924 αν λάβουμε υπόψη τη συμμετρία) Πρακτικά εφαρμόσιμη μέθοδος μόνο για υπολογιστή!

O αλγόριθμος… με απλά λόγια Αλγόριθμος Βρες_Αξία Αν είναι τελικός κόμβος Αν είναι νίκη του Χ: Αξία = 1 Αν είναι νίκη του Ο: Αξία = -1 Αν είναι ισοπαλία: Αξία = 0 Αν δεν είναι τελικός κόμβος Για όλες τις δυνατές κινήσεις: Υπολογίζουμε την αξία του κάθε κόμβου που προκύπτει Αν είναι σειρά του Χ βρίσκουμε το μέγιστο των παραπάνω Αν είναι σειρά του Ο βρίσκουμε το ελάχιστο των παραπάνω Αυτό θα γίνει με τον ίδιο αλγόριθμο

Αναδρομικές διαδικασίες Πρόβλημα Α1 Πρόβλημα Β1 Πρόβλημα Β2 Πρόβλημα Β3 Γ1 Γ2 Γ3 Γ4 Γ5 Γ6 Γ7 Γ8 Γ9

O αλγόριθμος… με απλά λόγια Αλγόριθμος Βρες_Αξία Αν είναι τελικός κόμβος Αν είναι νίκη του Χ: Αξία = 1 Αν είναι νίκη του Ο: Αξία = -1 Αν είναι ισοπαλία: Αξία = 0 Αν δεν είναι τελικός κόμβος Για όλες τις δυνατές κινήσεις: Υπολογίζουμε την αξία του κάθε κόμβου που προκύπτει Αν είναι σειρά του Χ βρίσκουμε το μέγιστο των παραπάνω Αν είναι σειρά του Ο βρίσκουμε το ελάχιστο των παραπάνω

Αλγόριθμος - Ψευδοκώδικας function Value (A[3][3], player) if (A[1][1] + A[1][2] + A[1][3] == 3) or (A[2][1] + A[2][2] + A[2][3] == 3) or …. Value = 1 else if (A[1][1] + A[1][2] + A[1][3] == -3) or (A[2][1] + A[2][2] + A[2][3] == -3) or …. Value = -1 else if (A[1][1] * A[1][2] * A[1][3] * … * A[3][3] != 0) Value = 0 end if Συνέχεια…

Ψευδοκώδικας - Συνέχεια if (player==1) bestValue = -1 // Initialize bestValue if (player==2) bestValue = 1 for (i=1 to 3) for(j=1 to 3) if (A[i][j]==0) // Is free square? A[i][j] = 3 - 2*player // Play the move new_player = 3 – player // Decide next player tempValue = Value(A, new_player) if (tempValue > bestValue AND player==1) bestValue = tempValue else if (tempValue < bestValue AND player==2) end if A[i][j] = 0 // Take back move end for

Πώς γίνεται στην πράξη; Υλοποίηση του αλγορίθμου σε C Εύκολα γραφικά με Visual Basic Δημιουργία .dll με τον κώδικα C και κλήση από Visual Basic!

Τεχνικές λεπτομέρειες Στη C/C++: Δημιουργία dll project Γράφουμε κανονικά τις συναρτήσεις δηλώνοντάς τες ως extern (πχ “extern int myFunc(int var1)”) Στη Visual Basic: Δηλώνουμε στις γενικές μεταβλητές ότι θα χρησιμοποιήσουμε την αντίστοιχη συνάρτηση: Private Declare Function myFunc Lib “path\filename.dll" (ByVal var1 As Long) As Long Καλούμε τη συνάρτηση όποτε θέλουμε όπως και στη C (πχ “b=myFunc(a)”)

Pursuit Evasion με αόρατο φυγάδα Αυτό το παιχνίδι είναι σχεδόν ίδιο με το προηγούμενο. Διαφορές Οι κυνηγοί δεν γνωρίζουν τη θέση του φυγάδα (αόρατος φυγάδας). Ο φυγάδας γνωρίζει τις θέσεις των κυνηγών. Ο φυγάδας έχει πολύ μεγαλύτερη ταχύτητα από τους κυνηγούς. Εφαρμογή του παιχνιδιού: έρευνα μέσα σε ένα κτίριο.

Όπως και στα προηγούμενα, με διακριτοποίηση καταλήγουμε σε καταδίωξη επί ενός γράφου.

Καταδίωξη / διαφυγή Αόρατου Φυγάδα επί ενός γράφου

Το πρόβλημα του αόρατου φυγάδα είναι υπολογιστικά πολύ πιο δύσκολο από αυτό του ορατού φυγάδα. Διάφορες λύσεις, όλες ευρετικές. Δεν υπάρχει minmax διατύπωση ανάλογη με του ορατού φυγάδα (γιατί δεν εφαρμόζεται η λύση του ορατού φυγάδα?) Βασική ιδέα: Σαρώνουμε το κτίριο, καθαρίζουμε τα δωμάτια, φροντίζουμε ώστε κανένα καθαρό δωμάτιο να μην ξαναμολυνθεί. Βασική ιδέα: Η κατάσταση (state) της καταδίωξης και η συνάρτηση εξέλιξης κατάστασης (state evolution function).

H Κατάσταση της Καταδίωξης Που βρίσκεται ο κάθε κυνηγός Που μπορεί να βρίσκεται ο φυγάδας (dirty set) Διάνυσμα κατάστασης (xt,Dt) Συνάρτηση εξέλιξης κατάστασης: (xt,Dt)=F(xt-1,Dt-1,ut) Το Κόστος της Κατάστασης της Καταδίωξης J(xt,Dt)=|Dt|

Algorithm PEI (Pursue / Evasion Invisible) Input: Graph (V,E); Starting node n₀ For t=1:Tmax For n=1:N Path(n)=[ ] DirtySet(n)=V Cost(n)=|DirtySet(n)| Next n Path(n₀)=[n₀] DirtySet(n₀)=V-N(n₀) Cost(n₀)=|DirtySet(n₀)| [Path, DirtySet, Cost]=SearchUpdate(Path, DirtySet, Cost) Next t Output: PathBest

Func[Path,DSet,Cost]=SearchUpdate(Path,DSet, Cost) For n=1:N For m=1:N If m is neighbor of n PathBest=Path(m) DirtyBest=DirtySet(m) CostBest=Cost(m) PathNew=[Path(n) m] DirtyNew=State(n,DirtySet(n),m) CostNew=|DirtyNew| If CostNew<CostBest PathBest=PathNew DirtyBest=DirtyNew CostBest=CostNew EndIf Path(m)=PathBest DirtySet(m)=DirtyBest Cost(m)=CostBest Next m Next n

PEI Computer Demo 1

PEI Computer Demo 2

PEI Computer Demo 3