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

Σχετικά έγγραφα
Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

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

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

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

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

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

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

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

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

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

Fortran και Αντικειμενοστραυής προγραμματισμός. 3ε ελόηεηα

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Ενδεικτικά Θέματα Στατιστικής ΙΙ

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

Χαξαθηήξεο δηαηξεηόηεηαο ΜΚΓ ΔΚΠ Αλάιπζε αξηζκνύ ζε γηλόκελν πξώησλ παξαγόλησλ

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Αντισταθμιστική ανάλυση

ΓΙΑΙΡΔΣΟΣΗΣΑ. Οπιζμόρ 1: Έζηω d,n. Λέκε όηη ν d δηαηξεί ηνλ n (ζπκβνιηζκόο: dn) αλ. ππάξρεη c ηέηνην ώζηε n. Θεώπημα 2: Γηα d,n,m,α,b ηζρύνπλ:

ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ. Αθροίσματα, Γινόμενα και Ασσμπτωτικές Εκτιμήσεις

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ

ΒΑΙΚΆ ΣΟΙΧΕΊΑ ΘΕΩΡΊΑ ΑΡΙΘΜΏΝ 27/11/2015 1

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Τμήμα Πληποθοπικήρ ΠΜΣ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

1. Άζξνηζκα. Να ππνινγηζηεί ην άζξνηζκα κε ηελ ηερληθή ηεο εμίζσζεο αζξνίζκαηνο. Χξεζηκνπνηνύκε ηνλ ηύπν: ( ) ( )

ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β )

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

x x x x tan(2 x) x 2 2x x 1

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Ο γεωκεηξηθόο ηόπνο ηωλ εηθόλωλ ηωλ κηγαδηθώλ αξηζκώλ z είλαη ν θύθινο κε θέληξν ηελ αξρή ηωλ αμόλωλ θαη αθηίλα ξ=2.

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

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: /27 Υπνδίθηπν Β:

ΓΙΑΙΡΔΣΔ ΦΤΙΚΟΤ ΑΡΙΘΜΟΤ Μ.Κ.Γ. ΦΤΙΚΏΝ ΑΡΙΘΜΏΝ

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΕΚΦΩΝΗΣΕΙΣ. Διάρκεια: 3 ώρες Ημερομηνία: 12/5/2019 Έκδοση: 1 η. Τα sites blogs που συμμετέχουν (σε αλφαβητική σειρά):

Δξγαιεία Καηαζθεπέο 1 Σάμε Δ Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ. ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Ογθνκεηξηθό δνρείν

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

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

Ανάπηςξη Δθαπμογών ζε Ππογπαμμαηιζηικό Πεπιβάλλον

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

ΓΗΜΟΙΑ ΟΙΚΟΝΟΜΙΚΗ ΣΟΜΟ Γ

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

ΔΙΑΓΩΝΙΣΜΑ ΦΥΣΙΚΗΣ Α ΛΥΚΕΙΟΥ

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

ΕΞΙΣΩΣΕΙΣ. (iv) (ii) (ii) (ii) 5. Γηα ηηο δηάθνξεο ηηκέο ηνπ ι λα ιπζνύλ νη εμηζώζεηο : x 6 3 9x

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

Δομή επανάλητηρ Ενηολή Όζο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

Transcript:

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

Αλγόριθμος 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

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

Η ιδέα του Ευκλείδη για εύρεση ΜΚΔ δύο φυσικών αριθμών 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 Ο Εςκλείδειορ αλγόπιθμορ είναι ο καλύηεπορ γνυζηόρ αλγόπιθμορ για ΜΚΔ! Αλνηρηό εξώηεκα: είλαη βέιηηζηνο; 4

Παράδειγμα εκτέλεσης του Ευκλείδειου αλγόριθμου ΜΚΓ ησλ 172 θαη 54 10 54 10 4 2 4 2 0 ΜΚΓ = 2 5

Αριθμοί Fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, F n = F n-1 + F n-2 Πξόβιεκα: δίλεηαη n, ππνιόγηζε ηνλ F n Αλαδξνκή (recursion), επαλάιεςε (iteration), Πόζν γξήγνξα κπνξεί λα ππνινγηζηεί ν F n ; O(1.618 n ), O(n), O(log n) 6

Τρίγωνο Pascal (Yang Hui) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 Γησλπκηθνί ζπληειεζηέο / ζπλδπαζκνί: (a+b) 4 = a 4 + 4a 3 b + 6a 2 b 2 + 4ab 3 + b 4 7

Αλγοριθμικές τεχνικές Δπαλάιεςε (Iteration) Αλαδξνκή (Recursion) Δπαγσγή (Induction) 8

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

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

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

Πύργοι Ανόι (Hanoi Towers): επανάληψη Δπαλάιαβε (κέρξη λα επηηεπρζεί ε κεηαθίλεζε): Μεηαθίλεζε θαηά ηε ζεηηθή θνξά ηνλ κηθξόηεξν δίζθν Κάλε ηελ κνλαδηθή επηηξεπηή θίλεζε πνπ δελ αθνξά ηνλ κηθξόηεξν δίζθν 12

Treesort με χρήση Binary Search Tree 13

Δίκτυα Ταξινόμησης (Sorting Networks) Σπγθξηηήο Γίθηπν ηαμηλόκεζεο 4 εηζόδσλ 14

Four Color Theorem (1852-1977) Πόζα ρξώκαηα απαηηνύληαη γηα ηνλ ρξσκαηηζκό όισλ ησλ ρσξώλ, ώζηε ρώξεο πνπ ζπλνξεύνπλ (κε γξακκή γηα ζύλνξν) λα έρνπλ δηαθνξεηηθό ρξώκα; 15

Four Color Theorem (1852-1977) Πόζα ρξώκαηα απαηηνύληαη γηα ηνλ ρξσκαηηζκό όισλ ησλ ρσξώλ, ώζηε ρώξεο πνπ ζπλνξεύνπλ (κε γξακκή γηα ζύλνξν) λα έρνπλ δηαθνξεηηθό ρξώκα; 16

Four Color Theorem (1852-1977) Πόζα ρξώκαηα απαηηνύληαη γηα ηνλ ρξσκαηηζκό όισλ ησλ ρσξώλ, ώζηε ρώξεο πνπ ζπλνξεύνπλ (κε γξακκή γηα ζύλνξν) λα έρνπλ δηαθνξεηηθό ρξώκα; Appel - Haken (απόδεημε κε πξόγξακκα!) 17

Μαθηματικοί συμβολισμοί (i) 18

Μαθηματικοί συμβολισμοί (ii) 19

Μαθηματικοί συμβολισμοί (iii) 20

Μαθηματικοί συμβολισμοί: ιδιότητες Σπρλά γξάθνπκε (θαηαρξεζηηθά) 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

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

Μαθηματικοί συμβολισμοί: ιδιότητες Θεώρημα. log(n!) = Θ(n logn) Απόδειξη: αζςμπηυηικά ηζρύεη (n/2) n/2 < n! < n n => 1/2 n (logn - 1) < log(n!) < n logn => 1/3 n logn < log(n!) < n logn 23

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

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

Απόδειξη: Τ(n) + cn T(n/2) T(n/2) T(n/2) T(n/2) + 4 c(n/2) Φξνλ. πνι/ηα Ύςνο δέλδξνπ T(n/4) T(n/4).......................................................... T(2).......... + 16 c(n/4)... + 4 (k-1) c(n/2 (k-1) ) <(4/2) k cn 2 (logn+1) cn = O(n 2 ).............. T(1) T(1).... 4 k θύιια, ρξνληθή πνιππι/ηα α. 4 k = O(n 2 ) Σςνολικά: O(n 2 ) 26

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

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

Απόδειξη: Τ(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)......... + 9 c(n/4) <2. (3/2) k cn.. 6. (3/2) (logn) cn + 3 (k-1) c(n/2 (k-1) ). = O(n log3 ).............. T(1) T(1).... 3 k θύιια, ρξνληθή πνιππι/ηα α. 3 k = O(3 logn ) = O(n log3 ) Σςνολικά: O(n log3 ) 29

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 30

Ύςνο δέλδξνπ Απόδειξη: Τ(n) T(n/b) T(n/b) T(n/b) T(n/b 2 ) T(n/b 2 ).......................................................... a... a.......................... T(1) T(1).... + cn + a c(n/b) + a 2 c(n/b 2 ). + a (k-1) c(n/b (k-1) ) =.. Φξνλ. πνι/ηα cn Σ 0 k (a/b) i O(n), αλ 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 ) 31

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 32

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 ) 33

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

Εύρεση Μέγιστου Κοινού Διαιρέτη (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) 35

Πολυπλοκότητα Ευκλείδειου Αλγορίθμου O(log max(a,b)): ζε θάζε 2 επαλαιήςεηο ν κεγαιύηεξνο αξηζκόο ππνδηπιαζηάδεηαη (γηαηί;) Ω(log max(a,b)): γηα δεύγε δηαδνρηθώλ αξηζκώλ Fibonacci F k-1, F k, ρξεηάδεηαη k επαλαιήςεηο, θαη k log F k, αθνύ F k θ k / 5, θ = (1+ 5)/2 (θ ε σπςζή ηομή). Άξα ε πνιππινθόηεηα ηνπ Δπθιείδεηνπ είλαη Θ(log max(a,b)) = Θ(log (a+b)) 36

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

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

... με επαναλαμβανόμενο τετραγωνισμό (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 1. 2 3 +1. 2 2 +0. 2 1 +1. 2 0 Πνιππινθόηεηα: O(log n) - πνιπσλπκηθή 39

Αριθμοί 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 Πόζν γξήγνξν κπνξεί λα είλαη ην πξόγξακκά καο; 40

Αριθμοί 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) > F(n) = Ω(1.618 n ) 41

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

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

Χρόνος εκτέλεσης αλγορίθμων Θεσξήζηε 4 πξνγξάκκαηα κε αξηζκό βεκάησλ O(2 n ), O(n 2 ), O(n), θαη O(logn) πνπ ην θαζέλα ρξεηάδεηαη 1 δεπηεξόιεπην γηα λα ππνινγίζεη ην F(100). Πόζα δεπηεξόιεπηα ζα ρξεηαζηνύλ γηα λα ππνινγίζνπλ ην F(n); F(100) F(101) F(110) F(200) c. 2 n c. n 2 c. n c. logn 1 1 1 1 2 1.02 1.01 1.002 1024 1.21 1.1 1.02?????? 4 2 1.15 44

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

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

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

Κρυπτοσύστημα 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=9 Ζ αζθάιεηα ηνπ RSA ζηεξίδεηαη ζηελ (εκηιμώμενη, δελ ππάξρεη αθόκε απόδεημε!) ππνινγηζηηθή πνιππινθόηεηα ηεο παξαγνληνπνίεζεο (factoring). Ζ ιεηηνπξγία ηνπ RSA ζηεξίδεηαη ζε αποδοηικούρ αλγόπιθμοςρ γηα: primality testing (Miller-Rabin), ύςσζε ζε δύλακε modulo n (επαλαιακβαλόκελνο ηεηξαγσληζκόο) θαη εύξεζε αληηζηξόθνπ modulo θ(n) (επεθηεηακέλνο Δπθιείδεηνο). 48

Ψηφοφορίες (social choice) Δθινγέο (βνπιεπηηθέο, πξπηαληθέο ;-)) Λήςε απνθάζεσλ ζε εηαηξείεο, νξγαληζκνύο,... Φξήζε ζηνλ παγθόζκην ηζηό: ηζηνζειίδεο "ςεθίδνπλ" ηζηνζειίδεο δείρλνληαο ζε απηέο ρξήζηεο "ςεθίδνπλ" ηζηνζειίδεο αλάινγα κε ηνλ ρξόλν πνπ μνδεύνπλ ζε απηέο Κνηλσληθά δίθηπα (social networks) friends, followers 49

Ψηφοφορίες (social choice) Πιεζώξα εθινγηθώλ ζπζηεκάησλ Τν πιεηνςεθηθό δελ είλαη πάληα δίθαην: 20 24 26 30 z x y w y z x w Ο ληθεηήο ππνζηεξίδεηαη κόλν από ην 30% Δίλαη ηειεπηαία πξνηίκεζε γηα ην 70%! x z y w w z x y 50

Ψηφοφορίες: κι άλλα παράδοξα Καη ην "απόιπην" πιεηνςεθηθό παξνπζηάδεη παξάδνμα: νη x, w πεξλνύλ ζηνλ 2 ν γύξν ν x θεξδίδεη κε 70%, παξ όιν πνπ 74% πξνηηκνύλ ηνλ z από ηνλ x (ν z έθπγε από ηνλ 1 ν γύξν!). 20 24 26 30 z x y w y z x w x z y w w z x y 51

Ψηφοφορίες: υπολογιστικές προκλήσεις Γηθαηόηεξα ζπζηήκαηα κπνξεί λα απαηηνύλ πνιύ κεγάιν ρξόλν ππνινγηζκνύ ηνπ ληθεηή (ππνινγηζηηθά απξόζηην) γηα ην ζύζηεκα ηνπ Dodgson (γλσζηόο θαη σο Lewis Caroll, 19 νο αηώλαο) ην πξόβιεκα είλαη πιήξεο γηα κηα θιάζε πνιππινθόηεηαο επξύηεξε ηεο NP Θέινπκε ν ππνινγηζκόο ηνπ ληθεηή λα είλαη ππνινγηζηηθά πξνζηηόο 52

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

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

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

Ισορροπία Nash Γίιεκκα θπιαθηζκέλσλ: ζπιιακβάλνληαη δύν δηαξξήθηεο, ζπλεξγάηεο ζε κεγάιε θινπή. Κξαηνύληαη ζε ρσξηζηά θειηά ρσξίο επηθνηλσλία Οκνινγεί Β Γελ νκνινγεί Β Οκνινγεί Α 5, 5 0, 15 Γελ νκνινγεί Α 15, 0 1, 1 Απνηέιεζκα: ακθόηεξνη νκνινγνύλ! Ηζνξξνπία Nash δελ βειηηζηνπνηεί ζπλνιηθό απνηέιεζκα 56

Ισορροπία 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) 57

Linear Programming 58

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

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

Συμπεράσματα Πνιιά ζύγρξνλα ζπζηήκαηα ζηεξίδνληαη ζηελ ηαρύηεηα ππνινγηζκώλ πνπ επηηπγράλεηαη κέζσ απνδνηηθώλ αιγνξίζκσλ. Ζ ππνινγηζηηθή δπζθνιία νξηζκέλσλ πξνβιεκάησλ (π.ρ. factoring) κπνξεί λα είλαη επηζπκεηή (θξππηνγξαθία, εθινγέο). Τα καζεκαηηθά είλαη πάληα επίθαηξα! 61