Μάθημα 1 ο Τρίτη 4 Οκτωβρίου 2011 Τσαλικάκης Δημήτρης « Εισαγωγικές έννοιες» «ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ»

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Αφαιρετικοί Τυποι Δεδομένων
ΘΕΩΡΙΑ ΓΛΩΣΣΩΝ & ΑΥΤΟΜΑΤΩΝ: ΕΙΣΑΓΩΓΗ Ι
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ. Χαλάτσης, Εισαγωγή στην Επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών 1 ΑΛΓΟΡΙΘΜΟΙ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
Πιθανοκρατικοί Αλγόριθμοι
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΑΕΠΠ 2ο Κεφάλαιο: Βασικές Έννοιες Αλγορίθμων
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Κεφάλαιο 2. Τι είναι αλγόριθμος  Η λέξη αλγόριθμος προέρχεται από μελέτη του Πέρση μαθηματικού Abu Ja’far Mohammed ibn al Khowarizmi  Στα λατινικά ξεκινούσε.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Δεδομένα, Πληροφορίες και Ηλεκτρονικοί Υπολογιστές
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Αλγόριθμοι και Πολυπλοκότητα
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ. Χαλάτσης, Εισαγωγή στην Επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών 1 ΑΛΓΟΡΙΘΜΟΙ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ 7.4 – 7.6 NP ΠΛΗΡΟΤΗΤΑ.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Θεωρία Υπολογισμού Εισαγωγή (μέρος 2 ο ) Πρακτική Θεωρία.
Αλγόριθμοι 2.1.1,
Θεωρία Υπολογισμού Εισαγωγή (μέρος 3 ο ). Χρειαζόμαστε Μοντέλα Εμπρός πατάκι Πίσω πατάκι Πόρτα ΚλειστόΑνοιχτό.
ΣΥΝΟΛΑ.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Χρονική Πολυπλοκότητα και Μοντέλα
Θεωρία Υπολογισμού Αλγόριθμοι και Μηχανές Turing Υπολογισιμότητα.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
Ασυμπτωτικός Συμβολισμός
Ερωτήσεις & Φύλλο εργασίας
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον:  Τεχνικές Διδασκαλίας.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
Θεώρημα Διαγνωσιμότητας
Επιλυσιμότητα – Διαγωνοποίηση Καντόρ
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
Χρονική Πολυπλοκότητα
Διαγνώσιμες και μη-διαγνώσιμες ασυμφραστικές γραμματικές και γλώσσες
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Επιστήμη των Υπολογιστών και Επικοινωνιών Γενικά για το μάθημα Σπύρος Κοκολάκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ.
Π ΑΝΕΠΙΣΤΗΜΙΟ Δ ΥΤΙΚΗΣ Μ ΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Θεωρία Σημάτων και Συστημάτων 2013 Μάθημα 3 ο Δ. Γ. Τσαλικάκης.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
Μεταβατική απόκριση ενός συστήματος δεύτερης τάξης Σχήμα 5.7 σελίδα 370.
ΚΕΦΑΛΑΙΟ ΑΛΓΟΡΙΘΜΟΙ Αλγόριθμος Η έννοια του αλγορίθμου δεν συνδέεται αποκλειστικά και μόνο με προβλήματα της Πληροφορικής. Πχ συνταγή.
1 Θεωρία Υπολογισμού Ενότητα 2 : Σύνολα & Σχέσεις (2/2) Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ II Καθ. Πέτρος Π. Γρουμπός Διάλεξη 8η Στοχαστικά Σήματα - 1.
Επίλυση Προβλημάτων με Αναζήτηση
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Μοντελοποίηση υπολογισμού
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Ενότητα 8 : Αυτόματα NFA - DFA Αλέξανδρος Τζάλλας
Διακριτά Μαθηματικά ΣΥΝΟΛΑ.
Ισοδυναμία ΜΠΑ με ΠΑ Για κάθε ΜΠΑ Μ υπάρχει αλγόριθμος ο οποίος κατασκευάζει ΠΑ Μ’ αιτιοκρατικό ώστε να αναγνωρίζουν την ίδια ακριβώς γλώσσα. Καθώς το.
Η ΕΝΝΟΙΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ
Κώδικας χρήσης Διαδικτύου
ΤΕΧΝΟΛΟΓΙΑ ΟΡΙΣΜΟΙ ΤΕΧΝΟΛΟΓΙΑΣ 1)ΤΙ ΕΙΝΑΙ ΤΕΧΝΟΛΟΓΙΑ;
Βασικές Έννοιες και Ορισμοί
ΑΛΓΟΡΙΘΜΟΣ.
ΑΛΓΟΡΙΘΜΟΣ.
ENOTHTA 2. ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΕΦΑΛΑΙΟ 2
Β.ΕΠΑΛ-Γενικής Παιδείας  ΜΑΘΗΜΑ: Εισαγωγή στης αρχές Επιστήμης των Η/Υ  ΚΕΦΑΛΑΙΟ 4: Γλώσσες Αναπαράστασης Αλγορίθμων  ΕΝΟΤΗΤΑ 4.2: Δομή Ακολουθίας 
ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ
Προβλήματα Εκχώρησης (Assignment Problems)
Μεταγράφημα παρουσίασης:

Μάθημα 1 ο Τρίτη 4 Οκτωβρίου 2011 Τσαλικάκης Δημήτρης « Εισαγωγικές έννοιες» «ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ»

Επικοινωνία Μέσω Αξιολόγηση: Εργασίες: 30% Γραπτές Εξετάσεις: 70% Διδάσκων Τσαλικάκης Δημήτριος Πληροφορίες για το Μάθημα

Βιβλιογραφία [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). [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., [5] S. S. Skiena, The algorithm design manuel, Springer – Verlag, 1998.

Εισαγωγικές Έννοιες Το βιβλίο από το οποίο θα προέρχεται η ύλη θα είναι το βιβλίο του Michael Sipser, Εισαγωγή στην θεωρία υπολογισμού. Τα Κεφάλαια γύρω από τα οποία θα επικεντρωθούμε είναι το Κεφ. 0 Εισαγωγή Κεφ. 3 Δόγμα Church Turing (Μηχανές Turing) Κεφ. 7 Χρονική πολυπλοκότητα Κεφ. 8 Χωρική πολυπλοκότητα

Η λέξη “αλγόριθμος” προέρχεται από  Τη λέξη άλγος;  Τον Muhamed Ibn Musa Al Khov Warizmi;  Κανένα από τα 2; Εισαγωγικές Έννοιες

Muhamed Ibn Musa Al Khov Warizmi Algorism και Algorithm προέρχονται από το Algoritmi, το Λατινικό όνομα του Warizmi

Η έννοια του αλγορίθμου είναι θεμελιώδης στον χώρο της επιστήμης των υπολογιστών. Χωρίς αλγόριθμους δεν υπάρχουν προγράμματα και χωρίς προγράμματα δεν υπάρχει τίποτα για να τρέξει στον υπολογιστή. Εισαγωγικές Έννοιες Τα προβλήματα που αντιμετωπίζει η ανθρωπότητα είναι μεγαλύτερα, δυσκολότερα και πιο περίπλοκα:  Η αποκωδικοποίηση του ανθρωπίνου DNA, που αποσκοπεί στην αναγνώριση των περίπου γονιδίων του ανθρώπου.  Στο διαδίκτυο, του οποίου το ολοένα και αυξανόμενο μέγεθος δημιουργεί προβλήματα στον εντοπισμό της χρήσιμης πληροφορίας.  Στο ηλεκτρονικό εμπόριο και γενικότερα στην επικοινωνία μέσω διαδικτύου, η εμπιστοσύνη στην υπηρεσία είναι προϋπόθεση, λόγω κινδύνου διαρροής προσωπικών δεδομένων (πιστωτικές κάρτες, διευθύνσεις κ.λ.π.).

Εισαγωγικές Έννοιες Τι είναι όμως ένας αλγόριθμος; Πως ξεχωρίζουμε έναν καλό από έναν κακό αλγόριθμο; Πότε μπορούμε να κρίνουμε ότι ένας αλγόριθμος είναι ικανοποιητικός; Πως κατασκευάζονται αποδοτικοί αλγόριθμοι; Τι είναι η πολυπλοκότητα;

Εισαγωγικές Έννοιες Ένας αλγόριθμος είναι μια υπολογιστική διαδικασία που παίρνει μία ή περισσότερες τιμές σαν είσοδο και παράγει μία ή περισσότερες τιμές σαν έξοδο. Αλγόριθμος: ακολουθία υπολογιστικών βημάτων που μετασχηματίζει την είσοδο σε έξοδο. Να είναι πεπερασμένος, δηλαδή να τερματίζει πάντα μετά από έναν πεπερασμένο αριθμό βημάτων. Να είναι επακριβώς ορισμένος. Τα δεδομένα εισόδου, εξόδου και τα βοηθητικά δεδομένα που δημιουργούνται κατά τη διάρκεια εκτέλεσης του αλγορίθμου, πρέπει να κωδικοποιούνται από κάποιο πεπερασμένο αριθμό συμβόλων Να είναι ορθός. Δηλαδή, η έξοδος να είναι λύση στο υπό μελέτη πρόβλημα.

Ένα πρόγραμμα θα είναι χρήσιμο, αν εκτελείται σε ’λογικό’ χρόνο (δηλαδή δεν χρειάζεται αιώνες για να ολοκληρωθεί) και δεσμεύει ’λογικό’ χώρο μνήμης (όχι παραπάνω από όσο μπορούμε να έχουμε σε ένα καθημερινό σύστημα). Για να μπορούμε να διαχωρίσουμε τα χρήσιμα από τα άχρηστα προγράμματα, θα πρέπει να βρεθεί ένας τρόπος (μέτρο) για τον χαρακτηρισμό του προγράμματος. Αυτός είναι η πολυπλοκότητα χρόνου (δηλαδή πόσο γρήγορος είναι ο αλγόριθμος), και η πολυπλοκότητα χώρου (δηλαδή πόση μνήμη χρειάζεται το πρόγραμμα για να τρέξει). Εισαγωγικές Έννοιες Ποιος είναι καλός αλγόριθμος;

Η πολυπλοκότητα ενός αλγορίθμου εκφράζεται σαν συνάρτηση της διάστασης του υπό μελέτη προβλήματος. Η διάσταση του προβλήματος είναι το πλήθος των ατομικών δεδομένων για επεξεργασία, όπως για παράδειγμα το πλήθος των στοιχείων μιας ακολουθίας, Εισαγωγικές Έννοιες Παράδειγμα: Το Πρόβλημα της Αναζήτησης Δίνεται μια ακολουθία n στοιχείων S = (a1, a2,..., an) και ένα στοιχείο x. Είναι το x μέλος του S και αν ναι σε ποια θέση; Ένας απλός αλγόριθμος είναι ο εξής: Ψάξε ένα τα στοιχεία της ακολουθίας. Αν βρεις αυτό που ψάχνεις σταμάτα.

Εισαγωγικές Έννοιες Ορισμός : Σύνολο μια συλλογή από αντικείμενα  Μέλη συνόλου  Τα στοιχεία είναι μεταξύ τους διαφορετικά  Τα στοιχεία ενός συνόλου μπορεί να είναι και τα ίδια σύνολα Πχ. Α ={1, 13, 7} 1 ∈ A Πως αναπαριστούμε ένα σύνολο?  Συστηματικά: Β={3, 13, 25}  Κατηγορηματικά: Ικανές και αναγκαίες συνθήκες για τα στοιχεία που ανήκουν στο σύνολο Γ ={x: x είναι μήνας του καλοκαιριού}

Εισαγωγικές Έννοιες Ορισμός: Μία πράξη ◦ στο σύνολο 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

Αν η έξοδος της πράξης ◦ ανήκει πάντοτε ⇒ το σύνολο U είναι κλειστό κάτω από την πράξη ◦. Παράδειγμα Πχ. Α={2, 4, 6,…}, 2 * 4 = 8, η πράξη πολλαπλασιασμού (*) είναι κλειστή στο σύνολο Α. Εισαγωγικές Έννοιες

Το σύνολο 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 Εισαγωγικές Έννοιες

Το σύνολο χωρίς στοιχεία = κενό σύνολο, ∅ U ={το σύνολο που περιέχει όλα τα δυνατά σύνολα} Συμπλήρωμα ενός συνόλου Α, Ā = τα στοιχεία εκτός του Α Πχ. Α= {οι θετικοί αριθμοί}, Ā = {όλοι οι αριθμοί εκτός τους θετικούς} Δυναμοσύνολο του Α, P(A) = όλα τα δυνατά υποσύνολα του Α |P(A)| =2A Παράδειγμα A ={♣,♦, ♠} P(A) ={ {♠}, {♣}, {♦},{♣,♦}, {♣,♠}, {♦,♠}, {♦,♣},{♣,♦, ♠} }.

Εισαγωγικές Έννοιες

Παρατηρείστε: B \ A = B ∩ Ā Ā =U \A Συμμετρική διαφορά των A και B, A Δ B = (A\B) ∪ (Β\Α) περιέχει τα στοιχεία που ανήκουν σε ένα ακριβώς από τα δύο σύνολα Π.χ. { 1, 2, 3, 4 } M{ 2, 4, 6, 7 } = { 1, 3, 6, 7 } Παρατηρείστε: Εισαγωγικές Έννοιες

Νόμοι Αντιμετάθεσης A ∪ B =B ∪ A, Α ∩B =B ∩ A Νόμοι Προσεταιρισμού Α ∪ (B ∪ C) = (A ∪ B) ∪ C, A∩(B∩C) = (A∩B)∩C, U είναι απορροφητικό στοιχείο για την πράξη της ένωσης, ∅ είναι ουδέτερο στοιχείο για την πράξη της Τομής Τα σύνολα Α και Β είναι ξένα εάν Α∩B = ∅. Εισαγωγικές Έννοιες

Όταν η σειρά των στοιχείων {a,b}είναι σημαντική ⇒ Διατεταγμένο ζεύγος Εισαγωγικές Έννοιες

Z : σύνολο ακεραίων αριθμών = θετικοί ακέραιοι, αρνητικοί ακέραιοι και το μηδέν N : σύνολο φυσικών αριθμών = μόνο θετικοί ακέραιοι και το μηδέν Q : σύνολο ρητών αριθμών = { x : υπάρχουν ακέραιοι αριθμοί m και n τέτοιοι ώστε x =m/n} Π.χ. το π=3.14… ΔΕΝ είναι ρητός R : σύνολο πραγματικών (Real) αριθμών = ρητοί και άρρητοι αριθμοί Z+= θετικοί ακέραιοι Z = ? N = ? Εισαγωγικές Έννοιες