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

Σχετικά έγγραφα
ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

Αλγόριθμοι για ανάθεση συχνοτήτων και έλεγχο αποδοχής κλήσεων σε κυψελικά ασύρματα δίκτυα. (μέρος Ι)

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

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

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

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

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

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

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

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

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

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

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

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

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

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

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

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

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

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 3: Εφαρμογές Δικτυωτής Ανάλυσης (2 ο Μέρος)

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

P (B) P (B A) = P (AB) = P (B). P (A)

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

Διακριτά Μαθηματικά. Ενότητα 5: Απαρίθμηση: Διωνυμικοί συντελεστές

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

Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας

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

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

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

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

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

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

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

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

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

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

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

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

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

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι

Διαχείριση Έργων. Ενότητα 10: Χρονοπρογραμματισμός έργων (υπό συνθήκες αβεβαιότητας)

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

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

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

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

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

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

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

Αρχιτεκτονική και Οπτική Επικοινωνία 1 - Αναπαραστάσεις

Transcript:

Εισαγωγή στους Αλγόριθμους Ενότητα 14: Εύρεση ελάχιστων μονοπατιών σε γραφήματα Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

Σκοποί ενότητας Παρουσίαση και μελέτη αλγορίθμων για εύρεση ελάχιστων μονοπατιών σε γραφήματα Τίτλος Ενότητας 2

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

Εισαγωγή στους Αλγόριθμους Εύρεση ελάχιστων μονοπατιών σε γραφήματα 4

Θέματα μελέτης Πρόβλημα εύρεσης ελάχιστων μονοπατιών σε γραφήματα (shortest path problem) Αλγόριθμος του Dijkstra 5

Αλγόριθμος του Dijkstra Απόσταση μιας κορυφής v από μία κορυφή s = μήκος Edsger Wybe Dijkstra 1930 2002 συντομότερου μονοπατιού μεταξύ των s και v Ο αλγόριθμος του Dijkstra υπολογίζει τις ελάχιστες αποστάσεις όλων των κορυφών από δοσμένη αρχική κορυφή s μετιςεξήςυποθέσεις: Το γράφημα είναι συνεκτικό (μπορώ από οποιαδήποτε κορυφή να φτάσω σε οποιαδήποτε άλλη) Οι ακμές είναι μη κατευθυνόμενες Τα βάρη στις ακμές είναι μη αρνητικά Αν τα βάρη σε όλες τις ακμές είναι ίδια είναι ο αλγόριθμος BFS 6

Αλγόριθμος του Dijkstra Φτιάχνουμε σταδιακά σύννεφο από κορυφές, ξεκινώντας από την s και τελικά καλύπτοντας όλες τις κορυφές Αποθηκεύουμε με κάθε κορυφή v μια ετικέτα d(v) που δείχνει την απόσταση της v από την s στο υπογράφημα που αποτελείται από το σύννεφο και τις γειτονικές του κορυφές Σε κάθε βήμα Προσθέτουμε στο σύννεφο την εκτός του σύννεφου κορυφή u με τη μικρότερη απόσταση d(u) Ενημερώνουμε τις ετικέτες των κορυφών που είναι γειτονικές στη u 7

Απλούστευση για τις ακμές Έστω μια ακμή e = (u,z) τέτοια ώστε u είναι η κορυφή που προστέθηκε τελευταία στο σύννεφο s d(u) = 50 u e 10 d(z) = 75 z z είναι κορυφή έξω από το σύννεφο Η απλούστευση για την ακμή e ενημερώνει την απόσταση d(z) ως εξής: d(z) min{d(z),d(u) + weight(e)} s d(u) = 50 u e 10 d(z) = 60 z 8

Παράδειγμα εκτέλεσης του αλγορίθμου του Dijkstra 8 A 4 2 7 1 B C D 3 9 2 5 E F 0 8 A 4 2 8 7 2 1 B C D 3 9 2 5 E F 4 Αρχικά δίνεται το γράφημα και τα βάρη των ακμών δηλ., οι αποστάσεις των κορυφών Δίνεται η αρχική κορυφή (Α) και η ετικέτα της (με τιμή 0) και υπολογίζουμε τις ετικέτες των άλλων κορυφών του γραφήματος Κορυφή v με τιμή ετικέτας : δεν υπάρχει ακμή από την αρχική κορυφή (Α) προς τη v 9

Παράδειγμα εκτέλεσης του αλγορίθμου του Dijkstra B 8 8 0 A 2 7 2 1 C 4 D 4 B 8 8 0 A 2 7 2 1 C 4 D 3 3 9 2 5 E F 5 3 9 8 2 5 E F B 8 8 0 A 2 7 2 1 C 4 D 3 B 8 7 0 A 2 7 2 1 C 4 D 3 5 3 9 11 2 5 E F 5 3 9 8 2 5 E F 10

Παράδειγμα εκτέλεσης του αλγορίθμου του Dijkstra B 8 7 0 A 2 7 2 1 C 4 D 3 5 3 9 8 2 5 E F B 8 7 0 A 2 7 2 1 C 4 D 3 5 3 9 8 2 5 E F 11

Αλγόριθμος του Dijkstra Ο αλγόριθμος του Dijkstra είναι παράδειγμα άπληστου (greedy) αλγόριθμου: προσθέτει κορυφές με αυξανόμενη απόσταση (ή διαφορετικά σε κάθε βήμα προσθέτει την κορυφήπουαυξάνειόσοτοδυνατόλιγότεροτησυνολικό μήκος μονοπατιού) Άπληστοι αλγόριθμοι για ένα πρόβλημα βασίζονται στην ιδέα: σεκάθεβήμακάνωό,τι καλύτερο μπορώ με βάση τα ζητούμενα του προβλήματος Αν θέλω να πάω από το Αγρίνιο στη Θεσσαλονίκη όσο πιο γρήγορα γίνεται, θα μεταφερθώ προς τους συντομότερους ενδιάμεσους προορισμούς Αν θέλω να πάω από το Αγρίνιο στη Θεσσαλονίκη όσο πιο φθηνά γίνεται, θα μεταφερθώ προς ενδιάμεσους προορισμούς που διασφαλίζουν κάθε φορά το φθηνότερο εισιτήριο 12

Αλγόριθμος του Dijkstra: ορθότητα Ισχυριζόμαστε ότι ο αλγόριθμος προσθέτει κάθε φορά στο σύννεφο (άπληστα) την κορυφή με τη μικρότερη απόσταση από αυτό Υποθέτουμε ότι ΔΕ βρήκε όλες τις μικρότερες αποστάσεις και έστω F η πρώτη λάθος κορυφή που επέλεξε ο αλγόριθμος Όταν ο αλγόριθμος ασχολήθηκε με την προηγούμενη κορυφή D στο πραγματικά συντομότερο μονοπάτι η απόσταση της D ήταν σωστή Αλλά έγινε απλούστευση για την ακμή (D,F) τότε! Επομένως, αφού ισχύει ότι d(f) d(d), η απόσταση της F δε μπορεί να είναι λάθος 13

Αλγόριθμος του Dijkstra: χρόνος εκτέλεσης Για κάθε κορυφή, διαλέγω τη γειτονική της με τη μικρότερη ετικέτα Αν οι κορυφές είναι αποθηκευμένες σε μη ταξινομημένη λίστα βρίσκω τη γειτονικήκορυφήμετημικρότερηετικέτασεο( V ) βήματα Αν οι κορυφές είναι αποθηκευμένες σε ταξινομημένη λίστα βρίσκω τη γειτονικήκορυφήμετημικρότερηετικέτασεο(log V ) βήματα Πόσες φορές μπορεί να χρειαστεί να κάνω το παραπάνω; Το πολύ τόσες φορές όσες είναι οι ακμές στο γράφημα, δηλ., Ο( Ε ) φορές Συνολικά: απαιτείται χρόνος Ο( V * E ) ή Ο( E *log V ) αν χρησιμοποιηθούν ειδικές δομές αποθήκευσης (που καλούνται σωροίheaps) ήσεο( E + V *log V ) με χρήση ειδικών σωρών (Fibonacci heaps) (Fredman & Tarjan, 1984) 14

Κλάσεις αλγορίθμων 15

Online vs offline Φανταστείτε ότι καλείστε σε συνέντευξη και γνωρίζετε εκ των προτέρων τις ερωτήσεις που θα σας τεθούν Έχετε τη δυνατότητα να μελετήσετε από πριν το σύνολο των ερωτήσεων και να δώσετε τις καλύτερες δυνατές απαντήσεις χωρίς να γνωρίζετε εκ των προτέρων τις ερωτήσεις που θα σας τεθούν Πρέπει να απαντάτε αμέσως σε κάθε ερώτηση Χωρίς να γνωρίζετε τις επόμενες ερωτήσεις (Συνήθως) δε μπορείτε να αναιρέσετε ό,τι ήδη είπατε 16

Online vs offline Φανταστείτε ότι καλείστε σε συνέντευξη [OFFLINE] και γνωρίζετε εκ των προτέρων τις ερωτήσεις που θα σας τεθούν Έχετε τη δυνατότητα να μελετήσετε από πριν το σύνολο των ερωτήσεων και να δώσετε τις καλύτερες δυνατές απαντήσεις χωρίς να γνωρίζετε εκ των προτέρων τις ερωτήσεις που θα σας τεθούν [ONLINE] Πρέπει να απαντάτε αμέσως σε κάθε ερώτηση Χωρίς να γνωρίζετε τις επόμενες ερωτήσεις (Συνήθως) δε μπορείτε να αναιρέσετε ό,τι ήδη είπατε 17

Online vs offline αλγόριθμοι OFFLINE: Γνωρίζουν το σύνολο της εισόδου μπορούν να κάνουν βέλτιστες επιλογές Π.χ., δρομολόγηση σε παράλληλο υπολογιστή ONLINE: Η είσοδος τους αποκαλύπτεται σταδιακά πρέπει σε κάθε βήμα να λαμβάνουν απόφαση (συνήθως μη αναστρέψιμη) χωρίς να γνωρίζουν το μέλλον, έχοντας μόνο πλήρη ή μερική γνώση του παρελθόντος Ανάθεση συχνοτήτων σε χρήστες κυψελικού δικτύου 18

Ντετερμινιστική vs πιθανοτική προσέγγιση Υπάρχουν 7 ντουλαπάκια καιένα ζάριμε 7 όψεις Διαλέγετε πάντα το κόκκινο ντουλαπάκι με ετικέτα 1 Διαθέτετε πολλές επιλογές και εσείς προτιμάτε πάντα (δηλ., με πιθανότητα= 1) μία συγκεκριμένη επιλογή (ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ) Ρίχνετε το ζάρι και ανάλογα με το τι θα φέρει διαλέγετε ντουλαπάκι με την αντίστοιχη ετικέτα Διαθέτετεπολλέςεπιλογέςκαιπροτιμάτεόποιασαςυποδεικνύειμιαπηγή τυχαιότητας, π.χ., έναζάρι (ΠΙΘΑΝΟΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ) Αν το ζάρι «φέρνει» υποδεικνύει πάντα την ίδια επιλογή ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ 19

Ντετερμινιστικοί vs πιθανοτικοί αλγόριθμοι Ντετερμινιστικοί αλγόριθμοι: όποτε καλούνται να αποφασίσουν μεταξύ διαφορετικών επιλογών, προτιμούν σίγουρα μια συγκεκριμένη επιλογή Επιλέγω πάντα το μικρότερο από τα k στοιχεία ενός συνόλου αριθμών Πιθανοτικοί αλγόριθμοι: όποτε καλούνται να αποφασίσουν μεταξύ διαφορετικών επιλογών, προτιμούν ό,τι τους υποδεικνύει κάποια πηγή τυχαιότητας Επιλέγω ισοπίθανα κάποιο από τα k στοιχεία ενός συνόλου αριθμών 20

Άπληστοι (greedy) αλγόριθμοι Κάνουν τη βέλτιστη επιλογή σε κάθε βήμα ελπίζοντας ότι αυτό θα οδηγήσει σε βέλτιστη λύση στο μέλλον Παράδειγμα: Έχουμε Μ EUR για να αγοράσουμε γλυκά Υπάρχουν Ν τεμάχια γλυκών και το καθένα έχει κάποιο κόστος Ταξινομούμε τα γλυκά από το φθηνότερο στο ακριβότερο και αγοράζουμε από την αρχή προς το τέλος της λίστας μέχρι να τελειώσουν χρήματα Αν κάθε φορά αγοράζουμε το φθηνότερο, ελπίζουμε πως συνολικά θα αγοράσουμε τα περισσότερα δυνατά γλυκά με βάση τον προϋπολογισμό μας 21

Online αλγόριθμοι Αλγόριθμοι που πρέπει να λάβουν αποφάσεις χωρίς πλήρη γνώση της εισόδου Διαθέτουν πλήρη (ή μερική) γνώση του παρελθόντος αλλά καμία (ή μερική) γνώση του μέλλοντος Για τέτοιου είδους προβλήματα σχεδιάζονται αλγόριθμοι που είναι ανταγωνιστικοί σε σχέση με κάποιον βέλτιστο offline αλγόριθμο, δηλ., τον αλγόριθμο που έχει πλήρη γνώση του μέλλοντος 22

Το πρόβλημα του σακιδίου (the knapsack problem) Ποια κουτιά θα διαλέγατε για να συγκεντρώσετε το μέγιστο χρηματικό ποσό και να μην ξεπεράσετε τη χωρητικότητα της τσάντας σας; Το πρόβλημα αυτό συχνά ανακύπτει σε προβλήματα ανάθεσης (κατανομής) πόρων Είναι ένα δύσκολο πρόβλημα, δηλ., δεν έχει βρεθεί αλγόριθμος καλύτερος απότοναψάξουμεόλεςτιςπιθανέςλύσεις 23

Το πρόβλημα του σακιδίου (the knapsack problem) Άπληστος (προσεγγιστικός) αλγόριθμος Διάταξε τα αντικείμενα σε φθίνουσα σειρά χρηματικής αξίας: κίτρινο (10), πράσινο (4), μπλε/γκρι (2), πορτοκαλί (1) Χρηματική αξία ίδια; Διάταξε τα αντικείμενα σε αύξουσα σειρά βάρους: κίτρινο (10), πράσινο (4), γκρι (2,1), μπλε (2,2), πορτοκαλί (1) Πάρε όσα περισσότερα αντικείμενα μπορείς με βάση την παραπάνω λίστα ώστε να μην ξεπεράσεις τη χωρητικότητα του σακιδίου: Υπάρχουν πολλά τεμάχια από κάθε αντικείμενο; Υπάρχει ένα τεμάχιο ανά αντικείμενο; 24

Το πρόβλημα του σακιδίου (the knapsack problem) Υπάρχουν πολλά τεμάχια από κάθε αντικείμενο Κίτρινο (10,4), Κίτρινο (10,4), Κίτρινο (10,4), Γκρι (2,1), Γκρι (2,1), Γκρι (2,1): 36$,15kg Πετυχαίνουμε πάντα τουλάχιστον 50% από το καλύτερο που θα μπορούσε να γίνει Υπάρχει ένα τεμάχιο από κάθε αντικείμενο Κίτρινο (10,4), Γκρι (2,1), Μπλε (2,2), Πορτοκαλί (1,1): 15$,8kg 15kg, 36$ 25

Το πρόβλημα του σακιδίου (the knapsack problem) Υπάρχουν πολλά τεμάχια από κάθε αντικείμενο Κίτρινο (10,4), Κίτρινο (10,4), Κίτρινο (10,4), Γκρι (2,1), Γκρι (2,1), Γκρι (2,1): 36$,15kg Πετυχαίνουμε πάντα τουλάχιστον 50% από το καλύτερο που θα μπορούσε να γίνει Υπάρχει ένα τεμάχιο από κάθε αντικείμενο Κίτρινο (10,4), Γκρι (2,1), Μπλε (2,2), Πορτοκαλί (1,1): 15$,8kg 8kg, 36$ 26

Τέλος Ενότητας

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

Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.00. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Τίτλος Ενότητας 30

Σημείωμα Αναφοράς Copyright Πανεπιτήμιο Πατρών, Εύη Παπαϊωάννου. «Εισαγωγή στους Αλγόριθμους. Εύρεση ελάχιστων μονοπατιών σε γραφήματα.». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/culture158/index.php Τίτλος Ενότητας 31

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

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

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες Σχεδιασμός Αλγορίθμων. Jon Kleinberg, Eva Tardos. Επιστημονική επιμέλεια Ελληνικής έκδοσης: Χρήστος Ζαρολιάγκης. Εκδόσεις Κλειδάριθμος, 2009. ISBN: 978 960 461 207 9. Κωδικός Βιβλίου στον Εύδοξο: 13898. Αλγόριθμοι. Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani. Εκδόσεις Κλειδάριθμος, 2009. ISBN 978 960 524 444 6. Κωδικός Βιβλίου στον Εύδοξο: 13583. http://www.wikipedia.org Τίτλος Ενότητας 34