Άπιεζημη αιγόνηζμμη Μάνζα Σηδένε Πξνηεηλόκελε βηβιηνγξαθία: S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani «Αιγόξηζκνη» Κιεηδάξηζκνο 2009 Κεθάιαην 5. http://www.cs.berkeley.edu/~vazirani/algorithms/chap5.pdf epl333 lect2 200 Σημ πνμεγμύμεκμ μάζεμα μηιήζαμε γηα θωδηθμπμίεζε Huffman, Γίκαη πανάδεηγμα άπιεζημο αιγμνίζμμο A 40 - - 2 B 30 - - 3 C 6 - - 4 D 5 - - 5 E 4 - - 6 F 3 - - 7-7 F E 8 - D C 9-8 7 8 0-48 9 B - 88 A 0 f left right epl333 lect2 200 2
Με 0 ζηα ανηζηενά θαη ζηα δεληά ζα έπμομε A 88 0 0 48 40 0 Algorithm Huffman-coding(f: array of integer) { H: heap με θιεηδί ημ f; for i = to n do insert (H, i); next = n + ; while H >= 2 do { i= deletemin(h); j=deletemin(h); left(next) = i; right(next) = j; f(next) = f(i) + f(j); insert(h, next); next++; } } F 0 3 0 7 7 E 4 9 8 B D 0 5 8 C 30 Άνα Α=0 Β= C=0 D=00 E=00 F=000 epl333 lect2 2006 3 Απμθωδηθμπμίεζε Εuffman Algorithm Huffman-decoder {i = 2n-; while not eof do {read(nextbit); if nextbit = 0 then i = left(i) else i = right(i); if left(i) = nil then {write(i); i=2n-;} } epl333 lect2 200 4 2
Δείηε πανάδεηγμα απμθωδηθμπμίεζεξ θαηά Huffman epl333 lect2 200 5 Μπμνμύμε κα θάκμομε θαιύηενε θωδηθμπμίεζε από Huffman? Ναη, ακ πνεζημμπμηήζμομε ζστμόηηηες ζσμδσαζμώμ ζομβόιωκ ακηί γηα ζοπκόηεηεξ ζομβόιωκ. Γηα πανάδεηγμα zip epl333 lect2 200 6 3
Δείηε πανάδεηγμα εθηέιεζεξ αιγμνίζμμο Lempel-Ziv epl333 lect2 200 7 Μεηά ημκ Lempel-Ziv ε είζμδμξ έγηκε: 002242657730 ζύμβμιμ εμθακίζεηξ ζοπκόηεηα 0 3 2,4 3 2,4 2 2 4,2 3 7,4 4 7,4 5 2 4,2 6 7,4 7 7,4 Τώξα Hoffman. epl333 lect2 200 8 4
Άιιμη άπιεζημη αιγόνηζμμη??? Horn SAT Θομεζείηε ημ πνόβιεμα αοηό! Eίκαη μηα από ηηξ 4 πενηπηώζεηξ SAT πμο λένμομε κα ιύκμομε γνήγμνα. epl333 lect2 200 9 Γεμικό πρόβλημα SAT, όζα ζημηπεία ζέιμομε ζε θάζε πανέκζεζε, ζεηηθά ή ανκεηηθά. Δύζθμιμ πνόβιεμα: δεκ λένμομε πμιοωκομηθό αιγόνηζμμ. Πνόβιεμα 3-SAT 3-SATisfiability ( x x x )( x x )( x x )( x x )( x x x ) 2 3 2 2 3 3 2 3 epl333 lect2 200 0 5
x: o A. είλαη αζώνο y: o A. έρεη άιινζη ζηηο 8κκ z: o θόλνο έγηλε ζηηο 8κκ x : o A. δελ είλαη αζώνο z y x ( z, y, x) Δηδηθή πεξίπησζε Horn Λνγηθόο πξνγξακκαηηζκόο w: o B. είλαη αζώνο v: o Γ. είλαη αζώνο ( x, w, v) Γελ κπνξεί λα είλαη όινη αζώνη epl333 lect2 200 πξνηάζεηο Horn ( x x2 x3 ) ( x3) ( x2 x ) ( x3 x2 ) ην πνιύ έλα ζεηηθό literal ζε θάζε clause Λύλεηαη κε greedy αιγόξηζκν! epl333 lect2 200 2 6
Δείηε πανάδεηγμα εθηέιεζεξ Horn SAT epl333 lect2 200 3 Πξόβιεκα Set Cover (θάιπςε κε ζύλνια) Δίζνδνο Σύλνιν Β. Σύλνιν ππνζύλνισλ ηνπ Β: S, S2,..., Sm B Δξώηεκα Πνηνο είλαη ν κηθξόηεξνο αξηζκόο από ππνζύλνια, ε έλσζε ησλ νπνίσλ είλαη Β? Γελ μέξνπκε λα ην ιύζνπκε κε γξήγνξν αιγόξηζκν, αιιά ππάξρεη άπιεζηνο αιγόξηζκνο πνπ ην πξνζεγγίδεη. Γηα ην πξόβιεκα Set Cover ππάξρεη ΑΠΛΗΣΤΟΣ ινγαξηζκηθόο πξνζεγγηζηηθόο αιγόξηζκνο, epl333 lect2 200 4 7
Παξάδεηγκα Set Cover Σύλνιν Β. Σύλνιν ππνζύλνισλ ηνπ Β: 2 S, S,..., Sm B Δίζνδνο: ζύλνιν Β={a, b, c, d, e, f, g, h, i, j, k} Υπνζύλνια ηνπ Β: Κάζε ππνςήθηα πόιε γηα λα κπεη ην ζρνιείν νξίδεη έλα ππνζύλνιν πόιεσλ πνπ κπνξεί λα θαιύςεη (όιεο απηέο πνπ απέρνπλ από ην ζρνιείν ην πνιύ 30 m). Sa, Sb,..., Sk B S { a, b, d, e, i, h, k}, S { b, a, c, d}, a S { c, d, b}, S S, S { e, a, f, g}... c d b e b 5 Set cover, άπιεζημξ αιγόνηζμμξ Δηάιελε ημ ζύκμιμ πμο πενηέπεη ημκ μεγαιύηενμ ανηζμό από ζημηπεία πμο δεκ έπμοκ θαιοθζεί. Δεκ είκαη βέιηηζημξ, δεκ βνίζθεη πάκηα ημκ μηθνόηενμ δοκαηό ανηζμό ζοκόιωκ. Γίκαη όμωξ θαιή πνμζέγγηζε, επεηδή αιιά εγγοάηαη όηη ακ k είκαη μ βέιηηζημξ ανηζμόξ ζοκόιωκ, δεκ ζα πνεζημμπμηήζεη πάκω από klnn ζύκμια. epl333 lect2 200 6 8
Έζησ nt Τα ζηνηρεία πνπ δελ έρνπκε θαιύςεη κεηά από t επαλαιήςεηο Βαζηθή παξαηήξεζε!!! Υπάξρεη έλα ζύλνιν πνπ πεξηέρεη nt / k ζηνηρεία. k είναι ο μικρότερος αριθμός σποσσνόλων ποσ καλύπτει το σύνολο. OPT=k Άξα, nt n t n t nt ( ) k k x e x t k t nt n0( ) n0( e ) ne k k ln n/ k ηαλ t k ln n, nt ne Άξα κεηά από kln n t k Greedy επηινγέο ζπλόισλ έρνπκε θαιύςεη ην αξρηθό 7 Έκα πνόβιεμα πμο (ζα) άθμοηε ζοκέπεηα... TSP traveling salesman problem: πνόβιεμα πενημδεύμκημξ πωιεηή Σηηγμηόηοπμ:Σεμεία-πόιεηξ, απμζηάζεηξ μεηαλύ θάζε δεύγμοξ, ανπηθή πόιε Δεημύμεκμ: ζοκημμόηενε δηαδνμμή πμο λεθηκά θαη θαηαιήγεη ζηεκ ανπηθή θαη πενκά από όιεξ ηηξ πόιεηξ epl333 lect2 20 8 9
Να βνεζεί έκαξ γνήγμνμξ αιγόνηζμμξ πμο κα ημ ιύκεη. Πηζηεύμομε όηη αοηό είκαη αδύκαημ... Αιιά γηαηί δεκ δμθημάδμομε ημκ άπιεζημ αιγόνηζμμ, κα πάμε θάζε θμνά ζηεκ πόιε πμο είκαη πημ θμκηά μέπνη κα πενάζμομε από όιεξ? Δεκ είκαη μνζόξ, δεκ έπεη πάκηα ημ απμηέιεζμα πμο ζέιμομε Δεκ εγγοάηαη θαμία πνμζεγγηζε epl333 lect2 20 9 Πνόβιεμα πενημδεύμκημξ πωιεηή: άπιεζημξ αιγόνηζμμξ πιεζηέζηενμο γείημκα +2+4+8+6+22+2=75 +2+8+32+2=64 Δεκ είκαη μνζόξ. Απόδεηλε με Ακηηπανάδεηγμα epl333 lect2 20 20 0