Στοιχεία θεωρητικής πληροφορικής
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Προηγούμενα θέματα για σκέψη
- Πρέπει να κατασκευαστεί λογισμικό που θα καθοδηγεί τον ταμία
ενός καταστήματος στο να δίνει τα σωστά ρέστα στους πελάτες.
Καταγράψτε ενδεικτικά το περιεχόμενο κάθε στάδιου του κύκλου ζωής
του λογισμικού αυτού.
- Περιγράψτε με συντομία το περιεχόμενο των απαιτήσεων ενός συστήματος
διασφάλισης ποιότητας για μια από τις παρακάτω δραστηριότητες:
- Εκδρομή στο εξωτερικό
- Ληστεία τράπεζας
- Διοίκηση του Ελληνικού Κράτους
Επαλήθευση αλγορίθμων
Παράδειγμα
Είσοδος:
Α(1..Ν): πίνακας ακεραίων
N : ακέραιος
Έξοδος:
Β(1..Ν): πίνακας ακεραίων
Προϋποθέσεις:
Ν >= 1
Μετασυνθήκες:
Β(1..Ν) περιέχει τις τιμές του Α(1..Ν)
Μεταβλητές
Ι : Ακέραιος
I := 1
Όσο Ι <= Ν
Β(Ι) := Α(Ι)
Αναλοίωτη συνθήκη: Β(1..Ι) := Α(1..Ι)
Συνθήκη σύγκλισης: Ν - Ι
Ι := Ι + 1
Τέλος
Αποδοτικότητα των αλγορίθμων
- Η σημειογραφία Ο()
- Γραμμική ανίχνευση Ο(ν)
- Δυαδική ανίχνευση Ο(λογ ν)
- Διπλός βρόχος Ο(ν^2)
- Κατώτερο (απόδειξης) πραγματικό και ανώτερο (αλγοριθμικό) κόστος
- Κόστος μνήμης
Πολυπλοκότητα
Μη υπολογισιμότητα
Τερματίζει(Πρόγραμμα, Δεδομένα)
Είσοδος: Πρόγραμμα, Δεδομένα
Έξοδος: Αληθές αν το πρόγραμμα τερματίζει με τα δεδομένα,
αλλιώς ψευδές.
Δοκιμή(Πρόγραμμα, Δεδομένα)
Αν Τερματίζει(Πρόγραμμα, Δεδομένα) Τότε
Όσο αληθές
Τέλος (Όσο)
Αλλιώς
Δοκιμή := ψευδές
Τέλος (Αν)
Δοκιμή(Δοκιμή ..., Δοκιμή ...)
Αλγοριθμική οικουμενικότητα
Πεντάδα Α = (Ι, Ο, S, λ, δ)
- Ι : Τιμές εισόδου
- Ο : Τιμές εξόδου
- S : Πεπερασμένο σύνολο εσωτερικών καταστάσεων
- λ : S X I -> S Συνάρτηση επόμενης κατάστασης
- δ : S X I -> O Συνάρτηση επόμενης τιμής εξόδου
Η μηχανή του Turing
- Πεπερασμένο αλφάβητο: Α
- Πεπερασμένο σύνολο καταστάσεων: Μ
- Άπειρη ταινία
- Κεφαλή γραφής και ανάγνωσης
- Διάγραμμα μετάπτωσης: (Α Χ Μ) -> (Α X {Δ, Α, Σ}) Χ Μ
Παραδείγματα
- Εγγραφή συμβόλου στο τέλος της ταινίας
- Αντιγραφή ταινίας
- Πρόσθεση
Η θέση των Church/Turing
Πιθανοτικοί αλγόριθμοι
Δειπνούντες φιλόσοφοι
Για πάντα
Πέτα νόμισμα και περίμενε το ανάλογο πηρούνι
Αν υπάρχει και το άλλο πηρούνι Τότε
πάρε το άλλο πηρούνι
φάε
Αλλιώς
Άσε τα πηρούνια
Τέλος
Τέλος
Λειτουργική και προσδιοριστική σημασιολογία
Αλγοριθμικός ορισμός ενός διερμηνευτή για τη συγκεκριμένη γλώσσα.
Ορισμός μιας συνάρτησης που εκφράζει το αποτέλεσμα εκτέλεσης
οποιουδήποτε προγράμματος στη συγκεκριμένη γλώσσα.
Βιβλιογραφία
- Peter Rechenberg.
Εισαγωγή στην Πληροφορική. σ. 193-220
Κλειδάριθμος, 1992.
Ασκήσεις
Προσθέστε 5 στο μισό των δύο τελευταίων ψηφίων του Α.Μ. σας.
Υπολογίστε (σε s, ώρες, μέρες, χρόνια) τον ελάχιστο χρόνο που θα κάνει
για να εκτελέσει ένας υπολογιστής με χρόνο εκτέλεσεης εντολής 100ns
αλγορίθμους με την παρακάτω πολυπλοκότητα χρόνου:
- O(ν)
- O(λογ ν)
- O(ν!)
- O(2^ν)
- O(ν^2)
- O(ν^ν)