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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

2 Πρόλογος Μέχρι τώρα έχουμε δει αλγόριθμους αναζήτησης για την περίπτωση που ο χώρος καταστάσεων είναι δένδρο (υπάρχει μία μόνο διαδρομή προς κάθε κατάσταση από την αρχική). Τι αλλάζει όταν ο χώρος καταστάσεων είναι γράφος; ΥΣ02 Τεχνητή Νοημοσύνη 2

3 Παράδειγμα ΥΣ02 Τεχνητή Νοημοσύνη 3

4 Επαναλαμβανόμενες Καταστάσεις Βλέπουμε ότι η κατάσταση In(Arad) είναι επαναλαμβανόμενη και παράγεται από ένα μονοπάτι που περιέχει κύκλο. Άρα το δένδρο αναζήτησης για το πρόβλημα μας είναι άπειρο αν και ο χώρος καταστάσεων έχει μόνο 20 καταστάσεις! Ευτυχώς δεν χρειάζεται οι αλγόριθμοι αναζήτησης να εξετάζουν επαναλαμβανόμενες καταστάσεις. Ένα μονοπάτι που περιέχει κύκλο έχει πάντα μεγαλύτερο κόστος από το ίδιο μονοπάτι αν αφαιρέσουμε τον κύκλο (με την υπόθεση ότι το κόστος βήματος είναι μη αρνητικό). ΥΣ02 Τεχνητή Νοημοσύνη 4

5 Περιττά Μονοπάτια Τα μονοπάτια που έχουν κύκλο είναι μια ειδική περίπτωση της πιο γενικής έννοιας των περιττών μονοπατιών. Έχουμε περιττά μονοπάτια όταν υπάρχουν περισσότεροι από ένας τρόποι για να πάμε από μια κατάσταση σε μια άλλη. Παράδειγμα: Τα μονοπάτια Arad-Sibiu (140 χιλιόμετρα) και Arad-Zerind-Oradea-Sibiu (297 χιλιόμετρα). Προφανώς το 2 ο μονοπάτι είναι περιττό. Αν θέλουμε να φτάσουμε σε μια κατάσταση στόχου, δεν υπάρχει λόγος να λαμβάνουμε υπόψη μας περιττά μονοπάτια. ΥΣ02 Τεχνητή Νοημοσύνη 5

6 Περιττά Μονοπάτια Μερικές φορές μπορούμε να ορίσουμε ένα πρόβλημα αναζήτησης με τέτοιο τρόπο ώστε να μην δημιουργούνται περιττά μονοπάτια. Παράδειγμα: το πρόβλημα των 8 βασιλισσών. Αν ορίσουμε το πρόβλημα ώστε μια βασίλισσα να καταλαμβάνει οποιοδήποτε τετραγωνάκι, τότε έχουμε περιττά μονοπάτια. Αν ορίσουμε το πρόβλημα ώστε μια βασίλισσα καταλαμβάνει ένα τετραγωνάκι στην αριστερότερη ελεύθερη στήλη, τότε δεν έχουμε περιττά μονοπάτια. ΥΣ02 Τεχνητή Νοημοσύνη 6

7 Περιττά Μονοπάτια Υπάρχουν περιπτώσεις που η ύπαρξη περιττών μονοπατιών δεν μπορεί να αποφευχθεί. Παράδειγμα: όλα τα προβλήματα για τα οποία οι ενέργειες είναι αντιστρέψιμες (π.χ., προβλήματα εύρεσης διαδρομής ή προβλήματα ολισθαινόντων πλακιδίων). ΥΣ02 Τεχνητή Νοημοσύνη 7

8 Παράδειγμα Η εύρεση διαδρομής σε ορθογώνια πλέγματα όπως το παραπάνω είναι σημαντική σε παιχνίδια υπολογιστή π.χ., Pacman. ΥΣ02 Τεχνητή Νοημοσύνη 8

9 Παράδειγμα Σε ένα τέτοιο πλέγμα κάθε κατάσταση έχει 4 διάδοχες καταστάσεις, οπότε ένα δένδρο αναζήτησης με βάθος d που περιέχει επαναλαμβανόμενες καταστάσεις έχει 4 d φύλλα. Όμως υπάρχουν μόνο περίπου 2d 2 διαφορετικές καταστάσεις σε απόσταση d βημάτων από οποιαδήποτε κατάσταση. Για d = 20, αυτό σημαίνει ένα τρισεκατομμύριο κόμβους αλλά μόνο 800 διαφορετικές καταστάσεις. ΥΣ02 Τεχνητή Νοημοσύνη 9

10 Το Εξερευνημένο Σύνολο Για να αποφύγουμε τη δημιουργία περιττών μονοπατιών, χρησιμοποιούμε μια δομή δεδομένων που λέγεται εξερευνημένο σύνολο (explored set) ή κλειστή λίστα (closed list). Η δομή αυτή «θυμάται» την κατάσταση κάθε εξερευνημένου κόμβου. ΥΣ02 Τεχνητή Νοημοσύνη 10

11 Ο Αλγόριθμος GRAPH-SEARCH function GRAPH-SEARCH(problem) returns a solution or failure initialize the frontier using the initial state of problem. initialize the explored set to be empty loop do if the frontier is empty then return failure choose a leaf node and remove it from the frontier if the node contains a goal state then return the corresponding solution add the state of the node to the explored set expand the chosen node, adding the resulting nodes to the frontier only if their state is not in the frontier or the explored set ΥΣ02 Τεχνητή Νοημοσύνη 11

12 Ο Αλγόριθμος GRAPH-SEARCH Το δένδρο αναζήτησης που κατασκευάζεται από τον αλγόριθμο GRAPH-SEARCH έχει το πολύ ένα αντίγραφο κάθε κατάστασης. Άρα μπορούμε να το απεικονίσουμε να δημιουργείται πάνω στον γράφο του χώρου καταστάσεων όπως φαίνεται στο παρακάτω παράδειγμα. ΥΣ02 Τεχνητή Νοημοσύνη 12

13 Παράδειγμα ΥΣ02 Τεχνητή Νοημοσύνη 13

14 Ο Αλγόριθμος GRAPH-SEARCH Ο αλγόριθμος GRAPH-SEARCH έχει επίσης την παρακάτω ιδιότητα: Το σύνορο διαχωρίζει τον γράφο του χώρου καταστάσεων σε μια εξερευνημένη περιοχή και σε μια ανεξερεύνητη περιοχή. Κάθε μονοπάτι από την αρχική κατάσταση σε μια ανεξερεύνητη κατάσταση περνάει υποχρεωτικά από ένα κόμβο του συνόρου. ΥΣ02 Τεχνητή Νοημοσύνη 14

15 Παράδειγμα ΥΣ02 Τεχνητή Νοημοσύνη 15

16 Υλοποίηση του GRAPH-SEARCH Για κάθε κόμβο n του δένδρου αναζήτησης, θα έχουμε μια δομή που περιέχει τα ακόλουθα πεδία: n.state: η κατάσταση του κόμβου. n.parent: ο κόμβος του δένδρου αναζήτησης που παρήγαγε τον n. n.action: η ενέργεια που εφαρμόστηκε στον πατέρα του κόμβου για να δημιουργηθεί ο n. n.path-cost: το κόστος του μονοπατιού από την αρχική κατάσταση μέχρι τον n. Το μονοπάτι ορίζεται από τους δείκτες στον πατέρα κάθε κόμβου. ΥΣ02 Τεχνητή Νοημοσύνη 16

17 Η Δομή Δεδομένων για Ένα Κόμβο ΥΣ02 Τεχνητή Νοημοσύνη 17

18 Σχόλια Παρατηρήστε ότι οι δείκτες PARENT σχηματίζουν τη δομή του δένδρου. Οι ίδιοι δείκτες μας επιτρέπουν να κατασκευάσουμε τη λύση όταν βρούμε ένα κόμβο στόχου. Χρησιμοποιούμε τη συνάρτηση SOLUTION η οποία επιστρέφει μια ακολουθία ενεργειών ακολουθώντας δείκτες PARENT πίσω στην ρίζα. ΥΣ02 Τεχνητή Νοημοσύνη 18

19 Υλοποίηση του GRAPH-SEARCH Η παρακάτω συνάρτηση παίρνει ένα κόμβο-πατέρα και μια ενέργεια και δημιουργεί τον αντίστοιχο κόμβο-παιδί: function CHILD-NODE(problem, parent, action) returns a node return a node with STATE = problem.result(parent.state, action) PARENT = parent ACTION = action PATH-COST = parent.path-cost + problem.step-cost(parent.state, action) ΥΣ02 Τεχνητή Νοημοσύνη 19

20 Η Δομή Δεδομένων για την Ουρά Όπως και στην περίπτωση του TREE-SEARCH, θα έχουμε μια ουρά (queue) η οποία υλοποιεί το σύνορο. Οι λειτουργίες της ουράς είναι οι παρακάτω: EMPTY?(queue): ελέγχει αν η ουρά queue είναι άδεια. POP(queue): αφαιρεί το πρώτο στοιχείο από την ουρά queue και το επιστρέφει. INSERT(element, queue): εισάγει το στοιχείο element στην ουρά queue και επιστρέφει την ουρά που προκύπτει. ΥΣ02 Τεχνητή Νοημοσύνη 20

21 Τύποι Ουράς Ουρά FIFO (first-in first-out). Εξάγει το στοιχείο της ουράς που εισήχθηκε πρώτο (ουρά αναμονής). Ουρά LIFO (last-in first-out). Εξάγει το στοιχείο της ουράς που εισήχθηκε τελευταίο. Λέγεται επίσης στοίβα (stack). Ουρά προτεραιότητας (priority queue). Εξάγει το στοιχείο της ουράς που έχει τη μεγαλύτερη προτεραιότητα με βάση μια συνάρτηση διάταξης των στοιχείων. ΥΣ02 Τεχνητή Νοημοσύνη 21

22 Ερώτηση Πως υλοποιούμε μια ουρά αναμονής, μια στοίβα ή μια ουρά προτεραιότητας σε Python; ΥΣ02 Τεχνητή Νοημοσύνη 22

23 Απάντηση Εύκολα! (φροντιστήριο και Εργασία 0). ΥΣ02 Τεχνητή Νοημοσύνη 23

24 Ερώτηση Πως υλοποιούμε το εξερευνημένο σύνολο στην Python; ΥΣ02 Τεχνητή Νοημοσύνη 24

25 Απάντηση Το εξερευνημένο σύνολο μπορεί να υλοποιηθεί με τη δομή σύνολο (set) της Python. Τα σύνολα υλοποιούνται εσωτερικά με πίνακες κατακερματισμού (hash tables) οπότε το να βρούμε αν μια κατάσταση είναι στοιχείο ενός συνόλου γίνεται πολύ αποδοτικά (χρονική πολυπλοκότητα Ο(1)). ΥΣ02 Τεχνητή Νοημοσύνη 25

26 Αλγόριθμοι Ας δούμε τώρα πως μπορούμε να υλοποιήσουμε τους παρακάτω αλγόριθμους στην περίπτωση που ο χώρος καταστάσεων είναι γράφος: Αναζήτηση πρώτα κατά πλάτος (breadth-first search) Αναζήτηση ομοιόμορφου κόστους (uniform cost search) Αναζήτηση πρώτα κατά βάθος (depth-first search) Οι υπόλοιποι αλγόριθμοι που μελετήσαμε για την περίπτωση της αναζήτησης σε δένδρο υλοποιούνται με παρόμοιο τρόπο. ΥΣ02 Τεχνητή Νοημοσύνη 26

27 Αναζήτηση Πρώτα κατά Πλάτος function BREADTH-FIRST-SEARCH(problem) returns a solution or failure node a node with STATE=problem.INITIAL-STATE, PATH-COST=0 if problem.goal-test(node.state) then return SOLUTION(node) frontier a FIFO queue with node as the only element explored an empty set loop do if EMPTY?(frontier) then return failure node POP(frontier) add node.state to explored for each action in problem.actions(node.state) do child CHILD-NODE(problem, node, action) if child.state is not in explored or frontier then if problem.goal-test(child.state) then return SOLUTION(child) frontier INSERT(child, frontier) ΥΣ02 Τεχνητή Νοημοσύνη 27

28 Αναζήτηση Πρώτα κατά Πλάτος Ο προηγούμενος αλγόριθμος διαφέρει από τους γενικούς αλγόριθμους TREE-SEARCH και GRAPH-SEARCH επειδή ελέγχει αν ένας κόμβος είναι κόμβος στόχου όταν ο κόμβος παράγεται και όχι όταν ο κόμβος αφαιρείται από το σύνορο. Όπως και ο GRAPH-SEARCH, ο αλγόριθμος απορρίπτει κάθε μονοπάτι που οδηγεί σε μία κατάσταση που είναι ήδη στο εξερευνημένο σύνολο ή στο σύνορο. Κάθε τέτοιο μονοπάτι έχει κόστος τουλάχιστον όσο κάποιο μονοπάτι που έχουμε βρει ήδη, άρα μπορούμε να το απορρίψουμε. ΥΣ02 Τεχνητή Νοημοσύνη 28

29 Ερώτηση Ποια είναι η χρονική πολυπλοκότητα του αλγόριθμου BREADTH-FIRST-SEARCH τώρα; ΥΣ02 Τεχνητή Νοημοσύνη 29

30 Χρονική Πολυπλοκότητα Υποθέστε ότι κάνουμε αναζήτηση σε ένα ομοιόμορφο δένδρο όπου κάθε κατάσταση έχει b διάδοχες καταστάσεις (b είναι ο παράγοντας διακλάδωσης). Η ρίζα του δένδρου παράγει b κόμβους στο πρώτο επίπεδο, καθένας από τους οποίους παράγει b κόμβους στο δεύτερο επίπεδο. Άρα στο δεύτερο επίπεδο έχουμε συνολικά b 2 κόμβους. Με όμοιο τρόπο βλέπουμε ότι στο 3 ο επίπεδο έχουμε συνολικά b 3 κόμβους κ.ο.κ. Τώρα υποθέστε ότι η λύση βρίσκεται σε βάθος d. Στην χειρότερη περίπτωση, θα είναι ο τελευταίος κόμβος που παράγεται σε αυτό το επίπεδο. Άρα ο συνολικός αριθμός κόμβων που παράγεται στη χειρότερη περίπτωση είναι 1 + b + b 2 + b b d = O(b d ) Άρα η πολυπλοκότητα χρόνου στην χειρότερη περίπτωση είναι Ο(b d ). ΥΣ02 Τεχνητή Νοημοσύνη 30

31 Χρονική Πολυπλοκότητα Έχουμε δει ήδη ότι, αν ο αλγόριθμος ελέγχει ότι ένας κόμβος είναι κόμβος στόχου όταν ο κόμβος αυτός βγαίνει από το σύνορο και όχι όταν δημιουργείται, τότε η πολυπλοκότητα χρόνου είναι O b d+1. Άρα ο προηγούμενος αλγόριθμος είναι πιο αποδοτικός. ΥΣ02 Τεχνητή Νοημοσύνη 31

32 Χωρική Πολυπλοκότητα Με όμοιο τρόπο μπορούμε να δούμε ότι το εξερευνημένο σύνολο και το σύνορο θα έχουν Ο(b d ) κόμβους. Άρα η πολυπλοκότητα χώρου είναι επίσης Ο b d. ΥΣ02 Τεχνητή Νοημοσύνη 32

33 Άλλες Ιδιότητες Ο αλγόριθμος αναζήτησης πρώτα κατά πλάτος στην περίπτωση που ο χώρος αναζήτησης είναι γράφος, έχει τις ίδιες καλές ιδιότητες που είδαμε στην περίπτωση του Tree-Search: Είναι πλήρης (με την υπόθεση ότι ο παράγοντας διακλάδωσης b είναι πεπερασμένος). Είναι βέλτιστος (με την υπόθεση ότι όλες οι ενέργειες έχουν το ίδιο μη αρνητικό κόστος). ΥΣ02 Τεχνητή Νοημοσύνη 33

34 Αναζήτηση Ομοιόμορφου Κόστους Όταν όλα τα κόστη βήματος είναι σταθερά, ο αλγόριθμος αναζήτησης πρώτα κατά πλάτος είναι βέλτιστος και βρίσκει την πιο αβαθή λύση. Μπορούμε εύκολα να επεκτείνουμε αυτό τον αλγόριθμο στην περίπτωση που έχουμε οποιαδήποτε συνάρτηση κόστους βήματος. Αντί να επεκτείνει τον πιο αβαθή κόμβο, ο αλγόριθμος αναζήτησης ομοιόμορφου κόστους επεκτείνει τον κόμβο n με το μικρότερο κόστος μονοπατιού g(n). Στην περίπτωση αυτή το σύνορο υλοποιείται σαν μια ουρά προτεραιότητας με συνάρτηση g. ΥΣ02 Τεχνητή Νοημοσύνη 34

35 Αναζήτηση Ομοιόμορφου Κόστους function UNIFORM-COST-SEARCH(problem) returns a solution or failure node a node with STATE=problem.INITIAL-STATE, PATH-COST=0 frontier a priority queue ordered by PATH-COST, with node as the only element explored an empty set loop do if EMPTY?(frontier) then return failure node POP(frontier) if problem.goal-test(node.state) then return SOLUTION(node) add node.state to explored for each action in problem.actions(node.state) do child CHILD-NODE(problem, node, action) if child.state is not in explored or frontier then frontier INSERT(child, frontier) else if child.state is in frontier with higher PATH-COST then replace that frontier node with child ΥΣ02 Τεχνητή Νοημοσύνη 35

36 Αναζήτηση Ομοιόμορφου Κόστους Παρατηρήστε τις διαφορές με τον αλγόριθμο αναζήτησης πρώτα κατά πλάτος: Χρησιμοποιείται ουρά προτεραιότητας με συνάρτηση g αντί για ουρά αναμονής. Ο έλεγχος στόχου εφαρμόζεται όταν ένας κόμβος επιλέγεται από το σύνορο για να επεκταθεί και όχι όταν δημιουργείται (όπως και στον γενικό αλγόριθμο GRAPH-SEARCH). Ελέγχουμε αν έχουμε βρει ένα καλύτερο μονοπάτι προς ένα κόμβο που ήδη βρίσκεται στο σύνορο. Όλες αυτές οι διαφορές είναι απαραίτητες όπως φαίνεται στο παρακάτω παράδειγμα. ΥΣ02 Τεχνητή Νοημοσύνη 36

37 Παράδειγμα ΥΣ02 Τεχνητή Νοημοσύνη 37

38 Ιδιότητες Ο αλγόριθμος αναζήτησης ομοιόμορφου κόστους που παρουσιάσαμε έχει τις ίδιες ιδιότητες με την περίπτωση του TREE-SEARCH (πληρότητα, βέλτιστη συμπεριφορά, υπολογιστική πολυπλοκότητα χώρου και χρόνου). ΥΣ02 Τεχνητή Νοημοσύνη 38

39 Ερώτηση Πως υλοποιούμε αποδοτικά τη δομή για το σύνορο σε Python για την περίπτωση της αναζήτησης ομοιόμορφου κόστους; ΥΣ02 Τεχνητή Νοημοσύνη 39

40 Υλοποίηση Η δομή δεδομένων για το σύνορο πρέπει να υποστηρίζει αποδοτικά τις λειτουργίες της ουράς προτεραιότητας και την λειτουργία του ελέγχου αν ένα στοιχείο ανήκει στο σύνορο. Μια τέτοια δομή είναι η υλοποίηση της ουράς προτεραιότητας με σωρό (heap). Για την δομή αυτή έχουμε τις εξής πολυπλοκότητες (n είναι ο αριθμός των στοιχείων της ουράς): Εισαγωγή στοιχείου: Ο(log n) Εξαγωγή στοιχείου με τη μεγαλύτερη προτεραιότητα: Ο(log n) Έλεγχος αν ένα στοιχείο ανήκει στην ουρά: O(n). Αυτή η πολυπλοκότητα μπορεί να γίνει O(1) αν κρατάμε παράλληλα ένα πίνακα κατακερματισμού που χρησιμοποιείται μόνο για αυτό τον έλεγχο. Έτσι όμως ξοδεύουμε διπλό χώρο. ΥΣ02 Τεχνητή Νοημοσύνη 40

41 Υλοποίηση σε Python Μέρος της Εργασίας 0. ΥΣ02 Τεχνητή Νοημοσύνη 41

42 Αναζήτηση Πρώτα Κατά Βάθος Ο αλγόριθμος αναζήτησης πρώτα κατά βάθος μπορεί να υλοποιηθεί όπως ο γενικός αλγόριθμος GRAPH-SEARCH χρησιμοποιώντας μια στοίβα για την υλοποίηση του συνόρου. ΥΣ02 Τεχνητή Νοημοσύνη 42

43 Πληρότητα Όταν ο αλγόριθμος αναζήτησης πρώτα κατά βάθος υλοποιείται ώστε να ελέγχουμε ότι κάθε νέα κατάσταση δεν περιέχεται στο εξερευνημένο σύνολο, τότε, για πεπερασμένους χώρους καταστάσεων, είναι πλήρης σε αντίθεση με την υλοποίηση με TREE-SEARCH. Η χρήση του εξερευνημένου συνόλου όμως αλλάζει την γραμμική πολυπλοκότητα χώρου του αλγόριθμου. Μια καλύτερη ιδέα (που δεν αλλάζει την πολυπλοκότητα χώρου) είναι να ελέγχουμε αν κάθε νέα κατάσταση δεν περιέχεται στο σύνολο των καταστάσεων που έχουμε συναντήσει στο μονοπάτι από τη ρίζα μέχρι τον τωρινό κόμβο. Κάθε κατάσταση που έχει επεκταθεί μπορεί να βγαίνει από τη μνήμη εφόσον όλοι οι απόγονοι της έχουν εξερευνηθεί πλήρως. Παράδειγμα: στην επόμενη διαφάνεια, μόνο οι γκρίζοι κόμβοι χρειάζεται να παραμένουν στη μνήμη. ΥΣ02 Τεχνητή Νοημοσύνη 43

44 Παράδειγμα ΥΣ02 Τεχνητή Νοημοσύνη 44

45 Πληρότητα Για άπειρους χώρους καταστάσεων και οι δύο εκδόσεις είναι μη πλήρεις (όταν συναντήσουν ένα άπειρο μονοπάτι που δεν περιέχει κατάσταση στόχου). ΥΣ02 Τεχνητή Νοημοσύνη 45

46 Παράδειγμα Το παρακάτω πρόβλημα αναζήτησης έχει άπειρο χώρο καταστάσεων: Καταστάσεις: Θετικοί και αρνητικοί ακέραιοι. Αρχική κατάσταση: Ο αριθμός 0. Ενέργειες: Προσθέστε 1 ή αφαιρέστε 1 από τον ακέραιο στο οποίο βρισκόμαστε. Κατάσταση στόχου: Ένας δοσμένος ακέραιος. ΥΣ02 Τεχνητή Νοημοσύνη 46

47 Παράδειγμα Ο ακέραιος 5 προκύπτει ως εξής: (((( ) + 1) + 1) + 1) Άπειρο μονοπάτι προκύπτει αν για την παραπάνω κατάσταση στόχου επιλέγουμε να χρησιμοποιούμε πάντα πρώτη την πράξη της αφαίρεσης. ΥΣ02 Τεχνητή Νοημοσύνη 47

48 Παράδειγμα Το παρακάτω πρόβλημα αναζήτησης που προτάθηκε από τον Knuth έχει άπειρο χώρο καταστάσεων: Καταστάσεις: Θετικοί ακέραιοι. Αρχική κατάσταση: Ο αριθμός 4. Ενέργειες: Εφαρμόστε τις πράξεις παραγοντικό (για ακεραίους μόνο), τετραγωνική ρίζα ή κατώφλι. Κατάσταση στόχου: Ένας δοσμένος ακέραιος. ΥΣ02 Τεχνητή Νοημοσύνη 48

49 Παράδειγμα Μπορούμε να φτάσουμε στην κατάσταση στόχου 5 ως εξής: 4!! = 5 Άπειρο μονοπάτι προκύπτει αν για την παραπάνω κατάσταση στόχου επιλέγουμε να χρησιμοποιούμε πάντα πρώτη την πράξη του παραγοντικού. ΥΣ02 Τεχνητή Νοημοσύνη 49

50 Άπειροι Χώροι Καταστάσεων Άπειροι χώροι καταστάσεων συναντιούνται συχνά σε προβλήματα που αφορούν μαθηματικές εκφράσεις, αποδείξεις, κυκλώματα, προγράμματα και άλλα αντικείμενα που ορίζονται αναδρομικά. ΥΣ02 Τεχνητή Νοημοσύνη 50

51 Βέλτιστη Συμπεριφορά Και στις δύο περιπτώσεις (πεπερασμένος ή άπειρος χώρος καταστάσεων), η αναζήτηση πρώτα κατά βάθος δεν είναι βέλτιστη. Παράδειγμα: στην επόμενη διαφάνεια αν οι καταστάσεις J και C είναι καταστάσεις στόχου. Ο αλγόριθμος θα επιστρέψει το μονοπάτι προς τη μη βέλτιστη κατάσταση J. ΥΣ02 Τεχνητή Νοημοσύνη 51

52 Παράδειγμα ΥΣ02 Τεχνητή Νοημοσύνη 52

53 Πολυπλοκότητα Η χρονική πολυπλοκότητα του αλγόριθμου αναζήτησης πρώτα κατά βάθος στην περίπτωση της αναζήτησης σε γράφο είναι φραγμένη από το μέγεθος του χώρου καταστάσεων (που μπορεί να είναι μικρότερο από το φράγμα O(b m ) που αποδείξαμε για την περίπτωση του TREE-SEARCH). Η χωρική πολυπλοκότητα είναι γραμμική όπως και για την περίπτωση του TREE-SEARCH. Η καλή πολυπλοκότητα χώρου της αναζήτησης πρώτα κατά πλάτος είναι υπεύθυνη για τη χρήση της σε πολλές περιοχές της Τεχνητής Νοημοσύνης π.χ., προβλήματα ικανοποίησης περιορισμών, λογικός προγραμματισμός, ικανοποιησιμότητα στη προτασιακή λογική κλπ. ΥΣ02 Τεχνητή Νοημοσύνη 53

54 Υλοποίηση Οι αλγόριθμοι που παρουσιάσαμε σε αυτές τις διαφάνειες είναι αυτοί που θα υλοποιήσετε στο Pacman project P1. ΥΣ02 Τεχνητή Νοημοσύνη 54

55 Μελέτη Βιβλίο ΑΙΜΑ, 3 η έκδοση (δεν υπάρχει μεταφρασμένο στα Ελληνικά). Κεφάλαιο 3 ΥΣ02 Τεχνητή Νοημοσύνη 55

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

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΕΙ Δυτικής Μακεδονίας ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ 2015-2016 Τεχνητή Νοημοσύνη Επίλυση προβλημάτων με αναζήτηση Διδάσκων: Τσίπουρας Μάρκος Εκπαιδευτικό Υλικό: Τσίπουρας Μάρκος http://ai.uom.gr/aima/ 2

Διαβάστε περισσότερα

Επίλυση προβλημάτων με αναζήτηση

Επίλυση προβλημάτων με αναζήτηση Επίλυση προβλημάτων με αναζήτηση Περιεχόμενα Μέθοδοι (πράκτορες) επίλυσης προβλημάτων Προβλήματα και Λύσεις Προβλήματα παιχνίδια Προβλήματα του πραγματικού κόσμου Αναζήτηση λύσεων Δέντρο αναζήτησης Στρατηγικές

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

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

Αλγόριθμοι Τυφλής Αναζήτησης Τεχνητή Νοημοσύνη 04 Αλγόριθμοι Τυφλής Αναζήτησης Αλγόριθμοι Τυφλής Αναζήτησης (Blind Search Algorithms) Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων.

Διαβάστε περισσότερα

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 2: Δένδρο αναζήτησης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 2: Δένδρο αναζήτησης Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου

Διαβάστε περισσότερα

Ε ανάληψη. Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. συνεισφορά άλλων επιστηµών στην ΤΝ. 1956 σήµερα

Ε ανάληψη. Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. συνεισφορά άλλων επιστηµών στην ΤΝ. 1956 σήµερα ΠΛΗ 405 Τεχνητή Νοηµοσύνη Α ληροφόρητη Αναζήτηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Καταβολές συνεισφορά άλλων επιστηµών στην ΤΝ Ιστορική αναδροµή 1956

Διαβάστε περισσότερα

Ε ανάληψη. Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. κριτήρια νοηµοσύνης

Ε ανάληψη. Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. κριτήρια νοηµοσύνης ΠΛΗ 405 Τεχνητή Νοηµοσύνη Αναζήτηση Search Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) κριτήρια νοηµοσύνης Καταβολές συνεισφορά

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Τεχνητή Νοημοσύνη. Ενότητα 2: Αναζήτηση (Search)

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Τεχνητή Νοημοσύνη. Ενότητα 2: Αναζήτηση (Search) Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Τεχνητή Νοημοσύνη Ενότητα 2: Αναζήτηση (Search) Αν. καθηγητής Στεργίου Κωνσταντίνος kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

Διαβάστε περισσότερα

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

Επίλυση Προβλημάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης. Επίλυση Προβλημάτων Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης. Τεχνητή Νοημοσύνη = Αναπαράσταση Γνώσης + Αλγόριθμοι Αναζήτησης Κατηγορίες Προβλημάτων Aναζήτησης Πραγματικά και

Διαβάστε περισσότερα

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αναζήτηση Δοθέντος ενός προβλήματος με περιγραφή είτε στον χώρο καταστάσεων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

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

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο 2014-2015 Πρώτη Σειρά Ασκήσεων (Υποχρεωτική, 25% του συνολικού βαθμού στο μάθημα) Ημερομηνία Ανακοίνωσης: 22/10/2014 Ημερομηνία Παράδοσης: Μέχρι 14/11/2014 23:59

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

6η Διάλεξη Διάσχιση Γράφων και Δέντρων ΘΕΩΡΙΑ ΓΡΑΦΩΝ 6 η Διάλεξη Διάσχιση Γράφων και Δέντρων Αλγόριθμος αναζήτησης σε Βαθος Αλγόριθμος αναζήτησης κατά Πλάτος Αλγόριθμοι για Δένδρα Εύρεση ελαχίστων Γεννητορικών (Επικαλύπτοντα) Δένδρων Διάσχιση

Διαβάστε περισσότερα

Επίλυση προβληµάτων µε αναζήτηση

Επίλυση προβληµάτων µε αναζήτηση Επίλυση προβληµάτων µε αναζήτηση Πράκτορες επίλυσης προβληµάτων (1/2) ιατύπωση στόχου: Σύνολο καταστάσεων του κόσµου ιατύπωση προβλήµατος Επιλογή επιπέδου λεπτοµέρειας (αφαίρεση) 3-2 Πράκτορες επίλυσης

Διαβάστε περισσότερα

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας (Priority

Διαβάστε περισσότερα

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

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο 2010-2011 Πρώτη Σειρά Ασκήσεων (20% του συνολικού βαθμού στο μάθημα, Άριστα = 390 μονάδες) Ημερομηνία Ανακοίνωσης: 6/10/2010 Ημερομηνία Παράδοσης: 15/11/2010 σύμφωνα

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 19/10/2017 Ανακεφαλαίωση:

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 4/11/2016 Ανακεφαλαίωση:

Διαβάστε περισσότερα

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αλγόριθμοι Τυφλής Αναζήτησης Οι αλγόριθμοι τυφλής αναζήτησης εφαρμόζονται σε

Διαβάστε περισσότερα

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

Διαβάστε περισσότερα

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου

Διαβάστε περισσότερα

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

ΠΛΗ 405 Τεχνητή Νοηµοσύνη ΠΛΗ 405 Τεχνητή Νοηµοσύνη Πληροφορηµένη Αναζήτηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Πράκτορας ε ίλυσης ροβληµάτων πράκτορας µε στόχο Αναζήτηση διατύπωση

Διαβάστε περισσότερα

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

Τεχνητή Νοημοσύνη. 3η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 3η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

Διαβάστε περισσότερα

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 14 Στοίβες 1 / 14 Στοίβες Η στοίβα είναι μια ειδική περίπτωση γραμμικής λίστας στην οποία οι εισαγωγές

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 8: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ) Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Στατική Δέσμευση

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Ουρές Ουρές Περίληψη Η ΟυράΑΔΤ Υλοποίηση με κυκλικό πίνακα Αυξανόμενη Ουρά βασισμένη σε πίνακα Interface ουράς στην C++ Η Ουρά ADT Η ΑΔΤ Ουρά αποθηκεύει αυθαίρετα αντικείμενα Οι εισαγωγές και διαγραφές

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΠΝΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΣ ΔΔΟΜΝΩΝ ΚΙ ΛΓΟΡΙΘΜΟΙ ΗΜΡΟΜΗΝΙ: 14/11/2018 ΔΙΓΝΩΣΤΙΚΟ ΠΝΩ Σ ΔΝΔΡΙΚΣ ΔΟΜΣ ΚΙ ΓΡΦΟΥΣ Διάρκεια: 45 λεπτά Ονοματεπώνυμο:. ρ. Ταυτότητας:. ΒΘΜΟΛΟΓΙ ΣΚΗΣΗ ΒΘΜΟΣ

Διαβάστε περισσότερα

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη

Διαβάστε περισσότερα

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

Αντισταθμιστική ανάλυση Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Παράδειγμα: Θυμηθείτε το πρόβλημα

Διαβάστε περισσότερα

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

Θεωρία Λήψης Αποφάσεων Θεωρία Λήψης Αποφάσεων Ενότητα 4: Επίλυση προβλημάτων με αναζήτηση Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)

Διαβάστε περισσότερα

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012 ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012 Πληρότητα της μεθόδου επίλυσης Λήμμα: Αν κάθε μέλος ενός συνόλου όρων περιέχει

Διαβάστε περισσότερα

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

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

Διαβάστε περισσότερα

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

Διαβάστε περισσότερα

Δομές Δεδομένων Ενότητα 4

Δομές Δεδομένων Ενότητα 4 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 4: Ουρές Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 10: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) Σύγκριση Συνδεδεμένων Λιστών με Πίνακες

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

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

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 4η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται κυρίως στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β.

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

Πληρότητα της μεθόδου επίλυσης

Πληρότητα της μεθόδου επίλυσης Πληρότητα της μεθόδου επίλυσης Λήμμα: Αν κάθε μέλος ενός συνόλου όρων περιέχει ένα αρνητικό γράμμα, τότε το σύνολο είναι ικανοποιήσιμο. Άρα για να είναι μη-ικανοποιήσιμο, θα πρέπει να περιέχει τουλάχιστον

Διαβάστε περισσότερα

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Διαβάστε περισσότερα

Αλγόριθμοι Ταξινόμησης Μέρος 3

Αλγόριθμοι Ταξινόμησης Μέρος 3 Αλγόριθμοι Ταξινόμησης Μέρος 3 Μανόλης Κουμπαράκης 1 Ταξινόμηση με Ουρά Προτεραιότητας Θα παρουσιάσουμε τώρα δύο αλγόριθμους ταξινόμησης που χρησιμοποιούν μια ουρά προτεραιότητας για την υλοποίηση τους.

Διαβάστε περισσότερα

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Περίληψη Αλγόριθµοι Τύπου Μείωσης Προβλήµατος ( Decrease and Conquer ) Μείωση κατά µια σταθερά (decrease by a constant) Μείωση κατά ένα ποσοστό (decrease by a constant

Διαβάστε περισσότερα

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to Κεφάλαιο 2 Δοµές Δεδοµένων Ι Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #11

ιαφάνειες παρουσίασης #11 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (path) o Πρόγονος απόγονος (ancestor, descendant)

Διαβάστε περισσότερα

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ) Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά ΕΠΛ231 Δομές Δεδομένων

Διαβάστε περισσότερα

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

Διαβάστε περισσότερα

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

ΠΛΗ 405 Τεχνητή Νοηµοσύνη ΠΛΗ 405 Τεχνητή Νοηµοσύνη Α ληροφόρητη και Πληροφορηµένη Αναζήτηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Πράκτορες χαρακτηριστικά στοιχεία και είδη πρακτόρων

Διαβάστε περισσότερα

Προβλήματα Ικανοποίησης Περιορισμών

Προβλήματα Ικανοποίησης Περιορισμών Προβλήματα Ικανοποίησης Περιορισμών (Επιπλέον Διαφάνειες) Μανόλης Κουμπαράκης Τεχνητή Νοημοσύνη 1 Περιεχόμενα Παραδείγματα CSP Παράδειγμα εκτέλεσης του αλγόριθμου ΒΤ Sudoku k-consistency Η έννοια της αποσύνθεσης

Διαβάστε περισσότερα

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 2 Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα

Διαβάστε περισσότερα

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035). Βασικές Δοµές Δεδοµένων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Γραµµικές Δοµές Δεδοµένων Πίνακες Λίστες Στοίβες Ουρές Γράφοι Δέντρα Γραµµικές Δοµές Πίνακας (array) A[0] A[1] A[2] A[ ] A[n-1] Προκαθορισµένη

Διαβάστε περισσότερα

Βασικές Δομές Δεδομένων

Βασικές Δομές Δεδομένων Βασικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Διαδοχική και Δυναμική Χορήγηση

Διαβάστε περισσότερα

max 17x x 2 υπό 10x 1 + 7x 2 40 x 1 + x 2 5 x 1, x 2 0.

max 17x x 2 υπό 10x 1 + 7x 2 40 x 1 + x 2 5 x 1, x 2 0. Υπολογιστικές Μέθοδοι στη Θεωρία Αποφάσεων Ενότητα 11 Επίλυση στον Ακέραιο Προγραμματισμό Αντώνης Οικονόμου Τμήμα Μαθηματικών Πανεπιστήμιο Αθηνών Προπτυχιακό πρόγραμμα σπουδών 6 Μαΐου 2016 Η μέθοδος κλάδος-φράγμα

Διαβάστε περισσότερα

Δομές Δεδομένων Ενότητα 3

Δομές Δεδομένων Ενότητα 3 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 3: Στοίβα Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ Περιεχόμενα Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23 Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ 1. Επαναληπτικοί αλγόριθμοι: Μέτρα προόδου και αναλλοίωτες συνθήκες.....................................................29

Διαβάστε περισσότερα

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι Κ Ο Τ Ι Ν Η Ι Σ Α Β Ε Λ Λ Α Ε Κ Π Α Ι Δ Ε Υ Τ Ι Κ Ο Σ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Π Ε 8 6 Ν Ε Ι Ρ Ο Σ Α Ν Τ Ω ΝΙ Ο Σ Ε Κ Π Α Ι Δ Ε Υ Τ Ι Κ Ο Σ Π Λ Η Ρ Ο Φ Ο

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

Διαβάστε περισσότερα

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου

Διαβάστε περισσότερα

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

Τεχνητή Νοημοσύνη. 6η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 6η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

Στοίβες με Δυναμική Δέσμευση Μνήμης

Στοίβες με Δυναμική Δέσμευση Μνήμης ΕΠΛ 231 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ 10/02/10 Παύλος Αντωνίου Στοίβες με Δυναμική Δέσμευση Μνήμης Στοίβα: Στοίβα είναι μια λίστα που έχει ένα επιπλέον περιορισμό. Ο περιορισμός είναι ότι οι εισαγωγές

Διαβάστε περισσότερα

Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990,

Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990, ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής & Τηλεπικοινωνιών Μια σημείωση από τον Α. Δελή για το άρθρο: W. Pugh, Skip Lists: A Probabilistic Alternative to Balanced Trees, Comms of the ACM, 33(), June 10,

Διαβάστε περισσότερα

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

Θεωρία Λήψης Αποφάσεων Θεωρία Λήψης Αποφάσεων Ενότητα 5: Πληροφορημένη Αναζήτηση και Εξερεύνηση Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)

Διαβάστε περισσότερα

Στοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής

Στοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής Στοίβες - Ουρές Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής οµές εδοµένων 1 Στοίβα (stack) οµή τύπουlifo: Last In - First Out (τελευταία εισαγωγή πρώτη εξαγωγή) Περιορισµένος

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 2 ο : ΣΤΟΙΒΑ & ΟΥΡΑ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ ΣΤΟΙΒΑ 2 Μια στοίβα

Διαβάστε περισσότερα

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Υλοποίηση Λιστών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμές Απλά και Διπλά Συνδεδεμένες Λίστες Κυκλικές Απλά και Διπλά Συνδεδεμένες Λίστες Τεχνικές Μείωσης Μνήμης ΕΠΛ 231 Δομές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών. ΤΗΜΜΥ Α.Π.Θ Πέμπτη 11 / 12 / 2014 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών 5 o Εξάμηνο ΤΗΜΜΥ Α.Π.Θ 2014-2015 Πέμπτη 11 / 12 / 2014 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ DS Gomoku Part 3 MinMax Algorithm (0,5 βαθμοί)

Διαβάστε περισσότερα

Αναζήτηση (Search) Τµήµα Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς

Αναζήτηση (Search) Τµήµα Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς Αναζήτηση (Search) 1 Αλγόριθµοι και Πολυπλοκότητα n Ας υποθέσουµε ότι έχουµε δύο διαφορετικούς αλγόριθµους για την επίλυση ενός προβλήµατος. Πως θα βρούµε ποιος είναι ο καλύτερος? g Ποιος τρέχει πιο γρήγορα?

Διαβάστε περισσότερα

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v.

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v. ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 ένδρα Κόµβοι (nodes) Ακµές (edges) Ουρά και κεφαλή ακµής (tail, head) Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) Μονοπάτι (path) Πρόγονος απόγονος

Διαβάστε περισσότερα

HY Λογική Διδάσκων: Δ. Πλεξουσάκης

HY Λογική Διδάσκων: Δ. Πλεξουσάκης HY-180 - Λογική Διδάσκων: Δ. Πλεξουσάκης Πληρότητα της μεθόδου επίλυσης Λήμμα: Αν κάθε μέλος ενός συνόλου όρων περιέχει ένα αρνητικό γράμμα, τότε το σύνολο είναι ικανοποιήσιμο. Άρα για να είναι μη-ικανοποιήσιμο,

Διαβάστε περισσότερα

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών Αναζήτηση στους γράφους Βασικός αλγόριθμος λό - Αναζήτηση κατά πλάτος - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών Διάσχιση (αναζήτηση ) στους γράφους Φεύγοντας

Διαβάστε περισσότερα

Βασικές Έννοιες Δοµών Δεδοµένων

Βασικές Έννοιες Δοµών Δεδοµένων Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες

Διαβάστε περισσότερα

(elementary graph algorithms)

(elementary graph algorithms) (elementary graph algorithms) Παύλος Εφραιμίδης περιεχόμενα αναπαραστάσεις οριζόντια διερεύνηση καθοδική διερεύνηση αναπαράσταση δύο καθιερωμένοι τρόποι: πίνακας γειτνίασης συλλογή από καταλόγους γειτνίασης

Διαβάστε περισσότερα

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

Μάθημα 21: Ουρές (Queues) Queues Page 1 Μάθημα 21: Ουρές (Queues) Η ουρά (queue) είναι μια δομή δεδομένων. Η βασική λειτουργικότητα είναι η εισαγωγή στοιχείων στην πίσω θέση και η εξαγωγή-διαγραφή στοιχείων από την μπροστινή θέση.

Διαβάστε περισσότερα

4.3 Ορθότητα και Πληρότητα

4.3 Ορθότητα και Πληρότητα 4.3 Ορθότητα και Πληρότητα Συστήματα αποδείξεων όπως η μορφολογική παραγωγή και η κατασκευή μοντέλων χρησιμοποιούνται για να δείξουμε την εγκυρότητα εξαγωγών συμπερασμάτων. Ένα σύστημα αποδείξεων μπορεί

Διαβάστε περισσότερα

Αλγόριθμοι Ταξινόμησης Μέρος 4

Αλγόριθμοι Ταξινόμησης Μέρος 4 Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να

Διαβάστε περισσότερα

Standard Template Library (STL) C++ library

Standard Template Library (STL) C++ library Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Standard Template Library (STL) C++ library Δομές Δεδομένων Μάριος Κενδέα kendea@ceid.upatras.gr Εισαγωγή Η Standard Βιβλιοθήκη προτύπων

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

Διάλεξη 26: Σωροί. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 26: Σωροί. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 26: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας -Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι

Διαβάστε περισσότερα

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) - Σύγκριση Συνδεδεμένων Λιστών με Πίνακες

Διαβάστε περισσότερα

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00 Χρήστος. Ζαρολιάγκης Τεχνολογίες Υλοποίησης Αλγορίθµων : Άσκηση 1 1 Ασκηση 1 [16.03.2016] Παράδοση : Τετάρτη 13.04.2016, 13:00 Η παρούσα άσκηση αφορά στον έλεγχο διµερότητας ενός γραφήµατος. Σκοπός της

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 4ο μέρος σημειώσεων: Ακολουθίες Επίλυσης, Επίλυση για όρους Horn, Λογικός Προγραμματισμός Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το

Διαβάστε περισσότερα

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα Αναζήτηση κατά βάθος (Depth-first search DFS) Αναζήτηση κατά πλάτος (Breadth-first search BFS) 2 Γράφημα (graph) Αναπαράσταση συνόλου

Διαβάστε περισσότερα

Βασικές οµές εδοµένων

Βασικές οµές εδοµένων Βασικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αφηρηµένοι Τύποι εδοµένων Οι ΑΤ Στοίβα και Ουρά Υλοποίηση των ΑΤ Στοίβα και Ουρά µε ιαδοχική και υναµική Χορήγηση Μνήµης

Διαβάστε περισσότερα

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι Αραποστάθης Μάριος Καθηγητής Πληροφορικής Πειραματικού Λυκείου Βαρβακείου http://users.sch.gr/mariosarapostathis

Διαβάστε περισσότερα

1 Διάσχιση κατευθυνόμενων γραφημάτων

1 Διάσχιση κατευθυνόμενων γραφημάτων ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010 11 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di288 5ο ΕΡΓΑΣΤΗΡΙΟ

Διαβάστε περισσότερα

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Τελικές εξετάσεις Πέμπτη 27 Ιουνίου 2013 10:003:00 Έστω το πάζλ των οκτώ πλακιδίων (8-puzzle)

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231

Διαβάστε περισσότερα

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016 ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016 Αναζήτηση και Ταξινόμηση Βασικές λειτουργίες σε προγράμματα Αναζήτηση (searching): Βρες ένα ζητούμενο στοιχείο σε μια

Διαβάστε περισσότερα

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

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

Διαβάστε περισσότερα