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



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

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

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

Ειδικά θέματα σε κινητά και ασύρματα δίκτυα

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

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

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

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

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

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ

Συντομότερες Διαδρομές

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

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

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

Συντομότερες ιαδρομές

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

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

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

Συντομότερες ιαδρομές

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

Συντομότερες Διαδρομές

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Συντομότερες ιαδρομές

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

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

Κατανεμημένα Συστήματα Ι

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

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

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

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

Αλγοριθμικές Τεχνικές

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

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

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

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό έντρο

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

Κατανεμημένα Συστήματα Ι

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ.

Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ.

Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths)

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

Θεωρία Γραφημάτων 5η Διάλεξη

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

Φροντιστήριο 11 Λύσεις

Αλγόριθμοι Eλάχιστα μονοπάτια

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

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

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Θεωρία Γραφημάτων 6η Διάλεξη

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

Ελάχιστο Συνδετικό Δέντρο

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Σημειωματάριο Δευτέρας 4 Δεκ. 2017

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

Ελάχιστο Συνδετικό Δέντρο

Αλγόριθμοι Γραφημάτων

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών

Θεωρία Γραφημάτων 5η Διάλεξη

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

1 Το πρόβλημα της συντομότερης διαδρομής

Προσεγγιστικοί Αλγόριθμοι

3η Σειρά Γραπτών Ασκήσεων

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Κατανεμημένα Συστήματα Ι

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

Αλγόριθμοι Γραφημάτων

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

Ελαφρύτατες διαδρομές

Ελάχιστο Συνδετικό έντρο

Αλγόριθμοι για Ασύρματα Δίκτυα. Θεωρία Γραφημάτων

Το πρόβλημα του σταθερού γάμου

Εισαγωγή στην Επιστήμη των Υπολογιστών

Μια Επισκόπηση της Ύλης & Μερικές Οδηγίες

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler

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

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Γράφοι: κατευθυνόμενοι και μη

Κεφάλαιο 4. Άπληστοι Αλγόριθµοι (Greedy Algorithms) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων

Transcript:

ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, Κεφάλαιο 4 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 4) 1

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

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

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

Απλούστευση για τις ακμές Έστω μια ακμή 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 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Το πρόβλημα του σακιδίου (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$,kg 15kg, 36$ 22

Το πρόβλημα του σακιδίου (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$,kg kg, 36$ 23