Μαθηµατικά για Πληροφορική

Σχετικά έγγραφα
Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Εισαγωγή. Υπολογιστική Αλγεβρα. Μάθηµα 7

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

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

Fast Fourier Transform

Αριθµητικές Μέθοδοι και Προγραµµατισµός Αριθµητική Ανάλυση (ή Επιστηµονικοί Υπολογισµοί)

Αριθµητική Ανάλυση. Τµήµα Α ( Αρτιοι) : Καθηγητής Ν.Μισυρλής,Τµήµα Β (Περιττοί) : Επίκ. Αριθµητική Καθηγητής Ανάλυση Φ.Τζαφέρης

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

QR είναι ˆx τότε x ˆx. 10 ρ. Ποιά είναι η τιµή του ρ και γιατί (σύντοµη εξήγηση). P = [X. 0, X,..., X. (n 1), X. n] a(n + 1 : 1 : 1)

1.4 Αριθμητική υπολογιστών και σφάλματα

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

Επιστημονικοί Υπολογισμοί (ή Υπολογιστική Επιστήμη)

Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις σας)

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

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

Μαθηµατικά για Πληροφορική

Τελική Εξέταση 10 Φεβρουαρίου 2017 ιάρκεια εξέτασης 2 ώρες και 30 λεπτά

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

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

H mèjodoc Sturm. Mˆjhma AkoloujÐec Sturm

Να γράψετε 5 φυσικούς αριθμούς ξεκινώντας από τον μικρότερο. Ποιοι αριθμοί λέγονται ρητοί και ποιοι άρρητοι;

Εφαρμοσμένα Μαθηματικά

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Κεφάλαιο 0. Μεταθετικοί ακτύλιοι, Ιδεώδη

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

όπου είναι γνήσια. ρητή συνάρτηση (δηλαδή ο βαθµός του πολυωνύµου υ ( x)

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις

Πράξεις με δυαδικούς αριθμούς

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

Αρχιτεκτονικές Υπολογιστών

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

Αριθµητική Ανάλυση. Ενότητα 1 Σφάλµατα στους Αριθµητικούς Υπολογισµούς. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

Επίλυση Γραµµικών Συστηµάτων

Αριθμητική Ανάλυση & Εφαρμογές

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

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

Συστήµατα και Αλγόριθµοι Πολυµέσων

Ορια Συναρτησεων - Ορισµοι

Γραµµική Αλγεβρα. Ενότητα 2 : Επίλυση Γραµµικών Εξισώσεων. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

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

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

ιαιρετότητα Στοιχεία Θεωρίας Αριθµών «Ο Αλγόριθµος της ιαίρεσης» Αριθµητική Υπολοίπων 0 r < d και a = d q +r

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

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

Εφαρμοσμένα Μαθηματικά ΙΙ

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

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #1: ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟ ΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ ΕΠΙΜΕΛΕΙΑ: Σ.

Κεφάλαιο 3β. Ελεύθερα Πρότυπα (µέρος β)

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

Γραµµική Αλγεβρα. Ενότητα 2 : Επίλυση Γραµµικών Εξισώσεων. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών

Σύστημα Πλεονάσματος και Αναπαράσταση Αριθμών Κινητής Υποδιαστολής

ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΞΙΣΩΣΕΩΝ

x 2 = b 1 2x 1 + 4x 2 + x 3 = b 2. x 1 + 2x 2 + x 3 = b 3

Δ/νση Β /θµιας Εκπ/σης Φλώρινας Κέντρο ΠΛΗ.ΝΕ.Τ. Πολυώνυµα ΠΟΛΥΩΝΥΜΑ ΑΚΕΡΑΙΑ ΠΟΛΥΩΝΥΜΑ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Απαντήσεις θεωρίας Κεφάλαιο 1ο. (α μέρος)

Μαθηµατικά για Πληροφορική

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Κεφάλαιο 1: Προβλήµατα τύπου Sturm-Liouville

ΚΕΦΑΛΑΙΟ 3 ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. nn n n

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Αριθµητική Ανάλυση. Ενότητα 5 Προσέγγιση Συναρτήσεων. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, 5 Ο ΕΞΑΜΗΝΟ, ΠΕΡΙΕΧΟΜΕΝΑ ΠΑΡΑΔΟΣΕΩΝ. Κεφ. 1: Εισαγωγή (διάρκεια: 0.5 εβδομάδες)

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

Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών

2ογελ ΣΥΚΕΩΝ 2ογελ ΣΥΚΕΩΝ ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Β Λυκει(ου ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

ΤΗΛΕΠΙΣΚΟΠΗΣΗ. Γραµµικοί Μετασχηµατισµοί (Linear Transformations) Τονισµός χαρακτηριστικών εικόνας (image enhancement)

1.1. Με τι ασχολείται η Αριθμητική Ανάλυση

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Η Ευκλείδεια διαίρεση

3.1 εκαδικό και υαδικό

Αλγεβρικες οµες ΙΙ. ιδάσκουσα : Χ. Χαραλάµπους. Θέµατα προηγουµένων ετών

15 εκεµβρίου εκεµβρίου / 64

Ευκλείδειοι Χώροι. Ορίζουµε ως R n, όπου n N, το σύνολο όλων διατεταµένων n -άδων πραγµατικών αριθµών ( x

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Τίτλος Μαθήματος: Γραμμική Άλγεβρα Ι. Ενότητα: Πινάκες και Γραµµικές Απεικονίσεις. Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης. Τμήμα: Μαθηματικών

Αριθμητική Ανάλυση και Εφαρμογές

Διανύσµατα στο επίπεδο

Ποιες από τις παρακάτω προτάσεις είναι αληθείς; Δικαιολογήστε την απάντησή σας.

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

Γραμμική Αλγεβρα ΙΙ Διάλεξη 1 Εισαγωγή Χρήστος Κουρουνιώτης Πανεπισ τήμιο Κρήτης 19/2/2014 Χ.Κουρουνιώτης (Παν.Κρήτης) Διάλεξη 1 19/2/ / 13

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 4

Συνεχείς συναρτήσεις πολλών µεταβλητών. ε > υπάρχει ( ) ( )

Transcript:

Μαθηµατικά για Πληροφορική Μάθηµα 7 Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 1 / 31

Γενικό πλάνο 1 Θεωρητικό Υπόβαθρο 2 Αποτελεσµατική ακριβής αριθµητική 3 Ταχύς Πολλαπλασιασµός πολυωνύµων 2 / 31

Εισαγωγή Αλγεβρικά προβλήµατα: πράξεις αριθµών / πολυωνύµων / διανυσµάτων / πινάκων, επίλυση εξισώσεων / συστηµάτων. Εφαρµογές: κρυπτογραφία, γραφικά, υπολογιστική γεωµετρία, εξόρυξη δεδοµένων κλπ Επίλυση µέσω Αλγεβρικών αλγορίθµων ή Αριθµητικών µεθόδων Αλγεβρικοί αλγόριθµοι: χαρακτηρίζονται από απόλυτη ακρίβεια (π.χ. int), αλλά υψηλότερο κόστος. Αριθµητικές µέθοδοι: χρησιµοποιούν προσεγγιστικούς αλγορίθµους (π.χ. floats) και στοχεύουν σε προσεγγιστικές λύσεις. 3 / 31

Υπολογιστική Αλγεβρα Η περιοχή των αλγεβρικών αλγορίθµων ονοµάζεται και «άλγεβρα µε υπολογιστή» (computer algebra). «υπολογιστική άλγεβρα» (computational algebra). «συµβολική επεξεργασία» (symbolic computation). ιάφορα παραδείγµατα: πολλαπλασιασµός πολυωνύµων: (x 2 + 3) (x + 286) x 3 + 286x 2 + 3x + 858. διαίρεση πολυωνύµων: x 3 + 286x 2 + 3x + 858/(x 2 + 3) x + 286. ΜΚ πολυωνύµων: x 3 + 286x 2 + 3x + 858, 135x 2 + 37659x 286 x + 286. επίλυση πολυωνύµων (και αργότερα συστηµάτων): x 3 + 286x 2 + 3x + 858 { 286, i 3, i 3}. 4 / 31

Σύγκριση µεθόδων Προβλήµατα / κριτήρια Αλγεβρικοί Αλγόριθµοι Απόλυτη ακρίβεια Εκρηξη ενδιαµέσων τιµών (intermediate swell) Υψηλή πολυπλοκότητα υαδική (Boolean) πολυπλοκότητα Αριθµητικές Μέθοδοι Ακρίβεια αποτελέσµατος (accuracy) περιορίζεται από το αριθµητικό σφάλµα Ακρίβεια των υπολογισµών (precision) Ικανοποιητική ταχύτητα Αριθµητική πολυπλοκότητα: µοναδιαίο (ενιαίο) κόστος πράξεων Μέγεθος αποτελέσµατος (κατώτερο όριο) Σταθερότητα (stability) αποτελέσµατος, Conditioning = απόσταση από εκφυλισµένη (singular) κατάσταση 5 / 31

Σύγκριση Παράδειγµα Υπολογισµός ορίζουσας πίνακα 2 2: Αλγεβρικοι αλγόριθµοι: 4 πολλ/σµοί, 3 ΜΚ, 1 ΕΚΠ, 1 πρόσθεση [ ] 2/3 4/5 det = 2 4/3 399/250 3 399 250 4 3 4 1 == 5 375 Αριθµητικές µέθοδοι: 2 πολλ/σµοί, 1 πρόσθεση [ ] 0, 666... 0, 8 det = 1, 037333 1, 062936 = 0, 002666... 1, 333... 1, 596 6 / 31

Υπολογιστικό µοντέλο Η RAM (Random Access Machine) χρειάζεται σταθερό χρόνο O(1) για: είσοδος / έξοδος στοιχείου, «τυχαία» πρόσβαση µνήµης, σύγκριση (<, =, >), 4 ϐασικές πράξεις (ίσως και, ln, a b, mod, div). Κάθε στοιχείο καταλαµβάνει χώρο ίσο µε κάποια σταθερά. Random RAM: παραγωγή τυχαίων αριθµών. 7 / 31

Real RAM Κάθε πραγµατικός αναπαριστάται µε απόλυτη ακρίβεια. Πράξεις µεταξύ πραγµατικών γινονται µε απόλυτη ακρίβεια. Ουσιαστικά το µοντέλο που προϋποθέτουν οι αριθµητικές µεθοδοι. Μπορούµε να το οδηγήσουµε σε µη ϱεαλιστική συµπεριφορά: Παράδειγµα ύο προσθέσεις a + b, c + d ακεραίων < 2 n ανάγονται σε µία: (a 2 n+1 + b) + (c 2 n+1 + d) = (b + d) + 2 n+1 (a + c). Οµοίως οι πολλαπλασιασµοί ac, bd ανάγονται σε έναν: (a 2 2n+1 + b) (c 2 2n+1 + d) = ac 2 4n+2 + (ad + bc)2 2n+1 + bd. 8 / 31

Boolean (δυαδική) RAM Κάθε στοιχείο αναπαριστάται δυαδικά, δηλ. το x µε log 2 x δυαδικά ψηφία συν 1 για το πρόσηµο. Π.χ: 21 = 10101 2 µέγεθος(21) = 5 bits. Ακριβέστερη µελέτη πολυπλοκότητας. εν µπορούµε να ανάγουµε δύο πράξεις σε µία. Πλησιάζει στη µηχανή Turing. Με O A ( ) και O B ( ) ϑα συµβολίζουµε αντίστοιχα την αριθµητική (real RAM) και δυαδική πολυπλοκότητα. 9 / 31

Αναπαράσταση αριθµών Αναπαράσταση ακεραίων (Z) ή ϱητών (Q) : Απόλυτη ακρίβεια µε χρήση πολλαπλών λέξεων µνήµης ή πινάκων (arrays). Π.χ. 2 10 = [00000100][00000000] Αναπαράσταση πραγµατικών (R): Προσεγγίζονται µε αριθµούς κινητής υποδιαστολής (floating point). Π.χ. ±m c p : εκθέτης p [Pmin, Pmax), δεδοµένο c. mantissa m [0, 2 M ). IEEE double: 64 bits = 1 (πρόσηµο) + 53 (=Μ) + 10 (εκθέτης p). 10 / 31

Αναπαράσταση πολυωνύµων Αναπαράσταση πολυωνύµου µίας µεταβλητής ϐαθµού d 0, π.χ. στο Z[x] ή R[x]: ΠΑΡΑ ΕΙΓΜΑ Πυκνή, ως πίνακας (array) d + 1 συντελεστών. Αραιή ως συνδεδεµένη λίστα (κατάλογος) των µη µηδενικών όρων. Το πολυώνυµο 15x 4 + 3x 2 9 αναπαρίσταται ως (πυκνή) [ 15, 0, 3, 0, 9] όπου d = 4 (αραιή) [ 15, 4] [3, 2] [ 9, 0]. 11 / 31

Αναπαράσταση πολυωνύµων Αναπαράσταση πολυωνύµων n µεταβλητων Z[x 1,...,x n ] ύο δυνατές προσεγγίσεις: Επαγωγική: πολυώνυµο ως προς την 1η µεταβλητή, µε συντελεστές πολυώνυµα στις n 1 µεταβλητές κοκ. Κατανεµηµένη: µε ϐάση µια Ολική ταξινόµηση των όρων δηλ. των n-διάστατων διανυσµάτων των εκθετών, π.χ. λεξικογραφική ταξινόµηση. Εξετάζουµε ως παράδειγµα το πολυώνυµο (x + y) 2 + x + y + 1. 12 / 31

Επαγωγική Αναπαράσταση πολυωνύµων Θεωρούµε το πολυώνυµο ως προς µία µεταβλητή: συντελεστές = πολυώνυµα στις υπόλοιπες µεταβλητές. Αποθηκεύουµε λίστα ως προς 1η µεταβλητή, οι συντελεστές αποθηκεύονται επαγωγικά. Για κάθε στοιχείο (record) αποθηκεύεται ο αριθµητικός συντελεστής, ο εκθέτης ως προς την τρέχουσα µεταβλητή και δείκτης (pointer) στο πολυώνυµο που αντιστοιχεί στον συντελεστή. Συνήθως για αραιά πολυώνυµα. ΠΑΡΑ ΕΙΓΜΑ x > y x 2 + x(2y + 1) + (y 2 + y + 1) : δ 3 2 1 1 0 δ 7 1 2 1 2 1 1 δ 3 1 1 1 0 δ 7 1 0 13 / 31

Κατανεµηµένη Αναπαράσταση πολυωνύµων Λίστα (αραιο) ή πίνακας (πυκνο) όρων διατεταγµένων ως προς τα διανυσµατα των εκθετων. Κάθε στοιχείο (record) περιέχει το διάνυσµα του εκθέτη και τον αριθµητικό συντελεστή. Απαιτείται µια ολική διάταξη στα n-διάστατα διανύσµατα. Συνήθως λεξικογραφική διάταξη (τηλεφωνικός κατάλογος): διατάσσει τις µεταβλητές, π.χ. x 1 > x 2 > > x n, τότε (a 1, a 2,... a n ) > (b 1, b 2,..., b n ) ανν a k > b k και a i = b i, i < k. Αλλη διάταξη: συνολικος ϐαθµος, και έπειτα λεξικογραφικά. ΠΑΡΑ ΕΙΓΜΑ x > y x 2 + 2xy + x + y 2 + y + 1: 2 0 1 1 1 2 1 0 1 0 2 1 0 1 1 0 0 1 14 / 31

Βασικές Πράξεις: Πρόσθεση/Αφαίρεση Ακέραιοι µήκους n δυαδικών ψηφίων (δυφίων) στη δυαδική RAM. Η πρόσθεση / αφαίρεση καταλήγουν σε ακέραιο n + 1 δυφίων άρα χρειάζονται n + 1 στοιχειώδεις πράξεις Ω B (n). Ο σχολικός αλγόριθµος έχει πολυπλοκότητα O B (n). υαδική πολυπλοκότητα Πρόσθεσης / Αφαίρεσης = Θ B (n). Πολυώνυµα στο Z[x] ϐαθµού n στη real RAM. Η πρόσθεση / αφαίρεση καταλήγουν σε πολυώνυµο ϐαθµού n άρα χρειάζονται n πράξεις ακεραίων Ω A (n). Σχολικός αλγόριθµος = O A (n). Αριθµητική πολυπλοκότητα Πρόσθεσης / Αφαίρεσης = Θ A (n). 15 / 31

Πολλαπλασιασµός Ακέραιοι µήκους n δυφίων. Το γινόµενό τους έχει 2n δυφία Ω B (n). Ο σχολικός αλγόριθµος δηµιουργεί (πολλαπλασιάζοντας µε 0 ή 1) n προσθετέους µήκους n, και τους προσθέτει υαδική πολυπλοκότητα = O B (n 2 ). Τα ϕράγµατα εφαρµόζονται και στον πολλαπλασιασµό πολυωνύµων µίας µεταβλητής ϐαθµού n, δηλ. Ω A (n) και O A (n 2 ). 16 / 31

ιαίρει και Βασίλευε Θέλουµε να πολλαπλασιάσουµε τους a, b µήκους n δυφίων καθένας. Γράφουµε a = a 0 + 2 n/2 a 1, b = b 0 + 2 n/2 b 1, a i, b i Z µήκους n/2. ab = a 0 b 0 + 2 n/2 (a 0 b 1 + b 0 a 1 ) + 2 n a 1 b 1, όπου (a 0 b 1 + b 0 a 1 ) = (a 0 + a 1 )(b 0 + b 1 ) a 0 b 0 a 1 b 1. Εστω M(n), A(n) η πολυπλοκότητα πολλαπλασιασµού και πρόσθεσης ακεραίων µήκους n: M(n) = 3M(n/2) + 4A(n/2) + 2A(n) = 3M(n/2) + O(n) 3M(n/2) + cn 9M(n/4) + 2cn 3 k M(n/2 k ) + kcn = 3 lg n O(1) + O(n lg n) = O(n lg 3 ). 17 / 31

Πολλαπλασιασµός τετραγωνων πινάκων ίνονται δύο n n πίνακες πραγµατικών. Μέγεθος εξόδου = n 2 κάτω ϕράγµα = Ω A (n 2 ) στη real RAM. Σχολικός αλγόριθµος: n 3 πολλαπλασιασµοι. ιαίρει και ϐασίλευε [Strassen 69] O A (n lg 7 ) O A (n 2.81 ). [Coppersmith-Winograd 90] O A (n 2.376 ). Το κλείσιµο του χάσµατος µεταξύ κάτω / άνω ϕράγµατος αποτελεί ένα από τα σηµαντικότερα ανοικτά προβλήµατα στην ϑεωρητική πληϱοϕοϱική. 18 / 31

Αλγόριθµος Strassen ίνονται πίνακες 2 2 µε στοιχεία a ij, b ij για i, j = 1, 2 και έστω ο πίνακας-γινόµενο c ij. Θέτουµε: m 1 = (a 12 a 22 )(b 21 + b 22 ), m 2 = (a 11 + a 22 )(b 11 + b 22 ), m 3 = (a 11 + a 12 )b 22, m 4 = a 22 (b 21 b 11 ), m 5 = a 11 (b 12 b 22 ), m 7 = (a 21 + a 22 )b 11, m 8 = (a 11 a 21 )(b 11 + b 12 ) [ ] m1 + m (c ij ) = 2 m 3 + m 4 m 3 + m 5 m 4 + m 7 m 2 + m 5 m 7 m 8 Για γενική διάσταση, αντικαταθιστούµε τα στοιχεία a ij, b ij, c ij µε υποπίνακες A ij, B ij, C ij διάστασης n/2 και εφαρµόζουµε ιαίρει και Βασίλευε: M(n) = 7M(n/2) + O(n 2 ) 7 k M(n/2 k ) + kcn 2 = O(n lg 7 ), όπου η πρόσθεση πινακων n n έχει πολυπλοκότητα O(n 2 ). 19 / 31

Πολλαπλασιασµός πολυωνύµων Πολλαπλασιασµός µέσω αποτίµησης και παρεµβολής 1: function Mult(p, q) % p, q Z[x], ϐαθµού n 2: Καθόρισε σηµεία x 0,..., x 2n C 3: Αποτίµηση: Υπολόγισε τις τιµές r i p(x i ) q(x i ), i = 0,...,2n 4: Παρεµβολή: Υπολόγισε το πολυώνυµο f Z[x] : f(x i ) = r i 5: end function Με τη συνήθη αναπαράσταση πολυωνύµων µέσω συντελεστών µπορούµε γρήγορα να τα προσθέσουµε αλλά «δύσκολα» να τα πολλαπλασιάσουµε. Στην αναπαράσταση πολυωνύµου από τις τιµες του σε συγκεκριµένα σηµεία, ο πολλαπλασιασµός είναι εξίσου αποδοτικός µε την πρόσθεση. 20 / 31

Αποτίµηση πολυωνύµου σε ένα σηµείο Εστω πολυώνυµο µίας µεταβλητής p = c 0 + + c n x n Z[x], και έστω σηµείο a. Για τον υπολογισµό µιας τιµής p(a), αν υπολογίζαµε ξεχωριστά κάθε όρο του πολυωνύµου ϑα χρειαζονταν O A (n lg n) πολλαπλασιασµοι και n προσθέσεις. Αποτίµηση µε τον κανόνα του Horner [Νεύτων]: p(a) = ( (c n a + c n 1 )a + ) + c 0. Η πολυπλοκοτητα είναι ϐέλτιστη: n προσθέσεις, n πολλαπλασιασµοι. ΠΑΡΑ ΕΙΓΜΑ Η αποτίµηση του p(x) = c 3 x 3 + + c 0 γίνεται ως εξης. p(a) = ((c 3 a + c 2 )a + c 1 )a + c 0. 21 / 31

Αποτίµηση πολυωνύµου σε k σηµεία Ο κανόνας του Horner οδηγεί στο O A (kn). Υπάρχει αλγόριθµος ιαίρει και ϐασίλευε στο O A (k lg 2 max{k, n}). ΠΑΡΑ ΕΙΓΜΑ Η αποτίµηση του p(x) στα σηµεία x 0, x 1, x 2 γράφεται ως εξής: p(x) = c 2 x 2 + c 1 x + c 0 1 x 0 x0 2 1 x 1 x1 2 1 x 2 x2 2 c 0 c 1 c 2 = p(x 0 ) p(x 1 ) p(x 2 ) 22 / 31

Ιδιότητες αποτίµησης Λήµµα p Z[x], a C p(a) = p(x) mod (x a). Λήµµα a, b, c 0 (a mod (bc)) mod b = a mod b. Αρα p(x) mod (x x i ) = [p(x) mod (x x j )] mod (x x i ), i J N. j J 23 / 31

Αποτίµηση σε n σηµεία Αλγόριθµος fan-out Λίγες πράξεις µε πολυώνυµα µεγάλου ϐαθµού, πολλές µε µικρού: q 0 p mod n 1 i=0 (x x i) q 1 q 0 mod n/2 1 i=0 (x x i ) = p mod n/2 1 i=0 (x x i ) p mod (m+1)n/2 k 1 i=mn/2 k m [0, 2 k ) q λ p mod (x x 0 )(x x 1 ) r 0 q λ mod (x x 0 ) Στο επίπεδο k, υπολογισε 2 k υπόλοιπα πολυωνύµων ϐαθµού n/2 k 1 1 διαιρεµένα µε πολυώνυµο ϐαθµού n/2 k Κόστος 2 k O((n/2 k ) lg n). Συνολικά, οι αποτιµήσεις κοστίζουν O(n lg 2 n). 24 / 31

Παρεµβολή Ορισµός Παρεµβολή (interpolation) πολυωνύµου p Z[x] ϐαθµού n καλείται ο υπολογισµός των n + 1 συντελεστών του p αν δίνονται οι τιµες p(x i ) σε διαφορετικά σηµεία x 0,..., x n. Θεώρηµα Κάθε πολυωνυµο p Z[x], ϐαθµού n, είναι µοναδικά ορισµένο από τις τιµές του σε n + 1 διαφορετικά σηµεία. Απόδειξη. Επίλυση ενός γραµµικού συστήµατος Vandermonde, µε δεδοµένο το διάνυσµα τιµών [p(x 0 ),..., p(x n )]. Ο πίνακας Vandermonde είναι αντιστρέψιµος ανν τα σηµεία είναι διαφορετικά διότι det = i j x i x j. 25 / 31

Αλγόριθµος Παρεµβολής Lagrange Με δεδοµένα τα σηµεία x 0,..., x n και τις τιµές r 0,..., r n υπολογίζουµε p n i=0 r i j=0,...,n,j i x x j x i x j. ΠΑΡΑ ΕΙΓΜΑ Εστω x i = [0, 1, 2], r i = [ 1, 3, 9], τότε 1 x 1 1 x 2 2 + 3x 1 x 2 1 2 + 9x 2 x 1 2 1 δίνει το πολυώνυµο p(x) = x 2 + 3x 1. 26 / 31

Πολυπλοκότητα Πολλαπλασιασµού Θεώρηµα Υπάρχει αλγόριθµος ιαίρει και ϐασίλευε για την αποτίµηση πολυωνύµου σε k σηµεία µε πολυπλοκότητα O A (k lg 2 max{k, n}). Για το πρόβληµα της παρεµβολής, υπάρχει αλγόριθµος ιαίρει και ϐασίλευε µε πολυπλοκότητα O A (n lg 2 n). Πόρισµα Ο πολλαπλασιασµός πολυωνύµων ϐαθµού n έχει πολυπλοκότητα O A (n lg 2 n) 27 / 31

Ταχύς Μετασχηµατισµός Fourier (Fast Fourier Transform) Πρόβληµα ιακριτού Μετασχηµατισµού Fourier Με δεδοµένο πολυώνυµο p(x) = c n 1 x n 1 + c n 2 x n 2 + + c 0 υπολογίζουµε τις τιµές του σε όλες τις n-οστές ϱίζες της µονάδας 1,ω = e 2πi/n,ω 2,...,ω n 1 C. Επίλυση µε τον Ταχύ Μετασχηµατισµό Fourier (FFT). Το πρόβληµα είναι ειδική περίπτωση του υπολογισµού k = n τιµών και ο FFT είναι ένας αλγόριθµος αποτίµησης στα συγκεκριµένα σηµεία. 28 / 31

Ταχύς Μετασχηµατισµός Fourier Εστω T(n) η πολυπλοκότητα του FFT, δηλ. για την αποτίµηση του p(n) στα x = ω j, j = 0,..., n 1. Γράφουµε p(x) = q(x 2 ) + x s(x 2 ) και ϑέτουµε y = x 2. Τα q(y), s(y) είναι ϐαθµού (n 1)/2. Οταν x = ω j για j = 0,...,n 1, το y = x 2 = ω 2j παίρνει µόνο n/2 διαφορετικές τιµές. Αρα απαιτούνται 2T(n/2) πράξεις για την αναγωγή σε µικρότερα προβλήµατα. ω j = ω j+n/2 q(y) + ω j s(y) = q(y) ω j+n/2 s(y). Αρα απαιτούνται n/2 πολλαπλασιασµοι x s(y) και n προσθαφαιρέσεις, συνεπώς: T(n) = 1, 5n + 2T(n/2) 1, 5kn + 2 k T(n/2 k ) = O A (n log n) + O A (n) = O A (n lg n). 29 / 31

Ταχύς Μετασχηµατισµός Fourier ΠΑΡΑ ΕΙΓΜΑ p(x) = 3x 3 + 2x 2 x + 5, n = 4, και τα σηµεία είναι {1,ω = i,ω 2 = 1,ω 3 = ω}. Γράφουµε p(x) = (5 + 2x 2 ) + x( 1 + 3x 2 ) = q(y) + x s(y). Υπολογίζουµε: p(1) = q(1) + 1 s(1), p(ω) = q(ω 2 ) + ω s(ω 2 ), p(ω 2 ) = q(1) 1 s(1), p(ω 3 ) = q(ω 2 ) ω s(ω 2 ). Με 2 πολλαπλασιασµούς και 4 προσθαφαιρέσεις το πρόβληµα ανάγεται στην αποτίµηση των q(1), s(1) και q( 1), s( 1). Αυτό απαιτεί 2 πολλαπλασιασµούς (2 1, 3 1) και 4 προσθαφαιρέσεις (5 + 2, 5 2, 1 + 3, 1 3). Εχουµε 4 πολλαπλασιασµους και 8 προσθαφαιρέσεις συν 4 πράξεις για τον επαγωγικό υπολογισµό των q(y), s(y), άρα συνολικά το πλήθος πράξεων πράγµατι ϕράσσεται από 1, 5n lg n + n = 12 + 4. 30 / 31

Αντίστροφος Μετασχηµατισµος Fourier Πρόβληµα παρεµβολής Υπολογισµός των συντελεστών (ϐαθµός πολυωνύµου = n 1) από τις τιµές στις n-οστές ϱίζες της µονάδας. Επίλυση µέσω Αντίστροφου Μετασχηµατισµού Fourier (Inverse FFT, IFFT). Χρησιµοποιούµε αλγορίθµους ιαίρει και Βασίλευε της παρεµβολής µε πολυπλοκοτητα O A (n lg n). Πόρισµα Ο πολλαπλασιασµός πολυωνύµων ϐαθµού n έχει πολυπλοκότητα O A (n lg n). 31 / 31