Τεχνητή Νοημοσύνη. Αλγόριιμοι Τυφλθς Αναζθτησης. Ιώαννης Βλαχάβας Τμθμα Πληροφορικθς ΑΠΘ

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

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

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

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

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

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

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

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

Ενδεικτικά Θέματα Στατιστικής ΙΙ

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΘΔΜΑ 1 ο Μονάδες 5,10,10

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

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

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: /27 Υπνδίθηπν Β:

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΓΙΑΙΡΔΣΟΣΗΣΑ. Οπιζμόρ 1: Έζηω d,n. Λέκε όηη ν d δηαηξεί ηνλ n (ζπκβνιηζκόο: dn) αλ. ππάξρεη c ηέηνην ώζηε n. Θεώπημα 2: Γηα d,n,m,α,b ηζρύνπλ:

Constructors and Destructors in C++

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Διάρηζηα Δπηθαιύπηνληα Γέλδξα

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

66. Ομογενής ράβδος ποσ περιζηρέθεηαι

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

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

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ

Αντισταθμιστική ανάλυση

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

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

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Εισαγωγή στη Φωτογραυία. Χριζηάκης Σαζεΐδης - EFIAP

Κόληξα πιαθέ ζαιάζζεο κε δηαζηάζεηο 40Υ40 εθ. Καξθηά 3 θηιά πεξίπνπ κε κήθνο ηξηπιάζην από ην πάρνο ηνπ μύινπ θπξί κεγάιν θαη ππνκνλή

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

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

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Άσκηση 1 - Μοπυοποίηση Κειμένου

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Να ζρεδηαζζεί ην θαηεπζπλόκελν γξάθεκα πνπ νξίδεηαη από ηνλ εμήο πίλαθα γεηηλίαζεο.

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

Το πρόβληµα των ιεραποστόλων και κανιβάλων (missionaries and cannibals)

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

1. Άζξνηζκα. Να ππνινγηζηεί ην άζξνηζκα κε ηελ ηερληθή ηεο εμίζσζεο αζξνίζκαηνο. Χξεζηκνπνηνύκε ηνλ ηύπν: ( ) ( )

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

Transcript:

Τεχνητή Νοημοσύνη Αλγόριιμοι Τυφλθς Αναζθτησης Ιώαννης Βλαχάβας Τμθμα Πληροφορικθς ΑΠΘ Θεζζαινλίθε, 2013

Άδεηες Χρήζες Το παρόν εκπαιδεσηικό σλικό σπόκειηαι ζε άδειες τρήζης Creative Commons. Για εκπαιδεσηικό σλικό, όπως εικόνες, ποσ σπόκειηαι ζε άλλοσ ηύποσ άδειας τρήζης, η άδεια τρήζης αναθέρεηαι ρηηώς. Χρεκαηοδόηεζε Το παρόν εκπαιδεσηικό σλικό έτει αναπηστθεί ζηα πλαίζια ηοσ εκπαιδεσηικού έργοσ ηοσ διδάζκονηα. Το έργο «Αλοηθηά Αθαδεκαϊθά Μαζήκαηα ζηο Αρηζηοηέιεηο Παλεπηζηήκηο Θεζζαιολίθες» έτει τρημαηοδοηήζει μόνο ηη αναδιαμόρθωζη ηοσ εκπαιδεσηικού σλικού. Το έργο σλοποιείηαι ζηο πλαίζιο ηοσ Επιτειρηζιακού Προγράμμαηος «Εκπαίδεσζη και Δια Βίοσ Μάθηζη» και ζσγτρημαηοδοηείηαι από ηην Εσρωπαϊκή Ένωζη (Εσρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόροσς. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 2 -

Αιγόξηζκνη Τπθιήο Αλαδήηεζεο Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 3 -

Αιγόρηζκοη Τσθιής Αλαδήηεζες Οη αιγόξηζκνη ηπθιήο αλαδήηεζεο (blind search algorithms) εθαξκόδνληαη ζε πξνβιήκαηα ζηα νπνία δελ ππάξρεη πιεξνθνξία πνπ λα επηηξέπεη ηελ αμηνιόγεζε ησλ θαηαζηάζεσλ ηνπ ρώξνπ αλαδήηεζεο (Γειαδή ςάρλνπκε ζηα ηπθιά). Έηζη νη αιγόξηζκνη απηνί αληηκεησπίδνπλ κε ηνλ ίδην αθξηβώο ηξόπν νπνηνδήπνηε πξόβιεκα θαινύληαη λα ιύζνπλ. Γηα ηνπο αιγνξίζκνπο ηπθιήο αλαδήηεζεο, ην ηη απεηθνλίδεη θάζε θαηάζηαζε ηνπ πξνβιήκαηνο είλαη παληειώο αδηάθνξν. Σεκαζία έρεη ε ρξνληθή ζεηξά κε ηελ νπνία παξάγνληαη νη θαηαζηάζεηο από ην κεραληζκό επέθηαζεο. Όλνκα Αιγνξίζκνπ Σπληνκνγξαθία Ειιεληθή Οξνινγία Depth-First Search DFS Αλαδήηεζε Πξώηα ζε Βάζνο Breadth-First Search BFS Αλαδήηεζε Πξώηα ζε Πιάηνο Iterative Deepening ID Δπαλαιεπηηθή Δθβάζπλζε Bi-directional Search BiS Αλαδήηεζε Γηπιήο Καηεύζπλζεο Branch and Bound B&B Δπέθηαζε θαη Οξηνζέηεζε Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 4 -

Παράδεηγκα Το πρόβλημα ηων ποηηριών Αξρηθή Καηάζηαζε Τειηθέο Καηαζηάζεηο Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 5 -

Τειεζηήο (1) Γέκηζε ην πνηήξη ησλ Φ ml κέρξη ην ρείινο από ηε βξύζε Πξνϋπνζέζεηο Τν πνηήξη ησλ Φ ml έρεη 0 ml Απνηειέζκαηα Τν πνηήξη ησλ Φ ml έρεη Φ ml Τειεζηήο (2) Γέκηζε ην πνηήξη ησλ Φ ml από ην πνηήξη ησλ Υ ml Πξνϋπνζέζεηο Τν πνηήξη ησλ Φ ml έρεη Ε ml Τν πνηήξη ησλ Y ml έρεη W ml (W 0) Απνηειέζκαηα Τν πνηήξη ησλ Φ ml έρεη Φ ml θαη Τν πνηήξη ησλ Υ ml έρεη W-(X-Z), αλ W X-Z ή Τν πνηήξη ησλ Φ ml έρεη Ε+W ml θαη Τν πνηήξη ησλ Υ ml έρεη 0, αλ W<X-Z Τειεζηήο (3) Άδεηαζε ην πνηήξη ησλ Φ ml ζην λεξνρύηε Πξνϋπνζέζεηο Τν πνηήξη έρεη πεξηερόκελν Απνηειέζκαηα Τν πνηήξη ησλ Φ ml έρεη 0 ml Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 6 -

Μέρος ηοσ τώροσ αλαδήηεζες ζην πξόβιεκα κε ηα πνηήξηα Α Β Γ 70 50 Γ Δ 20 50 50 Ε Ζ 20 50 50 Θ 20 70 20 Η... Κ ΤΔΛΗΚΖ 40 50 Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 7 -

Αλαδήηεζε Πρώηα ζε Βάζος Ο αιγόξηζκνο πρώηα ζε βάζος (Depth-First Search - DFS) επηιέγεη πξνο επέθηαζε ηελ θαηάζηαζε πνπ βξίζθεηαη πην βαζηά ζην δέλδξν. Σηελ πεξίπησζε πνπ ππάξρνπλ πεξηζζόηεξεο από κία θαηαζηάζεηο ζην ίδην βάζνο, ν DFS επηιέγεη ηπραία κία από απηέο ή, γηα επθνιία, επηιέγεη ηελ αξηζηεξόηεξε. Ο αλγόριθμος DFS: 1. Βάιε ηελ αξρηθή θαηάζηαζε ζην κέηωπν ηεο αλαδήηεζεο. 2. Αλ ην κέηωπν ηεο αλαδήηεζεο είλαη θελό ηόηε ζηακάηεζε. 3. Βγάιε ηελ πξώηε θαηάζηαζε από ην κέηωπν ηεο αλαδήηεζεο. 4. Αλ ε θαηάζηαζε αλήθεη ζην θιεηζηό ζύλνιν ηόηε πήγαηλε ζην βήκα 2. 5. Αλ ε θαηάζηαζε είλαη κία από ηηο ηειηθέο, ηόηε αλέθεξε ηε ιύζε. 6. Αλ ζέιεηο θαη άιιεο ιύζεηο πήγαηλε ζην βήκα 2. Αιιηώο ζηακάηεζε. 7. Εθάξκνζε ηνπο ηειεζηέο κεηάβαζεο γηα λα βξεηο ηηο θαηαζηάζεηο-παηδηά. 8. Βάιε ηηο θαηαζηάζεηο-παηδηά ζηελ αξρή ηνπ κεηώπνπ ηεο αλαδήηεζεο. 9. Βάιε ηελ θαηάζηαζε-γνλέα ζην θιεηζηό ζύλνιν. 10. Πήγαηλε ζην βήκα 2. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 8 -

Ο αιγόρηζκος DFS (Ψεσδοθώδηθας) algorithm dfs(initialstate, FinalStates) begin Closed ; Frontier <InitialState>; CurrentState First(Frontier); while CurrentState FinalStates do Frontier delete(currentstate,frontier); if CurrentState ClosedSet then begin ChildrenStates Expand(CurrentState); Frontier ChildrenStates ^ Frontier; Closed Closed {CurrentState}; end; if Frontier= then exit; CurrentState First(Frontier); endwhile; return success; end. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 9 -

Αλαδήηεζε Πρώηα ζε Βάζος Στόλια Τν κέησπν ηεο αλαδήηεζεο είλαη κηα δνκή ζηνίβαο (Stack LIFO, Last In First Out) Ζ εμέηαζε ακέζσο πξνεγνπκέλσλ (ρξνληθά) θαηαζηάζεσλ νλνκάδεηαη ρξνληθή νπηζζνδξόκεζε (chronological backtracking). Πιενλεθηήκαηα: Έρεη κηθξέο απαηηήζεηο ζε ρώξν δηόηη ην κέησπν ηεο αλαδήηεζεο δε κεγαιώλεη πάξα πνιύ. Μεηνλεθηήκαηα: Γελ εγγπάηαη όηη ε πξώηε ιύζε πνπ ζα βξεζεί είλαη ε βέιηηζηε (κνλνπάηη κε ην κηθξόηεξν κήθνο ή κε κηθξόηεξν θόζηνο). Δλ γέλεη ζεσξείηαη κε-πιήξεο (αλ δελ ππάξρεη έιεγρνο βξόρσλ ή αλ ν ρώξνο αλαδήηεζεο είλαη κε πεπεξαζκέλνο γηαηί κπνξεί λα κπιερηεί ζε θιαδηά κεγάινπ κήθνπο ή ζε αηέξκνλα θιαδηά). Σηηο πεξηπηώζεηο όκσο πνπ ν ρώξνο αλαδήηεζεο είλαη πεπεξαζκέλνο θαη ρξεζηκνπνηείηαη θιεηζηό ζύλνιν, ν DFS ζα βξεη ιύζε, εάλ κηα ηέηνηα ππάξρεη. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 10 -

Αλαδήηεζε Πρώηα ζε Βάζος (DFS) Δέλδξν αλαδήηεζεο ζην πξόβιεκα ηωλ πνηεξηώλ Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 11 -

Αλαδήηεζε Πρώηα ζε Βάζος (DFS) Πρόβλημα ηων ποηηριών Μέηωπν ηεο αλαδήηεζεο Κιεηζηό Σύλνιν Καηάζηαζε Παηδηά <Α> {} Α <Β, Γ> <Β, Γ> {Α} Β <Α, Γ> <Α, Γ, Γ> {Α,Β} Α - (βξόρνο) <Γ, Γ> {Α,Β} Γ <Β,Ε,Γ> <Β,Ε,Γ,Γ> {Α,Β,Γ} Β - (βξόρνο) <Ε,Γ,Γ> {Α,Β,Γ} Ε <Α,Θ,Γ> <Α,Θ,Γ,Γ,Γ> {Α,Β,Γ,Ε} Α - (βξόρνο) <Θ,Γ,Γ,Γ> {Α,Β,Γ,Ε} Θ <Ε,Γ,Η> <Ε,Γ,Η,Γ,Γ,Γ> {Α,Β,Γ,Ε,Θ} Ε - (βξόρνο) <Γ,Η,Γ,Γ,Γ> {Α,Β,Γ,Ε,Θ} Γ - (βξόρνο) <Η,Γ,Γ,Γ> {Α,Β,Γ,Ε,Θ} Η <Κ,Γ,Β> <Κ,Γ,Β,Γ,Γ,Γ> {Α,Β,Γ,Ε,Θ,Η} Κ ΤΔΛΗΚΖ Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 12 -

Αλαδήηεζε Πρώηα ζε Πιάηος Ο αιγόξηζκνο αλαδήηεζες πρώηα ζε πιάηος (Breadth First Search - BFS) εμεηάδεη πξώηα όιεο ηηο θαηαζηάζεηο πνπ βξίζθνληαη ζην ίδην βάζνο θαη κεηά ζπλερίδεη ζηελ επέθηαζε θαηαζηάζεωλ ζην ακέζωο επόκελν επίπεδν. Ο αλγόριθμος BFS: 1. Βάιε ηελ αξρηθή θαηάζηαζε ζην κέηωπν ηεο αλαδήηεζεο. 2. Αλ ην κέηωπν ηεο αλαδήηεζεο είλαη θελό ηόηε ζηακάηεζε. 3. Βγάιε ηελ πξώηε θαηάζηαζε από ην κέηωπν ηεο αλαδήηεζεο. 4. Αλ είλαη ε θαηάζηαζε αλήθεη ζην θιεηζηό ζύλνιν ηόηε πήγαηλε ζην βήκα 2. 5. Αλ ε θαηάζηαζε είλαη κία ηειηθή ηόηε αλέθεξε ηε ιύζε. 6. Αλ ζέιεηο θαη άιιεο ιύζεηο πήγαηλε ζην βήκα 2. Αιιηώο ζηακάηεζε. 7. Εθάξκνζε ηνπο ηειεζηέο κεηαθνξάο γηα λα βξεηο ηηο θαηαζηάζεηο-παηδηά. 8. Βάιε ηηο θαηαζηάζεηο-παηδηά ζην ηέινο ηνπ κεηώπνπ ηεο αλαδήηεζεο. 9. Βάιε ηελ θαηάζηαζε-γνλέα ζην θιεηζηό ζύλνιν. 10. Πήγαηλε ζην βήκα 2. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 13 -

Ο αιγόρηζκος BFS (Ψεσδοθώδηθας) algorithm bfs(initialstate, FinalStates) begin Closed ; Frontier <InitialState>; CurrentState First(Frontier); while CurrentState FinalStates do Frontier delete(currentstate,frontier); if CurrentState ClosedSet begin ChildrenStates Expand(CurrentState); Frontier Frontier ^ ChildrenStates; Closed Closed {CurrentState}; end; if Frontier= then exit; CurrentState First(Frontier); endwhile; return success; end. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 14 -

Αλαδήηεζε Πρώηα ζε Πιάηος Στόλια Τν κέησπν ηεο αλαδήηεζεο είλαη κηα δνκή νπξάο (Queue FIFO, δειαδή First In First Out). Έηζη, πνηέ δελ επεθηείλεηαη κία θαηάζηαζε αλ δελ επεθηαζνύλ πξώηα όιεο νη θαηαζηάζεηο πνπ βξίζθνληαη ζε κηθξόηεξν βάζνο, γηαηί απιά νη ηειεπηαίεο κπήθαλ ζην κέησπν ηεο αλαδήηεζεο λσξίηεξα. Πιενλεθηήκαηα: Βξίζθεη πάληα ηελ θαιύηεξε ιύζε (κηθξόηεξε ζε κήθνο). Δίλαη πιήξεο. Μεηνλεθηήκαηα: Τν κέησπν ηεο αλαδήηεζεο κεγαιώλεη πνιύ ζε κέγεζνο. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 15 -

Αλαδήηεζε Πρώηα ζε Πιάηος (BFS) Πρόβλημα ηων ποηηριών Μέηωπν αλαδήηεζεο Κιεηζηό Σύλνιν Καηάζηαζε Παηδηά <Α> {} Α <Β, Γ> <Β, Γ> {Α} Β <Α, Γ> <Γ,Α,Γ> {Α,Β} Γ <Δ,Α> <Α,Γ,Δ,Α> {Α,Β,Γ} Α - (βξόρνο) <Γ,Δ,Α> {Α,Β,Γ} Γ <Β,Ε,Γ> <Δ,Α,Β,Ε,Γ> {Α,Β,Γ,Γ} Δ <Α,Ζ> <Α,Β,Ε,Γ,Α,Ζ> {Α,Β,Γ,Γ,Δ} Α - (βξόρνο) <Β,Ε,Γ,Α,Ζ> {Α,Β,Γ,Γ,Δ} Β - (βξόρνο) <Ε,Γ,Α,Ζ> {Α,Β,Γ,Γ,Δ} Ε <Α,Θ,Γ> <Γ,Α,Ζ,Α,Θ,Γ> {Α,Β,Γ,Γ,Δ,Ε} Γ - (βξόρνο) <Α,Ζ,Α,Θ,Γ> {Α,Β,Γ,Γ,Δ,Ε} Α - (βξόρνο) <Ζ,Α,Θ,Γ> {Α,Β,Γ,Γ,Δ,Ε} Ζ <Δ,Γ> <Α,Θ,Γ,Δ,Γ> {Α,Β,Γ,Γ,Δ,Ε,Ζ} Α - (βξόρνο) <Θ,Γ,Δ,Γ> {Α,Β,Γ,Γ,Δ,Ε,Ζ} Θ <Ε,Γ,Η> <Γ,Δ,Γ,Ε,Γ,Η> {Α,Β,Γ,Γ,Δ,Ε,Ζ} Γ - (βξόρνο) <Δ,Γ,Ε,Γ,Η> {Α,Β,Γ,Γ,Δ,Ε,Ζ} Δ - (βξόρνο) Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 16 -

Μέηωπν αλαδήηεζεο Κιεηζηό Σύλνιν Καηάζηαζε Παηδηά <Γ,Ε,Γ,Η> {Α,Β,Γ,Γ,Δ,Ε,Ζ} Γ - (βξόρνο) <Ε,Γ,Η> {Α,Β,Γ,Γ,Δ,Ε,Ζ} Ε - (βξόρνο) <Γ,Η> {Α,Β,Γ,Γ,Δ,Ε,Ζ} Γ - (βξόρνο) <Η> {Α,Β,Γ,Γ,Δ,Ε,Ζ} Η <Κ,Γ,Β> <Κ,Γ,Β> {Α,Β,Γ,Γ,Δ,Ε,Ζ,Η} Κ ΤΔΛΗΚΖ Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 17 -

Αιγόρηζκος Δπαλαιεπηηθής Δθβάζσλζες Ο αιγόξηζκνο επαλαιεπηηθήο εθβάζπλζεο (Iterative Deepening - ID) ζπλδπάδεη κε ηνλ θαιύηεξν ηξόπν ηνπο DFS θαη BFS. Ο αιγόρηζκος ID: 1. Όξηζε ην αξρηθό βάζνο αλαδήηεζεο (ζπλήζωο 1). 2. Εθάξκνζε ηνλ αιγόξηζκν DFS κέρξη απηό ην βάζνο αλαδήηεζεο. 3. Αλ έρεηο βξεη ιύζε ζηακάηεζε. 4. Αύμεζε ην βάζνο αλαδήηεζεο (ζπλήζωο θαηά 1). 5. Πήγαηλε ζην βήκα 2. Ο αιγόρηζκος ID (Ψεσδοθώδηθας) algorithm id(initialstate, FinalStates) begin depth 1 while solution is not found do bounded_dfs(initialstate,finalstates,depth); depth depth+1 endwhile; end. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 18 -

Αλαδήηεζε ID Στόλια Μεηνλεθηήκαηα: Όηαλ αξρίδεη ν DFS κε δηαθνξεηηθό βάζνο δε ζπκάηαη ηίπνηα από ηελ πξνεγνύκελε αλαδήηεζε. Πιενλεθηήκαηα: Δίλαη πιήξεο. Αλ ην βάζνο απμάλεηαη θαηά 1 ζε θάζε θύθιν θαη ν ID βξεη ιύζε, ηόηε απηή ε ιύζε ζα είλαη ε θαιύηεξε, γηαηί αλ ππήξρε άιιε, θαιύηεξε ιύζε, απηή ζα βξηζθόηαλ ζε πξνεγνύκελν θύθιν αλαδήηεζεο. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 19 -

Πλεονεκηήμαηα (ζσνέτεια) Έρεη απνδεηρζεί όηη ν ID έρεη ηελ ίδηα πνιππινθόηεηα ζε ρώξν θαη ρξόλν κε ηνπο DFS θαη BFS, όηαλ έρνπκε κεγάινπο ρώξνπο αλαδήηεζεο, παξ όιν πνπ επαλαιακβάλεη άζθνπα ην θηίζηκν ηνπ ρώξνπ αλαδήηεζεο, Γηα παξάδεηγκα: Έζησ όηη ην δέλδξν αλαδήηεζεο έρεη ζηαζεξό παξάγνληα δηαθιάδσζεο 10. Δθαξκόδνπκε ηνλ ID ζε βάζνο 5. Οη θαηαζηάζεηο πνπ ζα επεθηαζνύλ είλαη: 10 0 +10 1 +10 2 +10 3 +10 4 +10 5 = 111.111 Αλ απμεζεί ην βάζνο θαηά 2 (ζπλνιηθό βάζνο 7), νη θαηαζηάζεηο πνπ ζα επεθηαζνύλ ζπλνιηθά είλαη: 10 7 +10 6 +10 5 +...+ 10 0 = 11.111.111 άξα ην ράζηκν ήηαλ 11.111/11.111.111 = 1% Ο ID δελ θηλδπλεύεη λα ραζεί ζε θάπνην θιαδί απείξνπ κήθνπο. Αλ βξεη ιύζε ζα είλαη ε θαιύηεξε, αλ ην βάζνο απμάλεηαη θαηά 1 ζε θάζε θύθιν. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 20 -

Αλαδήηεζε Γηπιής Καηεύζσλζες (1/2) Η ηδέα ηεο αλαδήηεζες δηπιής θαηεύζσλζες (Bidirectional Search - BiS) πεγάδεη από ηε δπλαηόηεηα ηνπ παξαιιειηζκνύ (parallelism) ζηα ππνινγηζηηθά ζπζηήκαηα. Πξνϋπνζέζεηο θάησ από ηηο νπνίεο κπνξεί λα εθαξκνζηεί: Οη ηειεζηέο κεηάβαζεο είλαη αληηζηξέςηκνη (reversible), θαη Δίλαη πιήξσο γλσζηή ε ηειηθή θαηάζηαζε. Τόηε Μπνξνύκε λα αξρίζνπκε ηελ αλαδήηεζε από ηελ αξρηθή θαη ηειηθή θαηάζηαζε ηαπηόρξνλα. Αλ θάπνηα θαηάζηαζε πνπ επεθηείλεηαη είλαη θνηλή θαη από ηηο 2 πιεπξέο, ηόηε βξέζεθε ιύζε. Λύζε είλαη ε έλσζε ησλ κνλνπαηηώλ από ηελ θνηλή θαηάζηαζε εσο ηελ αξρηθή θαη εσο ηελ ηειηθή θαηάζηαζε. Μεηνλεθηήκαηα: Υπάξρεη επηπιένλ θόζηνο πνπ νθείιεηαη ζηελ επηθνηλσλία κεηαμύ ησλ δύν αλαδεηήζεσλ. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 21 -

Αλαδήηεζε Γηπιής Καηεύζσλζες (2/2) Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 22 -

Δπέθηαζε θαη Ορηοζέηεζε (B&B) Ο αιγόρηζκος επέθηαζες θαη ορηοζέηεζες (Branch and Bound - B&B) εθαξκόδεηαη ζε πξνβιήκαηα όπνπ αλαδεηείηαη ε βέιηηζηε ιύζε, δειαδή εθείλε κε ην ειάρηζην θόζηνο. Ζ ιεηηνπξγία ηνπ Β&Β βαζίδεηαη ζην θιάδεκα θαηαζηάζεσλ (pruning) θαη θαηά ζπλέπεηα ζηελ ειάηησζε ηνπ ρώξνπ αλαδήηεζεο. Αλ γηα παξάδεηγκα ζε έλα πξόβιεκα βξνύκε κηα ιύζε κε θόζηνο (π.ρ. απόζηαζε) 159 θαη θαηά ηελ αλαδήηεζε γηα άιιεο ιύζεηο ζπλαληήζνπκε κηα θαηάζηαζε κέρξη ηελ νπνία ε δηαδξνκή είλαη ήδε 167, δελ ππάξρεη ιόγνο επέθηαζεο ηεο γηαηί ζα νδεγεζνύκε ζε ρεηξόηεξε ιύζε. Άξα θιαδεύνπκε απηήλ ηελ θαηάζηαζε θαζώο θαη ην ππόινηπν ππνδέλδξν. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 23 -

Ο αιγόρηζκος B&B: 1. Βάιε ηελ αξρηθή θαηάζηαζε ζην κέηωπν ηεο αλαδήηεζεο. 2. Αξρηθή ηηκή ηεο θαιύηεξεο ιύζεο είλαη ην + (όξην). 3. Αλ ην κέηωπν ηεο αλαδήηεζεο είλαη θελό, ηόηε ζηακάηεζε. Η θαιύηεξε κέρξη ηώξα ιύζε είλαη θαη ε βέιηηζηε. 4. Βγάιε ηελ πξώηε ζε ζεηξά θαηάζηαζε από ην κέηωπν ηεο αλαδήηεζεο. 5. Αλ ε θαηάζηαζε αλήθεη ζην θιεηζηό ζύλνιν, ηόηε πήγαηλε ζην 3. 6. Αλ ε θαηάζηαζε είλαη ηειηθή, ηόηε αλαλέωζε ηε ιύζε ωο ηελ θαιύηεξε κέρξη ηώξα θαη αλαλέωζε ηελ ηηκή ηνπ νξίνπ κε ηελ ηηκή πνπ αληηζηνηρεί ζηελ ηειηθή θαηάζηαζε. Πήγαηλε ζην 3. 7. Εθάξκνζε ηνπο ηειεζηέο κεηαθνξάο γηα λα παξάγεηο ηηο θαηαζηάζεηοπαηδηά θαη ηελ ηηκή πνπ αληηζηνηρεί ζε απηέο. 8. Βάιε ηηο θαηαζηάζεηο-παηδηά, ηωλ νπνίωλ ε ηηκή δελ ππεξβαίλεη ην όξην, κπξνζηά ζην κέηωπν ηεο αλαδήηεζεο. (*) 9. Βάιε ηελ θαηάζηαζε-γνλέα ζην θιεηζηό ζύλνιν. 10. Πήγαηλε ζην 3. (*) Απηόο είλαη DFS-B&B γηαηί νη λέεο θαηαζηάζεηο κπαίλνπλ κπξνζηά ζην κέηωπν αλαδήηεζεο. Υπάξρεη θαη BestFS-B&B. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 24 -

Ο αιγόρηζκος B&B (Ψεσδοθώδηθας) algorithm b&b(initialstate, FinalStates) begin Closed ; Frontier <InitialState>; BestCost ; BestState null; while Frontier do CurrentState First(Frontier); CurrentCost Cost(Current_State); Frontier delete(currentstate,frontier); if CurrentCost < BestCost then if CurrentState FinalStates then BestState CurrentState; BestCost CurrentCost; else Next Expand(CurrentState); ChildrenStates {s s Next s Frontier s Closed}; Frontier ChildrenStates ^ Frontier; Closed Closed {CurrentState}; endif; endif; endwhile; if BestState = null then return fail else return BestState and BestCost; end. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 25 -

Το Πρόβιεκα ηοσ Πιαλόδηοσ Πωιεηή (TSP) Έλα γξάθεκα κε Ν θόκβνπο αληηπξνζσπεύεη Ν ηνπνζεζίεο. Κάπνηνο πξέπεη λα επηζθεθηεί κία θνξά ηνλ θάζε θόκβν θαη αλ είλαη δπλαηόλ κε ην ιηγόηεξν θόζηνο, δειαδή δηαλύνληαο ηελ ειάρηζηε δπλαηή απόζηαζε. Γηα απιόηεηα όινη νη θόκβνη ελώλνληαη κεηαμύ ηνπο (πιήξεο γξάθνο) θαη ε αξρή είλαη δεδνκέλε. Τν ζρήκα δείρλεη θαη ην ρώξν αλαδήηεζεο ηνπ πξνβιήκαηνο (κε αξρή ηελ ηνπνζεζία: α). Αλ ν γξάθνο απηόο αλαπηπζζόηαλ ζε δέλδξν, ην δέλδξν ζα είρε 4 επηινγέο από ηελ αξρηθή θαηάζηαζε, 3 επηινγέο από θάζε θαηάζηαζε πνπ πξνθύπηεη από ηελ αξρηθή, θ.ν.θ., δειαδή 4! δηαθνξεηηθέο ιύζεηο κε ην αληίζηνηρν θόζηνο, από ηηο νπνίεο κία ζα είλαη ε βέιηηζηε. Τν πξόβιεκα δελ είλαη ηόζν απιό όζν δείρλεη θαη αλήθεη ζηελ θαηεγνξία πξνβιεκάησλ κε ιύζε κε-πνιπωλπκηθνύ ρξόλνπ (NP-complete). Αλ Ν=20, ηόηε ππάξρνπλ 19!=1.216 10 17 ιύζεηο, πνπ ζεκαίλεη όηη αθόκε θαη έλαο ππνινγηζηήο πνπ εμεηάδεη 1 εθαηνκκύξην ιύζεηο ην δεπηεξόιεπην ζα ρξεηαδόηαλ 385 ρξόληα γηα λα βξεη ηε βέιηηζηε ιύζε. Τν πξόβιεκα είλαη πξόβιεκα ειαρηζηνπνίεζεο θόζηνπο θαη έρεη πνιιέο εθαξκνγέο. Γηα παξάδεηγκα, ε απηόκαηε ζπλαξκνιόγεζε ςεθηαθώλ πιαθεηώλ, όπνπ έλα κεραληθό ρέξη κεηαθέξεη ηα νινθιεξσκέλα θπθιώκαηα θαη ηα ηνπνζεηεί ζηε ζσζηή ηνπο ζέζε, είλαη πξόβιεκα TSP. Μία κε βέιηηζηε δηαδξνκή ηνπ ρεξηνύ κπνξεί λα έρεη ηεξάζηην ρξνληθό θαη θαηά ζπλέπεηα νηθνλνκηθό θόζηνο ζε κία εηαηξία ζπλαξκνιόγεζεο. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 26 -

Ο αιγόρηζκος B&B: Το πρόβιεκα TSP Μέηωπν ηεο αλαδήηεζεο Κόζηνο Λύζεο Καηάζηαζε Παηδηά <α> + α αβ 8,αγ 5,αδ 10,αε 8 <αβ 8,αγ 5,αδ 10,αε 8 > + αβ αβγ 15,αβδ 14, αβε 14 <αβγ 15,αβδ 14,αβε 14,αγ 5,...> + αβγ αβγδ 24, αβγε 18 <αβγδ 24,αβγε 18, αβδ 14,αβε 14...> + αβγδ αβγδε 28 <αβγδε 28,αβγε 18, αβδ 14,...> + αβγδε αβγδεα 36 < αβγδεα 36, αβγε 18, αβδ 14,..> 36 αβγδεα Τειηθή Καηάζηαζε Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 27 -

Μέηωπν ηεο αλαδήηεζεο Κόζηνο Λύζεο Καηάζηαζε Παηδηά <αβγε 18, αβδ 14,... > 36 αβγε αβγεδ 22 <αβγεδ 22,αβδ 14,...> 36 αβγεδ αβγεδα 32 < αβγεδα 32,αβδ 14,αβε 14...> 32 αβγεδα 32 Τειηθή Καηάζηαζε............ <αβδεγα 26,...> 26 αβδεγα Τειηθή Καηάζηαζε............ <αβεγδ 26,...> 26 αβεγδ Κιάδεκα............ <αεβγδ 30,...> 26 αεβγδ Κιάδεκα............ <> ΔιάρηζηεΤηκή ΤΔΛΟΣ Ο Β&Β εθαξκόδεηαη όηαλ ππάξρεη κηα πξαγκαηηθή εθηίκεζε ηνπ θόζηνπο όπσο ζην TSP. Τν θέξδνο από ην θιάδεκα θαηαζηάζεσλ εμαξηάηαη από ην πόζν γξήγνξα ζα βξεζεί κηα θαιή ιύζε ζην πξόβιεκα γηαηί ζα ζέζεη γξήγνξα έλα ρακειό όξην. Υπάξρεη πεξίπησζε λα κε γίλεη θαζόινπ θιάδεκα αλ νη ιύζεηο είλαη δηαηεηαγκέλεο από ηε ρεηξόηεξε πξνο ηελ θαιύηεξε. Σηε ρεηξόηεξε πεξίπησζε ζπκπεξηθέξεηαη ζαλ ηνλ DFS. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 28 -

Ο αιγόρηζκος B&B Στόλια Υπάξρνπλ δηάθνξεο παξαιιαγέο ηνπ B&B, αλάινγα κε ην πνηα θαηάζηαζε επεθηείλεηαη πξώηε. Ζ πεξηγξαθή πνπ δόζεθε αθνξά έλαλ αιγόξηζκν πνπ είλαη DFS B&B, γηαηί νη λέεο θαηαζηάζεηο κπαίλνπλ ζηελ αξρή ηνπ κεηώπνπ αλαδήηεζεο θαη ζπλεπώο απηή πνπ βξίζθεηαη ζε κεγαιύηεξν βάζνο επεθηείλεηαη πξώηε, όπσο θαη ζηνλ DFS. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 29 -

Δθαρκογή ηωλ Αιγορίζκωλ Τσθιής Αλαδήηεζες Το πρόβλημα ηοσ Λαβύρινθοσ- Οριζμός. Γηα λα κπνξέζνπλ λα εθαξκνζηνύλ νη αιγόξηζκνη αλαδήηεζεο, πξέπεη λα νξηζηεί ην πξόβιεκα θαη κάιηζηα ν ρώξνο θαηαζηάζεσλ. Απηό γίλεηαη κε ηε βνήζεηα ελόο πιέγκαηνο. Τν πιέγκα, δίλεη ηε δπλαηόηεηα λα ππάξρνπλ ζπγθεθξηκέλεο ζέζεηο κε αληίζηνηρεο ζπληεηαγκέλεο. Δθόζνλ απνκαθξπλζνύλ ηα ηεηξάγσλα ηνπ πιέγκαηνο πνπ εκπεξηέρνπλ κέξνο εκπνδίσλ, ην πξόβιεκα εύξεζεο δηαδξνκήο γίλεηαη σο εμήο: Αξρηθή θαηάζηαζε είλαη ε ζέζε κε ζπληεηαγκέλεο (1,4). Τν ζύλνιν ηειηθώλ θαηαζηάζεσλ πεξηέρεη κόλν ηε ζέζε (15,10). Οη ηειεζηέο κεηαθνξάο είλαη νη εμήο: πήγαηλε κία ζέζε αξηζηεξά, πήγαηλε κία ζέζε επάλσ, πήγαηλε κία ζέζε δεμηά, πήγαηλε κία ζέζε θάησ, εθόζνλ ε ζέζε είλαη ειεύζεξε. Ο ρώξνο θαηαζηάζεσλ είλαη όιεο νη ειεύζεξεο ζέζεηο, ρσξίο εκπόδηα, ηνπ πιέγκαηνο. Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 30 -

Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 31 -

Δθαρκογή ηοσ αιγορίζκοσ DFS Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 32 -

Λύζε ζηο πρόβιεκα ηοσ ιαβύρηλζοσ κε τρήζε DFS Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 33 -

Δθαρκογή αιγορίζκοσ BFS Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 34 -

Λύζε ζηο πρόβιεκα ηοσ ιαβύρηλζοσ κε τρήζε BFS Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 35 -

Δθαρκογή ηοσ ID ζηο πρόβιεκα ηοσ ιαβσρίλζοσ Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 36 -

Άζθεζε 3.1 Σην δηπιαλό ζρήκα παξνπζηάδεηαη έλα δέλδξν αλαδήηεζεο, Οη θόκβνη πνπ είλαη ζεκεησκέλνη κε έλα *, είλαη νη ηεξκαηηθνί θόκβνη ηεο αλαδήηεζεο. Γξάςηε ηελ ζεηξά κε ηελ νπνία ζα εμεηαζηνύλ νη θόκβνη ηνπ δέληξνπ (π.ρ. a,b,c, ) κέρξη λα βξεζεί ηεξκαηηθή θαηάζηαζε από ηνπο αθόινπζνπο αιγνξίζκνπο: DFS: BFS:... ID (κε βήκα 2):... d [*] b h c a i e [*] f g Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 37 -

Άζθεζε 3.2 Σην δηπιαλό ζρήκα παξνπζηάδεηαη έλα δέλδξν αλαδήηεζεο, Οη θόκβνη πνπ είλαη ζεκεησκέλνη κε έλα *, είλαη νη ηεξκαηηθνί θόκβνη ηεο αλαδήηεζεο. Γξάςηε ηελ ζεηξά κε ηελ νπνία ζα εμεηαζηνύλ νη θόκβνη ηνπ δέληξνπ (π.ρ. a,b,c, ) κέρξη λα βξεζεί ηεξκαηηθή θαηάζηαζε από ηνπο αθόινπζνπο αιγνξίζκνπο: DFS: BFS: ID (κε βήκα 2):... d a [*] e h i g b f c k [*] j [*] Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 38 -

Άζθεζε 3.3 Δθαξκόζηε (κόλν 5 βήκαηα) ηνλ αιγόξηζκν αλαδήηεζεο θαηά βάζνο (DFS) ζην δηπιαλό πξόβιεκα ηνπ ιαβπξίλζνπ μεθηλώληαο από ηελ αξρηθή ζέζε S (ηειηθή ζέζε είλαη ε F). Σεκείσζε: Γελ επηηξέπνληαη δηαγώληεο θηλήζεηο. 6 5 4 3 2 1 S F 1 2 3 4 5 6 7 8 9 10 Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 39 -

Υινπνίεζε Αιγνξίζκωλ Τπθιήο Αλαδήηεζεο ζε Prolog Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο - 40 -

Tν πξόβιεκα ηνπ ιαβπξίλζνπ Αλαπαξάζηαζε: Αξρηθή ζέζε (IS) initial_state(2). 1 2 3 4 5 6 goal(32). 7 8 9 10 11 12 operator(state,child) :- 13 14 15 16 17 18 connect(child,state). operator(state,child) :- connect(state,child). 19 25 31 20 26 32 21 27 33 22 28 34 23 29 35 24 30 36 Τειηθή ζέζε (FS) connect(1,7). connect(2,8). connect(3,4). connect(3,9). connect(4,10). connect(5,11). connect(5,6). connect(7,13). connect(8,9). connect(10,16). connect(11,17). connect(12,18). connect(13,14). connect(14,15). connect(14,20). connect(15,21). connect(16,22). connect(17,23). connect(18,24). connect(19,25). connect(20,26). connect(21,22). connect(23,29). connect(24,30). connect(25,31). connect(26,27). connect(27,28). connect(28,29). connect(28,34). connect(30,36). connect(31,32). connect(32,33). connect(33,34). connect(34,35). connect(35,36). connect(6,12). Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο

Αλαδήηεζε πξώηα ζε βάζνο (Depth First Search - DFS) dfs(state, Solution, Solution):-goal(State). dfs(state, PathSoFar, Solution):-operator(State,Child), not(member(child, dfs(child, [Child PathSoFar], Solution). PathSoFar)), godfs(solution):- initial_state(is),dfs(is, [IS], Sol1), reverse(sol1,solution). Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο

Αλαδήηεζε πξώηα ζε πιάηνο (Breadth First Search - BFS) bfs([[state Path] _], [State Path]):-goal(State). bfs([[state Path] RestFrontSet], Solution):- expand(state,path,childrenstates), append(restfrontset,childrenstates,newfrontset), bfs(newfrontierset, Solution). gobfs(solution):- initial_state(is),bfs([[is]],sol1), reverse(sol1,solution). Τν πξώην όξηζκα ηεο bfs/2 απνηειείηαη από ιίζηεο-ιηζηώλ. o Κάζε "κηθξή" ιίζηα απνηειείηαη από εκηηειή κνλνπάηηα από ηελ αξρηθή έσο θάπνηα θαηάζηαζε. o Ζ "κεγάιε" ιίζηα είλαη ην mέηωπν ηεο αλαδήηεζεο (frontier set). H expand/3 o βξίζθεη όιεο ηηο θαηαζηάζεηο παηδηά Child από ηελ ηξέρνπζα θαηάζηαζε State, θαη o ηηο πξνζζέηεη ζηελ αξρή κνλνπαηηνύ [State Path] πνπ έρεη πξνθύςεη σο ηελ ηξέρνπζα θαηάζηαζε. expand(state,path,children):- findall([child,state Path],operator(State,Child),Children). Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο

Αλαδήηεζε πξώηα ζε πιάηνο (BFS) κε θιεηζηό ζύλνιν (closed set). Ζ δηαθνξά κε ηνλ απιό BFS είλαη όηη εθηόο από ην ζύλνξν νξηνζέηεζεο, ππάξρεη θαη κία άιιε ιίζηα (ην θιεηζηό ζύλνιν), ζην νπνίν απνζεθεύνληαη όιεο νη θαηαζηάζεηο πνπ έρεη επηζθεθζεί κέρξη ηώξα ν αιγόξηζκνο. Τα παηδηά ηεο ηξέρνπζαο θαηάζηαζεο ειέγρνληαη γηα ην αλ νδεγνύλ ζε θαηαζηάζεηο πνπ έρεη επηζθεθζεί ν αιγόξηζκνο. o Αλ λαη, ηόηε απηέο "θόβνληαη" (prune) από ηε ζπλέρεηα ηεο αλαδήηεζεο. Σε θάζε βήκα ε ηξέρνπζα θαηάζηαζε κπαίλεη ζην θιεηζηό ζύλνιν. Αξρηθά ην θιεηζηό ζύλνιν είλαη θελό. bfs_cl([[state Path] _],_,[State Path]):-goal(State). bfs_cl([[state Path] RestFSet],ClosedSet,Solution):- expand(state,path,childstates), prune(childstates,closedset,p_childstates), append(restfset,p_childstates,newfset), bfs_cl(newfset,[state ClosedSet],Solution). prune([],_,[]) :-!. prune([[state Path] RestChilds],ClosedSet, [[State Path] RestPChilds]) :- not(member(state,closedset)),!, prune(restchilds,closedset,restpchilds). prune([_ RestChilds],ClosedSet,RestPChilds) :- prune(restchilds,closedset,restpchilds). gobfs_cl(solution):initial_state(is),bfs_cl([[is]],[],sol1), reverse(solution1,solution). Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο

Τν πξόβιεκα ηωλ ηεξαπνζηόιωλ θαη θαληβάιωλ (missionaries and cannibals) Αξρηθά είλαη όινη ζηελ αξηζηεξή όρζε initial_state(state(left(3,3),right(0,0), boat_left)). Σθνπόο είλαη λα κεηαθεξζνύλ όινη κε αζθάιεηα ζηε δεμηά όρζε goal(state(left(0,0),right(3,3), boat_right)). Επόκελε θίλεζε όηαλ ε βάξθα βξίζθεηαη ζηελ αξηζηεξή όρζε operator(state(left(ml,cl),right(mr,cr),boat_left), move(m, C), state(left(nml,ncl),right(nmr,ncr),boat_right)) :- Δηάιεμε θίλεζε M =< ML, C =< CL, Υπάξρνπλ αξθεηνί άλζξωπνη? NML is ML-M, NCL is CL-C, Υπνιόγηζε ην λέν πιεζπζκό NMR is MR+M, NCR is CR+C, θαη ζηηο δύν όρζεο valid(nml, NCL), valid(nmr, NCR). Επόκελε θίλεζε όηαλ ε βάξθα βξίζθεηαη ζηε δεμηά όρζε Είλαη αζθαιείο νη ηεξαπόζηνινη θαη ζηηο δύν όρζεο? operator(state(left(ml,cl),right(mr,cr),boat_right), state(left(nml,ncl),right(nmr,ncr),boat_left)) :- move(m, C), M =< MR, C =< CR, NML is ML+M, NCL is CL+C, NMR is MR-M, NCR is CR-C, valid(nml, NCL), valid(nmr, NCR). valid(m, C) :- M >= C,!. Οη ηεξαπόζηνινη πξέπεη λα είλαη πεξηζζόηεξνη valid(0, _). Δπλαηέο κεηαθηλήζεηο πιεζπζκώλ κε ηε βάξθα move(2,0). move(1,0). move(1,1). move(0,1). move(0,2). ή λα κελ ππάξρνπλ θαζόινπ ζε κία όρζε Τερλεηή Ννεκνζύλε Αιγόξηζκνη Τπθιήο Αλαδήηεζεο