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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΚΥΤΤΑΡΙΤΙΔΑ.
Advertisements

Ο Άνθρωπος είναι ένα ον το οποίο φτιάχνει πολιτισμό και έχει βαθύ στοχασμό, συναισθήματα και σεβασμό στη ζωή των άλλων. Ορισμός.
Δηλαδή, οι συναρτήσεις Μ(x,y) και N(x,y) αποτελούνται από εκφράσεις που έχουν τον ίδιο βαθμό ως προς x και y. Παραδείγματα: f(x,y) = 3x 4 -0,5x 2 y 2 +xy.
Β' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΕΞΙΣΩΣΗ ΕΥΘΕΙΑΣ ΣΤΟ ΕΠΙΠΕΔΟ Mπανανής Νικόλαος Στρούβαλη Παρασκευή.
Είναι ο κλάδος της Χημείας που ασχολείται με δύο κύρια ερωτήματα που αφορούν τις χημικές αντιδράσεις. Το πρώτο είναι το πως γίνεται μια αντίδραση, δηλαδή.
ONLINE ΠΑΙΧΝΙΔΙΑ Παρουσιάζουν οι μαθητές: Γ Ι Ο Υ Λ Η Λ Ι Ο Υ Ν Η Ι Α Σ Ω Ν Α Σ Τ Α Σ Σ Η Σ.
1 Ηλεκτρικό πεδίο Πεδίο δυνάμεων –χώρος –υπόθεμα –δύναμη Ηλεκτροστατικό πεδίο δυνάμεων –δύναμη δεν μεταβάλλεται με το χρόνο.
Τούλα Πατσάλη Διεύθυνση Διαρθρωτικών Ταμείων και Ταμείου Συνοχής Γραφείο Προγραμματισμού ΕΝΔΕΙΚΤΙΚΟ ΠΛΑΝΟ ΑΞΙΟΛΟΓΗΣΕΩΝ ΣΥΝΑΝΤΗΣΗ ΤΗΣ ΚΑΘΟΔΗΓΗΤΙΚΗΣ ΕΠΙΤΡΟΠΗΣ.
Copyright © 2005 Elsevier Κεφάλαιο 1 :: Εισαγωγή Πραγματολογία των Γλωσσών Προγραμματισμού Michael L. Scott.
Θεωρία πληροφορίας και στοιχεία κωδίκων: Ενότητα 4 Α. Κατσιώτης Εαρινό εξάμηνο 2016.
Διδακτική της Πληροφορικής
ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ.
Τ.Ε.Ι. Κρήτης Σχολή Τεχνολογικών Εφαρμογών Τμ. Μηχανικών Πληροφορικής
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (Α.Ε.Π.Π.)
Διακριτά Μαθηματικά Μαθηματική Λογική.
ΜΗΧΑΝΙΚΗ ΤΩΝ ΥΛΙΚΩΝ Εισαγωγικές έννοιες στην μηχανική των υλικών
Αλγόριθμος όνομα_αλγορίθμου Εντολές Τέλος όνομα_αλγορίθμου
Διανύσματα και Συστήματα Συντεταγμένων
Συστήματα Αρίθμησης Σύστημα αρίθμησης είναι το σύστημα που επιτρέπει τη μονοσήμαντη αντιστοίχηση μετρήσιμων ποσοτήτων με διακριτά σύμβολα ή συνδυασμούς.
“ΑΣΦΑΛΙΣΗ ΖΩΗΣ - ΠΕΡΙΟΥΣΙΑΣ.”
Δυαδικό Σύστημα Δεκαδικό Σύστημα Δεκαεξαδικό Σύστημα
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
«Δημότης Αμαρουσίου» η τεχνολογία στην υπηρεσία του Πολίτη
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
… στέλνοντας μυστικά σε μία κάρτ ποστάλ…
να ζήσει μέχρι και 60 μέρες χωρίς τροφή, αλλά όχι πάνω
Εισαγωγή στην Ασφάλεια Δικτύων
Ενότητα 2: Κινητική Κώστας Παπαδημητρίου Τμήμα Μηχανολόγων Μηχανικών
Εισαγωγή στους Η/Υ Ενότητα 10: Μέθοδος συμπληρώματος Ιωάννης Σταματίου
Δραστηριότητα: Οι μαθητές σε ομάδες να ταξινομήσουν χημικές ενώσεων με βάση τη διάλυση τους στο νερό και τη μέτρηση της αγωγιμότητας των διαλυμάτων που.
Εργασία στο μάθημα των Μαθηματικών (Kεφάλαιο 3ο)
Ψηφιακή Σχεδίαση εργαστήριο
Διπλωματική εργασία με θέμα
Κρούσεις σωμάτων.
Προσδιορισμός σημείου
ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια)
Πολλαπλασιασμός αλά ρωσικά
Binary Decision Diagrams
ΠΡΟΣΤΑΣΙΑ ΜΕΣΩ ΔΙΑΚΟΠΤΩΝ ΔΙΑΦΥΓΗΣ
Ροπή αδρανείας.
ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Β΄ ΛΥΚΕΙΟΥ
Αρχή συστήματος συντεταγμένων: Το σημείο 0,0,0 (x, y, z)
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΑΣΚΗΣΕΙΣ ΚΙΝΗΜΑΤΙΚΗ ΣΩΜΑΤΙΔΙΟΥ
ΠΙΝΑΚΕΣ ΔΙΑΝΟΜΗΣ ΓΙΑ ΟΙΚΙΑΚΗ ΧΡΗΣΗ (ΣΥΝΕΧΕΙΑ)
ΗΛΕΚΤΡΟΤΕΧΝΙΑ Ι Κεφάλαιο 2 Νόμοι στα ηλεκτρικά κυκλώματα
Αναλυτικό Πρόγραμμα Σπουδών
Κώδικες Huffman Μέθοδος συμπίεσης δεδομένων:
Δυναμικός Κατακερματισμός
ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ – ΠΤΔΕ
ΕΚΣΤΡΑΤΕΙΑ ΕΝΗΜΕΡΩΣΗΣ ΓΙΑ ΤΗΝ ΧΡΗΣΗ ΨΗΦΙΑΚΩΝ ΤΕΧΝΟΛΟΓΙΩΝ
ΨΗΦΙΑΚΟΣ ΚΟΣΜΟΣ 4ο ΓΥΜΝΑΣΙΟ ΑΓΡΙΝΙΟΥ.
Εισαγωγή στην Ψηφιακή Τεχνολογία
Χρήση οργάνων μέτρησης
Υπολογιστικά Φύλλα Εισαγωγή
Οι Συναρτήσεις y=αx2 και y=αx2+βx+γ με α≠0 στο Γυμνάσιο
الباب الرابع : الارتباط و الانحدار الخطي البسيط
Στο (2)  Δεν εξετάζεται η αιτιώδης συνάφεια 
ΑΝΑΤΟΜΙΚΗ ΤΟΥ ΑΝΘΡΩΠΟΥ
الحث الكهرومغناطيسي مؤشرات الأداء
النسبة الذهبية العدد الإلهي
גרפיקה ממוחשבת: טרנספורמציות במישור
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
الكيناتيكا الدورانية المفاهيم المستخدمة في الحديث عن مسببات الحركة الدورانية لها علاقة كبيرة بمفاهيم مسببات الحركة الخطية.
وړاندې کوونکى : انجنيرسميع الله ”پتيال ”
Γυμνάσιο Νέας Κυδωνίας
ΕΑΠ – ΠΛΗ24 1η ΟΣΣ.
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
ΠΟΛΙΤΙΚΟ ΜΑΡΚΕΤΙΝΓΚ 4/4/2019
ΕΝΟΤΗΤΑ 8 ΛΟΙΠΟΙ ΑΙΣΘΗΤΗΡΕΣ.
Μεταγράφημα παρουσίασης:

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

Εύρεση Μέγιστου Κοινού Διαιρέτη Το πρόβλημα: Δεδομένα: δύο ακέραιοι a και b Ζητούμενο: ο μέγιστος ακέραιος που διαιρεί και τους δύο δοσμένους αριθμούς, γνωστός ως Μέγιστος Κοινός Διαιρέτης τους (Greatest Common Divisor – GCD)

Εύρεση Μέγιστου Κοινού Διαιρέτη Έστω a=27 και b=9 Οι διαιρέτες του 27 είναι: 1,3,9,27 Οι διαιρέτες του 9 είναι: 1,3,9 Ο μεγαλύτερος διαιρέτης κοινός και στις 2 λίστες είναι ο 9 Επομένως, ο μέγιστος κοινός διαιρέτης (GCD) των αριθμών 27 και 9 είναι ο 9

Εύρεση Μέγιστου Κοινού Διαιρέτη Ένας συστηματικός τρόπος για να υπολογίζουμε το μέγιστο κοινό διαιρέτη δύο αριθμών είναι να αναλύσουμε τους δύο αριθμούς σε γινόμενο πρώτων παραγόντων και να πολλαπλασιάσουμε τους κοινούς τους παράγοντες ώστε να πάρουμε το μέγιστο κοινό διαιρέτη τους Έστω a=1035 και b=759 1035=32*5*23 759=3*11*23 Μέγιστος κοινός διαιρέτης των 1035 και 759 είναι ο 3*23=69

Εύρεση Μέγιστου Κοινού Διαιρέτη Ένας συστηματικός τρόπος για να υπολογίζουμε το μέγιστο κοινό διαιρέτη δύο αριθμών είναι να αναλύσουμε τους δύο αριθμούς σε γινόμενο πρώτων παραγόντων και να πολλαπλασιάσουμε τους κοινούς τους παράγοντες ώστε να πάρουμε το μέγιστο κοινό διαιρέτη τους Έστω a=1035 και b=759 1035=32*5*23 759=3*11*23 Μέγιστος κοινός διαιρέτης των 1035 και 759 είναι ο 3*23=69 ΔΕΝ γνωρίζουμε τρόπο για να το κάνουμε αποδοτικά!!!!!!

Εύρεση Μέγιστου Κοινού Διαιρέτη Αποδοτικότερος τρόπος;;;;;;;; ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ Ανακαλύφθηκε από τον Έλληνα μαθηματικό περισσότερο από 2000 χρόνια πριν…

Εύρεση Μέγιστου Κοινού Διαιρέτη Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ a mod b σημαίνει: το υπόλοιπο που αφήνει η διαίρεση του a με το b Π.χ., 5 mod 3=2, 6 mod 3=0 κ.ο.κ.

Εύρεση Μέγιστου Κοινού Διαιρέτη Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ Παραδείγματα εκτέλεσης του αλγορίθμου: GCD(18,9)=GCD(9,0)  GCD(18,9)=9 GCD(37,11)=GCD(11,4)  GCD(4,3)=GCD(3,1)=GCD(1,0)  GCD(37,11)=1

Εύρεση Μέγιστου Κοινού Διαιρέτη Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ Αριθμοί όπως οι 37 και 11, που έχουν ΜΚΔ το 1 λέγονται σχετικά πρώτοι μεταξύ τους. Παραδείγματα εκτέλεσης του αλγορίθμου: GCD(18,9)=GCD(9,0)  GCD(18,9)=9 GCD(37,11)=GCD(11,4)  GCD(4,3)=GCD(3,1)=GCD(1,0)  GCD(37,11)=1

Εύρεση Μέγιστου Κοινού Διαιρέτη Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ GCD(18,9)=GCD(9,0)  GCD(18,9)=9 GCD(37,11)=GCD(11,4)  GCD(4,3)=GCD(3,1)=GCD(1,0)  GCD(37,11)=1 *

Αλγόριθμος Ευκλείδη: ορθότητα Ο αλγόριθμος υλοποιεί ακριβώς τον παρακάτω κανόνα: Αν x και y θετικοί ακέραιοι με x≥y, τότε gcd(x,y) = gcd(x mod y,y) Γιατί ισχύει αυτό; Αρκεί να δείξουμε ότι gcd(x, y)=gcd(x-y, y) από όπου προκύπτει και ο παραπάνω κανόνας αφαιρώντας συνεχώς τον y από τον x Αν ένας αριθμός διαιρεί τους x και y τότε διαιρεί και τον x-y Κάθε ακέραιος a που διαιρεί και τον x(=ka) και τον y(=ma) διαιρεί επίσης και τον x-y(=ka-ma=(k-m)a), επομένως gcd(x,y)=gcd(x-y,y). Αντίστροφα, αν ένας αριθμός διαιρεί τους x-y και y τότε διαιρεί και τον x Όμοια, κάθε ακέραιος a που διαιρεί και τον x-y(=ka) και τον y(=ma) διαιρεί επίσης και τον x(=(m+k)a) και τον y(=ma). Επομένως gcd(x,y)=gcd(x-y,y)

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Για να υπολογίσουμε το χρόνο εκτέλεσης του αλγορίθμου, πρέπει να δούμε πόσο γρήγορα μειώνονται οι αριθμοί (a,b) σε κάθε αναδρομική κλήση Σε κάθε γύρο, οι αριθμοί (a,b) γίνονται (b,a mod b): η σειρά τους αλλάζει, και ο μεγαλύτερος από αυτούς, δηλ. ο a, μειώνεται σε a mod b Αυτή είναι μια σημαντική μείωση

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Πόσο μικρότεροι γίνονται οι αριθμοί σε κάθε γύρο; Αν a≥b τότε a mod b<a/2 Απόδειξη Ισχύει είτε ba/2 είτε b>a/2 a b a b

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Πόσο μικρότεροι γίνονται οι αριθμοί σε κάθε γύρο; Αν a≥b τότε a mod b<a/2 Απόδειξη Ισχύει είτε ba/2 είτε b>a/2 Αν ba/2 τότε a mod b < b  a/2 a b

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Πόσο μικρότεροι γίνονται οι αριθμοί σε κάθε γύρο; Αν a≥b τότε a mod b<a/2 Απόδειξη Ισχύει είτε ba/2 είτε b>a/2 Αν b>a/2 τότε a mod b=α-b<a/2 a b

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Αυτό σημαίνει ότι μετά από δύο διαδοχικούς γύρους, και οι δύο αριθμοί, a και b, είναι τουλάχιστον μισοί σε τιμή δηλ., το μήκος του καθενός μειώνεται τουλάχιστον κατά 1 bit Αν αρχικά είναι n-bit ακέραιοι, τότε η βασική περίπτωση επιτυγχάνεται μετά από 2n αναδρομικές κλήσεις Και επειδή κάθε κλήση απαιτεί μία διαίρεση που απαιτεί τετραγωνικό χρόνο, ο συνολικός χρόνος εκτέλεσης είναι O(n3)

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Αρχικά: gcd(a,b) Βήμα 1: gcd(b,a mod b) Βήμα 2: gcd(a mod b, b mod (a mod b)) Έστω ότι οι αριθμοί a και b έχουν αρχικά n bits ο καθένας Σε 2 βήματα, ο πρώτος αριθμός (το ίδιο ισχύει και για το δεύτερο) έχει μειωθεί στο μισό Μείωση στο μισό = έχει 1 bit λιγότερο Για να τερματίσει ο αλγόριθμος πρέπει ο δεύτερος αριθμός να γίνει 0  να χάσει n bits «κόβω» 1 bit σε 2 βήματα «κόβω» n bits σε πόσα βήματα; Σε 2*n βήματα, δηλ. σε πλήθος βημάτων της τάξης του n (ή O(n) βήματα) Μετά από 2 διαδοχικά βήματα μειώνω τον a σε a mod b, κάνοντας μία διαίρεση που κοστίζει της τάξης του n2 βήματα (ή Ο(n2) βήματα) Οπότε, συνολικά απαιτούνται: O(n) * Ο(n2) = Ο(n3) βήματα