641: πεδίαζε θαη Ακάιοζε Αιγμνίζμςκ Υάνεξ Παπαδόπμοιμξ
Δηαδηθαζηηθά Μαζήμαημξ Δηδαζθαιία: Πέμπηε 11:00-14:00 Γπηπιέμκ: Ονηζμέκεξ Πέμπηεξ/Παναζθεοέξ 16:00-19:00 Ακαπιενώζεηξ μαζεμάηςκ / ομπιενςμαηηθέξ αζθήζεηξ Ώνεξ Γναθείμο: Δεοηένα 11:00-13:00 θαη Παναζθεοή 11:00-13:00 Ιζημζειίδα μαζήμαημξ: ecourse.uoi.gr/course/view.php?id=538 Δηαθάκεηεξ, Βηκηεμδηαιέλεηξ, Αζθήζεηξ, Υνήζημμ οιηθό, Ακαθμηκώζεηξ 2
Δηαδηθαζηηθά Μαζήμαημξ Ιζημζειίδα μαζήμαημξ: ecourse.uoi.gr/course/view.php?id=538 3
Σνόπμξ Γλέηαζεξ θαη Αζθήζεηξ Γναπηέξ Γνγαζίεξ Θα ακαθμηκςζμύκ 2 Γναπηέξ Γνγαζίεξ Κάζε Γνγαζία έπεη βάνμξ 10% ημο ηειηθμύ βαζμμύ έςξ 2 άημμα απαναίηεηε πνμθμνηθή πανμοζίαζε με επηπιέμκ βάνμξ 5% Αοζηενέξ Ημενμμεκίεξ Ακάνηεζεξ θαη Πανάδμζεξ ~ 2 εβδμμάδεξ γηα ηεκ μιμθιήνςζε Σειηθή Γλέηαζε Υνήζε πεηνόγναθμο θύιιμο Α4 (2 ζει.) με ό,ηη πιενμθμνία ζέιεηε Σμ θύιιμ ημ παναδίδεηαη μαδί με ημ γναπηό ζαξ. Βάνμξ 70% ημο ηειηθμύ βαζμμύ Σειηθόξ Βαζμόξ = 10% ΓΓ1 + 5% ΓΓ1 + 10%ΓΓ2 + 5%ΓΓ2 + 70% ΣΓ + @lgofights 4
Παηπκίδη «Αιγμνηζμμμαπίεξ» θμπόξ ημο @lgofights: κα απμθηήζμομε όζμ πενηζζόηενμοξ πόκημοξ μπμνμύμε Δηελαγςγή ημο @lgofights: ακά ηαθηά πνμκηθά δηαζηήμαηα (~ ακά εβδμμαδηαία βάζε) οκήζςξ αθμνμύκ απιή εθανμμγή ηεξ ζεςνίαξ Αημμηθέξ (παναδίδμκηαη ειεθηνμκηθά ή πεηνόγναθα ζημ μάζεμα) Η εθθώκεζε ζα βνίζθεηαη ζημ ecourse o ακαθμηκώκμκηαη ~ θάζε εβδμμάδα (ίζςξ θαη από ηεκ ηνέπμοζα!!) Bob Λόγμη: Θέιμομε ε δηαδηθαζία ηεξ μάζεζεξ κα είκαη δηαζθεδαζηηθή Γοθαηνία ζε θάζε έκακ κα μάζεη με ημκ δηθό ημο νοζμό. Θα δμζμύκ πμιιέξ θαη δηάθμνεξ εοθαηνίεξ γηα κα βειηηώζεηε ηεκ πνόμδό ζαξ αιιά θαη ημκ βαζμό ζαξ. Απόιοηε επηηοπία παηπκηδημύ (100 πόκημη): μηα επηπιέμκ μμκάδα ζημ ΣΒ. 5
Δηαιέλεηξ Δηαθάκεηεξ ζημ ecourse Τπάνπμοκ ήδε δηαζέζημεξ μη δηαθάκεηεξ ημο αθ. έημξ 2013-14 γηα κα έπεηε μηα "εηθόκα" ηεξ δηάιελεξ Ωζηόζμ θάζε εβδμμάδα ζα αιιάδμοκ ζύμθςκα με ηηξ κέεξ δηαιέλεηξ Βηκηεμζθμπεμέκεξ δηαιέλεηξ Γίπακ βηκηεμζθμπεζεί ημ αθ. έημξ 2012-13 ηα πιαίζηα εκόξ πνμγνάμμαημξ ακάπηολεξ («Φεθηαθέξ Δνάζεηξ») Γίκαη δηαζέζημεξ ζημ ecourse 6
Βηβιημγναθία [KT] J. Kleinberg and E. Tardos, πεδηαζμόξ Αιγμνίζμςκ, ειιεκηθή έθδμζε, Γθδόζεηξ Κιεηδάνηζμμξ, 2008 (4 ε επηιμγή ζημκ Γύδμλμ) [CLRS] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Γηζαγςγή ζημοξ Αιγμνίζμμοξ, ειιεκηθή έθδμζε, Πακεπηζηεμηαθέξ Γθδόζεηξ Κνήηεξ, 2012 [DPV] S. Dasgupta, C. Papadimitriou, and U. Vazirani, Αιγόνηζμμη, ειιεκηθή έθδμζε, Γθδόζεηξ Κιεηδάνηζμμξ, 2008 7
ηόπμξ ημο Μαζήμαημξ Γηζαγςγή ζε ζεμειηώδεηξ αιγμνηζμηθέξ έκκμηεξ θαη ηεπκηθέξ Αιιεγμνία & Μήκομα Έζης όηη ζέιεηε κα γίκεηε γιύπηεξ. Υνεηάδεζηε εθμάζεζε βαζηθώκ ηεπκηθώκ: εύνεζε ζςζηώκ οιηθώκ (μάνμανα, πέηνεξ, θιπ), μεηαθίκεζε οιηθώκ, ακέγενζε ζθαιςζηάξ, Η γκώζε αοηώκ ηςκ ηεπκηθώκ δεκ ζα ζαξ θάκεη δηάζεμμ θαιιηηέπκε, αιιά αθόμε θαη ακ έπεηε έκα πναγμαηηθά ελαηνεηηθό ηαιέκημ ζα είκαη πμιύ δύζθμιμ κα γίκεηε επηηοπεμέκμξ θαιιηηέπκεξ, πςνίξ κα ηηξ γκςνίδεηε. Δεκ είκαη ακαγθαίμ κα θαηέπεηε ηέιεηα όιεξ ηηξ βαζηθέξ ηεπκηθέξ πνηκ θηηάλεηε ημ πνώημ ζαξ γιοπηό. Αιιά πνέπεη πάκημηε κα είζηε πνόζομμη κα επηζηνέρεηε ζηηξ βαζηθέξ ζαξ ηεπκηθέξ πνμθεημέκμο κα ηηξ βειηηώζεηε. 8
Ση είκαη αιγόνηζμμξ Αιγόνηζμμξ - Ονηζμόξ [webster.com] Μηα δηαδηθαζία γηα ηεκ επίιοζε εκόξ μαζεμαηηθμύ πνμβιήμαημξ ζε έκα πεπεναζμέκμ ανηζμό βεμάηςκ πμο ζοπκά πενηέπεη ηεκ επακάιερε μηαξ πνάλεξ. [Knuth] Έκαξ αιγόνηζμμξ είκαη μηα πεπεναζμέκε, ζογθεθνημέκε, απμηειεζμαηηθή δηαδηθαζία, με μηα είζμδμ θαη θάπμηα έλμδμ. Οη ζπμοδαίμη αιγόνηζμμη είκαη ε πμίεζε ημο οπμιμγηζμμύ. Όπςξ μηα ζηνμθή εκόξ πμηήμαημξ, μπμνεί κα είκαη ιαθςκηθμί, οπαηκηθηηθμί, ποθκμί, αθόμα θαη μοζηενηώδεηξ. Όηακ όμςξ λεθιεηδςζμύκ, νίπκμοκ έκα ιαμπνό θςξ ζε θάπμηα δηάζηαζε, ημο οπμιμγηζμμύ. - Francis Sullivan 9
Γημημμιμγία Αιγμνηζμόξ = δηαδηθαζία εθηέιεζεξ ανηζμεηηθήξ πνεζημμπμηώκηαξ δεθαδηθμύξ (αναβηθμύξ) ανηζμμύξ Λάζμξ ακηίιερε! Αιγόνηζμμξ άιγμξ/αιγεηκόξ [επίπμκμξ] + ανηζμόξ Πναγμαηηθή Πνμέιεοζε: παναθζμνά ημο μκόμαημξ ημο Abu 'Abd Allah Muhammad ibn Musa al-khwarizm (780 835/850 μυ), Πένζε μαζεμαηηθμύ, αζηνμκόμμο θαη ζογγναθέα δηδαθηηθώκ βηβιίςκ από ηεκ επανπία Khorasan (ζεμενηκό Uzbekistan). Έγναρε ημ Kitab, al-jabr wa'l-muqabala, πμο ελειίπζεθε ζημ ζεμενηκό εγπεηνίδημ ηεξ άιγεβναξ ημο ιοθείμο. 10
Σπεδίαζε & Ακάιοζε Αιγμνίζμωκ Ιδέα παιηά αιιά ζοζηεμαηηθή μειέηε θαη ακάιοζε μεηά ημ 1970 Απαηηεί: θνηηηθή μαζεμαηηθή ζθέρε θαη επίιοζε πνμβιεμάηςκ Design and analysis of algorithms (Κιαζηθή ύιε): Greedy. Divide-and-conquer. Dynamic programming. Network flow. Randomized algorithms. Intractability. Coping with intractability. 11
Πανάδεηγμα Έζης 12 μπίιηεξ εθ ηςκ μπμίςκ μηα μόκμ έπεη δηαθμνεηηθό βάνμξ από ηηξ οπόιμηπεξ. Η μπίιηα με δηαθμνεηηθό βάνμξ μπμνεί κα είκαη ειαθνύηενε ή βανύηενε από ηηξ οπόιμηπεξ. αξ δίκεηαη θαη μηα δογανηά ζύγθνηζεξ (πιάζηηγγα). Υνεζημμπμηώκηαξ ηεκ δογανηά όζμ ημ δοκαηό ιηγόηενεξ θμνέξ (π.π. 4 ή 3 θμνέξ) βνείηε ηεκ πανάηαηνε μπίιηα θαη κα πνμζδημνίζεηε ακ ε μπίιηα είκαη ειαθνύηενε ή βανύηενε. Λέλεηξ "θιεηδηά": ειαπηζημπμίεζε θαη θάης θνάγμα 12
Γθανμμγέξ Αιγόνηζμμη: βνίζθμκηαη ζηεκ «θανδηά» θάζε οπμιμγηζηηθήξ δηαδηθαζίαξ Δίθηοα (επηθμηκςκηώκ, μεηαθμνώκ, θιπ) Γπηπεηνεζηαθή ένεοκα Σεπκεηή κμεμμζύκε Τπμιμγηζηηθή βημιμγία Βάζεηξ δεδμμέκςκ Τπμιμγηζηηθή Γεςμεηνία Ακάιοζε δεδμμέκςκ (θμηκςκηθή δηθηύςζε) Γπελενγαζία ζεμάηςκ Γναθηθά οπμιμγηζηώκ Γπηζηεμμκηθόξ οπμιμγηζμόξ Ανηζμεηηθή Ακάιοζε... Γζηηάδμομε ζε αιγόνηζμμοξ θαη ηεπκηθέξ πμο είκαη πνήζημμη ζηεκ πνάλε 13
Τιε ημο μαζήμαημξ Βαζηθά ζημηπεία ζπεδίαζεξ & ακάιοζεξ αιγμνίζμςκ Ακάιοζε αιγμνίζμςκ, απμδμηηθόηεηα, αζομπηςηηθόξ ζομβμιηζμόξ οκεζηζμέκμη πνόκμη εθηέιεζεξ θαη βαζηθέξ δμμέξ δεδμμέκςκ πίκαθεξ, ιίζηεξ, ζημίβεξ, μονέξ Γοζηαζέξ ηαίνηαζμα, μνζόηεηα, ζςνόξ θαη μονά πνμηεναηόηεηαξ Μέζμδμξ «Δηαίνεη θαη Βαζίιεοε» Γθανμμγέξ ζε ηαληκόμεζε ζημηπείςκ Γπίιοζε ακαδνμμηθώκ ζπέζεςκ Γναθήμαηα θαη αιγόνηζμμη γναθεμάηςκ Δηάηνελε γναθεμάηςκ (BFS, DFS) οκεθηηθόηεηα Σμπμιμγηθή δηάηαλε Μέζμδμη «Απιεζηείαξ» θαη «Δοκαμηθμύ Πνμγναμμαηηζμμύ» Γιάπηζηα ζθειεηηθά δέκδνα (αιγόνηζμμξ Prim, αιγόνηζμμξ Kruskal) οκημμόηενεξ δηαδνμμέξ (αιγόνηζμμξ Dijkstra, Ρμή δηθηύμο) Υνμκμπνμγναμμαηηζμόξ Γπηιεγμέκα ζέμαηα Τπμιμγηζηηθή πμιοπιμθόηεηα, NP-πιενόηεηα 14
έκημκε εμενμμεκία: μάζεμα ΓΑ: Γθθώκεζε Άζθεζεξ ΗΠ: Ημενμμεκία Πανάδμζεξ Άζθεζεξ ΠΑ: Πανμοζίαζε Άζθεζεξ Φεβνμοάνημξ MON TUE WED THU FRI 16 17 18 18 19 22 23 24 25 26 Μάνηημξ MON TUE WED THU FRI 1 2 3 4 7 8 9 10 11 14 15 16 17 18 21 22 23 24 25 28 29 30 31-ΓΑ Ημενμιόγημ μαζήμαημξ Απνίιημξ MON TU E WED THU FRI 4 5 6 7 8 11-ΗΠ 12 13 14-ΠΑ 15-ΠΑ 18 19 20 21 22 25 26 27 28 29 Μάημξ - Ιμύκημξ MON TUE WED THU FRI 2 3 4 5 6 9 10 11 12 13 16 17 18 19-ΓΑ 20 23 24 25 26 27 30-ΗΠ 31 1 2-ΠΑ 3-ΠΑ 15
Βαζηθά ημηπεία Ακάιοζεξ Αιγμνίζμςκ Απμδμηηθόηεηα Πνμζεγγίζεηξ Ακάιοζεξ Πμιοπιμθόηεηα
Απμδμηηθόηεηα Γπηζομία: εύνεζε ημο πημ «απμδμηηθμύ» αιγμνίζμμο Πώξ μεηνάμε ηεκ απμδμηηθόηεηα; Κιημάθςζε: πώξ μεηαβάιιεηαη ε ζομπενηθμνά ημο αιγμνίζμμο ζε δηαθμνεηηθά μεγέζε (εηζόδμο) ημο πνμβιήμαημξ ; o Π.π. ακαμέκμομε μεγαιύηενε (οπμιμγηζηηθή) πνμζπάζεηα γηα μηα ηαληκόμεζε 1.000.000 ζημηπείςκ από όηη γηα μηα ηαληκόμεζε 10.000 ζημηπείςκ 17
Απμδμηηθόηεηα 1 ε πνμζέγγηζε (εμπεηνηθή): πνμγναμμαηηζμόξ αιγμνίζμμο θαη ελαγςγή ζομπεναζμάηςκ μέζς πεηναμάηςκ Ακμμμημγεκέξ - ελανηάηαη από πμιιμύξ οπμθεημεκηθμύξ πανάγμκηεξ Καμία γκώζε γηα ηεκ θιημάθςζε (ζομπενηθμνά αιγμνίζμμο ζε μεγαιύηενα μεγέζε εηζόδμο) 18
Απμδμηηθόηεηα Ακάιοζε Αιγμνίζμωκ: Πνόβιερε απαηημύμεκςκ πόνςκ ζακ ζοκάνηεζε ημο μεγέζμοξ ηεξ εηζόδμο Πόνμη: πνόκμξ, πώνμξ (ζηε μκήμε) Ακάιοζε: απαηηεί μμκηέιμ αλημιόγεζεξ ηεξ πμιοπιμθόηεηαξ εκόξ αιγμνίζμμο Υνμκηθή πμιοπιμθόηεηα (ή πνόκμξ εθηέιεζεξ): ανηζμόξ ζημηπεηςδώκ ιεηημονγηώκ πμο εθηειμύκηαη από ημκ αιγόνηζμμ ζακ ζοκάνηεζε ημο μεγέζμοξ ηεξ εηζόδμο 19
Απμδμηηθόηεηα 2 ε πνμζέγγηζε (πμιοπιμθόηεηα πεηνόηενεξ πενίπηωζεξ): Άκς όνημ ζημκ πνόκμ εθηέιεζεξ γηα θάζε ζηηγμηόηοπμ εηζόδμο Ομμημγεκήξ απμηοπώκεη ανθεηά θαιά ηεκ απμδμηηθόηεηα ζηεκ πνάλε θαη πνμζθένεη πιενμθμνία θιημάθςζεξ Δναθόκηεημ μέηνμ, αιιά δεκ οπάνπεη απμηειεζμαηηθή εκαιιαθηηθή ιύζε 20
Απμδμηηθόηεηα 3 ε πνμζέγγηζε (πμιοπιμθόηεηα μέζεξ πενίπηωζεξ): Μέζμξ (ακαμεκόμεκμξ) πνόκμξ εθηέιεζεξ ζε «ηοπαία» ζηηγμηόηοπα εηζόδμο μηαξ πηζακμηηθήξ θαηακμμήξ Δύζθμιμ/αδύκαημ κα μνηζημύκ πναγμαηηθά ζηηγμηόηοπα από ηοπαίεξ θαηακμμέξ Ακμμμημγεκήξ - βέιηηζημξ αιγόνηζμμξ γηα μηα θαηακμμή μπμνεί κα έπεη ηειείςξ δηαθμνεηηθή ζομπενηθμνά ζε άιιε θαηακμμή 21
Απμδμηηθόηεηα Γπηθεκηνςκόμαζηε ζηεκ ακάιοζε πμιοπιμθόηεηαξ πεηνόηενεξ πενίπηςζεξ 22
Μμκηέιμ RAM (Μεπακή Τοπαίαξ Πνμζπέιαζεξ Random Access Machine) ηηγμηόηοπμ εηζόδμο μεγέζμοξ n ζημηπείςκ, με μέγηζηε ηημή ζημηπείμο N ημηπεηώδεξ οπμιμγηζηηθό βήμα: 1 μμκάδα πνόκμο γηα θάζε βαζηθή ιεηημονγία (π.π., ανηζμεηηθή πνάλε, ιμγηθή πνάλε, ζύγθνηζε, θαηαπώνεζε, θιπ) 1 μμκάδα πνόκμο γηα πνμζπέιαζε (ακάγκςζε/εγγναθή) εκόξ ζηαζενμύ ανηζμμύ ιέλεςκ μκήμεξ ηςκ log n (ή log Ν) bit Γπηζομία θιημάθςζεξ Υνμκηθή πμιοπιμθόηεηα = f(n) [ή f(n, log N)] Υςνηθή πμιοπιμθόηεηα = g(n, log N) Γνώηεμα: ηη μμνθή (πνέπεη κα) έπμοκ μη f θαη g ; 23
Ακαδήηεζε Ωμήξ Βίαξ (Υπεν)Γθζεηηθόξ Φνόκμξ Ωμή βία: Σεηνημμέκμξ αιγόνηζμμξ επίιοζεξ πνμβιήμαημξ έιεγπμξ όιςκ ηςκ πηζακώκ ιύζεςκ (ζημ πώνμ όιςκ ηςκ δοκαηώκ ιύζεςκ ημο πνμβιήμαημξ) οκήζςξ παίνκεη πνόκμ 2 n ή πεηνόηενμ (π.π. n!) γηα είζμδμ μεγέζμοξ n Μεδαμηκή πναθηηθή αλία Πμιύ ζοπκά με επηηνεπηό (όζμ μεγαιώκεη ε ηημή ημο n) Γθζεηηθή πμιοπιμθόηεηα Τπάνπμοκ ζηαζενέξ a > 0, c > 0, d > 0, θαη k 0 ηέημηεξ ώζηε γηα θάζε είζμδμ μεγέζμοξ n, μ πνόκμξ εθηέιεζεξ κα θνάζζεηαη από c a nd log k n ζημηπεηώδε οπμιμγηζηηθά βήμαηα Π.π., n! n n = 2 n log n 24
Πμιοωκομηθόξ Φνόκμξ Τπάνπμοκ ζηαζενέξ c > 0, d > 0, θαη k 0 ηέημηεξ ώζηε γηα θάζε είζμδμ μεγέζμοξ n, μ πνόκμξ εθηέιεζεξ κα θνάζζεηαη από c n d log k n ζημηπεηώδε οπμιμγηζηηθά βήμαηα Γπηζομεηή ηδηόηεηα θιημάθςζεξ. Όηακ ημ μέγεζμξ ηεξ εηζόδμο δηπιαζηάδεηαη, ε πνμκηθή πμιοπιμθόηεηα ζα πνέπεη κα μεγαιώκεη μόκμ θαηά έκακ ζηαζενό πανάγμκηα Δ. Μέγεζμξ n 2n Υνόκμξ c n d log k n c (2n) d log k (2n) < c 2 d+1 n d log k n Δ = 2 d+1 Έκαξ αιγόνηζμμξ είκαη πμιοςκομηθμύ πνόκμο ακ ηζπύεη ε παναπάκς ηδηόηεηα θιημάθςζεξ. 25
Πμιοωκομηθόξ vs Γθζεηηθόξ Φνόκμξ Υνμκηθή δηάνθεηα 1 ώναξ ζε Η/Τ με S 1 ζημηπ. ιεηημονγίεξ /sec Αιγόνηζμμξ ΥΠ Μέγεζμξ ζηηγμομηύπμο Πμιοςκομηθόξ n 2 n 1 Γθζεηηθόξ 2 n N 1 Νέμξ Η/Τ με ηαπύηεηα S 2 = 100 S 1 ζημηπ. ιεηημονγίεξ/sec Γνώηεμα 1: πόζμ μεγαιύηενα ζηηγμηόηοπα εηζόδμο μεγέζμοξ n 2 μπμνεί κα επηιύζεη ζε μία ώνα μ Π ζημ κέμ Η/Τ?? n 2 n 1 2 = s 2 s 1 n 2 n 1 = s 2 s 1 = 100 = 10 n 2 = 10n 1 Γνώηεμα 2: πόζμ μεγαιύηενα ζηηγμηόηοπα εηζόδμο μεγέζμοξ Ν 2 μπμνεί κα επηιύζεη ζε μία ώνα μ Γ ζημ κέμ Η/Τ?? (!) 26
Γκδεηθηηθμί Υνόκμη Γθηέιεζεξ Πμιοςκομηθώκ & Γθζεηηθώκ Αιγμνίζμςκ 27
Απμδμηηθόηεηα & Πμιοωκομηθόξ Φνόκμξ Έκαξ αιγόνηζμμξ είκαη απμδμηηθόξ ακ έπεη πμιοςκομηθό πνόκμ εθηέιεζεξ Αηηημιόγεζε: Μεγάιε πναθηηθή ζεμαζία! ηεκ πνάλε, μη αιγόνηζμμη πμιοςκομηθμύ πνόκμο πμο ακαπηύζζμομε ζπεδόκ πάκηα έπμοκ παμειέξ ζηαζενέξ θαη παμειμύξ εθζέηεξ. Μείςζε ημο εθζεηηθμύ μνίμο εκόξ αιγόνηζμμο ςμήξ βίαξ ζοκήζςξ απμθαιύπηεη θάπμηα πμιύ ζεμακηηθή δμμή ημο πνμβιήμαημξ. Γλαηνέζεηξ Κάπμημη αιγόνηζμμη πμιοςκομηθμύ πνόκμο έπμοκ όκηςξ ορειέξ ζηαζενέξ ή/θαη εθζέηεξ θαη είκαη άπνεζημη ζηεκ πνάλε. Ονηζμέκμη εθζεηηθμύ πνόκμο (ή πεηνόηενμη) αιγόνηζμμη πνεζημμπμημύκηαη εονέςξ γηαηί ηα ζηηγμηόηοπα πεηνόηενεξ πενίπηςζεξ είκαη ζπάκηα. simplex method Unix grep 28
Πμιοωκομηθόξ Φνόκμξ Έκαξ αιγόνηζμμξ είκαη απμδμηηθόξ ακ έπεη πμιοςκομηθό πνόκμ εθηέιεζεξ Γνώηεμα: Μαξ ανθεί μπμημζδήπμηε πμιοςκομηθόξ πνόκμξ; 29
Πμιοωκομηθμί Αιγόνηζμμη Πνόβιεμα: ηαληκόμεζε n ζημηπείςκ ημηπεηώδεξ ιεηημονγία: ζύγθνηζε δύμ ζημηπείςκ Αιγόνηζμμξ Υνόκμξ (ζογθνίζεηξ) Α1 10 n log n Α2 n 2 Τπμιμγηζηήξ ογθνίζεηξ/sec Τ1 (2005) 10 7 Τ2 (2014) 10 9 n = 10 6 Υνόκμξ Α1 (πημ απμδμηηθόξ) ζημκ Τ1 (ανγόξ): (10 10 6 log 10 6 ) / 10 7 = 6 log 10 secs 20 secs Υνόκμξ Α2 (ιηγόηενμ απμδμηηθόξ) ζημκ Τ2 (γνήγμνμξ): (10 6 ) 2 / 10 9 = 1000 secs = 16.6 min 30
Πμιοωκομηθμί Αιγόνηζμμη Πνόβιεμα: ηαληκόμεζε n ζημηπείςκ ημηπεηώδεξ ιεηημονγία: ζύγθνηζε δύμ ζημηπείςκ Αιγόνηζμμξ Υνόκμξ (ζογθνίζεηξ) Α1 10 n log n Α2 n 2 Τπμιμγηζηήξ ογθνίζεηξ/sec Τ1 (2005) 10 7 Τ2 (2014) 10 9 n = 10 7 Υνόκμξ Α1 (πημ απμδμηηθόξ) ζημκ Τ1 (ανγόξ): (10 10 7 log 10 7 ) / 10 7 = 70 log 10 = 232 secs 3.8 min Υνόκμξ Α2 (ιηγόηενμ απμδμηηθόξ) ζημκ Τ2 (γνήγμνμξ): (10 7 ) 2 / 10 9 = 10000 secs = 27.7 hours (!) 31
Πμιοωκομηθόξ Φνόκμξ Έκαξ αιγόνηζμμξ είκαη απμδμηηθόξ ακ έπεη πμιοςκομηθό πνόκμ εθηέιεζεξ Γνώηεμα: Μαξ ανθεί μπμημζδήπμηε πμιοςκομηθόξ πνόκμξ; Απάκηεζε: ΟΥΙ Απμδμηηθόηεηα Όζμ ημ δοκαηόκ «μηθνόηενμ» πμιοώκομμ Σενάζηηα πναθηηθή/ηεπκμιμγηθή ζεμαζία 32
Ονηζμέκα Ακηηπνμζςπεοηηθά Πνμβιήμαηα
Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ Γίζμδμξ. ύκμιμ από ενγαζίεξ με πνόκμοξ έκανλεξ θαη ηενμαηηζμμύ. ηόπμξ. Γύνεζε οπμζοκόιμο μέγηζηεξ πιεζηθόηεηαξ από ζομβαηέξ ενγαζίεξ. μη ενγαζίεξ δεκ επηθαιύπημκηαη a b c d e f g 0 1 2 3 4 5 6 7 8 9 10 11 h Time 34
ηαζμηζμέκμξ Υνμκμπνμγναμμαηηζμόξ Δηαζηεμάηςκ Γίζμδμξ. ύκμιμ από ενγαζίεξ με πνόκμοξ έκανλεξ θαη ηενμαηηζμμύ θαη βάνε. ηόπμξ. Γύνεζε οπμζοκόιμο από ζομβαηέξ ενγαζίεξ με μέγηζημ ζοκμιηθό βάνμξ. 23 12 20 26 13 20 11 0 1 2 3 4 5 6 7 8 9 10 11 16 Time 35
Δημενέξ Σαίνηαζμα Γίζμδμξ. Έκα δημενέξ γνάθεμα. ηόπμξ. Γύνεζε ηαηνηάζμαημξ μέγηζηεξ πιεζηθόηεηαξ. A 1 B 2 C 3 D 4 E 5 36
Ακελάνηεημ ύκμιμ Γίζμδμξ. Έκα γνάθεμα. ηόπμξ. Γύνεζε ακελάνηεημο ζοκόιμο μέγηζηεξ πιεζηθόηεηαξ. οπμζύκμιμ θμνοθώκ πμο ακά δύμ δεκ εκώκμκηαη με αθμή 1 2 3 4 5 6 7 37
Ονηζμέκα Ακηηπνμζςπεοηηθά Πνμβιήμαηα Παναιιαγέξ ημο ζέμαημξ: ακελάνηεημ ζύκμιμ. Υνμκμπνμγναμμαηηζμόξ δηαζηεμάηςκ: n log n - άπιεζημξ αιγόνηζμμξ. ηαζμηζμέκμξ πνμκμπνμγναμμαηηζμόξ δηαζηεμάηςκ: n log n - αιγόνηζμμξ με δοκαμηθό πνμγναμμαηηζμό. Δημενέξ ηαίνηαζμα: n k - αιγόνηζμμξ νμήξ δηθηύμο. Ακελάνηεημ ζύκμιμ: NP-πιήνεξ 38