Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΚαλλιστώ Βασιλείου Τροποποιήθηκε πριν 9 χρόνια
1
Μάθημα 1 ο Τρίτη 4 Οκτωβρίου 2011 Τσαλικάκης Δημήτρης tsalikakis@gmail.com « Εισαγωγικές έννοιες» «ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ»
2
Επικοινωνία Μέσω email: tsalikakis@gmail.com Αξιολόγηση: Εργασίες: 30% Γραπτές Εξετάσεις: 70% Διδάσκων Τσαλικάκης Δημήτριος Πληροφορίες για το Μάθημα
3
Βιβλιογραφία [1] Th. H. Cormen, CH. E. Leiserson, R. L. Rivest and C. Stein, Introduction to algorithms, MITPress, 2001 (2nd edition) + (1991, 1st edition) + ½ translation in greek (2007). http://mitpress.mit.edu/algorithms/ [2] S. Dasgupta, C. H. Papadimitriou & U. V. Vazirani, Algorithms, McGraw- Hill, 2008 [3] Jon Kleinberg & Eva Tardos, Algorithm Design, Addison – Wesley, 2006 [4] R. Sedgewick, Algorithms in C, Addison – Wesley, 2nd ed., 1998. [5] S. S. Skiena, The algorithm design manuel, Springer – Verlag, 1998.
4
Εισαγωγικές Έννοιες Το βιβλίο από το οποίο θα προέρχεται η ύλη θα είναι το βιβλίο του Michael Sipser, Εισαγωγή στην θεωρία υπολογισμού. Τα Κεφάλαια γύρω από τα οποία θα επικεντρωθούμε είναι το Κεφ. 0 Εισαγωγή Κεφ. 3 Δόγμα Church Turing (Μηχανές Turing) Κεφ. 7 Χρονική πολυπλοκότητα Κεφ. 8 Χωρική πολυπλοκότητα
5
Η λέξη “αλγόριθμος” προέρχεται από Τη λέξη άλγος; Τον Muhamed Ibn Musa Al Khov Warizmi; Κανένα από τα 2; Εισαγωγικές Έννοιες
6
Muhamed Ibn Musa Al Khov Warizmi Algorism και Algorithm προέρχονται από το Algoritmi, το Λατινικό όνομα του Warizmi
7
Η έννοια του αλγορίθμου είναι θεμελιώδης στον χώρο της επιστήμης των υπολογιστών. Χωρίς αλγόριθμους δεν υπάρχουν προγράμματα και χωρίς προγράμματα δεν υπάρχει τίποτα για να τρέξει στον υπολογιστή. Εισαγωγικές Έννοιες Τα προβλήματα που αντιμετωπίζει η ανθρωπότητα είναι μεγαλύτερα, δυσκολότερα και πιο περίπλοκα: Η αποκωδικοποίηση του ανθρωπίνου DNA, που αποσκοπεί στην αναγνώριση των 100.000 περίπου γονιδίων του ανθρώπου. Στο διαδίκτυο, του οποίου το ολοένα και αυξανόμενο μέγεθος δημιουργεί προβλήματα στον εντοπισμό της χρήσιμης πληροφορίας. Στο ηλεκτρονικό εμπόριο και γενικότερα στην επικοινωνία μέσω διαδικτύου, η εμπιστοσύνη στην υπηρεσία είναι προϋπόθεση, λόγω κινδύνου διαρροής προσωπικών δεδομένων (πιστωτικές κάρτες, διευθύνσεις κ.λ.π.).
8
Εισαγωγικές Έννοιες Τι είναι όμως ένας αλγόριθμος; Πως ξεχωρίζουμε έναν καλό από έναν κακό αλγόριθμο; Πότε μπορούμε να κρίνουμε ότι ένας αλγόριθμος είναι ικανοποιητικός; Πως κατασκευάζονται αποδοτικοί αλγόριθμοι; Τι είναι η πολυπλοκότητα;
9
Εισαγωγικές Έννοιες Ένας αλγόριθμος είναι μια υπολογιστική διαδικασία που παίρνει μία ή περισσότερες τιμές σαν είσοδο και παράγει μία ή περισσότερες τιμές σαν έξοδο. Αλγόριθμος: ακολουθία υπολογιστικών βημάτων που μετασχηματίζει την είσοδο σε έξοδο. Να είναι πεπερασμένος, δηλαδή να τερματίζει πάντα μετά από έναν πεπερασμένο αριθμό βημάτων. Να είναι επακριβώς ορισμένος. Τα δεδομένα εισόδου, εξόδου και τα βοηθητικά δεδομένα που δημιουργούνται κατά τη διάρκεια εκτέλεσης του αλγορίθμου, πρέπει να κωδικοποιούνται από κάποιο πεπερασμένο αριθμό συμβόλων Να είναι ορθός. Δηλαδή, η έξοδος να είναι λύση στο υπό μελέτη πρόβλημα.
10
Ένα πρόγραμμα θα είναι χρήσιμο, αν εκτελείται σε ’λογικό’ χρόνο (δηλαδή δεν χρειάζεται αιώνες για να ολοκληρωθεί) και δεσμεύει ’λογικό’ χώρο μνήμης (όχι παραπάνω από όσο μπορούμε να έχουμε σε ένα καθημερινό σύστημα). Για να μπορούμε να διαχωρίσουμε τα χρήσιμα από τα άχρηστα προγράμματα, θα πρέπει να βρεθεί ένας τρόπος (μέτρο) για τον χαρακτηρισμό του προγράμματος. Αυτός είναι η πολυπλοκότητα χρόνου (δηλαδή πόσο γρήγορος είναι ο αλγόριθμος), και η πολυπλοκότητα χώρου (δηλαδή πόση μνήμη χρειάζεται το πρόγραμμα για να τρέξει). Εισαγωγικές Έννοιες Ποιος είναι καλός αλγόριθμος;
11
Η πολυπλοκότητα ενός αλγορίθμου εκφράζεται σαν συνάρτηση της διάστασης του υπό μελέτη προβλήματος. Η διάσταση του προβλήματος είναι το πλήθος των ατομικών δεδομένων για επεξεργασία, όπως για παράδειγμα το πλήθος των στοιχείων μιας ακολουθίας, Εισαγωγικές Έννοιες Παράδειγμα: Το Πρόβλημα της Αναζήτησης Δίνεται μια ακολουθία n στοιχείων S = (a1, a2,..., an) και ένα στοιχείο x. Είναι το x μέλος του S και αν ναι σε ποια θέση; Ένας απλός αλγόριθμος είναι ο εξής: Ψάξε ένα τα στοιχεία της ακολουθίας. Αν βρεις αυτό που ψάχνεις σταμάτα.
12
Εισαγωγικές Έννοιες Ορισμός : Σύνολο μια συλλογή από αντικείμενα Μέλη συνόλου Τα στοιχεία είναι μεταξύ τους διαφορετικά Τα στοιχεία ενός συνόλου μπορεί να είναι και τα ίδια σύνολα Πχ. Α ={1, 13, 7} 1 ∈ A Πως αναπαριστούμε ένα σύνολο? Συστηματικά: Β={3, 13, 25} Κατηγορηματικά: Ικανές και αναγκαίες συνθήκες για τα στοιχεία που ανήκουν στο σύνολο Γ ={x: x είναι μήνας του καλοκαιριού}
13
Εισαγωγικές Έννοιες Ορισμός: Μία πράξη ◦ στο σύνολο U παίρνει είσοδο μια ακολουθία από στοιχεία του συνόλου U και επιστρέφει ως έξοδο κάποιο στοιχείο. Μονομερής: η είσοδός της περιλαμβάνει 1 στοιχείο του U Διμερής: η είσοδός της 2 στοιχεία του U n-μερής η είσοδός της περιλαμβάνει n στοιχεία του U Η έξοδος μπορεί να ανήκει ή να μην ανήκει U Πχ. Α={2, 4, 6,…}, {2,4,10 } ∈ A, {4,10,100} ∈ A {2,4,10} ∩ {4,10,100}={4,10} {2}*{4}={8} ∈ A
14
Αν η έξοδος της πράξης ◦ ανήκει πάντοτε ⇒ το σύνολο U είναι κλειστό κάτω από την πράξη ◦. Παράδειγμα Πχ. Α={2, 4, 6,…}, 2 * 4 = 8, η πράξη πολλαπλασιασμού (*) είναι κλειστή στο σύνολο Α. Εισαγωγικές Έννοιες
15
Το σύνολο A είναι υποσύνολο του συνόλου B, A ⊆ B, αν κάθε στοιχείο του A είναι και στοιχείο του B. = Α εγκλείεται στο Β Ιδιότητες Εγκλεισμού: Ανακλαστική: A ⊆ A Αντισυμμετρική: Αν A ⊆ B και B ⊆ A, ⇒ A = B Μεταβατική: Aν είναι A ⊆ B και B ⊆ C, ⇒ A ⊆ C o Α είναι γνήσιο υποσύνολο του Β αν A ⊆ B και Α ≠ B o A και B είναι συγκρίσιμα αν είτε A ⊆ B είτε B ⊆ A Εισαγωγικές Έννοιες
16
Το σύνολο χωρίς στοιχεία = κενό σύνολο, ∅ U ={το σύνολο που περιέχει όλα τα δυνατά σύνολα} Συμπλήρωμα ενός συνόλου Α, Ā = τα στοιχεία εκτός του Α Πχ. Α= {οι θετικοί αριθμοί}, Ā = {όλοι οι αριθμοί εκτός τους θετικούς} Δυναμοσύνολο του Α, P(A) = όλα τα δυνατά υποσύνολα του Α |P(A)| =2A Παράδειγμα A ={♣,♦, ♠} P(A) ={ {♠}, {♣}, {♦},{♣,♦}, {♣,♠}, {♦,♠}, {♦,♣},{♣,♦, ♠} }.
17
Εισαγωγικές Έννοιες
18
Παρατηρείστε: B \ A = B ∩ Ā Ā =U \A Συμμετρική διαφορά των A και B, A Δ B = (A\B) ∪ (Β\Α) περιέχει τα στοιχεία που ανήκουν σε ένα ακριβώς από τα δύο σύνολα Π.χ. { 1, 2, 3, 4 } M{ 2, 4, 6, 7 } = { 1, 3, 6, 7 } Παρατηρείστε: Εισαγωγικές Έννοιες
19
Νόμοι Αντιμετάθεσης A ∪ B =B ∪ A, Α ∩B =B ∩ A Νόμοι Προσεταιρισμού Α ∪ (B ∪ C) = (A ∪ B) ∪ C, A∩(B∩C) = (A∩B)∩C, U είναι απορροφητικό στοιχείο για την πράξη της ένωσης, ∅ είναι ουδέτερο στοιχείο για την πράξη της Τομής Τα σύνολα Α και Β είναι ξένα εάν Α∩B = ∅. Εισαγωγικές Έννοιες
21
Όταν η σειρά των στοιχείων {a,b}είναι σημαντική ⇒ Διατεταγμένο ζεύγος Εισαγωγικές Έννοιες
22
Z : σύνολο ακεραίων αριθμών = θετικοί ακέραιοι, αρνητικοί ακέραιοι και το μηδέν N : σύνολο φυσικών αριθμών = μόνο θετικοί ακέραιοι και το μηδέν Q : σύνολο ρητών αριθμών = { x : υπάρχουν ακέραιοι αριθμοί m και n τέτοιοι ώστε x =m/n} Π.χ. το π=3.14… ΔΕΝ είναι ρητός R : σύνολο πραγματικών (Real) αριθμών = ρητοί και άρρητοι αριθμοί Z+= θετικοί ακέραιοι Z = ? N = ? Εισαγωγικές Έννοιες
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.