ΠΛΗ30 ΜΑΘΗΜΑ 2.3

Dimitris Psounis
Dimitris PsounisTeacher & Manager at Δημήτρης Ψούνης - Υπηρεσίες Εκπαίδευσης
ΠΛΗ30
ΕΝΟΤΗΤΑ 2: ΣΧΕ∆ΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ
Μάθηµα 2.3:
Άπληστοι ΑλγόριθµοιΆπληστοι Αλγόριθµοι
∆ηµήτρης Ψούνης
ΠΕΡΙΕΧΟΜΕΝΑ
Α. Σκοπός του Μαθήµατος
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο
1. Ο αλγόριθµος του Dijkstra
2. Ελάχιστο Συνδετικό δένδρο
1. Ο αλγόριθµος του Prim
2. O αλγόριθµος του Kruskal
2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
2. O αλγόριθµος του Kruskal
3. Ελαχιστοποίηση Νοµισµάτων για Ρέστα
Β.Ασκήσεις
1. Εφαρµογές
Α. Σκοπός του Μαθήµατος
Οι στόχοι του µαθήµατος είναι:
Επίπεδο Α
(-)
Επίπεδο Β
Η τεχνική σχεδίασης αλγόριθµων Άπληστος Αλγόριθµος
3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Η τεχνική σχεδίασης αλγόριθµων Άπληστος Αλγόριθµος
Ο άπληστος αλγόριθµος για την ελαχιστοποίηση νοµισµάτων για ρέστα.
Επίπεδο Γ
Ο άπληστος αλγόριθµος του Dijkstra για την εύρεση του συντοµότερου
µονοπατιού
Ο άπληστος αλγόριθµος του Prim για την εύρεση Ελάχιστου Συνδετικού
∆ένδρου
Ο άπληστος αλγόριθµος του Kruskal για την εύρεση Ελάχιστου Συνδετικού
∆ένδρου
B. Θεωρία
Τεχνικές Σχεδίασης Αλγορίθµων
4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Στην 2η ενότητα του µαθήµατος ασχολούµαστε µε τεχνικές που έχουν
αναπτυχθεί, ως γενικές µεθοδολογίες για την κατασκευή ενός αλγορίθµου:
Η τεχνική ∆ιαίρει και Βασίλευε (Μάθηµα 2.1)
Η τεχνική του ∆υναµικού Προγραµµατισµού (Μάθηµα 2.2)
Η κατασκευή των Άπληστων Αλγόριθµων (Μάθηµα 2.3)
Υπάρχουν ακόµη δεκάδες τεχνικές κατασκευής αλγορίθµων που είναι εκτός
ύλης.
B. Θεωρία
1. Άπληστοι Αλγόριθµοι
5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Όταν έχουµε ένα πρόβληµα που έχει τις εξής ιδιότητες:
Ιδιότητα της Άπληστης Επιλογής: Μια ακολουθία άπληστων επιλογών οδηγεί
στην βέλτιστη λύση.
Ιδιότητα των Βέλτιστων Επιµέρους ∆οµών: Οτί για να λύσουµε το πρόβληµα
Τότε επιλέγουµε ως τεχνική σχεδίασης κατασκευής άπληστου αλγόριθµου
αρκεί να υπολογίσουµε την βέλτιστη λύση σε κάποια υποπροβλήµατα,
συνήθως µε αναδροµή.
Ένας άπληστος αλγόριθµος δεν είναι πάντα βέλτιστος:
Για να δείξουµε ότι δεν είναι βέλτιστος δίνουµε ένα αντιπαράδειγµα.
Για να δείξουµε ότι είναι βέλτιστος δίνουµε απόδειξη ορθότητας:
1. Θεωρούµε ότι ο άπληστος αλγόριθµος δεν επιστρέφει την βέλτιστη λύση.
2. Απεικονίζουµε την βέλτιστη λύση και την λύση του άπληστου αλγόριθµου.
3. Συγκρίνουµε τις λύσεις µε βάση το άπληστο κριτήριο.
4. ∆είχνουµε ότι η λύση του άπληστου αλγόριθµου στο σηµείο που διαφέρουν,
είναι καλύτερη από την βέλτιστη λύση.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο
6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
ΠΡΟΒΛΗΜΑ: ∆ίνεται γράφος G=(V,E,W), αφετηρία s∈V, τερµατισµός t ∈V.
Ζητείται το συντοµότερο µονοπάτι από την s στην t.
Θα µελετήσουµε έναν αλγόριθµο που υπολογίζει το συντοµότερο µονοπάτι:
Ο αλγόριθµος του Dijkstra:Ο αλγόριθµος του Dijkstra:
Θεωρεί (άπληστα? ) ότι σε κάθε επανάληψη βρίσκει το συντοµότερο
µονοπάτι για να πάει από την αφετηρία σε µία κορυφή
Συγκεκριµένα την κορυφή που απέχει λιγότερο από την
αφετηρία στο τρέχων βήµα.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο
7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Σκιαγράφηση Αλγόριθµου Dijkstra:
Στην αρχικοποίηση:
Θέτουµε όλες τις ετικέτες L[.]=+∞ εκτός της αφετηρίας που έχει L[s]=0
Σε κάθε βήµα:Σε κάθε βήµα:
Οριστικοποιείται η κορυφή µε το µικρότερο κόστος από τις µη
οριστικοποιηµένες
∆ιορθώνονται οι ετικέτες των γειτονικών µη οριστικοποιηµένων
κορυφών (σε περίπτωση που βρεθεί καλύτερο µονοπάτι από την
κορυφή που οριστικοποιήθηκε)
Τερµατισµός:
Όταν οριστικοποιηθεί η κορυφή τερµατισµού t.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο (Dijkstra-Ψευδοκώδικας)
8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
procedure Dijkstra(G=(V,E,W), s, t)
L[s]=0
T=V
for all x∈V-{s}
L[x]=+∞
end for
∈while t∈T do
Επέλεξε v∈T µε ελάχιστο L[v]
T=T-{v}
for all x∈T γειτονική της v:
if (L[v]+W[v,x]<L[x])
L[x]=L[v]+W[v,x]
P[x]=v
end if
end for
end while
return L[t]
end procedure
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης)
9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Ψάχνουµε το συντοµότερο µονοπάτι από την v1 στην v7
Βήµα 0:
v2(-,+∞) v4(-,+∞)
9
7
3 9 1
Αρχικοποίηση ετικετών κορυφών
V1(0,-)
v3(-,+∞) v6(-,+∞)
v7(-,+∞)
4
2
6
1
3
2
7
5
v5(-,+∞)
Βήµα 1:
v2(v1,9)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης)
10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v4(-,+∞)
9
7
3 9 1
Οριστικοποίηση κορυφής v1
Εξεταση κορυφών v2,v3. ∆ιόρθωση ετικετών v2,v3
V1(0,-)
v3(v1,4) v6(-,+∞)
v7(-,+∞)
4
2
6
1
3
2
7
5
v5(-,+∞)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης)
11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 2:
v2(v3,6) v4(-,+∞)
9
7
3 9 1
Οριστικοποίηση κορυφής v3
Εξεταση κορυφών v2,v5,v6. ∆ιόρθωση ετικετών v2,v5,v6
V1(0,-)
v3(v1,4) v6(v3,10)
v7(-,+∞)
4
2
6
1
3
2
7
5
v5(v3,5)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης)
12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 3:
v2(v3,6) v4(v5,14)
9
7
3 9 1
Οριστικοποίηση κορυφής v5
Εξεταση κορυφών v2,v4,v6. ∆ιόρθωση ετικετών v4,v6
V1(0,-)
v3(v1,4) v6(v5,7)
v7(-,+∞)
4
2
6
1
3
2
7
5
v5(v3,5)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης)
13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 4:
v2(v3,6) v4(v2,13)
9
7
3 9 1
Οριστικοποίηση κορυφής v2
Εξεταση κορυφής v4. ∆ιόρθωση ετικέτας v4
V1(0,-)
v3(v1,4) v6(v5,7)
v7(-,+∞)
4
2
6
1
3
2
7
5
v5(v3,5)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης)
14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 5:
v2(v3,6) v4(v2,13)
9
7
3 9 1
Οριστικοποίηση κορυφής v6
Εξεταση κορυφών v4,v7. ∆ιόρθωση ετικετας v7
V1(0,-)
v3(v1,4) v6(v5,7)
v7(v6,12)
4
2
6
1
3
2
7
5
v5(v3,5)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης)
15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 6:
v2(v3,6) v4(v2,13)
9
7
3 9 1
Οριστικοποίηση κορυφής v7
Τέλος Αλγορίθµου. Συντοµότερο µονοπάτι v1-v3-v5-v6-v7 µε βάρος 4+1+2+5=12
V1(0,-)
v3(v1,4) v6(v5,7)
v7(v6,12)
4
2
6
1
3
2
7
5
v5(v3,5)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
1. Συντοµότερο Μονοπάτι σε Γράφο (Dijkstra – Απόδειξη Ορθότητας)
16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Απόδειξη Ορθότητας αλγορίθµου Dijkstra:
Θεωρούµε ότι η λύση που υπολογίζει ο άπληστος αλγόριθµος δεν είναι
βέλτιστη και
Συµβολίζουµε µε:Συµβολίζουµε µε:
OPT η βέλτιστη λύση (ακολουθία κορυφών από την s στην t)
C η λύση που επιστρέφει ο αλγόριθµος του Dijkstra.
Κάθε µονοπάτι που υπολογίζει ο Dijkstra είναι βέλτιστος
Πράγµατι, η άπληστη επιλογή του Dijkstra είναι ορθή για την
οριστικοποίηση της κορυφής vi
Αν δεν ήταν θα υπήρχε ένα άλλο µονοπάτι για να φτάσω στην vi µε
µικρότερο κόστος.
Άτοπο, γιατί όταν οριστικοποιείται η vi έχει το µικρότερο κόστος από όλες
τις υπόλοιπες κορυφές.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο
17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
ΠΡΟΒΛΗΜΑ: ∆ίνεται γράφος G=(V,E,W), Ζητείται ένα ελάχιστο συνδετικό
δένδρο (δένδρο που περιλαµβάνει όλες τις κορυφές και έχει ελάχιστο βάρος
Θα µελετήσουµε δύο αλγόριθµους που υπολογίζουν ελάχιστα συνδετικά
δένδρα:
Ο αλγόριθµος του Prim:
Θεωρεί (άπληστα? ) ότι η επιλογή ακµής που έχει το ένα της άκρο
στο συνδετικό δένδρο και το άλλο άκρο της εκτός του συνδετικού
δένδρου θα οδηγήσει στην βέλτιστη λύση
Ο αλγόριθµος του Kruskal:
Θεωρεί (άπληστα? ) ότι η ακµή ελαχίστου βάρους που δεν βρίσκεται
στο δένδρο και δεν δηµιουργεί κύκλο θα µπορούσε να ενσωµατωθεί
στην λύση ώστε να κατασκευασθεί το ελάχιστο συνδετικό δένδρο.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Σκιαγράφηση)
18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Σκιαγράφηση Αλγόριθµου Prim:
Στην αρχικοποίηση:
Τοποθετούµε αυθαίρετα µια κορυφή στο συνδετικό δένδρο
Σε κάθε βήµα:Σε κάθε βήµα:
Υποψήφιες ακµές για να µπουν στο συνδετικό δένδρο είναι εκείνες οι
ακµές που έχουν το ένα τους άκρο στο υπο κατασκευή συνδετικό
δένδρο και το άλλο τους άκρο εκτός του συνδετικού δένδρου.
Επιλέγεται η ακµή µε το ελάχιστο βάρος από τις υποψήφιες
Η ακµή εισάγεται στο δένδρο καθώς και το άκρο της που δεν ανήκε στο
δένδρο.
Τερµατισµός:
Όταν όλες οι κορυφές εισαχθούν στο δένδρο.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Ψευδοκώδικας)
19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
procedure Prim(G=(V,E,W))
V’={v1}
while |V’|<|V| do
Βρες την ακµή (v,w)∈E µε v∈V’, w∈V-V’ µε το ελάχιστο βάρος
Θέσε (v,w) στο Ε’ και w στο V’
end whileend while
return T=(V’,E’)
end procedure
Αποδεικνύεται ότι η πολυπλοκότητα του Prim µε χρήση κατάλληλων δοµών δεδο-
µένων είναι O(n2)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης)
20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Ξεκινάµε αυθαίρετα από την κορυφή v1
Βήµα 0:
v2 v4
9
7
3 9 1
V1 µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης)
21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 1:
v2 v4
9
7
3 9 1
V3 µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης)
22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 2:
v2 v4
9
7
3 9 1
V5 µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης)
23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 3:
v2 v4
9
7
3 9 1
V6 µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης)
24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 4:
v2 v4
9
7
3 9 1
V2 µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης)
25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Βήµα 5:
v2 v4
9
7
3 9 1
V7 µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Βήµα 5:
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης)
26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v2 v4
9
7
3 9 1
V4 µπαίνει στο δένδρο
Τέλος Αλγορίθµου. Βάρος Ελάχιστου συνδετικού ∆ένδρου: 4+2+1+2+5+1=15
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (2.Kruskal-Σκιαγράφηση)
27∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Σκιαγράφηση Αλγόριθµου Kruskal:
Στην αρχικοποίηση:
Θεωρούµε ταξινόµηση των βαρών των ακµών σε αύξουσα σειρά.
Σε κάθε βήµα:Σε κάθε βήµα:
Εξετάζεται η επόµενη ακµή µε βάση την ταξινόµηση.
Αν δεν δηµιουργείται κύκλος εισάγεται στο ελάχιστο συνδετικό δένδρο
Τερµατισµός:
Όταν όλες οι κορυφές εισαχθούν στο δένδρο.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (2.Kruskal - Ψευδοκώδικας)
28∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
procedure Kruskal(G=(V,E,W))
V’=∅
MergeSort(E) ως προς το βάρος των ακµών
while |V’|<|V| do
∪if Ε’∪ei δεν δηµιουργεί κύκλο then
Θέσε E’=E’∪ei, V’=V’∪{κορυφές της ei}
end if
i=i+1
end while
return T=(V’,E’)
end procedure
Αποδεικνύεται ότι η πολυπλοκότητα του Kruskal µε χρήση κατάλληλων δοµών δεδο-
µένων είναι O(m logn)
Βήµα 1:
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης)
29∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v2 v4
9
7
3 9 1
(v3,v5) µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Βήµα 2:
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης)
30∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v2 v4
9
7
3 9 1
(v4,v7) µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Βήµα 3:
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης)
31∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v2 v4
9
7
3 9 1
(v2,v3) µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Βήµα 4:
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης)
32∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v2 v4
9
7
3 9 1
(v5,v6) µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Βήµα 5:
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης)
33∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v2 v4
9
7
3 9 1
(v2,v5) δεν µπαίνει στο δένδρο γιατί δηµιουργεί κύκλο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Βήµα 6:
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης)
34∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v2 v4
9
7
3 9 1
(v1,v3) µπαίνει στο δένδρο
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Βήµα 7:
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης)
35∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
v2 v4
9
7
3 9 1
(v6,v7) µπαίνει στο δένδρο
Τέλος Αλγορίθµου. Βάρος Ελάχιστου Συνδετικού ∆ένδρου: 4+2+1+2+5+1=15
V1
v3
v6
v7
4
2
6
1
3
2
7
5
v5
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
3. Επιστροφή Νοµισµάτων για Ρέστα
36∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
ΠΡΟΒΛΗΜΑ:
∆ίδεται ότι έχουµε απεριόριστα νοµίσµατα 20λεπτών, 5λεπτών και 1
λεπτού. Θέλουµε να επιστρέψουµε ρέστα Χ ευρώ, ελαχιστοποιώντας το
πλήθος των νοµισµάτων που επιστρέφονται
Στιγµιότυπα:
1,45 ευρώ: Η βέλτιστη λύση είναι 7 εικοσάλεπτα και 1 πεντάλεπτο.
0,77 ευρώ: Η βέλτιστη λύση είναι 3 εικοσάλεπτα, 3 πεντάλεπτα και 2
µονόλεπτα.
Άπληστος Αλγόριθµος:
Επέλεξε πρώτα όσα περισσότερα 20λεπτα, έπειτα όσο περισσότερα
5λεπτα και έπειτα συµπλήρωνεις µε 1λεπτα.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
3. Επιστροφή Νοµισµάτων για Ρέστα (Ψευδοκώδικας)
37∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
procedure coins(X, V) //X το ποσό για ρέστα, V: οι αξίες των νοµισµάτων
C=[]
sum=0
i=1
while sum<X do
Επέλεξε v∈V µε µέγιστη αξία έτσι ώστε: sum+v<=S
C[i]=v
sum=sum+v
i=i+1
end while
return C
end procedure
Πολυπλοκότητα Ο(Χ)
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
3. Επιστροφή Νοµισµάτων για Ρέστα (Απόδειξη ορθότητας)
38∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Έστω ότι θέλουµε να επιστρέψουµε Χ ευρώ και ότι ο άπληστος αλγόριθµος
δεν επιστρέφει την βέλτιστη λύση.
Εστω OPT=(o1,o2,o3) η βέλτιστη λύση (όπου ο1,ο2,ο3 αντίστοιχα τα πλήθη των
νοµισµάτων (20λεπτα-5λεπτα-1λεπτα) που επιλέγονται
Εστω C=(c1,c2,c3) η λύση του άπληστου αλγορίθµου (όπου c1,c2,c3 αντίστοιχα τα
πλήθη των νοµισµάτων (20λεπτα-5λεπτα-1λεπτα) που επιλέγονταιπλήθη των νοµισµάτων (20λεπτα-5λεπτα-1λεπτα) που επιλέγονται
Παρατηρούµε ότι
∆εν µπορεί να ισχύει ο1>c1 διότι θα σήµαινε ότι έχουν περισσέψει 20
λεπτά και ο αλγόριθµος έχει επιλέξει περισσότερα 20λεπτα. Άρα o1=c1
∆εν µπορεί να ισχύει ο2>c2 διότι θα σήµαινε ότι έχουν περισσέψει 5
λεπτά και ο αλγόριθµος έχει επιλέξει περισσότερα 5λεπτα. Άρα o2=c2
∆εν µπορεί να έχουµε c3>o3, διότι µε βάση τις προηγούµενες δύο
ισότητες αποµένει το ίδιο ποσό για να συµπληρωθεί. Άρα o3=c3
Εποµένως η λύση που επιστρέφει ο αλγόριθµος είναι βέλτιστη.
Β. Θεωρία
1. Άπληστοι Αλγόριθµοι
4. Επιστροφή Νοµισµάτων για Ρέστα (Απόδειξη ορθότητας)
39∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
Ωστόσο ο αλγόριθµος δεν είναι πάντα βέλτιστος!!
Εξαρτάται από τις αξίες των νοµισµάτων που έχουµε στην διάθεσή µας.
Για παράδειγµα αν έχουµε στην διάθεσή µας νοµίσµατα αξίας 1, 13 και 29Για παράδειγµα αν έχουµε στην διάθεσή µας νοµίσµατα αξίας 1, 13 και 29
ευρώ και θέλουµε να επιστρέψουµε ρέστα αξίας 39 ευρώ:
Ο αλγόριθµος θα επιλέξει 1 κέρµα των 29 ευρώ και 10 κέρµατα του 1
ευρώ (σύνολο 11 κέρµατα)
Η βέλτιστη λύση είναι 3 κέρµατα των 13 ευρώ.
Γ. Ασκήσεις
Εφαρµογή 1
Φανταστείτε πως στο ταχυδροµείο υπάρχουν διαθέσιµα γραµµατόσηµα µε τις ακόλουθες
αξίες: 1 λεπτό, 5 λεπτά, 9 λεπτά, 10 λεπτά, 25 λεπτά και 48 λεπτά και δοθέντος ενός
χρηµατικού ποσού S, ζητάµε το µικρότερο δυνατό πλήθος γραµµατοσήµων αξίας S.
1. Σχεδιάστε έναν άπληστο αλγόριθµο για το παραπάνω πρόβληµα.
40∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
2. Υπολογίστε το χρόνο εκτέλεσης του άπληστου αλγόριθµου.
3. ∆ώστε τυπική απόδειξη για την ορθότητα του άπληστου αλγόριθµου ή
αντιπαράδειγµα για την µη ορθότητα του.
Γ. Ασκήσεις
Εφαρµογή 2
Ένας έγκυρος χρωµατισµός ενός γραφήµατος G = (V, E) είναι µια ανάθεση θετικών
ακεραίων (χρώµατα) στις κορυφές του γραφήµατος G τέτοια ώστε για κάθε ακµή (vi,vj)
του γραφήµατος G να ισχύει χρώµα(vi) ≠ χρώµα(vj). Ένας βέλτιστος χρωµατισµός ενός
γραφήµατος είναι ένας έγκυρος χρωµατισµός που χρησιµοποιεί το µικρότερο δυνατό
αριθµό χρωµάτων. Υποθέτουµε ότι οι κορυφές του γραφήµατος µας δίνονται µε µια
συγκεκριµένη διάταξη π = [v1, …, vn], όπου n = | V |. Με βάση την διάταξη αυτή έχουµε
41∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
συγκεκριµένη διάταξη π = [v1, …, vn], όπου n = | V |. Με βάση την διάταξη αυτή έχουµε
τον ακόλουθο αλγόριθµο χρωµατισµού: για i =1 έως n, ανάθεσε στην κορυφή vi το
µικρότερο δυνατό χρώµα που δεν χρησιµοποιείται από τους γείτονες της vi µεταξύ των
v1, …, vi-1. Ένα παράδειγµα εκτέλεσης του αλγόριθµου χρωµατισµού φαίνεται στο
ακόλουθο γράφηµα:
a
f
c e
d
b
π = [ a, b, c, d, e, f]
κορυφή: a b c d e f
χρώµα: 1 1 2 2 3 3
Γ. Ασκήσεις
Εφαρµογή 2
(Α) Είναι ο αλγόριθµος χρωµατισµού άπληστος; ∆ικαιολογήστε την απάντησή σας.
(Β) Υπολογίστε την πολυπλοκότητα χρόνου του αλγορίθµου.
(Γ) Αποδείξτε ότι ο αλγόριθµος όταν εφαρµόζεται σε οποιοδήποτε γράφηµα παράγει
έναν έγκυρο χρωµατισµό.
(∆) Αποδείξτε ότι ο αλγόριθµος όταν εφαρµόζεται σε οποιοδήποτε γράφηµα δεν είναι
βέλτιστος (µε αντιπαράδειγµα).
42∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι
βέλτιστος (µε αντιπαράδειγµα).
1 of 42

Recommended

ΠΛΗ20 ΜΑΘΗΜΑ 0.4 by
ΠΛΗ20 ΜΑΘΗΜΑ 0.4ΠΛΗ20 ΜΑΘΗΜΑ 0.4
ΠΛΗ20 ΜΑΘΗΜΑ 0.4Dimitris Psounis
1K views22 slides
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 by
ΠΛΗ30 ΜΑΘΗΜΑ 2.2ΠΛΗ30 ΜΑΘΗΜΑ 2.2
ΠΛΗ30 ΜΑΘΗΜΑ 2.2Dimitris Psounis
7.4K views41 slides
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 by
ΠΛΗ30 ΜΑΘΗΜΑ 1.6ΠΛΗ30 ΜΑΘΗΜΑ 1.6
ΠΛΗ30 ΜΑΘΗΜΑ 1.6Dimitris Psounis
5.3K views10 slides
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 by
ΠΛΗ30 ΜΑΘΗΜΑ 2.1ΠΛΗ30 ΜΑΘΗΜΑ 2.1
ΠΛΗ30 ΜΑΘΗΜΑ 2.1Dimitris Psounis
7.7K views29 slides
ΠΛΗ30 ΜΑΘΗΜΑ 6.2 by
ΠΛΗ30 ΜΑΘΗΜΑ 6.2ΠΛΗ30 ΜΑΘΗΜΑ 6.2
ΠΛΗ30 ΜΑΘΗΜΑ 6.2Dimitris Psounis
3.5K views28 slides
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 by
ΠΛΗ30 ΜΑΘΗΜΑ 1.1ΠΛΗ30 ΜΑΘΗΜΑ 1.1
ΠΛΗ30 ΜΑΘΗΜΑ 1.1Dimitris Psounis
16.2K views32 slides

More Related Content

What's hot

ΠΛΗ20 ΜΑΘΗΜΑ 6.3 by
ΠΛΗ20 ΜΑΘΗΜΑ 6.3ΠΛΗ20 ΜΑΘΗΜΑ 6.3
ΠΛΗ20 ΜΑΘΗΜΑ 6.3Dimitris Psounis
4.4K views34 slides
ΠΛΗ20 ΜΑΘΗΜΑ 2.5 by
ΠΛΗ20 ΜΑΘΗΜΑ 2.5ΠΛΗ20 ΜΑΘΗΜΑ 2.5
ΠΛΗ20 ΜΑΘΗΜΑ 2.5Dimitris Psounis
7.4K views28 slides
ΠΛΗ20 ΜΑΘΗΜΑ 1.1 by
ΠΛΗ20 ΜΑΘΗΜΑ 1.1ΠΛΗ20 ΜΑΘΗΜΑ 1.1
ΠΛΗ20 ΜΑΘΗΜΑ 1.1Dimitris Psounis
10.5K views23 slides
ΠΛΗ30 ΜΑΘΗΜΑ 3.2 by
ΠΛΗ30 ΜΑΘΗΜΑ 3.2ΠΛΗ30 ΜΑΘΗΜΑ 3.2
ΠΛΗ30 ΜΑΘΗΜΑ 3.2Dimitris Psounis
7.1K views23 slides
ΠΛΗ30 ΤΕΣΤ 1 by
ΠΛΗ30 ΤΕΣΤ 1ΠΛΗ30 ΤΕΣΤ 1
ΠΛΗ30 ΤΕΣΤ 1Dimitris Psounis
3.9K views2 slides
ΠΛΗ20 ΜΑΘΗΜΑ 6.1 by
ΠΛΗ20 ΜΑΘΗΜΑ 6.1ΠΛΗ20 ΜΑΘΗΜΑ 6.1
ΠΛΗ20 ΜΑΘΗΜΑ 6.1Dimitris Psounis
6.3K views33 slides

What's hot(20)

ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
Dimitris Psounis12.3K views
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.5 by Dimitris Psounis
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.5ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.5
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.5
Dimitris Psounis5.2K views

Viewers also liked

ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ) by
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
4.1K views1 slide
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 by
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3Dimitris Psounis
8.3K views1 slide
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 by
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2Dimitris Psounis
6.3K views5 slides
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ) by
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
5.9K views11 slides
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ) by
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
5.6K views2 slides
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ) by
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
5.4K views1 slide

Viewers also liked(20)

ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis4.1K views
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3
Dimitris Psounis8.3K views
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis6.3K views
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis5.9K views
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis5.6K views
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis5.4K views
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis6K views
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis5.7K views
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2 by Dimitris Psounis
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
Dimitris Psounis7.9K views
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
Dimitris Psounis8.7K views
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
Dimitris Psounis7.6K views
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis3.8K views
ΠΛΗ30 Τυπολόγιο Ενότητας 1 by Dimitris Psounis
ΠΛΗ30 Τυπολόγιο Ενότητας 1ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1
Dimitris Psounis15.5K views
ΠΛΗ30 ΜΑΘΗΜΑ 3.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΜΑΘΗΜΑ 3.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 3.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 3.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis7.2K views
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 3.1 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 3.1ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 3.1
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 3.1
Dimitris Psounis7.4K views
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 3.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 3.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 3.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 3.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis7K views
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3 by Dimitris Psounis
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
Dimitris Psounis7.4K views

Similar to ΠΛΗ30 ΜΑΘΗΜΑ 2.3

ΠΛΗ20 ΜΑΘΗΜΑ 5.4 by
ΠΛΗ20 ΜΑΘΗΜΑ 5.4ΠΛΗ20 ΜΑΘΗΜΑ 5.4
ΠΛΗ20 ΜΑΘΗΜΑ 5.4Dimitris Psounis
6.2K views32 slides
ΠΛΗ20 ΕΠΑΝΑΛΗΨΗ 10 by
ΠΛΗ20 ΕΠΑΝΑΛΗΨΗ 10ΠΛΗ20 ΕΠΑΝΑΛΗΨΗ 10
ΠΛΗ20 ΕΠΑΝΑΛΗΨΗ 10Dimitris Psounis
1.5K views4 slides
4. Ενότητα 2.2 Αλγόριθμοι ΜΚΔ.pptx by
4. Ενότητα 2.2 Αλγόριθμοι ΜΚΔ.pptx4. Ενότητα 2.2 Αλγόριθμοι ΜΚΔ.pptx
4. Ενότητα 2.2 Αλγόριθμοι ΜΚΔ.pptxhadirog
1 view10 slides
Διαγωνίσματα Στατιστικής Γ' Λυκείου ΕΠΑΛ Απαντήσεις-Υποδείξεις by
Διαγωνίσματα Στατιστικής Γ' Λυκείου ΕΠΑΛ Απαντήσεις-ΥποδείξειςΔιαγωνίσματα Στατιστικής Γ' Λυκείου ΕΠΑΛ Απαντήσεις-Υποδείξεις
Διαγωνίσματα Στατιστικής Γ' Λυκείου ΕΠΑΛ Απαντήσεις-ΥποδείξειςΡεβέκα Θεοδωροπούλου
2.1K views5 slides
ΠΛΗ31 ΤΕΣΤ 25 by
ΠΛΗ31 ΤΕΣΤ 25ΠΛΗ31 ΤΕΣΤ 25
ΠΛΗ31 ΤΕΣΤ 25Dimitris Psounis
2K views5 slides
ΠΛΗ20 ΤΕΣΤ 28 by
ΠΛΗ20 ΤΕΣΤ 28ΠΛΗ20 ΤΕΣΤ 28
ΠΛΗ20 ΤΕΣΤ 28Dimitris Psounis
882 views5 slides

Similar to ΠΛΗ30 ΜΑΘΗΜΑ 2.3(17)

4. Ενότητα 2.2 Αλγόριθμοι ΜΚΔ.pptx by hadirog
4. Ενότητα 2.2 Αλγόριθμοι ΜΚΔ.pptx4. Ενότητα 2.2 Αλγόριθμοι ΜΚΔ.pptx
4. Ενότητα 2.2 Αλγόριθμοι ΜΚΔ.pptx
hadirog1 view
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6 by Dimitris Psounis
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
Dimitris Psounis2.9K views
6 Ασκησεις Λογισμου Μεταβολων by Tasos Lazaridis
6 Ασκησεις Λογισμου Μεταβολων6 Ασκησεις Λογισμου Μεταβολων
6 Ασκησεις Λογισμου Μεταβολων
Tasos Lazaridis590 views
2. εισαγωγή στην έννοια του αλγόριθμου by painter1971
2. εισαγωγή στην έννοια του αλγόριθμου2. εισαγωγή στην έννοια του αλγόριθμου
2. εισαγωγή στην έννοια του αλγόριθμου
painter19712.5K views
υλη μμαθηματικων εκπ. ετους 2015 2016 by kaltouroumidhs
υλη μμαθηματικων  εκπ. ετους 2015   2016υλη μμαθηματικων  εκπ. ετους 2015   2016
υλη μμαθηματικων εκπ. ετους 2015 2016
kaltouroumidhs1K views
Ορθογωνιότητα - Θεμελειώδες Θεώρημα by Manolis Vavalis
Ορθογωνιότητα - Θεμελειώδες ΘεώρημαΟρθογωνιότητα - Θεμελειώδες Θεώρημα
Ορθογωνιότητα - Θεμελειώδες Θεώρημα
Manolis Vavalis7.3K views

More from Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣDimitris Psounis
4.9K views25 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ) by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Dimitris Psounis
641 views7 slides
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ) by
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)Dimitris Psounis
475 views8 slides
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ by
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣDimitris Psounis
1.4K views29 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣDimitris Psounis
5.9K views30 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ) by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Dimitris Psounis
3.8K views8 slides

More from Dimitris Psounis(20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Dimitris Psounis4.9K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ) by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Dimitris Psounis641 views
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ) by Dimitris Psounis
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
Dimitris Psounis475 views
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ by Dimitris Psounis
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
Dimitris Psounis1.4K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Dimitris Psounis5.9K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ) by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Dimitris Psounis3.8K views
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C by Dimitris Psounis
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
Dimitris Psounis2.3K views
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p) by Dimitris Psounis
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
Dimitris Psounis331 views
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5 by Dimitris Psounis
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
Dimitris Psounis899 views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.5K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis2.5K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis4.6K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis4.5K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
Dimitris Psounis3.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
Dimitris Psounis3.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.1K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
Dimitris Psounis3.9K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.8K views

Recently uploaded

Σημειώσεις 4.1.1 και 4.1.2.docx by
Σημειώσεις 4.1.1 και 4.1.2.docxΣημειώσεις 4.1.1 και 4.1.2.docx
Σημειώσεις 4.1.1 και 4.1.2.docxRoula Michalopoulou
15 views3 slides
Politexneio_2023.pptx by
Politexneio_2023.pptxPolitexneio_2023.pptx
Politexneio_2023.pptx36dimperist
18 views6 slides
ATT00004.pdf by
ATT00004.pdfATT00004.pdf
ATT00004.pdf2dimkoryd
106 views3 slides
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια. by
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.ssuser43d27b
13 views14 slides
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx by
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptxΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptxssuser86b52c
8 views18 slides
ΔΡΑΣΗ ΟΜΑΔΑ 4Η (1) (2).pdf by
ΔΡΑΣΗ ΟΜΑΔΑ 4Η (1) (2).pdfΔΡΑΣΗ ΟΜΑΔΑ 4Η (1) (2).pdf
ΔΡΑΣΗ ΟΜΑΔΑ 4Η (1) (2).pdfChrisa Kokorikou
45 views5 slides

Recently uploaded(20)

Politexneio_2023.pptx by 36dimperist
Politexneio_2023.pptxPolitexneio_2023.pptx
Politexneio_2023.pptx
36dimperist18 views
ATT00004.pdf by 2dimkoryd
ATT00004.pdfATT00004.pdf
ATT00004.pdf
2dimkoryd106 views
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια. by ssuser43d27b
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.
Παιδιά εθισμένα σε socialmedia, βιντεοπαιχνίδια.
ssuser43d27b13 views
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx by ssuser86b52c
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptxΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx
ssuser86b52c8 views
ΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ-ΣΥΜΒΟΥΛΟΣ ΣΧΟΛΙΚΗΣ ΖΩΗΣ by ssuser43d27b
ΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ-ΣΥΜΒΟΥΛΟΣ ΣΧΟΛΙΚΗΣ ΖΩΗΣΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ-ΣΥΜΒΟΥΛΟΣ ΣΧΟΛΙΚΗΣ ΖΩΗΣ
ΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ-ΣΥΜΒΟΥΛΟΣ ΣΧΟΛΙΚΗΣ ΖΩΗΣ
ssuser43d27b35 views
ίδρυμα Λασκαρίδη 22-11-23.pptx by psipsa
ίδρυμα Λασκαρίδη 22-11-23.pptxίδρυμα Λασκαρίδη 22-11-23.pptx
ίδρυμα Λασκαρίδη 22-11-23.pptx
psipsa11 views
ΟΜΑΔΑ 1η- ΠΕΝΤΕΛΗ(ΠΑΛΑΙΑ).pdf by Chrisa Kokorikou
ΟΜΑΔΑ 1η- ΠΕΝΤΕΛΗ(ΠΑΛΑΙΑ).pdfΟΜΑΔΑ 1η- ΠΕΝΤΕΛΗ(ΠΑΛΑΙΑ).pdf
ΟΜΑΔΑ 1η- ΠΕΝΤΕΛΗ(ΠΑΛΑΙΑ).pdf
Chrisa Kokorikou46 views
ΟΔΗΓΙΕΣ ΚΑΤΑΘΕΣΗΣ ΑΠΟΓΡΑΦΗΣ-3-4 (1).pdf by ssuser369a35
ΟΔΗΓΙΕΣ ΚΑΤΑΘΕΣΗΣ ΑΠΟΓΡΑΦΗΣ-3-4 (1).pdfΟΔΗΓΙΕΣ ΚΑΤΑΘΕΣΗΣ ΑΠΟΓΡΑΦΗΣ-3-4 (1).pdf
ΟΔΗΓΙΕΣ ΚΑΤΑΘΕΣΗΣ ΑΠΟΓΡΑΦΗΣ-3-4 (1).pdf
ssuser369a3517 views
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ ΜΕΡΟΣ Β.pptx by ssuser86b52c
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ ΜΕΡΟΣ Β.pptxΟ ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ ΜΕΡΟΣ Β.pptx
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ ΜΕΡΟΣ Β.pptx
ssuser86b52c9 views
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx by 7gymnasiokavalas
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptxΠαγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx
Παγκόσμια Ημέρα Ατόμων με Αναπηρία.pptx
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ. by ssuser43d27b
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.
ΚΑΤΑΝΑΛΩΤΙΣΜΟΣ.
ssuser43d27b26 views
Γ.2.1.pptx by sidiropo
Γ.2.1.pptxΓ.2.1.pptx
Γ.2.1.pptx
sidiropo6 views
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΑΤΤΙΚΗΣ. by ssuser43d27b
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΑΤΤΙΚΗΣ.ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΑΤΤΙΚΗΣ.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΑΤΤΙΚΗΣ.
ssuser43d27b8 views
ΕΞΕ - 136798 - 2023 - Αίτηση Δήλωση ΓΕΛ 2024 - Έκδοση 1.pdf by 2lykkomo
ΕΞΕ - 136798 - 2023 - Αίτηση Δήλωση ΓΕΛ 2024 - Έκδοση 1.pdfΕΞΕ - 136798 - 2023 - Αίτηση Δήλωση ΓΕΛ 2024 - Έκδοση 1.pdf
ΕΞΕ - 136798 - 2023 - Αίτηση Δήλωση ΓΕΛ 2024 - Έκδοση 1.pdf
2lykkomo990 views
2023_11_29_Φ_251_136798_Α5_ΕΓΚΥΚΛΙΟΣ_ΑΙΤΗΣΗΣ_ΔΗΛΩΣΗΣ_ΓΕΛ_2024.pdf by ssuser9e6212
2023_11_29_Φ_251_136798_Α5_ΕΓΚΥΚΛΙΟΣ_ΑΙΤΗΣΗΣ_ΔΗΛΩΣΗΣ_ΓΕΛ_2024.pdf2023_11_29_Φ_251_136798_Α5_ΕΓΚΥΚΛΙΟΣ_ΑΙΤΗΣΗΣ_ΔΗΛΩΣΗΣ_ΓΕΛ_2024.pdf
2023_11_29_Φ_251_136798_Α5_ΕΓΚΥΚΛΙΟΣ_ΑΙΤΗΣΗΣ_ΔΗΛΩΣΗΣ_ΓΕΛ_2024.pdf
ssuser9e6212411 views

ΠΛΗ30 ΜΑΘΗΜΑ 2.3

  • 1. ΠΛΗ30 ΕΝΟΤΗΤΑ 2: ΣΧΕ∆ΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ Μάθηµα 2.3: Άπληστοι ΑλγόριθµοιΆπληστοι Αλγόριθµοι ∆ηµήτρης Ψούνης
  • 2. ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο 1. Ο αλγόριθµος του Dijkstra 2. Ελάχιστο Συνδετικό δένδρο 1. Ο αλγόριθµος του Prim 2. O αλγόριθµος του Kruskal 2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι 2. O αλγόριθµος του Kruskal 3. Ελαχιστοποίηση Νοµισµάτων για Ρέστα Β.Ασκήσεις 1. Εφαρµογές
  • 3. Α. Σκοπός του Μαθήµατος Οι στόχοι του µαθήµατος είναι: Επίπεδο Α (-) Επίπεδο Β Η τεχνική σχεδίασης αλγόριθµων Άπληστος Αλγόριθµος 3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Η τεχνική σχεδίασης αλγόριθµων Άπληστος Αλγόριθµος Ο άπληστος αλγόριθµος για την ελαχιστοποίηση νοµισµάτων για ρέστα. Επίπεδο Γ Ο άπληστος αλγόριθµος του Dijkstra για την εύρεση του συντοµότερου µονοπατιού Ο άπληστος αλγόριθµος του Prim για την εύρεση Ελάχιστου Συνδετικού ∆ένδρου Ο άπληστος αλγόριθµος του Kruskal για την εύρεση Ελάχιστου Συνδετικού ∆ένδρου
  • 4. B. Θεωρία Τεχνικές Σχεδίασης Αλγορίθµων 4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Στην 2η ενότητα του µαθήµατος ασχολούµαστε µε τεχνικές που έχουν αναπτυχθεί, ως γενικές µεθοδολογίες για την κατασκευή ενός αλγορίθµου: Η τεχνική ∆ιαίρει και Βασίλευε (Μάθηµα 2.1) Η τεχνική του ∆υναµικού Προγραµµατισµού (Μάθηµα 2.2) Η κατασκευή των Άπληστων Αλγόριθµων (Μάθηµα 2.3) Υπάρχουν ακόµη δεκάδες τεχνικές κατασκευής αλγορίθµων που είναι εκτός ύλης.
  • 5. B. Θεωρία 1. Άπληστοι Αλγόριθµοι 5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Όταν έχουµε ένα πρόβληµα που έχει τις εξής ιδιότητες: Ιδιότητα της Άπληστης Επιλογής: Μια ακολουθία άπληστων επιλογών οδηγεί στην βέλτιστη λύση. Ιδιότητα των Βέλτιστων Επιµέρους ∆οµών: Οτί για να λύσουµε το πρόβληµα Τότε επιλέγουµε ως τεχνική σχεδίασης κατασκευής άπληστου αλγόριθµου αρκεί να υπολογίσουµε την βέλτιστη λύση σε κάποια υποπροβλήµατα, συνήθως µε αναδροµή. Ένας άπληστος αλγόριθµος δεν είναι πάντα βέλτιστος: Για να δείξουµε ότι δεν είναι βέλτιστος δίνουµε ένα αντιπαράδειγµα. Για να δείξουµε ότι είναι βέλτιστος δίνουµε απόδειξη ορθότητας: 1. Θεωρούµε ότι ο άπληστος αλγόριθµος δεν επιστρέφει την βέλτιστη λύση. 2. Απεικονίζουµε την βέλτιστη λύση και την λύση του άπληστου αλγόριθµου. 3. Συγκρίνουµε τις λύσεις µε βάση το άπληστο κριτήριο. 4. ∆είχνουµε ότι η λύση του άπληστου αλγόριθµου στο σηµείο που διαφέρουν, είναι καλύτερη από την βέλτιστη λύση.
  • 6. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο 6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι ΠΡΟΒΛΗΜΑ: ∆ίνεται γράφος G=(V,E,W), αφετηρία s∈V, τερµατισµός t ∈V. Ζητείται το συντοµότερο µονοπάτι από την s στην t. Θα µελετήσουµε έναν αλγόριθµο που υπολογίζει το συντοµότερο µονοπάτι: Ο αλγόριθµος του Dijkstra:Ο αλγόριθµος του Dijkstra: Θεωρεί (άπληστα? ) ότι σε κάθε επανάληψη βρίσκει το συντοµότερο µονοπάτι για να πάει από την αφετηρία σε µία κορυφή Συγκεκριµένα την κορυφή που απέχει λιγότερο από την αφετηρία στο τρέχων βήµα.
  • 7. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο 7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Σκιαγράφηση Αλγόριθµου Dijkstra: Στην αρχικοποίηση: Θέτουµε όλες τις ετικέτες L[.]=+∞ εκτός της αφετηρίας που έχει L[s]=0 Σε κάθε βήµα:Σε κάθε βήµα: Οριστικοποιείται η κορυφή µε το µικρότερο κόστος από τις µη οριστικοποιηµένες ∆ιορθώνονται οι ετικέτες των γειτονικών µη οριστικοποιηµένων κορυφών (σε περίπτωση που βρεθεί καλύτερο µονοπάτι από την κορυφή που οριστικοποιήθηκε) Τερµατισµός: Όταν οριστικοποιηθεί η κορυφή τερµατισµού t.
  • 8. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο (Dijkstra-Ψευδοκώδικας) 8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι procedure Dijkstra(G=(V,E,W), s, t) L[s]=0 T=V for all x∈V-{s} L[x]=+∞ end for ∈while t∈T do Επέλεξε v∈T µε ελάχιστο L[v] T=T-{v} for all x∈T γειτονική της v: if (L[v]+W[v,x]<L[x]) L[x]=L[v]+W[v,x] P[x]=v end if end for end while return L[t] end procedure
  • 9. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης) 9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Ψάχνουµε το συντοµότερο µονοπάτι από την v1 στην v7 Βήµα 0: v2(-,+∞) v4(-,+∞) 9 7 3 9 1 Αρχικοποίηση ετικετών κορυφών V1(0,-) v3(-,+∞) v6(-,+∞) v7(-,+∞) 4 2 6 1 3 2 7 5 v5(-,+∞)
  • 10. Βήµα 1: v2(v1,9) Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης) 10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v4(-,+∞) 9 7 3 9 1 Οριστικοποίηση κορυφής v1 Εξεταση κορυφών v2,v3. ∆ιόρθωση ετικετών v2,v3 V1(0,-) v3(v1,4) v6(-,+∞) v7(-,+∞) 4 2 6 1 3 2 7 5 v5(-,+∞)
  • 11. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης) 11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 2: v2(v3,6) v4(-,+∞) 9 7 3 9 1 Οριστικοποίηση κορυφής v3 Εξεταση κορυφών v2,v5,v6. ∆ιόρθωση ετικετών v2,v5,v6 V1(0,-) v3(v1,4) v6(v3,10) v7(-,+∞) 4 2 6 1 3 2 7 5 v5(v3,5)
  • 12. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης) 12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 3: v2(v3,6) v4(v5,14) 9 7 3 9 1 Οριστικοποίηση κορυφής v5 Εξεταση κορυφών v2,v4,v6. ∆ιόρθωση ετικετών v4,v6 V1(0,-) v3(v1,4) v6(v5,7) v7(-,+∞) 4 2 6 1 3 2 7 5 v5(v3,5)
  • 13. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης) 13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 4: v2(v3,6) v4(v2,13) 9 7 3 9 1 Οριστικοποίηση κορυφής v2 Εξεταση κορυφής v4. ∆ιόρθωση ετικέτας v4 V1(0,-) v3(v1,4) v6(v5,7) v7(-,+∞) 4 2 6 1 3 2 7 5 v5(v3,5)
  • 14. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης) 14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 5: v2(v3,6) v4(v2,13) 9 7 3 9 1 Οριστικοποίηση κορυφής v6 Εξεταση κορυφών v4,v7. ∆ιόρθωση ετικετας v7 V1(0,-) v3(v1,4) v6(v5,7) v7(v6,12) 4 2 6 1 3 2 7 5 v5(v3,5)
  • 15. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο(Dijkstra-Παράδειγµα Εκτέλεσης) 15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 6: v2(v3,6) v4(v2,13) 9 7 3 9 1 Οριστικοποίηση κορυφής v7 Τέλος Αλγορίθµου. Συντοµότερο µονοπάτι v1-v3-v5-v6-v7 µε βάρος 4+1+2+5=12 V1(0,-) v3(v1,4) v6(v5,7) v7(v6,12) 4 2 6 1 3 2 7 5 v5(v3,5)
  • 16. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 1. Συντοµότερο Μονοπάτι σε Γράφο (Dijkstra – Απόδειξη Ορθότητας) 16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Απόδειξη Ορθότητας αλγορίθµου Dijkstra: Θεωρούµε ότι η λύση που υπολογίζει ο άπληστος αλγόριθµος δεν είναι βέλτιστη και Συµβολίζουµε µε:Συµβολίζουµε µε: OPT η βέλτιστη λύση (ακολουθία κορυφών από την s στην t) C η λύση που επιστρέφει ο αλγόριθµος του Dijkstra. Κάθε µονοπάτι που υπολογίζει ο Dijkstra είναι βέλτιστος Πράγµατι, η άπληστη επιλογή του Dijkstra είναι ορθή για την οριστικοποίηση της κορυφής vi Αν δεν ήταν θα υπήρχε ένα άλλο µονοπάτι για να φτάσω στην vi µε µικρότερο κόστος. Άτοπο, γιατί όταν οριστικοποιείται η vi έχει το µικρότερο κόστος από όλες τις υπόλοιπες κορυφές.
  • 17. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο 17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι ΠΡΟΒΛΗΜΑ: ∆ίνεται γράφος G=(V,E,W), Ζητείται ένα ελάχιστο συνδετικό δένδρο (δένδρο που περιλαµβάνει όλες τις κορυφές και έχει ελάχιστο βάρος Θα µελετήσουµε δύο αλγόριθµους που υπολογίζουν ελάχιστα συνδετικά δένδρα: Ο αλγόριθµος του Prim: Θεωρεί (άπληστα? ) ότι η επιλογή ακµής που έχει το ένα της άκρο στο συνδετικό δένδρο και το άλλο άκρο της εκτός του συνδετικού δένδρου θα οδηγήσει στην βέλτιστη λύση Ο αλγόριθµος του Kruskal: Θεωρεί (άπληστα? ) ότι η ακµή ελαχίστου βάρους που δεν βρίσκεται στο δένδρο και δεν δηµιουργεί κύκλο θα µπορούσε να ενσωµατωθεί στην λύση ώστε να κατασκευασθεί το ελάχιστο συνδετικό δένδρο.
  • 18. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Σκιαγράφηση) 18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Σκιαγράφηση Αλγόριθµου Prim: Στην αρχικοποίηση: Τοποθετούµε αυθαίρετα µια κορυφή στο συνδετικό δένδρο Σε κάθε βήµα:Σε κάθε βήµα: Υποψήφιες ακµές για να µπουν στο συνδετικό δένδρο είναι εκείνες οι ακµές που έχουν το ένα τους άκρο στο υπο κατασκευή συνδετικό δένδρο και το άλλο τους άκρο εκτός του συνδετικού δένδρου. Επιλέγεται η ακµή µε το ελάχιστο βάρος από τις υποψήφιες Η ακµή εισάγεται στο δένδρο καθώς και το άκρο της που δεν ανήκε στο δένδρο. Τερµατισµός: Όταν όλες οι κορυφές εισαχθούν στο δένδρο.
  • 19. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Ψευδοκώδικας) 19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι procedure Prim(G=(V,E,W)) V’={v1} while |V’|<|V| do Βρες την ακµή (v,w)∈E µε v∈V’, w∈V-V’ µε το ελάχιστο βάρος Θέσε (v,w) στο Ε’ και w στο V’ end whileend while return T=(V’,E’) end procedure Αποδεικνύεται ότι η πολυπλοκότητα του Prim µε χρήση κατάλληλων δοµών δεδο- µένων είναι O(n2)
  • 20. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης) 20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Ξεκινάµε αυθαίρετα από την κορυφή v1 Βήµα 0: v2 v4 9 7 3 9 1 V1 µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 21. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης) 21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 1: v2 v4 9 7 3 9 1 V3 µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 22. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης) 22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 2: v2 v4 9 7 3 9 1 V5 µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 23. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης) 23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 3: v2 v4 9 7 3 9 1 V6 µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 24. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης) 24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 4: v2 v4 9 7 3 9 1 V2 µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 25. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης) 25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Βήµα 5: v2 v4 9 7 3 9 1 V7 µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 26. Βήµα 5: Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Prim-Παράδειγµα Εκτέλεσης) 26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v2 v4 9 7 3 9 1 V4 µπαίνει στο δένδρο Τέλος Αλγορίθµου. Βάρος Ελάχιστου συνδετικού ∆ένδρου: 4+2+1+2+5+1=15 V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 27. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (2.Kruskal-Σκιαγράφηση) 27∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Σκιαγράφηση Αλγόριθµου Kruskal: Στην αρχικοποίηση: Θεωρούµε ταξινόµηση των βαρών των ακµών σε αύξουσα σειρά. Σε κάθε βήµα:Σε κάθε βήµα: Εξετάζεται η επόµενη ακµή µε βάση την ταξινόµηση. Αν δεν δηµιουργείται κύκλος εισάγεται στο ελάχιστο συνδετικό δένδρο Τερµατισµός: Όταν όλες οι κορυφές εισαχθούν στο δένδρο.
  • 28. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (2.Kruskal - Ψευδοκώδικας) 28∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι procedure Kruskal(G=(V,E,W)) V’=∅ MergeSort(E) ως προς το βάρος των ακµών while |V’|<|V| do ∪if Ε’∪ei δεν δηµιουργεί κύκλο then Θέσε E’=E’∪ei, V’=V’∪{κορυφές της ei} end if i=i+1 end while return T=(V’,E’) end procedure Αποδεικνύεται ότι η πολυπλοκότητα του Kruskal µε χρήση κατάλληλων δοµών δεδο- µένων είναι O(m logn)
  • 29. Βήµα 1: Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης) 29∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v2 v4 9 7 3 9 1 (v3,v5) µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 30. Βήµα 2: Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης) 30∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v2 v4 9 7 3 9 1 (v4,v7) µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 31. Βήµα 3: Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης) 31∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v2 v4 9 7 3 9 1 (v2,v3) µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 32. Βήµα 4: Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης) 32∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v2 v4 9 7 3 9 1 (v5,v6) µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 33. Βήµα 5: Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης) 33∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v2 v4 9 7 3 9 1 (v2,v5) δεν µπαίνει στο δένδρο γιατί δηµιουργεί κύκλο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 34. Βήµα 6: Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης) 34∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v2 v4 9 7 3 9 1 (v1,v3) µπαίνει στο δένδρο V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 35. Βήµα 7: Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 2. Ελάχιστο Συνδετικό ∆ένδρο (1.Kruskal-Παράδειγµα Εκτέλεσης) 35∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι v2 v4 9 7 3 9 1 (v6,v7) µπαίνει στο δένδρο Τέλος Αλγορίθµου. Βάρος Ελάχιστου Συνδετικού ∆ένδρου: 4+2+1+2+5+1=15 V1 v3 v6 v7 4 2 6 1 3 2 7 5 v5
  • 36. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 3. Επιστροφή Νοµισµάτων για Ρέστα 36∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι ΠΡΟΒΛΗΜΑ: ∆ίδεται ότι έχουµε απεριόριστα νοµίσµατα 20λεπτών, 5λεπτών και 1 λεπτού. Θέλουµε να επιστρέψουµε ρέστα Χ ευρώ, ελαχιστοποιώντας το πλήθος των νοµισµάτων που επιστρέφονται Στιγµιότυπα: 1,45 ευρώ: Η βέλτιστη λύση είναι 7 εικοσάλεπτα και 1 πεντάλεπτο. 0,77 ευρώ: Η βέλτιστη λύση είναι 3 εικοσάλεπτα, 3 πεντάλεπτα και 2 µονόλεπτα. Άπληστος Αλγόριθµος: Επέλεξε πρώτα όσα περισσότερα 20λεπτα, έπειτα όσο περισσότερα 5λεπτα και έπειτα συµπλήρωνεις µε 1λεπτα.
  • 37. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 3. Επιστροφή Νοµισµάτων για Ρέστα (Ψευδοκώδικας) 37∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι procedure coins(X, V) //X το ποσό για ρέστα, V: οι αξίες των νοµισµάτων C=[] sum=0 i=1 while sum<X do Επέλεξε v∈V µε µέγιστη αξία έτσι ώστε: sum+v<=S C[i]=v sum=sum+v i=i+1 end while return C end procedure Πολυπλοκότητα Ο(Χ)
  • 38. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 3. Επιστροφή Νοµισµάτων για Ρέστα (Απόδειξη ορθότητας) 38∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Έστω ότι θέλουµε να επιστρέψουµε Χ ευρώ και ότι ο άπληστος αλγόριθµος δεν επιστρέφει την βέλτιστη λύση. Εστω OPT=(o1,o2,o3) η βέλτιστη λύση (όπου ο1,ο2,ο3 αντίστοιχα τα πλήθη των νοµισµάτων (20λεπτα-5λεπτα-1λεπτα) που επιλέγονται Εστω C=(c1,c2,c3) η λύση του άπληστου αλγορίθµου (όπου c1,c2,c3 αντίστοιχα τα πλήθη των νοµισµάτων (20λεπτα-5λεπτα-1λεπτα) που επιλέγονταιπλήθη των νοµισµάτων (20λεπτα-5λεπτα-1λεπτα) που επιλέγονται Παρατηρούµε ότι ∆εν µπορεί να ισχύει ο1>c1 διότι θα σήµαινε ότι έχουν περισσέψει 20 λεπτά και ο αλγόριθµος έχει επιλέξει περισσότερα 20λεπτα. Άρα o1=c1 ∆εν µπορεί να ισχύει ο2>c2 διότι θα σήµαινε ότι έχουν περισσέψει 5 λεπτά και ο αλγόριθµος έχει επιλέξει περισσότερα 5λεπτα. Άρα o2=c2 ∆εν µπορεί να έχουµε c3>o3, διότι µε βάση τις προηγούµενες δύο ισότητες αποµένει το ίδιο ποσό για να συµπληρωθεί. Άρα o3=c3 Εποµένως η λύση που επιστρέφει ο αλγόριθµος είναι βέλτιστη.
  • 39. Β. Θεωρία 1. Άπληστοι Αλγόριθµοι 4. Επιστροφή Νοµισµάτων για Ρέστα (Απόδειξη ορθότητας) 39∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι Ωστόσο ο αλγόριθµος δεν είναι πάντα βέλτιστος!! Εξαρτάται από τις αξίες των νοµισµάτων που έχουµε στην διάθεσή µας. Για παράδειγµα αν έχουµε στην διάθεσή µας νοµίσµατα αξίας 1, 13 και 29Για παράδειγµα αν έχουµε στην διάθεσή µας νοµίσµατα αξίας 1, 13 και 29 ευρώ και θέλουµε να επιστρέψουµε ρέστα αξίας 39 ευρώ: Ο αλγόριθµος θα επιλέξει 1 κέρµα των 29 ευρώ και 10 κέρµατα του 1 ευρώ (σύνολο 11 κέρµατα) Η βέλτιστη λύση είναι 3 κέρµατα των 13 ευρώ.
  • 40. Γ. Ασκήσεις Εφαρµογή 1 Φανταστείτε πως στο ταχυδροµείο υπάρχουν διαθέσιµα γραµµατόσηµα µε τις ακόλουθες αξίες: 1 λεπτό, 5 λεπτά, 9 λεπτά, 10 λεπτά, 25 λεπτά και 48 λεπτά και δοθέντος ενός χρηµατικού ποσού S, ζητάµε το µικρότερο δυνατό πλήθος γραµµατοσήµων αξίας S. 1. Σχεδιάστε έναν άπληστο αλγόριθµο για το παραπάνω πρόβληµα. 40∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι 2. Υπολογίστε το χρόνο εκτέλεσης του άπληστου αλγόριθµου. 3. ∆ώστε τυπική απόδειξη για την ορθότητα του άπληστου αλγόριθµου ή αντιπαράδειγµα για την µη ορθότητα του.
  • 41. Γ. Ασκήσεις Εφαρµογή 2 Ένας έγκυρος χρωµατισµός ενός γραφήµατος G = (V, E) είναι µια ανάθεση θετικών ακεραίων (χρώµατα) στις κορυφές του γραφήµατος G τέτοια ώστε για κάθε ακµή (vi,vj) του γραφήµατος G να ισχύει χρώµα(vi) ≠ χρώµα(vj). Ένας βέλτιστος χρωµατισµός ενός γραφήµατος είναι ένας έγκυρος χρωµατισµός που χρησιµοποιεί το µικρότερο δυνατό αριθµό χρωµάτων. Υποθέτουµε ότι οι κορυφές του γραφήµατος µας δίνονται µε µια συγκεκριµένη διάταξη π = [v1, …, vn], όπου n = | V |. Με βάση την διάταξη αυτή έχουµε 41∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι συγκεκριµένη διάταξη π = [v1, …, vn], όπου n = | V |. Με βάση την διάταξη αυτή έχουµε τον ακόλουθο αλγόριθµο χρωµατισµού: για i =1 έως n, ανάθεσε στην κορυφή vi το µικρότερο δυνατό χρώµα που δεν χρησιµοποιείται από τους γείτονες της vi µεταξύ των v1, …, vi-1. Ένα παράδειγµα εκτέλεσης του αλγόριθµου χρωµατισµού φαίνεται στο ακόλουθο γράφηµα: a f c e d b π = [ a, b, c, d, e, f] κορυφή: a b c d e f χρώµα: 1 1 2 2 3 3
  • 42. Γ. Ασκήσεις Εφαρµογή 2 (Α) Είναι ο αλγόριθµος χρωµατισµού άπληστος; ∆ικαιολογήστε την απάντησή σας. (Β) Υπολογίστε την πολυπλοκότητα χρόνου του αλγορίθµου. (Γ) Αποδείξτε ότι ο αλγόριθµος όταν εφαρµόζεται σε οποιοδήποτε γράφηµα παράγει έναν έγκυρο χρωµατισµό. (∆) Αποδείξτε ότι ο αλγόριθµος όταν εφαρµόζεται σε οποιοδήποτε γράφηµα δεν είναι βέλτιστος (µε αντιπαράδειγµα). 42∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.3: Άπληστοι Αλγόριθµοι βέλτιστος (µε αντιπαράδειγµα).