HY437 Αλγόριθμοι CAD

Σχετικά έγγραφα
HY437 Αλγόριθμοι CAD

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

ΠΑΡΑΔΕΙΓΜΑΤΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ (3 ο Φυλλάδιο)

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

HY437 Αλγόριθμοι CAD

Μάθημα 21: Ουρές (Queues)

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Τεχνητή Νοημοσύνη. Ενότητα 2: Αναζήτηση (Search)

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat

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

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

Fractional Colorings and Zykov Products of graphs

Section 8.3 Trigonometric Equations

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS)

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

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Παράλληλη Επεξεργασία Κεφάλαιο 10 ο Αντίγραφα Εργαζομένων

AVL-trees C++ implementation

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

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

HY437 Αλγόριθμοι CAD

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

O(n logba ) (p q)(x) p(x) q(x) O(n 2 ) 2n + 1. (p q)(x) O(n n)

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Επίλυση Προβλημάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης.

Χρονικά Γραφήματα Π Π Δ Ε. Συγγραφέας: Ελένη Ακρίδα. Επιβλέπων: Παύλος Σπυράκης, Κ

Insert(K,I,S) Delete(K,S)

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL

Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα)

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v.

Minimum Spanning Tree: Prim's Algorithm

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

Ιςοηυγιςμζνα δζντρα και Β- δζντρα. Δομζσ Δεδομζνων

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

HY437 Αλγόριθμοι CAD

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Μοντελοποίηση προβληµάτων

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

The challenges of non-stable predicates

EE512: Error Control Coding

Combined Bus and Driver Scheduling

Γραµµικός Προγραµµατισµός (ΓΠ)

Παραδείγματα Assembly (Μέρος

Αλγόριθμοι Επανάληψη για πρόοδο

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

Δομές Δεδομένων - Εργαστήριο 5. Ουρές Προτεραιότητας

ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ. ΗΥ240 - Παναγιώτα Φατούρου 1

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 1

Εργαστήριο 7: Ο αλγόριθμος ταξινόμησης Radix Sort

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων

ΠΑΡΑΔΕΙΓΜΑΤΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ (2 ο Φυλλάδιο)

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Κεφάλαιο 4. Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών. Routing Algorithms. Network Layer.

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

Newman Modularity Newman [4], [5] Newman Q Q Q greedy algorithm[6] Newman Newman Q 1 Tabu Search[7] Newman Newman Newman Q Newman 1 2 Newman 3

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

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Statistical Inference I Locally most powerful tests

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

SCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions

Τεχνητή Νοημοσύνη ΙΙ Εαρινό Εξάμηνο Εργασία ΙΙ: Σχεδιασμός Ημερομηνία Παράδοσης: 26 Μαρτίου 2012

ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ 2

Homework 3 Solutions

Αλγόριθμοι Ταξινόμησης Μέρος 3

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

9.09. # 1. Area inside the oval limaçon r = cos θ. To graph, start with θ = 0 so r = 6. Compute dr

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Δομζσ Δεδομζνων Πίνακεσ

Ευρετήρια. Βάσεις Δεδομένων. Διδάσκων: Μαρία Χαλκίδη

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Partial Differential Equations in Biology The boundary element method. March 26, 2013

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Διδάσκων: Κωνσταντίνος Κώστα

Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990,

Σι θα δούμε σε αυτό το μάθημα;

Δομές Δεδομένων Ενότητα 5

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

conp and Function Problems

Transcript:

HY437 Αλγόριθμοι CAD Διδϊςκων: Χ. Σωτηρύου http://inf-server.inf.uth.gr/courses/ce437/ 1 Περιεχόμενα Πολυπλοκότθτα Είδθ Προβλθμάτων Τφποι Αλγορίκμων Κατθγοριοποίθςθ Γραμμικόσ Προγραμματιςμόσ (Σχεδιαςμόσ) Άπλθςτοσ Αλγόρικμοσ (Greedy) Αλγόρικμοσ Επιλογισ και Φραγισ (Branch and Bound) Δυναμικόσ Προγραμματιςμόσ (Dynamic Programming) Αλγόρικμοι Γράφων Βραχφτερο/Μακρφτερο Μονοπάτι Ευριςτικι Αναηιτθςθ Αλγόρικμοσ Simulated Annealing 2 1

Πολυπλοκότητα 3 Πρακτικό Παρϊδειγμα Σκεφτείτε ζναν ακζραιο ςτο διάςτθμα [1,B], ζςτω x Ποια είναι θ πολυπλοκότθτα για να τον βρει κάποιοσ ερωτϊντασ ςασ ωσ προσ τθν τιμι του; Βάςθ τθσ φφςησ του προβλήματοσ πόςεσ πικανζσ ερωτιςεισ υπάρχουν; πολυπλοκότθτα του προβλιματοσ Αν εφαρμόςω ςυγκεκριμένο αλγόριθμο, ποια είναι θ χείριςτθ περίπτωςθ αρικμοφ ερωτιςεων; πολυπλοκότθτα τθσ λφςθσ 4 2

Πρακτικό Παρϊδειγμα - Συνϋχεια Εφαρμόηοντασ Δυαδικι Εφρεςθ (Binary Search) Για Β=32: Ερώτηςη Απάντηςη Διάςτημα Πιθανών Τιμών του x μετά την Απάντηςη - - [1 32] Ιςχφει x > 16; Όχι [1 16] Ιςχφει x > 8; Ναι [9 16] Ιςχφει x > 12; Όχι [9 12] Ιςχφει x > 10; Ναι [11 12] Ιςχφει x > 11; Όχι 11 Άρα, μετά από log 2 (B) ερωτιςεισ ζχουμε απάντθςθ! 5 Πρακτικό Παρϊδειγμα - Συνϋχεια [1 32] [1 16] [17 32] [17 24] [25 32] [25...28] [29 32] 6 3

Τύποι Αλγορύθμων - Κατηγοριοπούηςη Αλγεβρικοί Γραμμικόσ Προγραμματιςμόσ (Linear Programming) Ακζραιοσ Γραμμικόσ Προγραμματιςμόσ (Integer LP) Διαίρει και Βαςίλευε (Divide and Conquer) Επιλογισ και Φραγισ (Branch and Bound) Άπλθςτοι (Greedy) Δυναμικoφ Προγραμματιςμοφ (Dynamic Programming) Μονόςημο Πρόβλημα Κάλυψησ (Unate Covering Problem) Προςομοίωςησ Ανόπτηςησ (Simulated Annealing) Γενετικοί 7 Γραμμικόσ Προγραμματιςμόσ 8 4

Γραμμικόσ Προγραμματιςμόσ Παράδειγμα: Περιορισμοί (Ax <= b) x1 + x2 + x3 <= 4 x1 <= 2 x3 <= 3 3x2 + x3 <= 6 x1 >= 0 x2 >= 0 x3 >= 0 9 Γραμμικόσ Προγραμματιςμόσ 10 5

Άπληςτοσ (Greedy) 11 Άπληςτοσ Αλγόριθμοσ Δρομολόγηςησ Σφνολο από Εργαςίεσ (Tasks), Τ Για κάκε εργαςία t του Τ: l(t) διάρκεια τθσ εργαςίασ (length) r(t) ελάχιςτοσ χρόνο ζναρξθσ (release time) d(t) προκεςμία λιξθσ (deadline) Αναηθτοφμε Δρομολόγθςθ που να ικανοποιεί τα l, r, d Αλγόριθμοσ GREEDY-SCHEDULING (T) GREEDY-SCHEDULING(T) { i = 1; repeat { while ((Q = {unscheduled tasks with release time < i == 0) do i = i + 1; if (exists unscheduled task p: i + l(p) > d(p)) return FALSE; select q in Q with smallest deadline; Schedule q at time i; i = i + l(q); until (all tasks scheduled); return TRUE; 12 6

Άπληςτοσ Αλγόριθμοσ Δρομολόγηςησ r(a) = r(b) = 1, r(c) = 3, d(a) = 4, d(b) = inf, d(c) = 6, l(a) = 1, l(b) = 2, l(c) = 3; 13 Επιλογόσ και Φραγόσ (Branch and Bound) 14 7

Αλγόριθμοσ Επιλογόσ και Φραγόσ Ακολουκία επιλογϊν S - αρχικι μθδενικι ακολουκία αποφάςεων s0 Συνικωσ το m είναι 2, δθλαδι το δζντρο αποφάςεων είναι δυαδικό! Αλγόριθμοσ BRANCH_AND_BOUND BRANCH_AND_BOUND { Current_best = anything; Current_cost = inf; S = s0; while (S!= 0) do { Select and element s of S and Remove; Branch based on s in sequence {s i, i = 1, 2,, m; for (i = 1 to m) { Compute lower bound b i of s i ; if (b i >= Current_cost) Remove branch s i ; else { if (s i is complete solution) { Current_best = s i ; Current_cost = cost of s i ; else add s i to S; 15 Δυναμικόσ Προγραμματιςμόσ 16 8

Αλγόριθμοσ Κϊλυψησ Δϋντρου (a) Υποκείμενοσ Γράφοσ, (b) Βαςικοί Γράφοι, (c) Βζλτιςτθ Κάλυψθ 17 Αλγόριθμοσ Κϊλυψησ Δϋντρου Αλγόριθμοσ TREE-COVER(Gn(V, E)) TREE-COVER(T(V, E)) { foreach vertex v in V COST(v) = -1; // set internal vertex cost to -1 // foreach leaf vertex v in V if SUCC(v) = NULL, COST(v) = 0; // set leaf vertex cost is 0 // while (some vertex has ve weight) { select v in V (bottom-up) s.t. all SUCC(v) have non ve cost; M = set of all matching pattern trees at v; cost(v) = min (m in M) (cost(m) + Σ (u in SUCC(m)) cost(u)); // pick m which minimises cost // Το δζντρο διατρζχεται από τα φφλλα προσ τθν ρίηα (bottom-up) Σε κάθε κόμβο επιλφουμε βέλτιστα την επιλογή κάλυψης για ελάχιστο κόστος από το σημείο εκείνο και κάτω 18 9

Αλγόριθμοσ Dijkstra Βραχύτερο Μονοπϊτι (Shortest Path) 19 Αλγόριθμοσ Shortest Path 20 10

Αλγόριθμοσ Dijkstra Shortest Path Αλγόριθμοσ DIJKSTRA (Graph(V, E), source) for each vertex v in Graph: // Initializations dist[v] := infinity ; // Unknown distance function from source to v previous[v] := undefined ; // Previous node in optimal path end for // from source dist[source] := 0 ; // Distance from source to source Q := the set of all nodes in Graph ; // All nodes in the graph are unoptimized // thus are in Q while Q is not empty: // the main loop u := vertex in Q with smallest distance in dist[] ; // Source node in first case remove u from Q ; if dist[u] = infinity: break ; // all remaining vertices are end if // inaccessible from source for each neighbor v of u: // where v has not yet been removed from Q. alt := dist[u] + dist_between(u, v) ; if alt < dist[v]: // Relax (u,v,a) dist[v] := alt ; previous[v] := u ; // Store Shortest Path decrease-key v in Q; // Reorder v in the Queue end if end for end while return dist; 21 Αλγόριθμοσ Longest Path - STA Ποιο είναι το Κρίςιμο Μονοπάτι; ( 0. 1, 0. 0 ) ( 0. 1, 0. 0 ) 1.2 d 1 1 d 6 0.5 d 1 0 D S E T Q ( 0. 1, 0. 0 ) ( 0. 1, 0. 0 ) ( 0. 1, 0. 0 ) 1 0.7 D S E T C L R Q Q d 2 d 3 d 4 1.5 1.8 d 7 d 8 d 9 1 0.7 d 1 1 0 J K C L R S E T C L R d 1 2 Q Q Q ( 0. 1, 0. 0 ) d 5 22 11

Ευριςτικό Αναζότηςη ορατότητα 23 Αλγόριθμοσ Simulated Annealing 24 12

Αλγόριθμοσ Simulated Annealing Αλγόριθμοσ Simulated Annealing(s0, kmax, cmax) s = s0; c = c(s); // Initial state/solution, cost sbest = s; cbest = c; // Initial "best" solution k = 0; // Cost iteration count may be time-based while (k < kmax and c > cmax) T = temperature(t, k, kmax); snew = neighbour(s); cnew C(snew) if (P(c, cnew, T) > random()) s = snew; c = cnew if (cnew < cbest) sbest = snew; cbest = cnew; k = k + 1; // While time left & not good enough: // Temperature calculation/schedule // Traverse state space to a neighbouring solution // Compute new cost // Decision based on T, (cnew c) and random() // if Yes, update current solution // Check if this is the best solution found // if Yes, save it // Increment iterations counter return sbest; // Return the best solution found Δρομολόγθςθ κερμοκραςίασ από ςυνάρτθςθ temperature(t, k) λ.χ. temperature(k/kmax) Τυπικά, θ ςυνάρτθςθ Αποδοχισ P(c, cnew, T) επιςτρέφει 1, αν (cnew < c) Όταν (cnew c) > 0 και όςο μεγαλώνει, τυπικά μειώνεται η πιθανότητα αποδοχήσ Η ςυνάρτθςθ random()επιςτρζφει τιμζσ ςτο διάςτθμα: [0, 1] 25 13