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



Σχετικά έγγραφα
Αλγόριθµοι Ευριστικής Αναζήτησης

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

Κεφάλαιο 4. Αλγόριθµοι Ευριστικής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

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

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

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

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

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

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

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

ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ

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

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

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

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

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

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

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

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

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

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

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

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

Επίλυση Προβληµάτων. ! Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσµατα της νοηµοσύνης. ! Χαρακτηριστικά αλγορίθµων:

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

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

Επίλυση Προβληµάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσµατα της νοηµοσύνης.

Ε ανάληψη. Α ληροφόρητη αναζήτηση

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

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

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

Επίλυση Προβλημάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης.

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

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

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα

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

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

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 3: Αλγόριθμοι πληροφορημένης αναζήτησης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Μαθηματικά των Υπολογιστών και των Αποφάσεων Τεχνητή Νοημοσύνη 1η Σειρά Ασκήσεων

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

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

Αλγόριθμοι και Πολυπλοκότητα

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

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

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

Κεφάλαιο 2ο (α) Αµιγείς Στρατηγικές (β) Μεικτές Στρατηγικές (α) Αµιγείς Στρατηγικές. Επαναλαµβάνουµε:

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

ΕΡΩΤΗΜΑΤΑ σε ΑΝΑΖΗΤΗΣΗ

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

Kεφάλαιο 10. Πόσα υποπαίγνια υπάρχουν εδώ πέρα; 2 υποπαίγνια.

Για παράδειγμα η αρχική και η τελική κατάσταση αναπαριστώνται ως εξής: (ένα λίτρο)

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ

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

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

HY118- ιακριτά Μαθηµατικά. Παράδειγµα. Από τα συµπεράσµατα στις υποθέσεις Αποδείξεις - Θεωρία συνόλων. Από τις υποθέσεις στα συµπεράσµατα...

ιαµέριση - Partitioning

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

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

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

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Συναρτησιακές Εξαρτήσεις

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

Branch and Bound. Branch and Bound

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

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

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

ΑΝΑΛΥΤΙΚΟ ΤΥΠΟΛΟΓΙΟ ΠΕΡΙΕΧΕΙ: ΤΥΠΟΥΣ ΜΕΘΟ ΟΛΟΓΙΑ ΠΑΡΑ ΕΙΓΜΑΤΑ. Τώρα τα κατάλαβα όλα...και τα θυµάµαι όλα!!!

ροµολόγηση πακέτων σε δίκτυα υπολογιστών

ΕΠΙΤΑΧΥΝΣΗ- ΕΠΙΤΑΧΥΝΟΜΕΝΗ ΚΙΝΗΣΗ

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

Πληροφορηµένη αναζήτηση και εξερεύνηση

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός

Το εσωτερικό ενός Σ Β

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

επιµέλεια Θοδωρής Πιερράτος

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

Heapsort Using Multiple Heaps

(18 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου»

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Το Κ2 είναι ένα παιχνίδι για 1 έως 5 παίκτες, ηλικίας 8 ετών και άνω, με διάρκεια περίπου 60 λεπτά.

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

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

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

EMOJITO! 7 Δίσκοι Ψηφοφορίας. 100 Κάρτες Συναισθημάτων. 1 Ταμπλό. 7 Πιόνια παικτών. 2-7 Παίκτες

Transcript:

Αλγόριθµοι Ευριστικής Αναζήτησης Ευριστικός µηχανισµός (heuristic) είναι µία στρατηγική, βασισµένη στη γνώση για το συγκεκριµένο πρόβληµα, ηοποίαχρησιµοποιείται σα βοήθηµα στη γρήγορη επίλυσή του.! Ο ευριστικόςµηχανισµός υλοποιείται µε ευριστικήσυνάρτηση(heuristic function), που έχει πεδίο ορισµού το σύνολο των καταστάσεων ενός προβλήµατος και πεδίο τιµών το σύνολο τιµών που αντιστοιχεί σε αυτές.! Ευριστική τιµή (heuristic value) είναι η τιµή της ευριστικής συνάρτησης και εκφράζει το πόσο κοντά βρίσκεται µία κατάσταση σε µία τελική.! Η ευριστική τιµή δεν είναι η πραγµατική τιµή τηςαπόστασηςαπόµία τερµατική κατάσταση, αλλά µία εκτίµηση (estimate) που πολλές φορές µπορείναείναικαιλανθασµένη. Τεχνητή Νοηµοσύνη

Ευριστικές Συναρτήσεις σε Μικρά Προβλήµατα (1/3) Ευριστικός µηχανισµός και συναρτήσεις σε λαβύρινθο! Ευκλείδειος απόσταση (Euclidian distance): d(s, F) = (X + 2 2 S - X F) (YS - YF )! Απόσταση Manhattan (Manhattan distance): Md(S,F) = XS -XF + YS -YF Τεχνητή Νοηµοσύνη

Ευριστικές Συναρτήσεις σε Μικρά Προβλήµατα (2/3) Ευριστικός µηχανισµός και συναρτήσεις στο N-Puzzle! Πόσα πλακίδια βρίσκονται εκτός θέσης.! Το άθροισµα των αποστάσεων Manhattan κάθε πλακιδίου από την τελική του θέση. Τεχνητή Νοηµοσύνη

Ευριστικές Συναρτήσεις σε Μικρά Προβλήµατα (3/3) Ευριστικός µηχανισµός και συναρτήσεις στο TSP! Η κοντινότερη πόλη έχει περισσότερες πιθανότητες να οδηγήσει σε µία καλή λύση. Τεχνητή Νοηµοσύνη

Αναζήτηση µε Αναρρίχηση Λόφων Η αναρρίχηση λόφων (Hill-Climbing Search - HC) είναι ένας αλγόριθµος αναζήτησης που µοιάζει πολύ µε τονdfs. Ο αλγόριθµος HC 1.Η αρχική κατάσταση είναι η τρέχουσα κατάσταση. 2.Αν η κατάσταση είναι µία τελική τότε ανέφερε τη λύση και σταµάτησε. 3.Εφάρµοσε τους τελεστές µετάβασης για να βρεις τις καταστάσεις-παιδιά. 4.Βρες την καλύτερη κατάσταση σύµφωνα µε την ευριστική συνάρτηση. 5.Η καλύτερη κατάσταση γίνεται η τρέχουσα κατάσταση. 6.Πήγαινε στο βήµα 2. Τεχνητή Νοηµοσύνη

Ο αλγόριθµος HC (Ψευδοκώδικας) algorithm hc(initialstate, FinalStates) begin Closed ; CurrentState InitialState; while CurrentState FinalStates do Children Expand(CurrentState); if Children= then exit; EvaluatedChildren Heuristic(Children); CurrentState best(evaluatedchildren); endwhile; end. Τεχνητή Νοηµοσύνη

Ο αλγόριθµος HC Σχόλια (1/2)! Ο HC χρησιµοποιείται σε προβλήµατα όπου πρέπει να βρεθεί µία λύση πολύ γρήγορα, έστω και αν αυτή δεν είναι η καλύτερη, παίρνοντας όµως και το ρίσκο να µη βρεθείκαµία λύση, έστω και αν τέτοια υπάρχει.! Πλεονεκτήµατα: # Πολύ αποδοτικός και σε χρόνο και σε µνήµη,! Μειονεκτήµατα: # Είναι ατελής. # Βασικά προβλήµατα του HC: $ Πρόποδες (foothill). $ Οροπέδιο (plateau). $ Κορυφογραµµή (ridges). Τεχνητή Νοηµοσύνη

Ο αλγόριθµος HC Σχόλια (2/2)! Βελτιώσεις: # Εξαναγκασµένη αναρρίχηση λόφου (Enforced Hill-Climbing - EHC) # Προσοµοιωµένη εξέλιξη (Simulated Annealing - SA) # Αναζήτηση µε απαγορευµένες καταστάσεις (Tabu Search - TS). Τεχνητή Νοηµοσύνη

Μέθοδος περιορισµού δέσµης Ευριστικός τρόπος µείωσης του χώρου αναζήτησης. Επιλογή µόνο των k καλύτερων παιδιών κάθε κόµβου. Μπορεί να χρησιµοποιηθεί στην αναζήτηση κατα πλάτος, κατα βάθος ή ακόµα και στην αναζήτηση βέλτιστου κόµβου. Μπορεί να µην βρεί λύση.

Μέθοδος περιορισµού δέσµης Ευριστικός τρόπος µείωσης του χώρου αναζήτησης. Επιλογή µόνο των k καλύτερων παιδιών κάθε κόµβου. Μπορεί να χρησιµοποιηθεί στην αναζήτηση κατα πλάτος, κατα βάθος ή ακόµα και στην αναζήτηση βέλτιστου κόµβου. Μπορεί να µην βρεί λύση.

Αναζήτηση Πρώτα στο Καλύτερο Οαλγόριθµος αναζήτηση πρώτα στο καλύτερο (Best-First -BestFS) κρατά όλες τις καταστάσεις στο µέτωπο αναζήτησης. Ο αλγόριθµος BestFS 1.Βάλε την αρχική κατάσταση στο µέτωπο αναζήτησης. 2.Αν το µέτωπο αναζήτησης είναι κενό τότε σταµάτησε. 3.Πάρε την πρώτη σε σειρά κατάσταση από το µέτωπο αναζήτησης. 4.Αν η κατάσταση είναι µέλος του κλειστού συνόλου τότε πήγαινε στο 2. 5.Αν η κατάσταση είναι µία τελική τότε ανέφερε τη λύση και σταµάτα. 6.Εφάρµοσε τους τελεστές µεταφοράς για να παράγεις τις καταστάσεις-παιδιά. 7.Εφάρµοσε την ευριστική συνάρτηση σε κάθε παιδί. 8.Βάλε τις καταστάσεις-παιδιά στο µέτωπο αναζήτησης. 9.Αναδιάταξε το µέτωπο αναζήτησης, έτσι ώστε η κατάσταση µε την καλύτερη ευριστική τιµή να είναι πρώτη. 10. Βάλε τη κατάσταση-γονέα στο κλειστό σύνολο. 11. Πήγαινε στο βήµα 2. Τεχνητή Νοηµοσύνη

Ο αλγόριθµος BestFS (Ψευδοκώδικας) algorithm bestfs(initialstate, FinalStates) begin Closed ; EvaluatedInitialState Heuristic(<InitialState>) Frontier <EvaluatedInitialState>; CurrentState best(frontier); while CurrentState FinalStates do Frontier delete(currentstate,frontier); if CurrentState ClosedSet then begin Children Expand(CurrentState); EvaluatedChildren Heuristic(Children); Frontier Frontier ^ EvaluatedChildren; Closed Closed {CurrentState}; end; if Frontier= then exit; CurrentState best(frontier); endwhile; end. Τεχνητή Νοηµοσύνη

Ο αλγόριθµος BestFS Σχόλια! Πλεονεκτήµατα: # Προσπαθεί να δώσει µια γρήγορη λύση σε κάποιο πρόβληµα. Το αν τα καταφέρει ή όχι εξαρτάται πολύ από τον ευριστικό µηχανισµό. # Είναι πλήρης.! Μειονεκτήµατα: # Το µέτωπο αναζήτησης µεγαλώνει µε υψηλόρυθµό καιµαζί του ο χώρος που χρειάζεται για την αποθήκευσή του, καθώς και ο χρόνος για την επεξεργασία των στοιχείων του. # εν εγγυάται ότι η λύση που θα βρεθεί είναι η βέλτιστη. 6 5 4 3 2 1 S F 1 2 3 4 5 6 7 8 9 10 Τεχνητή Νοηµοσύνη

Ο αλγόριθµος BestFS: το πρόβληµα του λαβύρινθου Μέτωπο Αναζήτησης Κλειστό Σύνολο Κατάσταση Παιδιά <5-5> <> 5-5 5-45,5-67,4-57 <5-45,5-67,4-57> <5-5> 5-4 5-56,6-44 <6-44,5-56,5-67,4-57> <5-5,5-4> 6-4 5-47,6-33,7-43 <6-33,7-43,5-56,5-67,...> <5-5,5-4,6-4> 6-3 6-44,6-23,7-32 <7-32,6-23,7-43,6-44,5-56,...> <5-5,5-4,...> 7-3 6-33,6-44 <6-33,6-23,7-43,6-44,5-56,...> <...,6-3,...> 6-3 Βρόχος <6-23,7-43,6-44,5-56,5-67,...> <...> 6-2 5-25,6-33 <7-43,6-44,5-25,...> <...> 7-4 7-54,6-44,7-32 <7-32,7-54,6-44,5-25,...> <..,7-3,..> 7-3 Βρόχος <4-54,6-44,5-25,...> <...> 7-5 7-43,8-53,7-65 <8-53,7-43,6-44,...> <...> 8-5 8-64,7-54,9-52 <9-52,7-43,6-44,8-64,...> <...> 9-5 8-53,9-41 <9-41,8-53,7-43,...> <...> 9-4 9-30,9-52,10-42 <9-30,9-52,10-42,...> <...> 9-3 ΤΕΛΙΚΗ ΚΑΤΑΣΤΑΣΗ ΤΕΛΟΣ Τεχνητή Νοηµοσύνη

Αναζήτηση Α* Συνδυάζουν την άπληστη αναζήτηση µε την αναζήτηση µε βάση το κόστος. Χρησιµοποιούν δηλαδή στην ταξινόµηση την συνάρτηση f(s) = d(s) + h(s) Η f(s) µας δίνει ουσιαστικά µία εκτίµηση της καλύτερης λύσης που περνάει από τον κόµβο s. Προϋπόθεση ότι η h(s) δεν υπερεκτιµά ποτέ το κόστος για να φτάσουµε στο κοντινότερο στόχο (αποδεκτή συνάρτηση). Όπως µπορεί να αποδειχτεί και αυστηρά αυτή η ιδιότητα της f(s) µας εγγυάται ότι ο αλγόριθµος θα βρει πάντα λύση και µάλιστα θα βρει πρώτα την καλύτερη λύση. Ο αλγόριθµος Α* δηλαδή, είναι πλήρης και βέλτιστος.

Αναζήτηση Α* - Ιδιότητες Άλλη σηµαντική Ιδιότητα: πληροφόρηση Πληροφόρηση: αν h 1 (n) & h 2 (n) είναι αποδεκτές συναρτήσεις (δηλ. εν υπερεκτιµούν την απόσταση σε στόχο) και & h 1 (n) >= h 2 (n), τότε οι κόµβοι που ο A* εξετάζει χρησιµοποιώντας την h 1 είναι υποσύνολο αυτών που εξετάζει χρησιµοποιώντας την h 2 δηλαδή η h 1 (n) θα οδηγήσει σε πιο γρήγορη αναζήτηση ακραία περίπτωση: h 2 (n) = 0 = καθόλου πληροφόρηση - τότε ότι παραπάνω ξέρει η h 1 θα βελτίωνε την αναζήτηση θα λέµε ότι η h 1 είναι πιο πληροφορηµένη από την h 2

Αναζήτηση Α* - Ιδιότητες Σταθερότητα: Αν η h σπάνια υπερεκτιµά την απόσταση το πολυ s, τότε ο A* σπάνια θα βρεί λύσεις που είναι χειρότερες από την καλύτερη αρα, είναι χρήσιµο να έχουµε καλή εκτίµηση της h Πληρότητα: Ο A* θα τελειώσει και θα βρεί τη βέλτιστη λύση ακόµα και σε άπειρους χώρους αναζήτησης, αν υπάρχει βέλτιστη λύση και όλα τα κόστη είναι θετικά Μονότονη συνάρτηση: Αν για όλα τα n, m όπου m είναι απόγονος του n και h(n) - h(m) <= cost(n, m), τότε όποτε επισκεφτόµαστε ένα κόµβο, θα είµαστε εκεί µε τον συντοµότερο δρόµο δεν χρειάζεται να θυµόµαστε τα µονοπάτια ακραία περίπτωση: h(n) = 0 [κατά πλάτος]

Το παράδειγµα που θα χρησιµοποιούµε 21 A 0 1 2 7 8 4 B 2 D 7 3 5 20 F 13 6 G 8 0 I 22 76 J 27 5 K 10 6 2 M 22 2 M 107 3 N 16 0 R 16 56 0 0 38 43 T U X Y 34 V 44 16 Z 28 33 27 1

Αναζήτηση Α* Αλγόριθµος: 1. ηµιούργησε µία ουρά (queue) που αρχικά έχει τη ρίζα (root). 2. Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί, έλεγξε αν το πρώτο στοιχείο είναι ο στόχος. 2α. Αν είναι µην κάνεις τίποτα. 2β. Αν δεν είναι, τότε: - βγάλε το πρώτο στοιχείο - βάλε τα παιδιά του πρώτου στοιχείου πίσω στην ουρά - ταξινόµησε όλη την ουρά µε βάση την f(s) (ο καλύτερος κόµβος µπροστά) 3. Αν έχει βρεθεί ο στόχος, τότε έχουµε επιτυχία, αλλιώς, αποτυχία.

Αναζήτηση Α* Πλήρης - Ο(b m ) χρόνου και χώρου -βέλτιστη λύση f(s)=d(s)+h(s) 21 A 1 µε h(s) 0 αποδεκτή 2 7 B 2 8 D 7 4 3 5 20 F 13 6 G 8 0 I 22 76 J 27 5 K 10 6 2 M 22 2 M 107 3 N 16 0 R 16 0 56 0 38 43 T U V X Y Z 34 44 16 28 33 27 1

Σύγκριση αλγορίθµων Όνοµα αλγορίθµου Πολυπλοκότητα χρόνου Πολυπλοκότητα χώρου Πληρότητα Κατά πλάτος O(b m ) O(b m ) ΝΑΙ ΟΧΙ Κατά βάθος O(b m ) O(bm) ΟΧΙ ΟΧΙ Αναρρίχησης O(b m ) O(bm) ΟΧΙ ΟΧΙ Σταδιακής εκβάθυνσης Με βάση το κόστος Περιορισµένης δέσµης Άπληστη αναζήτηση O(b m ) O(bm) ΝΑΙ ΟΧΙ Βέλτιστη Λύση O(b m ) O(b m ) αναλόγως την d(s) αναλόγως την d(s) O(k m ) O(k m ) ή O(km) ΟΧΙ ΟΧΙ O(b m ) O(b m ) αναλόγως την h(s) OXI Α* O(b m ) O(b m ) ΝΑΙ ΝΑΙ

Γενικοί παράγοντες στην αναζήτηση βέλτιστη - κάποια λύση µεγάλοι χώροι αναζήτησης - βέλτιστη λύση κόστος εκτέλεσης της αναζήτησης - κόστος να βρείς µια λύση γνώση σε σχέση µε το πρόβληµα - brute force implicit - explicit στόχοι

Παιχνίδια Το παίξιµο παιχνιδιών από ηλεκτρονικούς υπολογιστές αποτέλεσε αντικείµενο έρευνας από της αρχές της Τεχνητής Νοηµοσύνης. Το παίξιµο παιχνιδιών, όπως το σκάκι, θεωρείται ότι απαιτεί ανεπτυγµένη νοηµοσύνη και άρα η νίκη κάποιου υπολογιστή θα αποδείκνυε ότι και οι υπολογιστές µπορούν να διαθέτουν νοηµοσύνη - τεχνητή νοηµοσύνη. Ιστορικά, µεγάλοι ερευνητές, όπως ο Claude Shannon και Alan Turing, έχουν ασχοληθεί µε την συγγραφή προγραµµάτων που παίζουν σκάκι. Βέβαια, σύντοµα διαπίστωσαν ότι αποτελεί αφελή απλούστευση να θεωρήσει κανείς ότι η µηχανή διαθέτει νοηµοσύνη µόνο και µόνο επειδή µπορεί να νικήσει στο σκάκι.

Παιχνίδια Τα παιχνίδια µε τα οποία θα ασχοληθούµε είναι αυτά που µπορούν να οριστούν αυστηρά, παίζονται από δύο παίκτες και είναι σχετικά απλό να αναπαρασταθεί η κατάστασή τους. Γενικά, τα παιχνίδια θα µπορούσαµε να τα κατατάξουµε στην κατηγορία των προβληµάτων όπου η αρχική γνώση δεν είναι αρκετή για την λύση του προβλήµατος. Αυτό συµβαίνει διότι δεν ξέρουµε πως σκέφτεται ο αντίπαλος και άρα δεν µπορούµε να γνωρίζουµε ποιο θα είναι το τελικό αποτέλεσµα κάποιας δική µας κίνησης. Ωστόσο, γνωρίζουµε όλα τα πιθανά ενδεχόµενα και έτσι µπορούµε στην γενική περίπτωση να τα εξετάσουµε και να κρίνουµε ποίο από αυτά µας συµφέρει περισσότερο.

Παιχνίδια Γενική Θεώρηση: Έστω ότι έχουµε τους παίκτες Χ και Υ. Ο κάθε παίκτης, σε κάθε κίνηση που κάνει, προσπαθεί να µεγιστοποιήσει την πιθανότητά του να κερδίσει. Ο Χ σε κάθε κίνηση που κάνει προσπαθεί να µεγιστοποιήσει την πιθανότητα του να κερδίσει ενώ ο Υ σε κάθε κίνηση του προσπαθεί να ελαχιστοποιήσει την πιθανότητα αυτή (την πιθανότητα να κερδίσει ο Χ). Βολεύει να ονοµάζουµε τους παίκτες µε τα ονόµατα MAX και ΜΙΝ. MAX είναι ο παίκτης που θέλουµε να νικήσει και ο αλγόριθµος προσπαθεί να διαλέξει τις καλύτερες κινήσεις για αυτόν ενώ MIN είναι ο αντίπαλος.

Παίξιµο παιχνιδιών Ανεπαρκής η αρχική πληροφορία για την επίλυση του προβλήµατος. Απαιτείται ειδική διαδικασία αναζήτησης. Για µη τετριµµένα παιχνίδια ο χώρος αναζήτησης είναι εξαιρετικά µεγάλος - πρακτικά είναι αδύνατο η εξαντλητική αναζήτηση. Σε πολλά παιχνίδια το ζητούµενο δεν είναι µόνο να νικήσει ο παίκτης αλλά να πετύχει και το µεγαλύτερο δυνατό σκορ (βαθµολογία ) Στην περίπτωση που σηµασία έχει µόνο η νίκη ή η ισοπαλία (όπως το σκάκι) µπορούµε να δώσουµε το σκορ 1 για αυτόν που κερδίζει, 0 για αυτόν που κάνει ισοπαλία και -1 για αυτόν που χάνει.

Παράδειγµα - τα 7 δεκάρικα Έστω ότι παίζουµε το παιχνίδι µε τα 7 δεκαράκια (Grundy s game). Σε αυτό το παιχνίδι έχουµε 7 δεκαράκια τοποθετηµένα αρχικά σε µία στοίβα. Οι δύο παίκτες παίζουν ο ένας µετά τον άλλο. Ο κάθε παίκτης, στην σειρά του πρέπει να διασπάσει µία στοίβα σε δύο άλλες στοίβες µε άνισο αριθµό από δεκάρικα. Ο παίκτης που δεν µπορεί να το κάνει χάνει.

Παράδειγµα - τα 7 δεκάρικα 7, MAX 6, 1, MIN 5, 2, MIN 4, 3, MIN 5, 1, 1, MAX 4, 2, 1, MAX 3, 2, 2, MAX 3, 3, 1, MAX 4, 1, 1, 1, MIN 3, 2, 1, 1, MIN 2, 2, 2, 1, MIN 3, 1, 1, 1, 1, MAX 2, 2, 1, 1, 1, MAX 2, 1, 1, 1, 1, 1, MIN

Παράδειγµα - τα 7 δεκάρικα εν αρκεί να βρούµε ένα µονοπάτι στο γράφο από την αρχική κατάσταση σε κάποια νικηφόρα κατάσταση. Η ικανότητα του MIN να διαλέγει ποια θα είναι η κίνησή του κάνει την αναζήτηση πιο περίπλοκη. Ο πιο κατάλληλος τρόπος για να αναπαραστήσουµε την αναζήτηση είναι να χρησιµοποιήσουµε δέντρα AND-OR. Οι απόγονοι των OR κόµβων αντιπροσωπεύουν τις επιλογές κινήσεων που έχει ο παίκτης MAX ενώ οι απόγονοι των AND κόµβων αντιπροσωπεύουν τις επιλογές που έχει ο MIN παίκτης. Για να αξίζει κάποια κίνηση του MAX παίκτη (OR κόµβος) πρέπει κάθε επιτρεπτή επόµενη κίνηση του MIN (κάθε παιδί του OR κόµβου) να συµφέρει τον MAX.

Παράδειγµα - τα 7 δεκάρικα 7 ΜΑΧ 3, 1 5, 2 4, 3 ΜΙΝ 5, 1, 1 4, 2, 1 4, 2, 1 3, 2, 2 3, 3, 1 ΜΑΧ 4, 1, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 ΜΙΝ 3, 1, 1, 1, 1 2, 2, 1, 1, 1 2, 2, 1, 1, 1 2, 2, 1, 1, 1 2, 2, 1, 1, 1 ΜΑΧ 2, 1, 1, 1, 1, 1 ΜΙΝ

Η διαδικασία MIN-MAX Κατασκευάζουµε το πλήρες δέντρο του παιχνιδιού (το δέντρο AND-OR). Βαθµολογούµε τους κόµβους φύλα (τελικές καταστάσεις) σύµφωνα µε την βαθµολογία που θα έπαιρνε ο παίκτης MAX αν το παιχνίδι κατέληγε σε εκείνη την κατάσταση. Εφαρµόζουµε τα παρακάτω δύο βήµατα επαναληπτικά µέχρι όλοι οι κόµβοι του δέντρου να έχουν βαθµολογηθεί: Για κάθε κόµβο MAX (AND κόµβος) τα παιδιά του οποίου έχουν όλα βαθµολογηθεί υπολογίζουµε το µέγιστο αυτών των βαθµών και του αναθέτουµε αυτή την τιµή. Για κάθε κόµβο MIN (OR κόµβος) τα παιδιά του οποίου έχουν όλα βαθµολογηθεί υπολογίζουµε το ελάχιστο αυτών των βαθµών και του αναθέτουµε αυτή την τιµή.

Παράδειγµα ΜΙΝ-ΜΑΧ (7 δεκάρικα) 7-1 ΜΑΧ -1-1 -1 3, 1 5, 2 4, 3 ΜΙΝ 1-1 -1 1-1 5, 1, 1 4, 2, 1 4, 2, 1 3, 2, 2 3, 3, 1 ΜΑΧ 1-1 -1-1 -1 4, 1, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1-1 ΜΙΝ 3, 1, 1, 1, 1 1-1 -1 2, 2, 1, 1, 1 2, 2, 1, 1, 1 2, 2, 1, 1, 1-1 -1 2, 2, 1, 1, 1 ΜΑΧ 2, 1, 1, 1, 1, 1 1 ΜΙΝ

Πρακτικά προβλήµατα Πρόβληµα : συνήθως τα πλήρη δέντρα είναι εξαιρετικά µεγάλα - δεν χωράνε στη µνήµη. Λύση : αναπτύσσουµε µερικώς το δέντρο και εκτιµάµε την τιµή για τους κόµβους φύλα. Προβλήµατα : πότε σταµατάµε την ανάπτυξη του δέντρου; πώς υπολογίσουµε την τιµή στα φύλα; Λύσεις : ανάπτυξη µέχρι σταθερό βάθος ευριστική συνάρτηση εκτίµησης αξίας

Η τεχνική Alfa-Beta (α-β) Αποφυγή των περιττών πράξεων του ΜΙΝ-ΜΑΧ. Ο αλγόριθµος Alfa-Beta εκµεταλλεύεται ορισµένες ιδιότητες του αλγορίθµου ΜΙΝ-ΜΑΧ και επιτρέπει τον υπολογισµό της επόµενης κίνησης χωρίς να υπολογίσει την τιµή όλων των κόµβων του δέντρου. εν επηρεάζει την απόφαση του αλγορίθµου MIN-MAX αφού κάνει περικοπές µόνο σε κλαδιά τα οποία σίγουρα δεν θα επηρεάσουν την τελική απόφαση. Κάνει περικοπή µόνο ασήµαντων κλαδιών : ΜΙΝ (Χ 1, Χ 2,..., X k-1,x k ) = MIN (Χ 1, Χ 2,..., X k-1 ) αν υπάρχει i µε 0<i<k και X k >X i. ΜAX (Χ 1, Χ 2,..., X k-1,x k ) = MAX (Χ 1, Χ 2,..., X k-1 ) αν υπάρχει i µε 0<i<k και X k <X i.

Η τεχνική Alfa-Beta (α-β) Έστω, για παράδειγµα ότι πρέπει να υπολογιστεί η τιµή ενός MIN κόµβου. Έχουµε υπολογίσει την τιµή του πρώτου παιδιού του και για το επόµενο παιδί του ξέρουµε (µε κάποιον τρόπο) ότι η τιµή του θα είναι µεγαλύτερη από την τιµή του πρώτου παιδιού. Μπορούµε µε σιγουριά να πούµε ότι η ακριβής τιµή του δεύτερου παιδιού δεν θα αλλάξει σε τίποτα την τελική τιµή του κόµβου. εν αλλοιώνει το αποτέλεσµα του ΜΙΝ-ΜΑΧ. Μπορεί να χρησιµοποιηθεί και κατα την διάρκεια ανάπτυξης του δέντρου. Έχει σηµασία η σειρά εξέτασης των παιδιών ενός κόµβου. Σταµατάµε την εξέταση ενός κόµβου όταν ισχύει Alfa>Beta.

Ο αλγόριθµος Alfa-Beta 1. Θέσε α = ένας πολύ µεγάλος αρνητικός αριθµός. 2. Θέσε β = ένας πολύ µεγάλος θετικός αριθµός. 3. Θέσε ρ = η θέση από την οποία πρέπει να παίξει ο παίκτης MAX. 4. H minmax τιµή του κόµβου ρ = TIMH_MAX(ρ, α, β) ΤΙΜΗ_ΜΑΧ(ρ, α, β) 1. Αν Είναι_Φύλλο(ρ) τότε επέστρεψε Αξία_Κόµβου(ρ). 2. ιαφορετικά εκτέλεσε τα παρακάτω βήµατα για κάθε παιδί π του ρ. 2.1. Θέσε α = ΜΑΧ(α, ΤΙΜΗ_ΜΙΝ(π, α, β)) 2.2. Αν α β επέστρεψε β. 3. Επέστρεψε α. ΤΙΜΗ_ΜΙΝ(ρ, α, β) 1. Αν Είναι_Φύλλο(ρ) τότε επέστρεψε Αξία_Κόµβου(ρ). 2. ιαφορετικά εκτέλεσε τα παρακάτω βήµατα για κάθε παιδί π του ρ. 2.1. Θέσε β = ΜΙΝ(β, ΤΙΜΗ_ΜΑΧ(π, α, β)) 2.2. Αν α β επέστρεψε α. 3. Επέστρεψε β.

Παράδειγµα 8 A 3 0 8 B C D 7 8 3 0 6 8 9 E F G H I J K L M N O P Q R S T U V W X Y 7 6 8 5 2 3 0-2 6 2 5 8 9 2 Ο Alfa-Beta δεν θα εξετάσει τους κόµβους : O, I, T, U, Y. Επιπλέον, για τους κόµβους F, C, K δεν θα υπολογιστεί η ακριβής MINMAX τιµή τους.