Webster s 50 χρόνια πριν: ανύπαρκτος όρος Oxford s, 1971: «erroneous refashioning of algorism: calculation with Arabic numerals»

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Webster s 50 χρόνια πριν: ανύπαρκτος όρος Oxford s, 1971: «erroneous refashioning of algorism: calculation with Arabic numerals»"

Transcript

1

2

3 Αλγόριθμος Webster s 50 χρόνια πριν: ανύπαρκτος όρος Oxford s, 1971: «erroneous refashioning of algorism: calculation with Arabic numerals» Abu Jaffar Mohammed Ibn Musa Al-Khowarizmi, μ.χ. 9 ος αι.,الخوارزمي موسى بن دمحم Παραδείγματα: Ευκλείδειος αλγόριθμος (Ευκλείδης, 3 ος αι. π.χ.) για εύρεση ΜΚΔ Αριθμοί Fibonacci (Leonardo Pisano Filius Bonacci, 13 ος αι. μ.χ.) Τρίγωνο Pascal (Yang Hui, 13 ος αι. μ.χ.) 2

4 Αλγόριθμος (συν.) Πρωταρχική έννοια. Μέθοδος επίλυσης προβλήματος δοσμένη ως πεπερασμένο σύνολο κανόνων (ενεργειών, διεργασιών) που επενεργούν σε δεδομένα (data). Πεπερασμένη εκτέλεση (finiteness). Κάθε κανόνας ορίζεται επακριβώς και η αντίστοιχη διεργασία είναι συγκεκριμένη (definiteness). Δέχεται μηδέν ή περισσότερα μεγέθη εισόδου (input). Δίνει τουλάχιστον ένα μέγεθος ως αποτέλεσμα (output). Μηχανιστικά αποτελεσματικός, εκτέλεση με μολύβι και χαρτί (effectiveness). 3

5 Αλγόριθμος Ευκλείδη if a>b then GCD(a,b):= GCD(a mod b, b) else GCD(a,b):= GCD(a, b mod a) ( a mod b = το υπόλοιπο της διαίρεσης a div b ) ΜΚΔ (172, 54 ) = ΜΚΔ (10, 54 ) = ΜΚΔ (10, 4 ) = ΜΚΔ (2, 4 ) = ΜΚΔ (2, 0 ) = 2 4

6 Αλγόριθμος Ευκλείδη if a>b then GCD(a,b):= GCD(a mod b, b) else GCD(a,b):= GCD(a, b mod a) ( a mod b = το υπόλοιπο της διαίρεσης a div b ) Ο Ευκλείδειος αλγόριθμος είναι ο καλύτερος γνωστός αλγόριθμος για ΜΚΔ! Ανοιχτό ερώτημα: είναι βέλτιστος; 5

7 Τρίγωνο Pascal (Yang Hui) Διωνυμικοί συντελεστές / συνδυασμοί: (a+b) 4 = a 4 + 4a 3 b + 6a 2 b 2 + 4ab 3 + b 4 6

8 Αλγοριθμικές τεχνικές Επανάληψη (Iteration) Αναδρομή (Recursion) Επαγωγή (Induction) 7

9 Πύργοι Ανόι (Hanoi Towers) πηγή: wikipedia 8

10 Πύργοι Ανόι (Hanoi Towers) πηγή: wikipedia 9

11 Πύργοι Ανόι (Hanoi Towers): αναδρομή 10

12 Πύργοι Ανόι (Hanoi Towers): αναδρομή σε Python def hanoi(ndisks, startpeg, endpeg, usepeg): if ndisks: hanoi(ndisks-1, startpeg, usepeg, endpeg) print "Move disk %d from peg %d to peg %d" % (ndisks, startpeg, endpeg) hanoi(ndisks-1, usepeg, endpeg, startpeg) 11

13 Πύργοι Ανόι (Hanoi Towers): επανάληψη Επανάλαβε (μέχρι να επιτευχθεί η μετακίνηση): Μετακίνησε κατά τη θετική φορά τον μικρότερο δίσκο Κάνε την μοναδική επιτρεπτή κίνηση που δεν αφορά τον μικρότερο δίσκο 12

14 Αποδοτικότητα αλγορίθμου Μετράμε το κόστος αλγορίθμου σαν συνάρτηση των υπολογιστικών πόρων που απαιτούνται σε σχέση με το μέγεθος της (αναπαράστασης της) εισόδου στην χειρότερη περίπτωση: cost A (n) = max {κόστος αλγορ. Α για είσοδο x} για όλες τις εισόδους x μήκους n Παράδειγμα: time-cost MS (n) <= c nlogn (MS = MergeSort, c μία σταθερά) 13

15 Αποδοτικότητα αλγορίθμου Συνήθως μας ενδιαφέρει το κόστος σε χρόνο, ή αλλιώς η χρονική πολυπλοκότητα. Ενδιαφέρον παρουσιάζει και το κόστος σε χώρο, ή αλλιώς χωρική πολυπλοκότητα. Παράδειγμα: space-cost MS (n) <= c n (MS = MergeSort, c κάποια σταθερά) 14

16 Ασυμπτωτικός συμβολισμός (i) 15

17 Παραδείγματα συμβολισμού Ο BubbleSort: Τ BS (n) = Ο(n 2 ) InsertionSort: Τ IS (n) = Ο(n 2 ) MergeSort: Τ MS (n) = Ο(n logn) 16

18 Ασυμπτωτικός συμβολισμός (ii) 17

19 Παραδείγματα συμβολισμού Ω BubbleSort: Τ BS (n) = Ω(n 2 ) InsertionSort: Τ IS (n) = Ω(n 2 ) MergeSort: Τ MS (n) = Ω(n logn) Προσοχή: πολυπλοκότητα χειρότερης περίπτωσης 18

20 Ασυμπτωτικός συμβολισμός (iii) 19

21 Παραδείγματα συμβολισμού Θ BubbleSort: Τ BS (n) = Θ(n 2 ) InsertionSort: Τ IS (n) = Θ(n 2 ) MergeSort: Τ MS (n) = Θ(n logn) Προσοχή: πολυπλοκότητα χειρότερης περίπτωσης 20

22 Ασυμπτωτικός συμβολισμός : συμβάσεις και ιδιότητες Γράφουμε: g(n) = O(f(n)) αντί για g(n) Є O(f(n)) Θ(f) = O(f) Ω(f) p(n) = Θ(n k ), για κάθε πολυώνυμο p Ο(poly) = U O(n k ) (για όλα τα k Є N) 21

23 Ασυμπτωτικός συμβολισμός : συμβάσεις και ιδιότητες log*n: πόσες φορές πρέπει να λογαριθμήσουμε το n για να φτάσουμε κάτω από το 1 (αντίστροφη υπερεκθετικής) A: Ackermann. α: αντίστροφη της Α. 22

24 Γιατί ασυμπτωτικός συμβολισμός; t.com/ Source: bigocheatsheet.com/ 23

25 Ασυμπτωτικός συμβολισμός: απόδειξη φραγμάτων Θεώρημα. log(n!) = Θ(n logn) Απόδειξη: ασυμπτωτικά (για n > n 0 ) ισχύει: (n/2) n/2 < n! < n n => (1/2) n (logn - 1) < log(n!) < n logn => (1/3) n logn < log(n!) < n logn Προσοχή: μπορείτε να χρησιμοποιήσετε κανόνα de l Hospital, αλλά συνήθως δεν συμφέρει! 24

26 Πολυπλοκότητα αλγορίθμων: απλοποιήσεις Συχνά θεωρούμε ως μέγεθος της εισόδου το πλήθος των στοιχείων εισόδου μόνο (αγνοώντας το μέγεθός τους σε bits): ΟΚ αν τυχόν αριθμοί εισόδου είναι «μικροί» σε σχέση με υπόλοιπη είσοδο. Αν υπάρχουν «μεγάλοι» αριθμοί στην είσοδο χρειάζεται προσοχή: Μπορούμε και πάλι να τους αγνοήσουμε αν η τιμή τους δεν επηρεάζει το πλήθος των στοιχειωδών πράξεων. Π.χ. ταξινόμηση με συγκρίσεις. Όχι όμως όταν το πλήθος των πράξεων εξαρτάται από την τιμή των αριθμών: π.χ. ύψωση σε δύναμη. 25

27 Πολυπλοκότητα αλγορίθμων: απλοποιήσεις Επίσης θεωρούμε ότι κάθε στοιχειώδης αριθμητική πράξη (πρόσθεση, πολ/σμός, σύγκριση) έχει κόστος 1 βήματος. Αυτό λέγεται αριθμητική πολυπλοκότητα (arithmetic complexity) και είναι συνήθως ικανοποιητική μέτρηση. Δεν δημιουργεί πρόβλημα εφ όσον οι αριθμοί που εμπλέκονται δεν μεγαλώνουν πάρα πολύ (π.χ. εκθετικά) ως προς τις αρχικές τους τιμές. Η ανάλυση της πολυπλοκότητας ψηφιοπράξεων (bit complexity) είναι απαραίτητη όταν οι αριθμοί «μεγαλώνουν» πολύ κατά τη διάρκεια εκτέλεσης: π.χ. ύψωση σε δύναμη, n-οστός Fibonacci. 26

28 Πολυπλοκότητα προβλήματος Είναι η πολυπλοκότητα του βέλτιστου αλγορίθμου που λύνει το πρόβλημα. cost Π (n) = min {cost A (n)} για όλους τους αλγορίθμους Α που επιλύουν το Π Παράδειγμα: time-cost SORT (n) = O(n logn) (SORT = πρόβλημα ταξινόμησης) Για να δείξουμε βελτιστότητα αλγορίθμου χρειάζεται και απόδειξη αντίστοιχου κάτω φράγματος: Ω(n logn) 27

29 Ανάλυση χρονικής πολυπλοκότητας αλγορίθμων Μέτρηση των βημάτων που θα εκτελεστούν: είτε με άμεσο τρόπο (π.χ. πλήθος επαναλήψεων επί κόστος / επανάληψη) Παράδειγμα: T BS (n) <= c n 2 = O(n 2 ) (BS = BubbleSort, c κάποια σταθερά) είτε έμμεσα, κυρίως σε αναδρομικούς αλγορίθμους (επίλυση αναδρομικών σχέσεων) Παράδειγμα: T MS (n) <= 2T MS (n/2)+cn = = O(n logn) (MS = MergeSort, c κάποια σταθερά) 28

30 Εύρεση Μέγιστου Κοινού Διαιρέτη (gcd) Δεν είναι λογικό να ανάγεται στο πρόβλημα εύρεσης πρώτων παραγόντων γιατί αυτό δεν λύνεται αποδοτικά. Απλός αλγόριθμος: O(min(α,b)) Αλγόριθμος με αφαιρέσεις: O(max(α,b)) Αλγόριθμος του Ευκλείδη: O(log(α+b)) 29

31 Εύρεση Μέγιστου Κοινού Διαιρέτη (gcd): υλοποίηση με αναδρομή Αλγόριθμος με αφαιρέσεις: O(max(α,b)) if a=b then GCD(a,b):=a else if a>b then GCD(a,b):= GCD(a-b, b) else GCD(a,b):= GCD(a, b-a) Αλγόριθμος του Ευκλείδη: O(log(α+b)) if b=0 then GCD(a,b):= a else GCD(a,b):= GCD(b, a mod b) 30

32 Πολυπλοκότητα Ευκλείδειου Αλγορίθμου O(log max(α,b)): σε κάθε 2 επαναλήψεις ο μεγαλύτερος αριθμός υποδιπλασιάζεται (γιατί;) Ω(log max(α,b)): για ζεύγη διαδοχικών αριθμών Fibonacci F k-1, F k, χρειάζεται k επαναλήψεις, και k = Θ(logF k ), αφού F k φ k / 5, φ = (1+ 5)/2 (φ η χρυσή τομή). Άρα η πολυπλοκότητα του Ευκλείδειου είναι Θ(log max(α,b)) = Θ(log (α+b)) Bit complexity: O(log 3 (α+b)) 31

33 Επεκτεταμένος Ευκλείδειος Αλγόριθμος Εκφράζει τον gcd(a,b) σαν γραμμικό συνδυασμό των a και b Επιτρέπει την εύρεση πολλαπλασιαστικού αντιστρόφου στην αριθμητική modulo n: αν gcd(a,n)=1 τότε Ext. Euclid δίνει κ,λ: κa+λn=1 Άσκηση: σχεδιάστε και υλοποιήστε τον επεκτεταμένο Ευκλείδειο αλγόριθμο 32

34 Ύψωση σε δύναμη power(a, n) result := 1; for i := 1 to n do result := result*a; return result Πολυπλοκότητα: O(n) εκθετική! (γιατί;) 33

35 ... με επαναλαμβανόμενο τετραγωνισμό (Gauss) fastpower(a, n) result := 1; while n>0 do if odd(n) then result:=result*a; n := n div 2; a := a*a return result Ιδέα: a 13 = a = a 8 a 4 a 1 = a Πολυπλοκότητα: O(log n) - πολυωνυμική ως προς το μήκος της εισόδου! 34

36 Σύγκριση bit complexity για a n Αφελής αλγόριθμος: O(n 2 a 2 ) = O(n 2 log 2 a) i-οστή επανάληψη: O((i-1) a 2 ) a = μήκος του αριθμού a σε bits Αλγόριθμος τετραγωνισμού: O(n 2 a 2 ) επίσης! (γιατί;) Τετραγωνισμός με πολλ/σμό Gauss-Karatsuba: O(n log3 a log3 ) = O(n 1.59 log 1.59 a) Περαιτέρω βελτιώσεις (Schönhage Strassen): O(n a logn loglogn) = O(n loga logn loglogn) 35

37 Modular exponentiantion a n mod p fastmodpower(a,n,p) result := 1; while n>0 do if odd(n) then res:=res*a mod p; n := n div 2; a := a*a mod p return res Arithmetic complexity: O(log n) Bit complexity: O(log n log p) - πολυωνυμική ως προς το μήκος της εισόδου! 36

38 Κρυπτοσύστημα RSA (i) Για να στείλει η A (Alice) στον B (Bob) ένα μήνυμα m: O B διαλέγει 2 μεγάλους πρώτους αριθμούς p και q, υπολογίζει το γινόμενο n = pq, και διαλέγει επίσης ακέραιο e σχετικά πρώτο με το φ(n) = (p-1)(q-1). Ο Β στέλνει στην Α τα n και e (δημόσιο κλειδί του Β) H Α στέλνει στον Β την τιμή c = enc(m) = m e mod n (κρυπτογράφημα). Ο Β υπολογίζει m = dec(c) = c d mod n όπου d = e -1 (mod φ(n)) <=> de = 1 (mod φ(n)) (ο d είναι το ιδιωτικό κλειδί του Β) 37

39 Κρυπτοσύστημα RSA (ii) Ορθότητα RSA: c d = m ed = m kφ(n)+1 = m (mod n). Παράδειγμα RSA: p=11, q=17, n=187, e=21, d=61 έστω μήνυμα m = 42 c = enc(m) = mod 187 = 9 m = dec(c) = 9 61 mod 187 = 42 38

40 Πρώτοι αριθμοί και κρυπτογραφία Υπολογιστικά προβλήματα σημαντικά για κρυπτογραφία: Primality testing: Δίνεται ακέραιος n. Είναι πρώτος; Σχετικά εύκολο. Ανήκει στο P όπως έδειξαν σχετικά πρόσφατα (2002) προπτυχιακοί Ινδοί φοιτητές. Factoring (παραγοντοποίηση): Δίνεται ακέραιος n. Να βρεθούν οι πρώτοι παράγοντες του. Δεν ξέρουμε αν είναι εύκολο ή δύσκολο. Πιστεύουμε ότι είναι υπολογιστικά δύσκολο (ότι δεν ανήκει στο P), αλλά όχι τόσο δύσκολο όσο τα NP-complete προβλήματα. Για κβαντικούς υπολογιστές (που δεν έχουμε ακόμα καταφέρει να κατασκευάσουμε) είναι ευεπίλυτο. 39

41 Κρυπτοσύστημα RSA: υλοποίηση Fermat test: για κάθε πρώτο p, για κάθε a (εκτός πολλαπλασίων του p): a p-1 = 1 (mod p) Για όλους σχεδόν τους σύνθετους n, διαψεύδεται με πιθανότητα >= ½ Εξαιρούνται οι αριθμοί Carmichael (π.χ. 561). Miller-Rabin test: καλύπτει και τους αριθμούς Carmichael: δεν περνούν το τεστ με πιθανότητα >= ½ Πώς αυξάνουμε την πιθανότητα επιτυχίας από ½ σε 1/2 k ; 40

42 RSA και πολυπλοκότητα Η ασφάλεια του RSA στηρίζεται στην (εκτιμώμενη, δεν υπάρχει ακόμη απόδειξη!) : υπολογιστική δυσκολία της παραγοντοποίησης Η λειτουργία του RSA στηρίζεται σε αποδοτικούς αλγόριθμους για: primality testing (Miller-Rabin), ύψωση σε δύναμη modulo n (modular exponentiation, Gauss) και εύρεση αντιστρόφου modulo φ(n) (επεκτεταμένος Ευκλείδειος). 41

43 Αριθμοί Fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,... F 0 = 0, F 1 = 1 F n = F n-1 + F n-2, n >=2 Πρόβλημα: Δίνεται n, να υπολογιστεί το F n Πόσο γρήγορο μπορεί να είναι το πρόγραμμά μας; 42

44 Αριθμοί Fibonacci αναδρομικός αλγόριθμος Fib1(n) if (n<2) then return n else return Fib1(n-1)+Fib1(n-2) Πολυπλοκότητα: T(n) = T(n-1) + T(n-2) + c, δηλ. η T(n) ορίζεται όπως η F(n) (συν μια σταθερά), οπότε: Τ(n) > c. F(n) = Θ(1.618 n ) 43

45 Αριθμοί Fibonacci καλύτερος αλγόριθμος Fib2(n) a:=0; b:=1; for i:=2 to n do c:=b; b:=a+b; a:=c; return b Πολυπλοκότητα: O(n) Είναι πολυωνυμική; 44

46 Αριθμοί Fibonacci ακόμα καλύτερος αλγόριθμος Μπορούμε να γράψουμε τον υπολογισμό σε μορφή πινάκων: Από αυτό συμπεραίνουμε: Και το πλήθος των αριθμητικών πράξεων (αριθμητική πολυπλοκότητα) μειώνεται σε O(log n). 45

47 Αριθμοί Fibonacci ακόμα καλύτερος αλγόριθμος Άσκηση: βρείτε την πολυπλοκότητα ψηφιοπράξεων (bit complexity) του παραπάνω αλγορίθμου. Συγκρίνετε με τον επαναληπτικό αλγόριθμο. 46

48 Χρόνος εκτέλεσης αλγορίθμων Έστω 4 προγράμματα με αριθμό βημάτων O(2 n ), O(n 2 ), O(n), και O(logn) που το καθένα χρειάζεται 1 δευτερόλεπτο για να υπολογίσει το F(100). Πόσα δευτερόλεπτα θα χρειαστούν για να υπολογίσουν τα F(101), F(110), F(200); F(100) F(101) F(110) F(200) c 1. 2 n c 2. n 2 c 3. n c 4. logn ??????

49 Πολλαπλασιασμός Ακεραίων 48

50 Πολυπλοκότητα Πολλαπλασιασμού 49

51 Απόδειξη: Τ(n) + cn T(n/2) T(n/2) T(n/2) T(n/2) + 4 cn/2 Χρον. πολ/τα Ύψος δένδρου T(n/4) T(n/4) T(2) cn/ (k-1) cn/2 (k-1) <(4/2) k cn 2 (logn+1) cn = O(n 2 ) T(1) T(1) k φύλλα, χρονική πολυπλ/τα α. 4 k = O(n 2 ) Συνολικά: O(n 2 ) 50

52 Πολυπλοκότητα Πολλαπλασιασμού 51

53 Βελτιωμένος Πολλαπλασιασμός (Gauss-Karatsuba) 52

54 Πολυπλοκότητα Βελτίωσης 53

55 Απόδειξη: Τ(n) + cn T(n/2) T(n/2) T(n/2) T(n/2) + 3 c n/2 Χρον. πολ/τα Ύψος δένδρου T(n/4) T(n/4) T(2) c n/ (k-1) c n/2 (k-1) <2. (3/2) k cn 3. (3/2) (logn) cn = O(n log3 ) T(1) T(1) k φύλλα, χρονική πολυπλ/τα α. 3 k = O(3 logn ) = O(n log3 ) Συνολικά: O(n log3 ) 54

56 Πολυπλοκότητα Βελτίωσης 55

57 Master Theorem (απλή μορφή) Αν T(n) = at(n/b) + O(n), τότε: για θετικούς ακέραιους a, b και Τ(1) = O(1) T(n) = O(n), O(n logn), O(n log ba ), αν a<b αν a=b αν a>b 56

58 Ύψος δένδρου Απόδειξη: T(n/b 2 ) T(1) T(1) Τ(n) T(n/b) T(n/b) T(n/b).. a... T(n/b 2 ) a cn + a c n/b + a 2 c n/b 2 + a (k-1) c n/b (k-1)... O(n), Χρον. πολ/τα cn Σ 0 k (a/b) i αν a<b O(n logn), αν a=b O(n log ba ), = αν a>b a k φύλλα, χρονική πολυπλ/τα c. a k = O(a log bn ) = O(n log ba ) 57

59 Master Theorem (γενική μορφή) Αν T(n) = at(n/b) + O(n d ), τότε: για θετικούς ακέραιους a, b, d και Τ(1) = O(1) T(n) = O(n d ), O(n d logn), O(n log ba ), αν a<b d αν a=b d αν a>b d 58

60 Master Theorem: εφαρμογή Αν T(n) = at(n/b) + O(n d ), για θετικούς ακέραιους a, b, d και Τ(1) = O(1) τότε: O(n d ), αν a<b d T(n) = O(n d logn), O(n log ba ), αν a=b d αν a>b d Matrix Multiplication 'Standard' divide-and-conquer: T(n) = 8T(n/2) + O(n 2 ) => T(n) = O(n 3 ) Strassen's algorithm: T(n) = 7T(n/2) + O(n 2 ) => T(n) = O(n log7 ) 59

61 Μερικές εφαρμογές της Θεωρίας Αλγορίθμων και Πολυπλοκότητας Κρυπτογραφία Εκλογές Θεωρία Παιγνίων Γραμμικός Προγραμματισμός 60

62 Κρυπτογραφία δημοσίου κλειδιού Συναρτήσεις μονής κατεύθυνσης (one-way functions): εύκολο να υπολογιστούν δύσκολο να αντιστραφούν Κρυπτογραφία δημοσίου κλειδιού (κατάργησε την ανάγκη ανταλλαγής κλειδιών!): στηρίζεται στην ύπαρξη τέτοιων συναρτήσεων Κρυπτοσύστημα RSA [Rivest-Shamir-Adleman, 1977] συνάρτηση κρυπτογράφησης: c = m e mod n Ασφάλεια RSA: δεν υπάρχει (ελπίζουμε, χρειαζόμαστε απόδειξη!) αποδοτικός τρόπος υπολογισμού του m δεδομένων των c, e, και n, αν n είναι σύνθετος (...εκτός αν γνωρίζουμε παραγοντοποίηση του n) Δηλαδή η συνάρτηση κρυπτογράφησης RSA είναι μονής κατεύθυνσης (απόδειξη;) 61

63 Ψηφοφορίες (social choice) Εκλογές (βουλευτικές, πρυτανικές ;-)) Λήψη αποφάσεων σε εταιρείες, οργανισμούς,... Χρήση στον παγκόσμιο ιστό: ιστοσελίδες "ψηφίζουν" ιστοσελίδες δείχνοντας σε αυτές χρήστες "ψηφίζουν" ιστοσελίδες ανάλογα με τον χρόνο που ξοδεύουν σε αυτές Κοινωνικά δίκτυα (social networks) friends, followers 62

64 Ψηφοφορίες (social choice) Πληθώρα εκλογικών συστημάτων Το πλειοψηφικό δεν είναι πάντα δίκαιο: 20 z 24 y 26 x 30 w x z z z y x y x w w w y Ο νικητής υποστηρίζεται μόνο από το 30% Είναι τελευταία προτίμηση για το 70%! 63

65 Ψηφοφορίες: κι άλλα παράδοξα Και το "απόλυτο" πλειοψηφικό παρουσιάζει παράδοξα: οι x, w περνούν στον 2 ο γύρο ο x κερδίζει με 70%, παρ όλο που 74% προτιμούν τον z από τον x (ο z έφυγε από τον 1 ο γύρο!) z x y w y z x w x z y w w z x y 64

66 Ψηφοφορίες: υπολογιστικές προκλήσεις Δικαιότερα συστήματα μπορεί να απαιτούν πολύ μεγάλο χρόνο υπολογισμού του νικητή (υπολογιστικά απρόσιτο) για το σύστημα του Dodgson (γνωστός και ως Lewis Caroll, 19 ος αιώνας) το πρόβλημα είναι πλήρες για μια κλάση πολυπλοκότητας ευρύτερη της NP Θέλουμε ο υπολογισμός του νικητή να είναι υπολογιστικά προσιτός 65

67 Ψηφοφορίες: υπολογιστικές προκλήσεις Θεώρημα Gibbard- Satterthwaite (1973): «Πέρα από κάποιες τετριμμένες περιπτώσεις, όλα τα συστήματα ψηφοφορίας είναι χειραγωγήσιμα, εκτός αν είναι δικτατορικά!» Θέλουμε η χειραγώγηση να είναι δύσκολη (υπολογιστικά απρόσιτη) 66

68 Μη συνεργατικά παίγνια Παίκτες (agents: χρήστες, οντότητες λογισμικού, συστήματα) ανταγωνίζονται, συνήθως για διεκδίκηση πόρων Κάθε παίκτης αποφασίζει μόνο τη δική του στρατηγική στόχος: ελαχιστοποίηση ατομικού κόστους Το ατομικό κόστος εξαρτάται από τις στρατηγικές όλων 67

69 Μη συνεργατικά παίγνια Ισορροπία Nash: κανείς δεν βελτιώνει το ατομικό του κόστος αλλάζοντας μόνο τη δική του στρατηγική. Nash (1952): απέδειξε ότι πάντα υπάρχει τέτοια ισορροπία (αλλά μπορεί να είναι μεικτή mixed). Η ισορροπία Nash αποτελεί «λύση» του συστήματος: αν οι παίκτες συμπεριφερθούν στρατηγικά και λογικά και έχουν στη διάθεσή τους πλήρη γνώση και επαρκή χρόνο, τότε καταλήγουν σε μία ισορροπία Nash. 68

70 Ισορροπία Nash Δίλημμα φυλακισμένων: συλλαμβάνονται δύο διαρρήκτες, συνεργάτες σε μεγάλη κλοπή. Κρατούνται σε χωριστά κελιά χωρίς επικοινωνία Ομολογεί Β Δεν ομολογεί Β Ομολογεί Α 5, 5 0, 15 Δεν ομολογεί Α 15, 0 1, 1 Αποτέλεσμα: και οι δύο ομολογούν! Ισορροπία Nash δεν βελτιστοποιεί συνολικό αποτέλεσμα 69

71 Ισορροπία Nash: ερωτήματα Τίμημα αναρχίας: πόσο "άσχημα" μπορεί να συμπεριφερθεί το σύστημα; Λόγος συνολικού κόστους χειρότερης ισορροπίας προς βέλτιστη συνεργατική λύση [Koutsoupias, Papadimitriou, 1999] Μπορούμε να βρούμε την "χειρότερη" ισορροπία; Οποιαδήποτε ισορροπία; σύμφωνα με ισχυρές ενδείξεις δυσεπίλυτο πρόβλημα: πλήρες για την κλάση PPAD. [Daskalakis, Goldberg, Papadimitriou, 2005] [Chen, Deng, 2005] «If your laptop can't find it, neither can the market!» - Kamal Jain (Microsoft Research) 70

72 Linear Programming 71

73 Επιτυχίες-σταθμοί Θεωρίας Αλγορίθμων και Πολυπλοκότητας Linear Programming [Dantzig - von Neumann, 1947, Khachiyan, 1979, Karmakar, 1984] Fast Fourier Transform [Cooley-Tukey, 1965 (αλλά και Gauss, 1805)] NP-πληρότητα [Cook-Karp, ]: αδυναμία αποδοτικής επίλυσης πολλών σημαντικών προβλημάτων Κρυπτογραφία δημοσίου κλειδιού [Diffie-Hellman, Rivest-Shamir-Adleman, ] 72

74 Επιτυχίες-σταθμοί Θεωρίας Αλγορίθμων και Πολυπλοκότητας Pagerank (Google) [Page-Brin-Motwani-Winograd, ] Κβαντικοί υπολογισμοί [Shor, 1996]: παραγοντοποίηση σε πολυωνυμικό χρόνο Θεώρημα PCP, μη-προσεγγισιμότητα [Arora-Feige-Goldwasser-Lund-Lovasz-Motwani-Safra- Sudan-Szegedy, ] Δυσκολία υπολογισμού ισορροπιών Nash [Goldberg-Daskalakis-Papadimitriou, Chen-Deng, 2005] Bitcoin [Nakamoto, 2009] 73

75 Συνοψίζοντας Η σημασία των Αλγορίθμων και της Θεωρίας αυξάνεται όσο αυξάνονται οι υπολογιστικές δυνατότητες. Διαρκώς νέες υπολογιστικές προκλήσεις. Ανάγκη για νέους αλγορίθμους και τεχνικές. Η ανάλυση της υπολογιστικής πολυπλοκότητας και η θεωρητική μελέτη αλγορίθμων και προβλημάτων γίνεται όλο και πιο απαραίτητη. 74

76

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνοσεμφε 2η ενότητα: Αλγοριθμικές τεχνικές, αριθμητικοί υπολογισμοί Διδάσκοντες Θεωρία: Στάθης Ζάχος, Άρης Παγουρτζής Εργαστήριο: Δώρα Σούλιου Βοηθός διδασκαλίας:

Διαβάστε περισσότερα

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ 3η ενότητα: Αλγοριθμικές τεχνικές, αριθμητικοί υπολογισμοί Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/focs

Διαβάστε περισσότερα

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνοσεμφε 2η ενότητα: Αλγοριθμικές τεχνικές, αριθμητικοί υπολογισμοί Διδάσκοντες Θεωρία: Στάθης Ζάχος, Άρης Παγουρτζής Εργαστήριο: Δώρα Σούλιου Βοηθός διδασκαλίας:

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 4η ενότητα: Αλγοριθμικές τεχνικές, αριθμητικοί υπολογισμοί Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

Διαβάστε περισσότερα

Θεµελιώδη Θέµατα. 5ο εξάµηνο ΣΕΜΦΕ. Αλγοριθµικές τεχνικές, αριθµητικοί υπολογισµοί. 3η ενότητα:

Θεµελιώδη Θέµατα. 5ο εξάµηνο ΣΕΜΦΕ. Αλγοριθµικές τεχνικές, αριθµητικοί υπολογισµοί. 3η ενότητα: Θεµελιώδη Θέµατα Επιστήµης Υπολογιστών 5ο εξάµηνο ΣΕΜΦΕ 3η ενότητα: Αλγοριθµικές τεχνικές, αριθµητικοί υπολογισµοί Επιµέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/focs

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αριθμοθεωρητικοί Αλγόριθμοι

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣΕΜΦΕ http://www.corelab.ece.ntua.gr/courses/ 1η ενότητα: Εισαγωγή, Αλγόριθμοι ιδάσκοντες Στάθης Ζάχος, Άρης Παγουρτζής, Κλειώ Σγουροπούλου Βοηθός διδασκαλίας:

Διαβάστε περισσότερα

Επιτυχίες της Αλγοριθμικής. Εισαγωγή στην Επιστήμη των Υπολογιστών. Περιεχόμενα. Εισαγωγή. Εισαγωγή. Κεντρικό ερώτημα Επιστήμης Υπολογιστών

Επιτυχίες της Αλγοριθμικής. Εισαγωγή στην Επιστήμη των Υπολογιστών. Περιεχόμενα. Εισαγωγή. Εισαγωγή. Κεντρικό ερώτημα Επιστήμης Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσεμφε http://www.corelab.ece.ntua.gr/courses/ 1η ενότητα: Εισαγωγή, Αλγόριθμοι ιδάσκοντες Στάθης Ζάχος, Άρης Παγουρτζής, Κλειώ Σγουροπούλου Βοηθός διδασκαλίας:

Διαβάστε περισσότερα

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Κρυπτογραφία Δημοσίου Κλειδιού Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κρυπτοσύστημα

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

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

Διαβάστε περισσότερα

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας Κρυπτογραφία Έλεγχος πρώτων αριθών-παραγοντοποίηση Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία

Διαβάστε περισσότερα

Υπολογιστική Πολυπλοκότητα

Υπολογιστική Πολυπλοκότητα Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθµου Α: Ποσότητα υπολογιστικών πόρων που απαιτεί Α ως αύξουσα συνάρτηση µεγέθους στιγµιότυπου εισόδου. Χρόνος, µνήµη, επεξεργαστές, επικοινωνία,

Διαβάστε περισσότερα

Κρυπτογραφία Δημοσίου Κλειδιού

Κρυπτογραφία Δημοσίου Κλειδιού Στοιχεία Θεωρίας Αριθμών και Εφαρμογές στην Κρυπτογραφία Κρυπτογραφία Δημοσίου Κλειδιού Άρης Παγουρτζής Στάθης Ζάχος Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Εθνικού Mετσόβιου Πολυτεχνείου

Διαβάστε περισσότερα

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε: Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C

Διαβάστε περισσότερα

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»

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

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

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

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

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

Διαβάστε περισσότερα

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Στοιχεία Αλγορίθµων και Πολυπλοκότητας Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 10: Αριθμητική υπολοίπων - Κυκλικές ομάδες: Διαιρετότητα - Ευκλείδειος αλγόριθμος - Κατάλοιπα Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1 Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος

Διαβάστε περισσότερα

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

ΑΛΓΟΡΙΘΜΟΙ  Άνοιξη I. ΜΗΛΗΣ ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf161/ Άνοιξη 2016 - I. ΜΗΛΗΣ ΠΑΡΑΔΕΙΓΜΑΤΑ ΑΛΓΟΡΙΘΜΩΝ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 2016 - Ι. ΜΗΛΗΣ - 03 - EXAMPLES ALG & COMPL 1 Example: GCD συνάρτηση

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο Σ.H.M.Μ.Y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 1η ενότητα: Εισαγωγή, Αλγόριθμοι Επιμέλεια: Πάνος Χείλαρης, Βαγγέλης Μπαμπάς, Γεωργία Καούρη

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 3η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού: υπολογιστικά προβλήματα, υπολογισιμότητα, πολυπλοκότητα Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης

Διαβάστε περισσότερα

Αλγόριθμοι. Κεφάλαιο Αλγόριθμοι και Πολυπλοκότητα Τι είναι αλγόριθμος

Αλγόριθμοι. Κεφάλαιο Αλγόριθμοι και Πολυπλοκότητα Τι είναι αλγόριθμος Κεφάλαιο 5 Αλγόριθμοι 5.1 Αλγόριθμοι και Πολυπλοκότητα Η ονομασία Αλγόριθμος προέρχεται από το όνομα του Αραβα Μαθηματικού Al-Khowârizmi (με καταγωγή από το Ουζμπεκιστάν, που έζησε στη Βαγδάτη τον 9ο αιώνα

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 2.0 Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Πολυπλοκότητα Αναδρομικές Σχέσεις Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων

Διαβάστε περισσότερα

ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ

ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ Το πρόβλημα: Δεδομένα: δύο ακέραιοι a και b Ζητούμενο: ο μέγιστος ακέραιος που διαιρεί και τους δύο δοσμένους αριθμούς, γνωστός ως Μέγιστος Κοινός Διαιρέτης τους (Greatest

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Θεωρία Υπολογισµού Theory of Computation

Θεωρία Υπολογισµού Theory of Computation 1 ο µέρος Θεωρία Υπολογισµού Theory of Computation 1 Υπολογισιµότητα - Computability o Υπολογισιµότητα (Computability) n Τι µπορεί να υπολογιστεί και τι όχι; o Υπολογιστική πολυπλοκότητα (Computational

Διαβάστε περισσότερα

* * * ( ) mod p = (a p 1. 2 ) mod p.

* * * ( ) mod p = (a p 1. 2 ) mod p. Θεωρια Αριθμων Εαρινο Εξαμηνο 2016 17 Μέρος Α: Πρώτοι Αριθμοί Διάλεξη 1 Ενότητα 1. Διαιρετότητα: Διαιρετότητα, διαιρέτες, πολλαπλάσια, στοιχειώδεις ιδιότητες. Γραμμικοί Συνδυασμοί (ΓΣ). Ενότητα 2. Πρώτοι

Διαβάστε περισσότερα

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

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων Παρουσίαση και ανάλυση αλγορίθμου για πρόσθεση Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 1 Αλγόριθμοι και Πολυπλοκότητα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Εισαγωγή Ας ξεκινήσουμε

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

Διαβάστε περισσότερα

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Ανάλυση Αλγορίθμων Θέματα Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα Προσεγγίσεις: Θεωρητική ανάλυση Εμπειρική ανάλυση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Θεωρητική

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Χρήστος Κούτρας Γιώργος

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο ΣHMΜY Εισαγωγή Διδάσκοντες: Άρης Παγουρτζής, Δώρα Σούλιου Στάθης Ζάχος, Δημήτρης Σακαβάλας Επιμέλεια διαφανειών: Άρης Παγουρτζής www.corelab.ntua.gr/courses/algorithms

Διαβάστε περισσότερα

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών http://www.corelab.ntua.gr/courses/ Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ Ενότητα 0: Εισαγωγή Διδάσκοντες: Στάθης Ζάχος, Άρης Παγουρτζής Υπεύθυνη εργαστηρίου / ασκήσεων: Δώρα Σούλιου

Διαβάστε περισσότερα

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Κεφάλαιο 5 Ανάλυση Αλγορίθμων Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

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

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ Κρυπτογραφία Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Ησυνάρτησηφ(.) του Euler Για κάθε ακέραιο n> 0, έστω φ(n) το πλήθος των ακεραίων στο διάστημα [1, n] που

Διαβάστε περισσότερα

Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018

Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018 Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018 Αλγόριθμοι Ρυθμός αύξησης συναρτήσεων [Rosen 3.2] Αριθμητικές συναρτήσεις Τάξη αριθμητικών συναρτήσεων

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 25 Φεβρουαρίου 2015 1 / 53 Περιεχόµενα

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο

Εθνικό Μετσόβιο Πολυτεχνείο Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία PROJECT Συνοπτική Παρουσίαση του Κβαντικού Αλγόριθμου Παραγοντοποίησης

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Θεωρία αριθμών Αλγεβρικές δομές. Χρήστος Ξενάκης

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Θεωρία αριθμών Αλγεβρικές δομές. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Θεωρία αριθμών Αλγεβρικές δομές Χρήστος Ξενάκης Το σύνολο των ακεραίων Ζ = {..., -2, -1, 0, 1, 2,...} Το σύνολο των φυσικών Ν = {0, 1, 2,...}

Διαβάστε περισσότερα

Πρόβληµα 2 (15 µονάδες)

Πρόβληµα 2 (15 µονάδες) ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ, 2013-2014 ΔΙΔΑΣΚΩΝ: Ε. Μαρκάκης Πρόβληµα 1 (5 µονάδες) 2 η Σειρά Ασκήσεων Προθεσµία Παράδοσης: 19/1/2014 Υπολογίστε

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 4: Αναδρομικές σχέσεις και ανάλυση αλγορίθμων Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

project RSA και Rabin-Williams

project RSA και Rabin-Williams Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών project RSA και Rabin-Williams Στοιχεία Θεωρίας Αριθμών& Εφαρμογές στην Κρυπτογραφία Ονοματεπώνυμο Σπουδαστών: Θανάσης Ανδρέου

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 2: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 1η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού: υπολογιστικά προβλήματα, υπολογισιμότητα, πολυπλοκότητα Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣHMΜY

Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣHMΜY Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣHMΜY 2η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού: υπολογιστικά προβλήματα, υπολογισιμότητα, πολυπλοκότητα Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης

Διαβάστε περισσότερα

οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ

οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ ΕΝΟΤΗΤΑ 1 ΕΙΣΑΓΩΓΗ 1 εδοµένα Σύνολο από πληροφορίες που πρέπει να αποθηκευτούν σε έναν υπολογιστή Υπολογιστικό Μοντέλο ένας επεξεργαστής και µεγάλος

Διαβάστε περισσότερα

ΥΠΟΛΟΓΙΣΤΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

ΥΠΟΛΟΓΙΣΤΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ ΥΠΟΛΟΓΙΣΤΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Εισαγωγή Άρης Παγουρτζής Στάθης Ζάχος Σχολή ΗΜΜΥ ΕΜΠ Διοικητικά του μαθήματος Διδάσκοντες Στάθης Ζάχος Άρης Παγουρτζής Πέτρος Ποτίκας (2017-18) Βοηθοί διδασκαλίας Παναγιώτης Γροντάς

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

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

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Ζωή Παρασκευοπούλου Νίκος

Διαβάστε περισσότερα

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3 Η Aσύμμετρη Kρυπτογραφία ή Κρυπτογραφία Δημοσίου Κλειδιού χρησιμοποιεί δύο διαφορετικά κλειδιά για την κρυπτογράφηση και αποκρυπτογράφηση. Eπινοήθηκε στο τέλος της δεκαετίας

Διαβάστε περισσότερα

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Εισαγωγή στη Θεωρία Αριθμών Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Διαιρετότητα Ορισμός

Διαβάστε περισσότερα

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r.

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r. Κεφάλαιο 2 Θεωρία Αριθμών Κύριες βιβλιογραφικές αναφορές για αυτό το Κεφάλαιο είναι οι Hardy and Wright 1979 και Graham, Knuth, and Patashnik 1994. 2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί Θεώρημα 2.1 Αν

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Δημήτριος Μπάκας Αθανάσιος

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ασύμμετρη Κρυπτογράφηση (Κρυπτογραφία Δημόσιου Κλειδιού) Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org

Διαβάστε περισσότερα

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

Διαβάστε περισσότερα

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Εισαγωγή στη Θεωρία Αριθμών Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

Διαβάστε περισσότερα

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Εισαγωγή στη Θεωρία Αριθμών Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων

Διαβάστε περισσότερα

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA Αριθµοθεωρητικοί Αλγόριθµοι και το Κρυπτοσύστηµα RSA Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Υπολογισµός Μέγιστου Κοινού ιαιρέτη Αλγόριθµος του Ευκλείδη Κλάσεις Ισοδυναµίας και Αριθµητική modulo

Διαβάστε περισσότερα

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Εισαγωγή στη Θεωρία Αριθμών Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1

Διαβάστε περισσότερα

Εφαρμοσμένη Κρυπτογραφία Ι

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Ησυνάρτησηφ(.) του Euler Για κάθε ακέραιο n> 0, έστω φ(n) το πλήθος των ακεραίων στο διάστημα

Διαβάστε περισσότερα

Ανάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035).

Ανάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035). Ανάλυση Αλγορίθµων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Ανάλυση αλγορίθµων Ο, Θ, Ω Ανάλυση µη αναδροµικών αλγόριθµων Ανάλυση αναδροµικών αλγόριθµων Εµπειρική Ανάλυση Visualization Απόδοση Αλγορίθµων Απόδοση

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

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

Διαβάστε περισσότερα

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 2 ΕΠΙΜΕΛΕΙΑ :ΣΤΟΥΚΑ ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ:ΜΠΛΑ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 2 ΕΠΙΜΕΛΕΙΑ :ΣΤΟΥΚΑ ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ:ΜΠΛΑ Η Alice θέλει να στείλει ένα μήνυμα m(plaintext) στον Bob μέσα από ένα μη έμπιστο κανάλι και να μην μπορεί να το

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Ασύμμετρη Κρυπτογραφία. Χρήστος Ξενάκης

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Ασύμμετρη Κρυπτογραφία. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Ασύμμετρη Κρυπτογραφία Χρήστος Ξενάκης Ασύμμετρη κρυπτογραφία Μονόδρομες συναρτήσεις με μυστική πόρτα Μια συνάρτηση f είναι μονόδρομη, όταν δοθέντος

Διαβάστε περισσότερα

Αλγοριθμική Θεωρία Παιγνίων: Εισαγωγή και Βασικές Έννοιες

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

Διαβάστε περισσότερα

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Πως θα υπολογίσουμε το χρόνο εκτέλεσης ενός αλγόριθμου; Για να απαντήσουμε

Διαβάστε περισσότερα

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ 2η ενότητα: Βασικές έννοιες θεωρίας υπολογισμού: υπολογιστικά προβλήματα, υπολογισιμότητα, πολυπλοκότητα Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης

Διαβάστε περισσότερα

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Εισαγωγή στη Θεωρία Αριθμών Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Υπολογιστική

Διαβάστε περισσότερα

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή

Διαβάστε περισσότερα

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτογραφία Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτοσυστήματα Δημοσίου κλειδιού Αποστολέας P Encryption C Decryption P Παραλήπτης Προτάθηκαν το 1976 Κάθε συμμετέχων στο

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429

Διαβάστε περισσότερα

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 2: Ανάλυση Αλγορίθμων. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 2: Ανάλυση Αλγορίθμων Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Εισαγωγή στη Θεωρία Αριθμών Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1

Διαβάστε περισσότερα

5.1. Προσδοκώμενα αποτελέσματα

5.1. Προσδοκώμενα αποτελέσματα 5.1. Προσδοκώμενα αποτελέσματα Όταν θα έχεις ολοκληρώσει τη μελέτη αυτού του κεφαλαίου θα έχεις κατανοήσει τις τεχνικές ανάλυσης των αλγορίθμων, θα μπορείς να μετράς την επίδοση των αλγορίθμων με βάση

Διαβάστε περισσότερα

Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA

Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης Κρυπτογραφία Δημόσιου Κλειδιού -RSA 1 Κρυπτογραφία Δημόσιου Κλειδιού - Ιστορία Ηνωμένες Πολιτείες 1975: Ο Diffie οραματίζεται

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 1 Εισαγωγικές έννοιες Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 1 1 / 57 Περιεχόµενα 1.

Διαβάστε περισσότερα

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

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ Μαθηματικά Πληροφορικής 2ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.

Διαβάστε περισσότερα

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος Μορφές αποδείξεων Μαθηματικά Πληροφορικής ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.

Διαβάστε περισσότερα

Δυναμικός Προγραμματισμός

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

Διαβάστε περισσότερα

Αναδρομικοί Αλγόριθμοι

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας

Διαβάστε περισσότερα

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

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Καλογερόπουλος Παναγιώτης

Διαβάστε περισσότερα

Διαιρετότητα Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία. Ακέραια διαίρεση. Διαιρετότητα. ΜΚΔ: χρήσιμες ιδιότητες

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

Διαβάστε περισσότερα

Πρόβληµα 2 (12 µονάδες)

Πρόβληµα 2 (12 µονάδες) ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ, 2015-2016 ΔΙΔΑΣΚΟΝΤΕΣ: Ε. Μαρκάκης, Θ. Ντούσκας Λύσεις 2 ης Σειράς Ασκήσεων Πρόβληµα 1 (12 µονάδες) 1) Υπολογίστε τον

Διαβάστε περισσότερα

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

Διαβάστε περισσότερα