(14 ο,15 ο,16 ο ) ΟΡΘΟΤΗΤΑ ΕΝΟΣ ΑΛΓΟΡΙΘΜΟΥ: ΕΝΟΤΗΤΑ Ι ΙΙ ΙΙΙ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "(14 ο,15 ο,16 ο ) ΟΡΘΟΤΗΤΑ ΕΝΟΣ ΑΛΓΟΡΙΘΜΟΥ: ΕΝΟΤΗΤΑ Ι ΙΙ ΙΙΙ"

Transcript

1 (14 ο,15 ο,16 ο ) ΟΡΘΟΤΗΤΑ ΕΝΟΣ ΑΛΓΟΡΙΘΜΟΥ: ΕΝΟΤΗΤΑ Ι ΙΙ ΙΙΙ Το πρόβλημα της «ορθότητας» ενός αλγορίθμου. Θεωρούμε συχνότατα τους αλγορίθμους, (όπως και σε αυτές τις σημειώσεις), ως προγράμματα γραμμένα σε μια κάποια γλώσσα προγραμματισμού. Αν και οι αλγόριθμοι είναι κάτι πιο αφηρημένο από τα προγράμματα μιας συγκεκριμμένης γλώσσας, η θεώρηση αυτή δεν βλάπτει ιδιαίτερα, διότι για να φανούν πρακτικά χρήσιμοι οι αλγόριθμοι, θα πρέπει κάποια στιγμή να υλοποιηθούν ως τέτοια προγράμματα. Τα προγράμματα μιας γλώσσας προγραμματισμού ορίζονται αυτόνομα άσχετα από τον σκοπό που ίσως εξυπηρετήσουν: αν ακολουθήσετε τους συντακτικούς κανόνες μιας γλώσσας θα φτιάξετε ένα κάποιο πρόγραμμα, το οποίο από την στιγμή που «περνά» τον μεταγλωττιστή, θα είναι εκτελέσιμο και ικανό να επιφέρει τούτο ή εκείνο το αποτέλεσμα. Τα προγράμματα λοιπόν δεν είναι σωστά ή λάθος παρά μόνο κατά το ότι «τρέχουν» ή «δεν τρέχουν». Τα προγράμματα και οι αλγόριθμοι όμως (και, ως προς τούτο, όλα τα μαθηματικά αντικείμενα που αναλύουμε) εξεταζόμενα μόνα τους, είτε έχουν είτε δεν έχουν κάποιες ιδιότητες. Και το απλούστερο είδος ιδιότητας που θα θέλαμε να αναλύσουμε σχετικά με ένα πρόγραμμα, είναι τί σχέση έχουν τα αποτελέσματα που παραδίδει ως προς τα δεδομένα που παραλαμβάνει. Αυτή η σχέση δεδομένωναποτελεσμάτων σε κάποιες περιπτώσεις έχει την μορφή μιας ανακάλυψης: έχουμε ήδη έναν αλγόριθμο και ανακαλύπτουμε ότι έχει κάποια ιδιότητα που δεν είχαμε προηγουμένως αντιληφθεί. Κατά κύριο λόγο όμως, στην πράξη αυτή η σχέση έχει την μορφή ενός «προβλήματος»: έχουμε ήδη προδιαγράψει μια σχέση δεδομένων ζητουμένων, και σχεδιάζουμε έναν αλγόριθμο ώστε να την ικανοποιεί, να «επιλύει» δηλαδή το σχετικό πρόβλημα. Στη παραπάνω δεύτερη περίπτωση, η οποία είναι και η συνηθέστερη, η ανάλυση ενός αλγορίθμου αναφέρεται στην ορθότητα αυτού: ΔΙΔΕΤΑΙ: ΖΗΤΕΙΤΑΙ: ΩΣΤΕ: «ΑΝΑΛΥΣΗ ΟΡΘΟΤΗΤΑΣ ΑΛΓΟΡΙΘΜΟΥ» (α) ένα «πρόβλημα», δηλαδή μια αρχική συνθήκη P που τηρούν τα δεδομένα του, και μια τελική συνθήκη Q που (πρέπει να) τηρούν τα ζητούμενα σε σχέση με τα δεδομένα. (β) ένας αλγόριθμος υπό την μορφή ενός προγράμματος. Μια ανάλυση ορθότητας του Α ως προς το πρόβλημα (P, Q)......αυτή να αποτελεί, είτε μια απόδειξη ότι ο αλγόριθμος Α, επιλύει πάντοτε το δεδομένο πρόβλημα, είτε ένα αντιπαράδειγμα ότι κάποιες φορές ο Α αποτυγχάνει. Δυστυχώς το παραπάνω πρόβλημα της ανάλυσης ορθότητας ενός αλγορίθμου δεν λύνεται αλγοριθμικά! Η θεωρία υπολογισμού έχει αποδείξει ότι δεν υπάρχει κανένας αλγόριθμος ικανός να δέχεται την περιγραφή ενός προβλήματος και ενός αλγορίθμου, και να απαντά εάν ο δεδομένος αλγόριθμος επιλύει ορθώς το δεδομένο πρόβλημα ή όχι. Αυτό το καθήκον βαραίνει κάθε φορά εξ αρχής τους ειδικούς του κλάδου, οι οποίοι δεν έχουν στην διάθεσή τους παρά την έμπνευσή τους και την εμπειρία τους την οποία πρέπει να φροντίζουν να κρατούν πλούσια και λογικά οργανωμένη. 1 Υπάρχουν τρείς τουλάχιστον σοβαροί λόγοι για τους οποίους θα πρέπει να μελετήσετε τις τεχνικές ανάλυσης ορθότητας, και να ασκηθείτε με αυτές: Οι αλγόριθμοι υλοποιούνται ως προγράμματα και όλοι έχουμε την εμπειρία του πόσο δύσκολο είναι να γραφεί ένα απολύτως ορθό πρόγραμμα. Τα bugs που αποκαλύπτονται ακόμα και σε προγράμματα η κατασκευή των οποίων έχει κοστίσει πανάκριβα, έχουν κατά καιρό ταλαιπωρήσει εκατομμύρια ανθρώπους. Σε ορισμένες μάλιστα περιπτώσεις τα σφάλματα είναι απολύτως ανεπίτρεπτα αναλογιστείτε λ.χ. τις ιατρικές εφαρμογές, τον έλεγχο εναέριας κυκλοφορίας, το λογισμικό των τραπεζών, την ανάλυση κτιριακών κατασκευών, κοκ. 1 Από αυτή την πλευρά, οι επιστήμονες της πληροφορικής (και οι μαθηματικοί) είναι οι πρώτοι και μόνοι επαγγελματικοί κλάδοι που διαθέτουν μαθηματική απόδειξη για την αναγκαιότητά τους : ) Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 1

2 Υπάρχουν αλγόριθμοι που εκ πρώτης όψεως φαίνονται σωστοί και όμως είναι εσφαλμένοι. Θα πρέπει λοιπόν να είστε σε θέση να ελέγχετε τις σχεδιαστικές ιδέες σας και να διαπιστώνετε με ακρίβεια τις δυνατότητές τους. (Προσέξτε ότι αυτό το έργο δεν έχει μόνον νοητικές αλλά ψυχολογικές διαστάσεις: χρειάζεστε από την μια πλευρά αυτοπεποίθηση και από την άλλη ικανότητες αυτο αμφισβήτησης.) Υπάρχουν αλγόριθμοι που εκ πρώτης όψεως φαίνοντα εσφαλμένοι, και όμως είναι ορθοί! Εδώ έχουμε ένα χειρότερο πρόβλημα: πώς μπορούμε να σχεδιάζουμε τέτοιους αλγορίθμους όταν εκ πρώτης όψεως δεν φαίνονταν σωστοί; Ίσως μόνον εάν οξύνουμε τις αναλυτικές ικανότητές μας... Ας δούμε λοιπόν στη συνέχεια πώς τίθεται το πρόβλημα της ανάλυσης ορθότητας ενός αλγορίθμου: Γλώσσες και περιβάλλοντα σύνταξη και σημασιολογία. Υπάρχουν πάρα πολλές γλώσσες προγραμματισμού. Συνεχώς παλαιές εγκαταλείπονται και πολλές νέες δημιουργούνται, σε μια διαδικασία που είναι αδύνατον να προβλέψουμε το προς τα πού μας πηγαίνει. Και εκτός από πολλές γλώσσες, υπάρχουν επίσης πολλά είδη προγραμματισμού: κάποτε υιοθετήθηκε ο λεγόμενος δομημένος προγραμματισμός, (όρος που έχει σχεδόν λησμονηθεί). Αργότερα επεκράτησε ο λεγόμενος οντοστρεφής προγραμματισμός. Έχουμε επίσης, ήδη από πολύ παλιά, τον συναρτησιακό προγραμματισμό, ή και τον λογικό προγραμματισμό. Τα είδη προγραμματισμού εξελίσσονται βραδύτερα από τις διάφορες γλώσσες, αλλά ακόμα και εκεί δεν γνωρίζουμε «που θα βγάλει ο δρόμος»: λ.χ. ο οντοστρεφής προγραμματισμός ήταν είδος μάλλον απρόβλεπτο προ του 1970, και ίσως να μας είναι ακόμα απρόβλεπτο το πώς θα προγραμματίζουμε το Κάθε είδος έχει κάτι πολύτιμο να προσφέρει και οπωσδήποτε αξίζει να το γνωρίσετε από κοντά. Όλα τα είδη προγραμματισμού έχουν όμως αυτό που ονομάζουμε «μεταβλητές» 3, δηλαδή «ονόματα» στα οποία επισυνάπτονται «τιμές». Εμείς ως προγραμματιστές ή σχεδιαστές αλγορίθμων αναφερόμαστε σε αυτές μέσω των ονομάτων τους και ο αλγόριθμος, (ή ακριβέστερα η υπολογιστική μηχανή που τον «εκτελεί»), χειρίζεται τις αντίστοιχα συνημμένες τιμές, πραγματοποιεί τον σχετικό υπολογισμό και παράγει τα «ζητούμενα» από τα «δεδομένα». Το σύνολο των μεταβλητών που έχουμε στην διάθεση μας σε κάθε στιγμή εκτέλεσης του προγράμματος αποτελεί το περιβάλλον (εργασίας), που θα συμβολίζουμε με Ε. Το σημαντικό (κυριολεκτικά!) στις γλώσσες προγραμματισμού είναι ότι η εκτέλεση μιας εντολής, (ή ενός ολόκληρου προγράμματος, θεωρημένου σαν μία σύνθετη εντολή), μεταβάλλει το περιβάλλον από Ε σε Ε. Αυτή η μεταβολή γίνεται είτε τροποποιώντας τις τιμές των ήδη μεταβλητών, είτε προσθαφαιρώντας μεταβλητές. Θα συμβολίζουμε αυτή την μεταβολή με την εξής γραφή: E E. Όταν μαθαίνουμε (είτε μόνοι μας, είτε διδασκόμενοι) μια γλώσσα προγραμματισμού μαθαίνουμε σε στενή συνύφανση μεταξύ τους δύο θεμελιακά χαρακτηριστικά κάθε γλώσσας: την σύνταξη, δηλαδή τους κανόνες γραφής αυτής της γλώσσας: πώς γράφονται τα ονόματα; πώς γράφονται οι αριθμοί; πώς γράφεται μια λογική ή αριθμητική έκφραση, μια διαδικασία ή συνάρτηση; ποιά σημεία στίξης επιτρέπονται και πώς τα χρησιμοποιούμε; κοκ. την σημασιολογία της γλώσσας, δηλαδή το «τί κάνει» κάθε εντολή. Αυτό ακριβώς υποδηλώνει ο συμβολισμός E E : γνωρίζουμε (ή ορίζουμε) την «σημασία» μιας εντολής, εάν για κάθε περιβάλλον Ε εντός του οποίου αυτή ενδέχεται να κληθεί προς εκτέλεση, είμαστε σε θέση να περιγράψουμε (με απόλυτη πληρότητα και ακρίβεια), το περιβάλλον Ε που θα προκύψει μετά την εκτέλεσή της. Συνθήκες δεδομένων και συνθήκες ζητουμένων. Το ζήτημα της ανάλυσης ενός αλγορίθμου (και ειδικά της ορθότητας, ότι δηλαδή «επιλύει» πράγματι τούτο ή εκείνο το πρόβλημα), αναδεικνύει δύο περιβάλλοντα: το αρχικό (ως εκείνο που θα περιέχει τα δεδομένα), και το τελικό (ως εκείνο που θα περιέχει τα ζητούμενα αποτελέσματα). Με αυτά τα δύο περιβάλλοντα, σχετίζονται δύο λογικές συνθήκες: 2 Ο συγγραφέας ελπίζει ότι τότε δεν θα χρησιμοποιούμε ακόμα γλώσσες της δεκαετίας του 60 ή του 70 : ) 3 Καλώς ή κακώς. Διότι λ.χ. στο συναρτησιακό προγραμματισμό οι «μεταβλητές» ποτέ δεν μεταβάλλονται... αν θέλουμε να τις ονομάσουμε ακριβέστερα, τότε δεν είναι μεταβλητές αλλά επώνυμες σταθερές. Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 2

3 Μια συνθήκη που θα ονομάζουμε αρχική συνθήκη και θα συμβολίζουμε με P, η οποία περιγράφει τα δεδομένα και τις ιδιότητες που αυτά έχουν. Λ.χ. ότι «δίδονται Ν θετικοί ακέραιοι», ή ότι «δίδονται Ν σημεία στο επίπεδο στα οποία δεν υπάρχουν τρία συνευθειακά», ή ότι δίδεται «γράφημα το οποίο είναι συνδεδεμένο, και δύο διακεκριμμένοι κόμβοι s και t», κττ. Μια συνθήκη που θα ονομάζουμε τελική συνθήκη (ή συνθήκη του προβλήματος) και θα συμβολίζουμε με Q, η οποία περιγράφει τα ζητούμενα. Λ.χ. ότι ζητείται «ο μέγιστος αριθμός που διαιρεί όλους τους δεδομένους», ή «ένας κύκλος που περιβάλλει όλα τα δεδομένα και έχει την ελάχιστη δυνατή ακτίνα», ή «μια διαδρομή η οποία να συνδέει τους τάδε κόμβους», κττ. Το αν ισχύει μια λογικο μαθηματική συνθήκη Σ εξαρτάται από την αποτίμηση των μεταβλητών της, και αυτή με τη σειρά της εξαρτάται από το περιβάλλον εργασίας Ε. Θα συμβολίζουμε λοιπόν με Σ Ε την αποτίμηση μιας συνθήκης, εντός του περιβάλλοντος Ε προφανώς η αποτίμηση αυτή μας δίδει μια τιμή αληθείας: ΑΛΗΘΕΣ ή ΨΕΥΔΕΣ. Μπορούμε τώρα να πούμε, έστω αδρομερώς και συμβολικά, το πώς τίθεται το ζήτημα της ανάλυσης (και ορθότητας) ενός αλγορίθμου, ο οποίος μας δίδεται υπό την μορφή προγράμματος κάποιας γλώσσας προγραμματισμού. Το πρόγραμμα είναι μια (σύνθετη) εντολή, και επί του αρχικού περιβάλλοντος Ε τηρείται η συνθήκη των δεδομένων P. Η εντολή μετασχηματίζει το αρχικό περιβάλλον στο τελικό Ε, ισχύει δηλαδή ότι E E. Αν ισχύουν αυτά, το ερώτημα είναι: θα παραλάβουμε αυτό που ζητούμε; Δηλαδή, θα τηρείται η τελική συνθήκη (του προβλήματος) Q επί του τελικού περιβάλλοντος Ε ; Αυτό που ζητούμε λοιπόν είναι μια απόδειξη της παρακάτω πρότασης: P ( E E') Q (ισχύει; αποδεικνύεται;) E Σημείωση: επειδή η συνθήκη του προβλήματος είναι εύλογο να συσχετίζει τα αποτελέσματα (στο Ε ) με τα δεδομένα (στο Ε) θα υποθέτουμε για λόγους απλοποίησης της παρουσίασης ότι σε κάθε περιβάλλον Ε διατηρούμε όσα τυχόν δεδομένα χρειάζονται για να γίνει η συσχέτιση δεδομένων αποτελεσμάτων. Στην λογικο μαθηματική ανάλυση δεν τίθενται ζητήματα οικονομία μνήμης... Ο πυρήνας του προβλήματος. Όπως είναι φυσικό η εντολή πρόγραμμα δεν θα μπορούσε να απουσιάζει από την παραπάνω διατύπωση. Δεν είναι όμως εύκολο να χειριστούμε ομοιόμορφα όλα τα είδη εντολών των γλωσσών όλων των ειδών, γι αυτό θα περιοριστούμε σε μια αδρή περιγραφή των εντολών που συναντάμε στα προστακτικά είδη γλωσσών (όπως είναι οι οντοστρεφείς και, εν μέρει, οι συναρτησιακές γλώσσες). E δηλωτικές εντολές τιμοδοτικές εντολές διακλαδωτικές εντολές επαναληπτικές εντολές κλητικές εντολές Οι εντολές αυτές δηλώνουν τους τύπους μεταβλητών και τις ίδιες τις μεταβλητές που θα χρησιμοποιήσουμε. Γι αυτό μια παλαιά ορολογία τις αποκαλούσε «μη εκτελέσιμες», αν και κατά κάποια έννοια πράγματι «εκτελούνται», και το αποτέλεσμά τους είναι καίριας σημασίας. Οι εντολές αυτές υπολογίζουν μια έκφραση και επισυνάπτουν την τιμή που προκύπτει σε μια μεταβλητή. Είναι οι πιο απλές πανταχού παρούσες εντολές. Οι εντολές αυτές εξετάζουν ποιά περίπτωση από ένα κατάλογο περιπτώσεων ισχύει (λ.χ. είναι η τιμή της x ίση με 1, 2 ή 3;) και αντίστοιχα με την περίπτωση εκτελούν τούτη ή εκείνη την εντολή. Είδος διακλαδωτικής εντολής είναι φυσικά και οι υποθετικές εντολές του τύπου if then, if then else. Οι εντολές αυτές είναι σύνθετες περιέχουν μια εντολή, και ο σκοπός τους είναι η επαναληπτική εκτέλεση της εντολής, υπό διάφορους όρους: άλλοτε για ένα προκαθορισμένο πλήθος φορών, άλλοτε εφόσον ισχύει μια συνθήκη, και άλλοτε έως ότου ισχύσει μια συνθήκη. Οι εντολές αυτές αναθέτουν τον «έλεγχο» του προγράμματος σε ένα υποπρόγραμμα, δηλαδή μια διαδικασία ή συνάρτηση, παραδίδοντας σε αυτό κάποια δεδομένα και παραλαμβάνοντας από αυτό κάποια αποτελέσματα. Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 3

4 Πώς να χειριστούμε το πρόβλημα της «ορθότητας» μέσα από τέτοιες εντολές; Ας ξαναδούμε αυτά τα είδη εντολών ένα προς ένα: Δηλωτικές εντολές: «x,y: ακέραιος» Ο ρόλος τους δεν είναι να αλλάξουν κάποιες τιμές στο υπάρχον περιβάλλον, αλλά να ορίσουν αυτό καθαυτό το εκάστοτε περιβάλλον. Είναι από τις πιό βοηθητικές εντολές για την ανάλυση ενός προγράμματος και δεν πρόκειται να μας φέρουν δυσκολίες. Τιμοδοτικές εντολές: «v e» Πρόκειται για τις κατ εξοχήν εντολές που μεταβάλλουν το περιβάλλον, αλλάζοντας τις τιμές των μεταβλητών. Έχουν όμως πολύ απλή μορφή, ίσως την απλούστερη δυνατή, και δεν προκαλούν δυσκολίες κατανόησης της επίδρασης που έχουν. Διακλαδωτικές εντολές: «Εάν π τότε { ΝΑΙ αλλιώς { ΟΧΙ» Οι εντολές αυτές επηρρεάζουν κατά τον πιο προφανή τρόπο την ροή του προγράμματος, αλλά η λογική τους ανάγεται σε μια μορφή εντολής που θα εξετάσουμε στη συνέχεια τις εντολές αορίστου επανάληψης. Μια εντολή σαν την παραπάνω γράφεται και ως εξής: { Α π, Ψ Α Εφόσον Α τότε { ΝΑΙ, Α ΨΕΥΔΕΣ Εφόσον Ψ τότε { ΟΧΙ, Ψ ΨΕΥΔΕΣ Επαναληπτικές εντολές: Οι επαναληπτικές εντολές είναι δυνατόν να εμφανιστούν με δύο μορφές: ορισμένη επανάληψη: «Για k = 1 έως Ν {». αόριστη επανάληψη: «Εφόσον π τότε {». Η πρώτη μορφή εύκολα ανάγεται στην δεύτερη: «k 1, Εφόσον (k Ν) {, k k+1». Η δεύτερη μορφή είναι λοιπόν αυτή που θα μας απασχολήσει: η αόριστη επανάληψη είναι μία από τις ισχυρότερες μορφές εντολών που εμφανίζονται στις γλώσσες προγραμματισμού. Το πρόβλημα που παρουσιάζει είναι ότι δεν γνωρίζουμε ακριβώς τί θα εκτελεστεί: η εντολή μπορεί να επαναληφθεί 1, 2, 3, ή περισσότερες φορές ίσως και καμμία! Κλητικές εντολές: «P(x,y)» ή «v F(x,y)»: Η κλήση μιας διαδικασίας, λ.χ. της P(x,y) με δύο παραμέτρους, ή μιας συνάρτησης F(x,y), δεν παράγει αξιοσημείωτες δυσκολίες ανάλυσης της ορθότητας ενός αλγορίθμου επειδή στην ουσία της δεν είναι παρά ένα είδος «συντομογραφίας». Στο σημείο που καλούμε μια διαδικασία ή μια συνάρτηση θα μπορούσαμε (α) να ορίσουμε τις όποιες τοπικές μεταβλητές του υποπρογράματος (β) να διαβιβάσουμε ρητά τις σχετικές παραμέτρους και (γ) να εισαγάγουμε εκεί το σώμα της διαδικασίας. Με λίγη προσοχή τίποτα δεν θα άλλαζε εκτός από την μορφή του κειμένου. Χρήση διαδικασίας/συνάρτησης Συνάρτηση maximum(α,β: ακέραιοι) { Περίπτωση { (α β): maximum α (α<β): maximum β {... x maximum(y,0)... Ένθεση σώματος διαδικασίας/συνάρτησης {... // διαβίβαση παραμέτρων: τιμοδοσία α y β 0 // εισαγωγή σώματος { Περίπτωση { (α β): maximum α (α<β): maximum β // διαβίβαση παραμέτρων: τιμοληψία x maximum... Μόνη εξαίρεση θα ήταν η περίπτωση μιας αναδρομικής διαδικασίας (ή συνάρτησης). Σε αυτή την περίπτωση η αντικατάσταση της κλήσης με την ίδια την διαδικασία θα επανεμφάνιζε μια κλήση αυτής της διαδικασίας και δεν θα είχαμε πραγματοποιήσει πρόοδο. Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 4

5 Χρήση διαδικασίας/συνάρτησης Συνάρτηση Έργο(α,β: ακέραιοι) {... // αναδρομική κλήση! γ Έργο(α-5,β/2)... {... x Έργο(x,y)... Ένθεση σώματος διαδικασίας/συνάρτησης {... // διαβίβαση παραμέτρων: τιμοδοσία α x β y // εισαγωγή σώματος {... // αναδρομική κλήση! γ Έργο(α-5),β/2)... // διαβίβαση παραμέτρων: τιμοληψία x Έργο... Δύο λοιπόν σοβαρά εμπόδια έχουμε για να μπορούμε να αναλύσουμε ένα πρόγραμμα: τις εντολές αόριστης επανάληψης, και τις αναδρομικές διαδικασίες. Πρόκειται για τις δύο όψεις του ίδιου νομίσματος με την χρήση αναδρομικών διαδικασιών μπορούμε να υλοποιήσουμε επαναληπτικές εντολές, όπως επίσης με την χρήση αόριστης επανάληψης μπορούμε να υλοποιήσουμε αναδρομικές διαδικασίες. Ο τρόπος για το δεύτερο δεν είναι απλός, και συνήθως διδάσκεται στα μαθήματα περί μεταγλωττιστών. Από την δική μας τρέχουσα οπτική γωνία, αυτή η ισοδυναμία δεν μας προσφέρει κανένα ιδιαίτερο πρακτικό όφελος, και έτσι θα αντιμετωπίσουμε αυτές τις δύο περιπτώσεις χωριστά. Εντολές αόριστης επανάληψης και αναλλοίωτες συνθήκες. Έστω ότι θέλουμε να αναλύσουμε μια εντολή αόριστης επανάληψης * = «Εφόσον Π τότε {»: όσο δεν ισχύει η συνθήκη περάτωσης Π εκτελείται η εντολή. Η εντολή αυτή λοιπόν ενδέχεται να εκετελεστεί 0, 1, ή περισσότερες φορές. Ίσως ακόμα χειρότερα να μην περατούται ποτέ! Πώς θα αναλύσουμε την επίδρασή της; Προφανώς θα πρέπει να διαγνώσουμε υπό ποίες συνθήκες εργάζεται αυτή η εντολή, δηλαδή μια αρχική συνθήκη P που ισχύει στο περιβάλλον Ε εντός του οποίου η εντολή θα εκτελεστεί η *. Ο αντίκτυπος της * θα πρέπει να περιγράφεται από μια τελική συνθήκη Q, που θα * πρέπει να ισχύει στο τελικό περιβάλλον Ε, εάν E E. Θέλουμε να πάρουμε κάτι «σωστό» από την *, και αυτό αναλύεται σε δύο αιτήματα: (α) να πάρουμε κάτι και (β) αυτό να είναι όπως θα θέλαμε. Το πρώτο λοιπόν που πρέπει να εξασφαλίσουμε είναι ότι θα πάρουμε κάτι από την εκτέλεση της * και αυτό σημαίνει ότι κάποια στιγμή θα ισχύσει η συνθήκη Π, και ως εκ τούτου η εντολή επανάληψης θα περατωθεί. Το μόνο μεθοδικό εργαλείο που έχουμε στην διάθεσή μας για να αποδείξουμε ότι κάτι τέτοιο θα συμβεί οπωσδήποτε, είναι να ανιχνεύσουμε κάποια στοιχείο προόδου p στο περιβάλλον εργασίας Ε, δηλαδή μια (αλγεβρική λ.χ.) έκφραση αποτιμίσιμη επί του Ε, για την οποία ισχύουν δύο πράγματα: Η εκτέλεση της εντολής μεταβάλλει την τιμή κατά γνήσια μονότονο και «διακριτό» τρόπο: εάν E E τότε p E > p E + 1, (ή συμμετρικά, p E < p E 1). Το στοιχείο προόδου έχει φράγμα φ (άνω ή κάτω αναλόγως της περίπτωσης). Οι δύο αυτές συνθήκες, επαρκούν προφανώς για να μας εξασφαλίσουν ότι η συνθήκη Π κάποια στιγμή θα παύσει να ισχύει. Π.χ. στην περίπτωση ενός αύξοντος θετικού στοιχείου προόδου, δεν θα κάνουμε πάνω από φ επαναλήψεις. Αλλά η περάτωση από μόνη της δεν επαρκεί για την ανάλυση του τί επιτυγχάνει η εντολή μας. Πρέπει να εξηγήσουμε το γιατί στο τέλος θα ισχύσει η τελική συνθήκη Q. Αυτό, φυσικά, δεν εξαρτάται από την συνθήκη περάτωσης Π, αλλά από την επαναλαμβανόμενη εντολή. Προφανώς η εντολή πραγματοποιεί κάποιο «κρίσιμο έργο», (μεταξύ άλλων εργασιών πιθανότατα). Αυτό το κρίσιμο έργοαποτέλεσμα θα πρέπει να καταφέρουμε να το περιγράψουμε με μια λογική συνθήκη Σ αποτιμίσιμη στο εκάστοτε περιβάλλον Ε, συνθήκη η οποία θα πρέπει να είναι σε θέση με το πέρας της επανάληψης να μας εξασφαλίσει το επιθυμητό τελικό αποτέλεσμα: (Σ Π) E Q E. Από αυτό το σκεπτικό δύο πράγματα έπονται: Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 5

6 Η συνθήκη Σ πρέπει να ισχύει στο αρχικό περιβάλλον, έστω Ε0, διότι η εντολή * ενδέχεται να μην εκτελεστεί ούτε μία φορά. Η συνθήκη Σ πρέπει να ισχύει στο τελικό περιβάλλον, αυτό που προκύπτει μετά την εκτέλεση της, μία, δύο, ή περισσότερες φορές. Επειδή όμως δεν γνωρίζουμε ακριβώς πόσες φορές αυτή η εντολή θα εκτελεστεί, η μόνη μεθοδική διέξοδος που έχουμε είναι να εξασφαλίσουμε (όταν και εφόσον αυτό είναι δυνατόν), ότι ισχύει μετά από κάθε εκτέλεση της εντολής. Μια συνθήκη η οποία, εάν ισχύει προ της εκτέλεσης της τότε ισχύει και μετά θα την αποκαλούμε (βροχο) αναλλοίωτη συνθήκη (του βρόχου της επαναληπτικής εντολής * ) ή α/σ. Συνοψίζοντας, η μόνη μεθοδική προσέγγιση που έχουμε για να εξηγήσουμε και αποδείξουμε τί επιτυγχάνει μια εντολή του τύπου * = «Εφόσον Π τότε {», είναι να ανιχνεύσουμε ένα στοιχείο προόδου p και μια αναλλοίωτη συνθήκη Σ του βρόχου, τέτοια ώστε: Το στοιχείο προόδου p να εξασφαλίζει ότι σε κάποια επανάληψη θα ισχύσει η συνθήκη περάτωσης. Η αρχική συνθήκη P να εξασφαλίζει την α/σ Σ: P E Σ E. Η Σ να μένει αναλλοίωτη δια μέσου της εντολής : (Σ E) ( E E ) (Σ E ). Η Σ, με την σ. περάτωσης Π, να παράγεουν την τελική συνθήκη Q: (Π ) (Σ ) Q. E E E Ας προσέξουμε ότι το τέλος κάθε επανάληψης δεν είναι παρά η αρχή της επόμενης, και επομένως αρκεί μια απλή επαγωγή για να δείξουμε ότι η συνθήκη Σ θα ισχύει μετά από κάθε εκτέλεση της, έως το τέλος της επανάληπτικής εντολής * : ( Σ E ) ( Σ )... ( Σ ) ( Σ ) 0 E 1 E last 1 E, διότι E last κ E κ + 1 Ας δούμε όλα τα παραπάνω, σε μια σειρά παραδειγμάτων, αρχίζοντας από μια κλασική περίπτωση. Ορθότητα Ι: ένα ιστορικό παράδειγμα. Ευκλείδου, «Στοιχεία», βιβλίο ζ, εδάφιο α Δύο ἀριθμῶν ἀνίσων ἐκκειμένων, ἀνθυφαιρουμένου δὲ ἀεὶ τοῦ ἐλάσσονος ἀπὸ τοῦ μείζονος, ἐὰν ὁ λειπόμενος μηδέποτε καταμετρῇ τὸν πρὸ ἑαυτοῦ, ἕως οὗ λειφθῇ μονάς, οἱ ἐξ ἀρχῆς ἀριθμοὶ πρῶτοι πρὸς ἀλλήλους ἔσονται. Παράδειγμα 1 ο : Το παράδειγμά μας αφορά στο Ευκλείδιο αλγόριθμο για την εύρεση του μέγιστου κοινού διαιρέτη δύο φυσικών αριθμών. Η προέλευση του αλγορίθμου είναι τα «Στοιχεία» του Ευκλείδη, και στην αρχική μορφή του είναι ένας αλγόριθμος προς διαπίστωση του εάν δύο μεγέθη είναι «πρώτα προς άλληλα», εάν δηλαδή το μέγιστο κοινό μέτρο τους είναι η μονάδα. (Η λύση ολοκληρώνεται στο β εδάφιο.) Προσέξτε στο αρχαίο (...) κείμενο τον ορισμό του περιβάλλοντος (Δύο ἀριθμῶν), την αρχική συνθήκη (ἀνίσων ἐκκειμένων), την αόριστη επανάληψη (ἀεὶ), την εκτελούμενη πράξη μέσω δύο συναρτήσεων (ἀνθυφαιρουμένου δὲ... τοῦ ἐλάσσονος ἀπὸ τοῦ μείζονος), την συνθήκη περάτωσης (ἐὰν ὁ λειπόμενος μηδέποτε καταμετρῇ τὸν πρὸ ἑαυτοῦ, ἕως οὗ λειφθῇ μονάς), και την τελική συνθήκη διαπίστωση (οἱ ἐξ ἀρχῆς ἀριθμοὶ πρῶτοι πρὸς ἀλλήλους ἔσονται) όλα δύο χιλιάδες τριακόσια χρόνια πριν! Στην επόμενη παράγραφο δίδουμε τον σχετικό ψευδοκώδικα. Το περιβάλλον εργασίας Ε είναι 7 μεταβλητές: οι αρχικές τιμές α, β, οι τρέχουσες τιμές α, β, δύο βοηθητικές μεταβλητές x, y, και η απάντηση «Πρώτοι προς αλλήλους». Η αρχική συνθήκη P, είναι απλά ότι οι αριθμοί α και β είναι θετικοί φυσικοί (και ότι άρα ισχύει γι αυτούς ότι ισχύει για τους φυσικούς αριθμούς), και άνισοι. Η σκιασμένη εντολή, (κίτρινο χρώμα), είναι το σώμα μιας αόριστης επανάληψης, η συνθήκη περάτωσης Π της οποίας είναι «(β διαιρεί α )». Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 6

7 Αλγόριθμος «Πρώτοι προς αλλήλλους» (κατά Ευκλείδη) Συνάρτηση Πρώτοι-προς-αλλήλους(α,β: φυσικοί): αληθές/ψευδές { Βεβαίωσε-ότι(α>0, β>0 και α β) α max(α,β) β min(α,β) Επαναλαμβάνουμε x α -β y β α max(x,y) εντολή β min(x,y) έως-ότου (β διαιρεί α) Πρώτοι-προς-αλλήλους (β =1) Αφού έχουμε μια εντολή αόριστης επανάληψης το πρώτο που πρέπει να φροντίσουμε είναι να δείξουμε ότι αυτή θα περατωθεί. Ποιό στοιχείο προόδου διακρίνουμε στον παραπάνω κώδικα; Εδώ είναι φανερό ότι ο αριθμός α είτε ο β (ο μέγιστος εκ των δύο), θα μειωθεί. Και η μείωση θα είναι τουλάχιστον κατά 2 διότι η εντολή επανεκτελείται μόνον εφόσον β δεν διαιρεί τον α, εφόσον δηλαδή β > 1 ( ). (Προσέξτε ότι οι α και β αρχίζουν ως ακέραιοι και μένουν τέτοιοι αφού επ αυτών εκτελούνται μόνον πράξεις ακεραίων.) Αν θέλουμε να έχουμε μία παράμετρο προόδου αρκεί να εξετάσουμε το άθροισμά τους p = (α +β ). Το στοιχείο p προοδεύει γνήσια διότι σε κάθε επανάληψη μειούται κατά τουλάχιστον 2, και δεν μπορεί να γίνει μικρότερο από 2, αφού όσο δεν έχει περατωθεί η επανάληψη ισχύει (α >1) και (β >1) και άρα (α +β )>2. Το δεύτερο που πρέπει να φροντίσουμε είναι να ανιχνεύσουμε μια κατάλληλη αναλλοίωτη συνθήκη. Δυστυχώς οι αναλλοίωτες συνθήκες δεν είναι μέρος του κώδικα αυτό συμβαίνει σπάνια έως ποτέ παρότι ο κώδικας είναι αυτός που φροντίζει να την κρατά αναλλοίωτη 4. Είναι όμως μέρος της σκέψης εκείνου που έγραψε το κώδικα, και εκεί πρέπει ο εκάστοτε σχεδιαστής προγραμματιστής να την αναζητήσει. Το σχετικό σκεπτικό είναι ότι εάν ένας αριθμός διαιρεί τους x και y, τότε διαιρεί και το άθροισμα ή την διαφορά τους. Αν δηλαδή συμβολίσουμε με Δ(x, y) το σύνολο των κοινών διαιρετών των x και y, τότε Δ(x, y) = Δ(y, x) = Δ(x y, y) = Δ(x+y, y). Αυτό το σύνολο μένει «αναλλοίωτο» και άρα ίσο με το Δ(α, β) των αρχικών δεδομένων. H κρίσιμη αναλλοίωτη συνθήκη είναι λοιπόν η εξής: «Το εκάστοτε σύνολο των κοινών διαιρετών Δ(α, β ) ισούται με το αρχικό Δ(α, β)» Τρία πράγματα πρέπει να βεβαιώσουμε σχετικά με αυτή την συνθήκη Σ, σύμφωνα με τα όσα έχουμε αναφέρει στις προηγούμενες παραγράφους: «Ισχύει αρχικά»: Αυτό ισχύει τετριμμένα αφού αρχικά {α, β = {α, β». «Μένει αναλλοίωτη δια μέσου της»: Στην αρχή της εντολής ισχύει η συνθήκη Δ(α, β ) = Δ(α, β), Θα δείξουμε ότι στο σημείο που δεικνύεται με το βέλος, ότι οι κοινοί διαιρέτες των x, y, Δ(x, y) = Δ(α β, β ) ισούνται με Δ(α, β ) = Δ(α, β), δεικνύοντας ότι Δ(α β, β ) = Δ(α, β ). Πράγματι, αν δ Δ(α β, β ) τότε ο δ διαιρεί τους α β και β, διαιρεί επομένως και το άθροισμά τους α, διαιρεί τους α και β, δηλαδή δ Δ(α, β ). Και αντιστρόφως: εάν ένας αριθμός δ Δ(α, β ) διαιρεί τους α και β τότε διαιρεί και την διαφορά τους α β, άρα διαιρεί τους α β και β, άρα δ Δ(α β, β ). Στο τέλος της εντολής θα έχουμε λοιπόν εκ νέου ότι: Δ(α, β ) νέο Ε = Δ(max{x, y, min{x, y) = Δ(x, y) = Δ(α β, β ) πρώην Ε = Δ(α, β ) πρώην Ε = Δ(α, β). 4 Μια συνθήκη μπορεί φυσικά πάντοτε να γραφεί ως... σχόλιο αλλά αυτά είναι μόνον από φιλολογικής πλευράς μέρος του κώδικα. Οι «assertions» διαφόρων σύγχρονων γλωσσών αποπειρώνται ακριβώς να καταστήσουνε τις αναλλοίωτες συνθήκες «ενεργό» μέρος του κώδικα. Παραξένως ορισμένοι είχαν διαγνώσει αυτή την ανάγκη από πολύ νωρίς αναζητείστε πληροφορίες για το έργο του Γερμανού Zuse, την δεκαετία περί το 1940! Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 7

8 «Με την περάτωση, παράγει το ζητούμενο»: Στο τέλος της επαναληπτικής εντολής θα ισχύει προφανώς επίσης η συνθήκη περάτωσης Π = «β διαιρεί α», ίσως διότι, στην έσχατη περίπτωση, θα έχουμε β = 1. Επομένως οι κοινοί διαιρέτες των α και β θα είναι όλοι και μόνον οι διαιρέτες του β : Δ(α, β ) = {δ: δ διαιρεί β, και ο μέγιστος εξ αυτών είναι προφανώς ο β. Στο τέλος της επαναληπτικής εντολής θα ισχύει και η αναλλοίωτη συνθήκη Σ, διότι ισχύει αρχικά και «μένει αναλλοίωτη», επομένως Δ(α, β ) = Δ(α, β). Θα έχουμε δηλαδή: β = max {δ: δ διαιρεί β = max Δ(α, β ) = max Δ(α, β) = μκδ(α, β), και εάν μκδ(α, β) = 1 = β, τότε οι αριθμοί είναι πρώτοι προς αλλήλους, και αυτήν ακριβώς την απάντηση δίδει ο αλγόριθμος! ὅ.ἔ.δ.; «Ὅπερ ἔδει δεῖξαι;» μάλλον όχι... Διότι πού χρησιμοποιήσαμε την αρχική συνθήκη P, ότι δηλαδή «οι (θετικοί) άριθμοί α και β είναι άνισοι»; Πουθενά! Τί επεδίωκε λοιπόν εκείνος ο έφορος της βιβλιοθήκης της Αλεξανδρείας με αυτή την υπόθεση; Εάν α = β και α, β > 0, τότε προφανώς οι α και β δεν είναι πρώτοι μεταξύ τους αλλά αυτό που παίζει ρόλο δεν είναι τί γίνεται προφανές σε μας, αλλά τί παίζει ρόλο στις ενέργειες που προβλέπει ο αλγόριθμος, (και ακριβέστερα στις ενέργειες που είναι ρητές και γραπτές στο κείμενο του προγράμματος). Στην προηγούμενη ανάλυση μας, βλ. ( ), ισχυριστήκαμε ότι εάν «β δεν διαιρεί τον α» τότε «β > 1», αλλά μας διέφυγε ότι αυτό ισχύει μόνον εάν β 0 εάν υπάρχει περίπτωση α = β, τότε θα λάβουμε β = 0, και το πρόγραμμά μας θα πέσει σε ατέρμονα βρόχο, διότι ο β δεν θα διαιρεί τον α μεν, αλλά για λόγο άλλον από εκείνον που νομίζαμε... Χρειαζόμαστε μία ακόμα αναλλοίωτη συνθήκη: «αν οι αρχικοί αριθμοί α και β είναι θετικοί και άνισοι, τότε στην αρχή κάθε επανάληψης της, οι τρέχοντες αριθμοί α και β θα παραμένουν θετικοί και άνισοι». Ελέγχουμε και αυτή τη συνθήκη: «Ισχύει αρχικά;»: Ισχύει. Διότι αρχικά α = α, β = β, και η αρχική συνθήκη P ζητά α, β > 0 και α β. «Μένει αναλλοίωτη δια μέσου της ;»: Ισχύει. Διότι αν είναι άνισοι, η διαφορά του μεγαλύτερου α από τον μικρότερο β, θα είναι θετική, και αυτή η θετική τιμή είναι η νέα τιμή του α. Το β μένει ως έχει, δηλαδή επίσης θετικό. Και αν δεν μείνουν άνισοι αλλά καταστούν ίσοι, τότε δεν θα βρεθούμε εκ νέου στην αρχή της εντολής, διότι θα ισχύει η συνθήκη περάτωσης: ο «β (θα) διαιρεί τον α». «Με την περάτωση... τί;»: Δεν εξασφαλίζουμε κατ ευθείαν «τί», εξασφαλίζουμε όμως ότι θα έχουμε περάτωση: η γνησιότητα της προόδου εξαρτάται από το να αφαιρέσουμε μια θετική ποσότητα (τον ελάχιστο β ) από τον μέγιστο (τον α ), και εδώ θα έχουμε πάντοτε min(α, β ) 1. Τώρα μπορούμε να δώσουμε μια πιο «σύγχρονη» εκδοχή αυτού του αλγορίθμου, η οποία υπολογίζει τον μέγιστο κοινό διαιρέτη δύο φυσικών. Θεωρούμε, συμβατικά, ότι μκδ(0, 0) = 0. Προσέξτε ότι χρησιμοποιούμε την πράξη «α mod β», διότι η συνεχής αφαίρεση του ελαχίστου β από του μεγίστου α δεν οδηγεί παρά στο υπόλοιπο της ακέραιας διαίρεσης «α δια β». Η έκφραση «τιμή(μκδ)» δεν καλεί την συνάρτηση «ΜΚΔ», αλλά παραδίδει την τελευταία τιμή που έχει δοθεί σε αυτήν, (λ.χ. με μια εντολή της μορφής «ΜΚΔ...»). Αλγόριθμος «Μέγιστος κοινός διαιρέτης» Συνάρτηση ΜΚΔ(α,β: φυσικοί): φυσικός { ΜΚΔ max(α,β) β min(α,β) Εφόσον (β>0) { α τιμή(μκδ) mod β, ΜΚΔ β, β α Μπορείτε να αποδείξετε ότι και αυτή η εκδοχή του ευκλείδιου αλγορίθμου, με νέα γραφή, είναι σωστή; Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 8

9 Ορθότητα ΙΙ: ακόμα δύο παραδείγματα αναλλοίωτης βρόχου. Παράδειγμα 2 ο : Συνιστώσα κόμβου ενός γραφήματος Ένα από τα πιο θεμελιακά προβλήματα της γραφοθεωρίας είναι το εξής: ένα σύνολο κόμβων V συνδέεται με αμφίδρομες συνδέσεις ακμές Ε V V. Μας δίδεται ένας κόμβος s V, και θέλουμε να εντοπίσουμε το σύνολο όλων των κόμβων t με τους οποίους αυτός συνδέεται, έστω και έμμεσα, μέσω μιας διαδρομής s = u0, u1,..., uk+1 = t, όπου (ui, ui+1) E, i = 0,..., k. Το σύνολο αυτό Cs ονομάζεται συνιστώσα του κόμβου s, και χρησιμεύει διότι ο κόμβος s συνδέεται με τυχόντα κόμβο t, εάν και μόνον εάν t Cs. Ο αλγόριθμος που θα ακολουθήσουμε είναι να διατηρούμε ως «συνιστώσα» του s ένα σύνολο κόμβων C, και να εξετάζουμε το σύνολο Γ όσων ακμών (α, β) είναι «γέφυρες», δηλαδή οδηγούν από κόμβο (α) εντός του C σε κόμβο (β) εκτός αυτού. Όσο βρίσκουμε γέφυρες, προσθέτουμε τον κόμβο β στην υπό κατασκευή συνιστώσα C, και επαναλαμβάνουμε. Είναι ο παρακάτω κώδικας σωστός; Αλγόριθμος «Συνιστώσα κόμβου» Συνάρτηση Συνιστώσα(s: κόμβος, V:κόμβοι, E: ακμές) { C {s // αρχικές γέφυρες Γ {(s,y) E, y s Εφόσον (Γ ) { (α,β) οποιαδήποτε ακμή-γέφυρα από Γ C C + β // ενημέρωση γεφυρών Γ Γ {(x,β) (x,β) Ε, x C) Γ Γ + {(β,y) (β,y) Ε, y V-C Συνιστώσα C Περάτωση: Η πρόοδος στον παραπάνω κώδικα δεν είναι αμέσως προφανής διότι η συνθήκη περάτωσης απαιτεί «Γ =» αλλά το σύνολο Γ δεν μεταβάλλεται μονότονα: από αυτό αφαιρούνται ακμές μεν, αλλά προστίθενται επίσης. Αυτό που μεταβάλλεται (γνήσια;) μονότονα είναι η υπό κατασκευή συνιστώσα C. Η επαύξησή της όμως εξαρτάται από στοιχείο (α, β) του συνόλου των γεφυρών Γ, και άρα θα πρέπει να βρούμε μια αναλλοίωτη συνθήκη που να συσχετίζει αυτά τα δύο σύνολα. Και αυτή η συνθήκη έρχεται από το σκεπτικό της σχεδίασης του αλγορίθμου: «Το Γ περιέχει όλες και μόνον τις ακμές που οδηγούν από εντός του εκάστοτε σύνολου C σε κόμβο εκτός αυτού: Γ = E [C (V C)]». «Ισχύει αρχικά»: Ισχύει. Αυτό ακριβώς κάνει η εντολή «// αρχικές γέφυρες» αφού τότε C = {s. «Μένει αναλλοίωτη δια μέσου της»: Ισχύει. Αυτό κάνει η εντολή «// ενημέρωση γεφυρών»: αφαιρεί από το Γ όσες ακμές οδηγούν από κόμβο του C στο β, (διότι δεν οδηγούν πια εκτός του C), και προσθέτει όσες οδηγούν από το β σε κόμβο εκτός C (διότι οδηγούν πια έξω από αυτό). Όλες οι άλλες ακμές εντός (ή εκτός) του Γ παραμένουν εντός (ή εκτός) του Γ. Επομένως σε κάθε επανάληψη το μέγεθος της υπό κατασκευή συνιστώσας C αυξάνεται γνήσια: όπως δείξαμε το σύνολο Γ περιέχει μόνον ακμές γέφυρες (α, β), δηλαδή ο κόμβος β ποτέ δεν θα ανήκει στο τρέχον σύνολο C, και επομένως με την συμπερίληψή του σε αυτό έχουμε C C +1. Το άνω φράγμα αυτού του στοιχείου προόδου είναι το προφανές: C V. Επιτυχία: Η επιτυχία εδώ απαιτεί δύο πράγματα: (α) ότι το σύνολο C θα είναι στο τέλος συνδεδεμένο, και, (β) ότι δεν θα έχουμε παραλείψει κανένα κόμβο που αρχικά συνδέεται με τον s. «Συνδεδεμένο»: Για τον πρώτο στόχο καταφεύγουμε στην εύλογη αναλλοίωτη συνθήκη: «το σύνολο C παραμένει συνδεδεμένο». Πράγματι το C είναι αρχικά συνδεδεμένο (τετριμμένα), και παραμένει τέτοιο διότι ο κάθε νέος κόμβος β που προστίθεται συνδέεται με κόμβο α που Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/2012 9

10 είναι ήδη εντός του C. Όλοι οι κόμβοι του C είναι «πριν» συνδεδεμένοι μεταξύ τους, άρα και με τον κόμβο α. Ο νέος κόμβος β συνδέεται με τον α και άρα (μέσω αυτού) με οποιονδήποτε άλλο. «Συνιστώσα»: Απομένει να δείξουμε ότι η συνθήκη περάτωσης «όχι άλλες γέφυρες, Γ =» εξασφαλίζει ότι το C θα είναι πράγματι η συνιστώσα του s, ότι δηλαδή δεν θα παραλείπεται κανένας κόμβο t που συνδέεται με τον s. Έστω, λοιπόν, ότι στο τέλος υπάρχει κόμβος t, ώστε t C, αν και υπάρχει διαδρομή γ: s t. Αφού αυτή η διαδρομή αρχίζει εντός του C (από το s C) και τελειώνει εκτός αυτού (στο t C), θα περιέχει μία τουλάχιστον ακμή (α, β), όπου α C και β C. Αυτή η ακμή είναι «γέφυρα» και έχουμε ήδη αποδείξει ότι το σύνολο Γ περιέχει όλες τις γέφυρες, άρα και την (α, β), ενώ αντιθέτως η συνθήκη περάτωσης δίδει Γ =. Έχουμε φθάσει σε άτοπο και επομένως το σύνολο C είναι πράγματι η συνιστώσα του κόμβου s. ὅ.ἔ.δ. Παράδειγμα 3 ο : Μεγιστοειδής αντιστοίχιση Σε ένα γράφημα με κόμβους V και ακμές Ε θέλουμε να βρούμε ένα μεγάλο σύνολο Μ από ανεξάρτητες ακμές, (δηλαδή ακμές χωρίς κοινά άκρα μεταξύ τους). Θα ξανασυναντήσουμε αυτό το πρόβλημα, και μια ειδική περίπτωσή του, όταν το γράφημα είναι «διμερές», δεν είναι πολύ δύσκολη. Αν και αυτή η λύση γενικεύεται σε όλων των ειδών τα γραφήματα, ας δούμε τί θα παίρναμε αν ακολουθούσαμε μια απλοϊκή «άπληστη» πρακτική: διαλέγουμε ακμές μία μία, επιλέγοντας κάθε φορά μια ακμή ανεξάρτητη από όλες τις προηγούμενα επιλεγμένες, έως ότου αυτό να μην μπορεί πια να συμβεί. Αλγόριθμος «Μεγιστοειδής αντιστοίχιση» Διαδικασία Maximal(V: κόμβοι, E,Μ: ακμές) { M Α Ε Εφόσον Α { e (κάποια e Α) Μ Μ + e Α Α {όσες ακμές του Α έχουν κοινό άκρο με την e Πόσο μεγάλη αντιστοίχιση θα καταφέρουμε να σχηματίσουμε; Αν Μ * είναι μια βέλτιστη αντιστοίχιση, τί σχέση θα έχουνε τα Μ και Μ * ; Θα αποδείξουμε ότι έχουμε μια προσέγγιση του βέλτιστου κατά τουλάχιστον 50%, ότι δηλαδή Μ 1 /2 Μ *. Η πρόοδος του αλγορίθμου είναι εδώ προφανής. Aφού σε κάθε επανάληψη του αόριστου βρόχου το σύνολο Α μειώνεται κατά την επιλεγείσα ακμή (τουλάχιστον) το στοιχείο προόδου p είναι το πλήθος «διαθέσιμων» ακμών: p = Α. Το βήμα προόδου είναι το 1, και αρχίζοντας από Ε > 0 το κάτω φράγμα είναι το 0. (Ας προσέξουμε εδώ ότι και το σύνολο Μ αυξάνεται γνήσια και επομένως αποτελεί στοιχείου προόδου, αλλά πρωτεύουσα σημασία έχει τί ελέγχεται στο κείμενο του προγράμματος και το στοιχείο που εδώ ελέγχεται αφορά στο Α και όχι στο Μ. Για να χρησιμοποιήσουμε το Μ ως στοιχείο προόδου θα έπρεπε λοιπόν ούτως ή άλλως, να το συσχετίσουμε με το Α.) Είναι επίσης προφανής η αναλλοίωτη συνθήκη ότι «κάθε ακμή του Α είναι ανεξάρτητη από οποιαδήποτε ακμή του Μ». Φροντίζουμε ρητά γι αυτό και δεν θα επιμείνουμε σε αυτό το σημείο. Αυτό που δεν είναι προφανές είναι μια αναλλοίωτη σχέση που να εμπλέκει τα σύνολα Μ και Μ *. Λ.χ. η σχέση Μ 1 /2 Μ * δεν ισχύει αρχικά διότι στην αρχή Μ = 0... Το σκεπτικό μας είναι: τί παραμένει «μεγάλο» σχετικά με το σύνολο Μ καθόλη την διάρκεια του αλγορίθμου; Η απάντηση είναι το μέγεθος του Μ συν τις δυνατότητες που έχει αυτό να αυξηθεί. Ας συμβολίσουμε με μ το μέγεθος Μ, και με μ * το πλήθος κάποιων ακμών που είναι από κοινού επιλέξιμες, δηλαδή και ανεξάρτητες μεταξύ τους και ανεξάρτητες από τις ακμές του Μ. Το μ * εκφράζει δηλαδή τί δυνατότητα επαύξησης του Μ έχουμε. Στην αρχή μ = 0, αλλά προφανώς μ * = Μ *. Στο τέλος μ = Μ, αλλά μ * = 0. Ενδιαμέσως; Με την επιλογή μιας ακμής e, βελτιώνουμε το μ κατά +1: (μ) = μ+1, ή (2μ) = 2μ+2. Πόσο πολύ μπορεί όμως να επιδεινώσουμε το μ * ; Δεν χρειάζεται πολλή σκέψη για να δούμε ότι το μ * μειούται πολύ λίγο το πολύ κατά 2: (μ * ) μ * 2. Πράγματι έστω Χ ένα τρέχον σύνολο από κοινού επιλέξιμων ακμών, όπου αρχικά Χ = Μ *. Ποιές και πόσες ακμές αφαιρεί από το Χ η προσθήκη μιας ακμής e = (u, v) στο Μ; Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/

11 Μόνον αυτές που έχουν κοινό άκρο με την e. Αλλά μία το πολύ ακμή στο Χ προσπίπτει στο u, και το πολύ άλλη μία στο v δεν μπορούν να προσπίπτουν δύο ή περισσότερες ακμές του Χ στο u ή στο v, διότι τότε θα είχαν κοινό αυτό το άκρο, ενώ αυτές είναι ανεξάρτητες μεταξύ τους, χωρίς κοινά άκρα. Επομένως το μ * Χ μειούται το πολύ κατά δύο. Προσθέτοντας τις δύο σχέσεις λαμβάνουμε (2μ+μ * ) (2μ+μ * ). Αυτή η ποσότητα λοιπόν μένει «μεγάλη», και η αναλλοίωτη συνθήκη είναι η εξής: «το πλήθος των επιλεγμένων ακμών εις το διπλάσιο, συν τις δυνατότητες επαύξησης αυτού, παραμένει τουλάχιστον όσο είναι το συνολικώς βέλτιστο: Μ * (2μ + μ * )» «Ισχύει αρχικά»: Ισχύει, διότι αρχικά μ = 0 και μ * = Μ *, και από την αρχική υπόθεση το Μ * είναι ένα ανεξάρτητο σύνολο ακμών (και μάλιστα μεγίστου πλήθους). «Μένει αναλλοίωτη δια μέσου της»: Δείξαμε στην προηγούμενη παράγραφο ότι οι νέες τιμές των μ και μ* δεν μειώνουν την τιμή της έκφρασης (2μ + μ * ), και αφού αυτή ήταν πριν μεγαλύτερη από Μ *, θα παραμείνει τέτοια και μετά. «Με την περάτωση, παράγει το ζητούμενο»: Στο τέλος μ = Μ, μ * = 0, άρα Μ * (2μ + μ * ) = 2 Μ, δηλαδή Μ 1 /2 Μ *. ὅ.ἔ.δ. Ορθότητα ΙΙΙ: αναδρομικές κλήσεις και δύο παραδείγματα. Είδαμε στα προηγούμενα την βασική αν όχι μοναδική τεχνική που έχουμε στη διάθεσή μας για να αναλύουμε επαναληπτικούς βρόχους. Στη περίπτωση που καλούμε μια αναδρομική διαδικασία τα πράγματα είναι παρόμοια: η αναδρομική κλήση θα καλέσει επίσης τον εαυτό της, επομένως έχουμε και πάλι κάτι που επαναλαμβάνεται αορίστως. Πώς μπορούμε να χειριστούμε τα ζητήματα της περάτωσης και της επιτυχίας ενός αλγορίθμου, υπό τέτοιο καθεστώς; Περάτωση: Η αναδρομική διαδικασία δεν πρέπει να μπορεί να καλεί αενάως τον εαυτό της, και επομένως πρέπει και εδώ να μπορούμε να ανιχνεύουμε ένα στοιχείο προόδου. Το στοιχείο αυτό λαμβάνει στη πράξη αποκλειστικά τη μορφή της «μείωσης» παραμέτρων της αναδρομικής διαδικασίας. Αν η αναδρομική διαδικασία P έχει παραμέτρους v = (v1,..., vk), πρέπει να αποδώσουμε σε αυτό το σύνολο ένα μέγεθος p(v) 0, το οποίο να αποτελεί στοιχείο προόδου κατά τον τρόπο που έχουμε ήδη εξηγήσει στα προηγούμενα: σε κάθε αναδρομική το μέγεθος των παραμέτρων αυτής της κλήσης πρέπει να μειούται γνήσια. Εκτός αυτού πρέπει να εξασφαλίσουμε ότι όταν το μέγεθος των παραμέτρων λάβει μια κάποια ελάχιστη τιμή, η αναδρομική διαδικασία θα χειριστεί τα δεδομένα της κατ ευθείαν, και δεν θα προχωρήσει σε περαιτέρω αναδρομικές κλήσεις. Επιτυχία: Για να αποδείξουμε ότι μια αναδρομική διαδικασία επιτελεί σωστά ένα κάποιο έργο, θα πρέπει να αναφερθούμε στον εαυτό της αφού αυτή καλεί τον εαυτό της... Αυτό μοιάζει να προκαλεί έναν φαύλο κύκλο: η ορθότητα προϋποθέτει την ορθότητα, δηλαδή το ζητούμενο. Πρέπει εδώ να προσέξουμε ότι αυτό που απαιτείται είναι ακριβέστερα το εξής: η ορθότητα για ένα μέγεθος δεδομένων απαιτεί την ορθότητα για μικρότερα μεγέθη δεδομένων εφόσον η διαδικασία μας φέρει ένα στοιχείο προόδου όπως ζητήσαμε στην προηγούμενη παράγραφο. Αυτό μας οδηγεί κατ ανάγκην στην χρήση της μαθηματικής επαγωγής: αποδεικνύουμε ότι η διαδικασία μας είναι ορθή όταν αντιμετωπίζει τα δεδομένα της χωρίς αναδρομή (η βάση της επαγωγής), και ότι εάν εργάζεται σωστά για όλα τα μεγέθη δεδομένων έως p(v) = ν, τότε θα εργαστεί σωστά και για το επόμενο μέγεθος p(v) = (ν+1) (το βήμα της επαγωγής). ΟΡΘΟΤΗΤΑ τεχνικές ανάλυσης ως προς: ΠΕΡΑΤΩΣΗ ως προς: ΕΠΙΤΥΧΙΑ Επαναληπτικοί βρόχοι Αναδρομικές διαδικασίες στοιχείο προόδου, μονότονο & διακριτό σχετικό φράγμα (άνω ή κάτω) γνήσια μείωση μεγέθους παραμέτρων μη αναδρομική βασική περίπτωση βροχο αναλλοίωτη συνθήκη επαγωγή: ορθή βάση + ορθά βήματα Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/

12 Δίνουμε στη συνέχεια δύο παραδείγματα ανάλυσης αναδρομικών αλγορίθμων. Παράδειγμα 4 ο : Οι πύργοι του Hanoi Οι πύργοι του Hanoi είναι μια ευρέως γνωστή σπαζοκεφαλιά: Μ στο πλήθος δίσκοι με διαφορετικές ακτίνες και μια κατάλληλη οπή στο κέντρο τους, στηρίζονται σε τρείς στύλους σχηματίζοντας «πύργους». Οι δίσκοι επιτρέπεται να τοποθετούνται μόνον ώστε οι μικρότερης ακτίνας δίσκοι να βρίσκονται επί δίσκων μεγαλύτερης ακτίνας. Αν αρχικά όλοι οι δίσκοι είναι στον πύργο Α, μπορούμε να τους μεταφέρουμε όλους στον πύργο Β κατά επιτρεπτό τρόπο; Το σκεπτικό είναι ότι εάν έχουμε συνολικά δύο μόνον δίσκους μπορούμε, απλά, να μεταφέρουμε τον 1 ο δίσκο προς στιγμήν στον πύργο Γ, τον 2 ο δίσκο στον πύργο Β, και να ολοκληρώσουμε την μετακίνηση μεταφέροντας τον 1 ο δίσκο από τον πύργο Γ στον Β. Το αυτό φαίνεται ότι θα μπορούσαμε να κάνουμε ακόμα και εάν δεν είχαμε δύο μόνον δίσκους, αρκεί αυτοί οι δύο να ήσαν οι δύο μικρότεροι εξ όλων. Αν όμως οι δύο μικρότεροι δίσκοι είναι δυνατόν να μεταφέρονται από οποιοδήποτε πύργο σε οποιοδήποτε άλλο, τότε με το ίδιο τέχνασμα μπορούμε να μεταφέρουμε και τους τρείς μικρότερους, συμπεριφερόμενοι ως εάν οι δύο μικρότεροι ήσαν ένας. Στον παρακάτω κώδικα εφαρμόζουμε το τέχνασμα αυτό για τους κ μικρότερους δίσκους, χειριζόμενοι τους κ 1 μικρότερους ως εάν ήσαν «ένας»: Αλγόριθμος: πύργοι του Hanoi Διαδικασία Hanoi(μ: πλήθος-δίσκων) Διαδικασία ΚίνησηΔίσκου(Χ,Υ: πύργος) { // μεταφέρουμε τον κορυφαίο δίσκο του Χ στον Υ Διαδικασία ΜαζικήΚίνηση(κ: πλήθος-δίσκων, Χ,Υ: πύργος) { Εάν κ 1 τότε { Ζ {Α,Β,Γ-{Χ,Υ // ο «ελεύθερος» πύργος ΜαζικήΚίνηση(κ-1,Χ,Ζ) // αναδρομική κλήση ΚίνησηΔίσκου(Χ,Υ) ΜαζικήΚίνηση(κ 1,Ζ,Υ) // αναδρομική κλήση { Βάζουμε ορθά μ δίσκους στον πύργο Α, και 0 στους Β και Γ ΜαζικήΚίνηση(μ,Α,Β) Είναι σωστός ο παραπάνω αλγόριθμος; Εξετάζουμε τα δύο σχετικά στοιχεία: περάτωση και επιτυχία. Περάτωση: Στον παραπάνω κώδικα, στη καίρια διαδικασία της «μαζικής» μετακίνησης δίσκων, «ΜαζικήΚίνηση(κ,Χ,Υ)», η πρόοδος είναι φανερή: κάθε αναδρομική κλήση αφορά σε αυστηρά μικρότερο πλήθος δίσκων (από κ σε κ 1), και επομένως κάποτε η κλήση θα αφορά κ = 0 δίσκους, και επομένως δεν θα έχουμε περαιτέρω αναδρομικές κλήσεις αφού αυτές δεν πραγματοποιούνται παρά για μόνον κ 1. Επιτυχία: Για την επιτυχία της αναδρομικής διαδικασίας «ΜαζικήΚίνηση(κ,Χ,Υ)» θα πρέπει να χρησιμοποιήσουμε όπως έχουμε ήδη εξηγήσει ένα επαγωγικό επιχείρημα: θα δείξουμε ότι ισχύει για κ = 1, και ότι εάν ισχύει για κ = ν θα ισχύει και για κ = ν+1. Η προσοχή που πρέπει να δείξουμε είναι ότι υπάρχει μια προϋπόθεση επιτυχίας: μπορούμε να χειριζόμαστε μαζικά μόνον τους εκάστοτε κ μικρότερους δίσκους : «Εάν οι κ κορυφαίοι δίσκοι στον πύργο Χ είναι οι μικρότεροι εξ όλων, τότε η διαδικασία «ΜαζικήΚίνηση(κ,Χ,Υ)» μετακινεί αυτούς τους δίσκους από τον πύργο Χ στον οποιοδήποτε άλλο Υ, κατά επιτρεπτό τρόπο.» (σ) βάση της επαγωγής: Εάν πρέπει να μετακινήσουμε κ = 1 δίσκο, τότε οι αναδρομικές κλήσεις «ΜαζικήΚίνηση(κ-1,Χ,Ζ)» και «ΜαζικήΚίνηση(κ-1,Ζ,Υ)» δεν έχουν έργο και πράγματι δεν κάνουν τίποτε. Μένει η κίνηση «ΚίνησηΔίσκου(Χ,Υ)» η οποία μετακινεί τον μικρότερο δίσκο εξ Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/

13 όλων κατά την προϋπόθεση (σ), και αυτός προφανώς μπορεί να μετακινηθεί προς τον οποιοδήποτε άλλο πύργο. βήμα της επαγωγής: Έστω ότι πρέπει να μετακινήσουμε τους κ = ν+1 μικρότερους δίσκους, και όλες οι μετακινήσεις των ν μικρότερων δίσκων γίνονται ορθά υπό την προϋπόθεση (σ). Η 1 η αναδρομική κλήση «ΜαζικήΚίνηση(κ-1,Χ,Ζ)» αφορά στους κ 1 = ν μικρότερους κορυφαίους δίσκους και θα εκτελεστεί ορθά διότι γι αυτούς τηρείται πάλι η προϋπόθεση (σ), και για ν δίσκους ισχύει η επαγωγική υπόθεση. Η ενδιάμεση κίνηση «ΚίνησηΔίσκου(Χ,Υ)» μετακινεί τον (ν+1) δίσκο, όχι τον μικρότερο δίσκο εξ όλων, αλλά αφού όλοι οι ν μικρότεροι από αυτόν ήσαν στον ίδιο πύργο Χ, και από την προηγούμενη κίνηση αυτοί έχουν μεταφερθεί στον «τρίτο πύργο» Ζ, ο δίσκος Υ είναι διαθέσιμος να δεχθεί τον κορυφαίο (πια) δίσκο του Χ. Η 2 η αναδρομική κλήση «ΜαζικήΚίνηση(κ-1,Ζ,Υ)» είναι επιτυχής, κατ αναλογία με την πρώτη. ὅ.ἔ.δ. Παράδειγμα 5 ο : Συγχωνευτική ταξινόμηση Το τελευταίο παράδειγμά μας είναι μια επαναγραφή του αλγορίθμου της συγχωνευτικής ταξινόμησης, ένα κλασικό παράδειγμα της τεχνικής «διαίρει και βασίλευε». Μας δίδεται μια ακολουθία αριθμών τους οποίους θέλουμε να ταξινομήσουμε κατ αύξουσα σειρά. Προς τούτο διαμερίζουμε την δεδομένη ακολουθία σε δύο ισομήκεις κατά το δυνατόν ακολουθίες, ταξινομούμε κάθε μία εξ αυτών (αναδρομικά!) και συγχωνεύουμε τις δύο ταξινομημένες ακολουθίες σε μία. Η διαδικασία της συγχώνευσης εξετάζει τα πρώτα (και άρα ελάχιστα) στοιχεία των υπό συγχώνευση ακολουθιών, και προτάσσει το μικρότερο από αυτά στην ακολουθία που προκύπτει από την συγχώνευση (αναδρομικά!) όλων των υπολοίπων στοιχείων. Για τον χειρισμό των ακολουθιών χρησιμοποιούμε τα εξής: η έκφραση [σ 1,...,σ k ] κατασκευάζει μια ακολουθία με τα δεδομένα στοιχεία. η συνάρτηση «Χ.Κεφαλή» αποσπά και παραδίδει το πρώτο στοιχείο της Χ, οπότε Χ [σ 2,...,σ k ]. η πράξη «Χ+Y», συνδέει την ακολουθία Y μετά την X. Ο ψευδοκώδικας γραμμένος ώστε να θυμίζει το συναρτησιακό ύφος προγραμματισμού είναι ο ακόλουθος: Αλγόριθμος: συγχωνευτική ταξινόμηση (με ακολουθίες) Συνάρτηση Συγχώνευση(X,Y: Ακολουθία): Ακολουθία { Περίπτωση { X=[] ή Υ=[]: { Συγχώνευση X+Υ X [] & Υ []: { x X.Κεφαλή, y Y.Κεφαλή Περίπτωση { x y: { Συγχώνευση [x] + Συγχώνευση( Χ, [y]+υ) y<x: { Συγχώνευση [y] + Συγχώνευση([x]+Χ, Υ) Συνάρτηση Ταξινόμηση(Α: Ακολουθία): Ακολουθία { Περίπτωση Α [], [x] : { Ταξινόμηση A [x,y]: { Ταξινόμηση [min(x,y), max(x,y)] αλλιώς { Κ [], Λ [] Εφόσον Α [] { Κ Κ + Α.Κεφαλή, Λ Λ + Α.Κεφαλή Ταξινόμηση Συγχώνευση(Ταξινόμηση(Κ), Ταξινόμηση(Λ)) Αναλύουμε την ορθότητα του παραπάνω κώδικα, κατά τα όσα έχουμε εξηγήσει ήδη στα προηγούμενα: Περάτωση: Η διαδικασία μας έχει μία παράμετρο, την ακολουθία Α, και ως μέγεθος της παραμέτρου και στοιχείο προόδου αρκεί να πάρουμε το μήκος της ακολουθίας Α. Πρόοδος αναδρομής: Το μέγεθος των παραμέτρων Κ, Λ στις αναδρομικές κλήσεις μειούται γνήσια διότι είναι γνήσια μικρότερο από εκείνο της Α, αφού η μία περιέχει τα περιττής τάξεως στοιχεία της Α, η άλλη τα αρτίας τάξεως στοιχεία, και η Α έχει 2 τουλάχιστον στοιχεία (δηλαδή Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/

14 και ένα στοιχείο άρτιας τάξης ώστε η Κ να είναι μικρότερη από την Α, και ένα περιττής ώστε η Λ να είναι μικρότερη από την Α!). Βάση αναδρομής: Όταν αυτό το στοιχείο προόδου καταστεί είναι 0, 1 ή 2, τότε κατά τον κώδικα (πάντοτε...) δεν προβαίνουμε σε καμμία αναδρομική ενέργεια. Επιτυχία: βάση της επαγωγής: Ταξινομείται σωστά μια ακολουθία μήκους 0 ή 1; Ναί, διότι αυτές οι ακολουθίες είναι ήδη ταξινομημένες, και κατά τον κώδικα ορθώς παραδίδουμε την δοθείσα ακολουθία ως έχει. Μια ακολουθία με 2 στοιχεία, x, y επιστρέφεται επίσης ταξινομημένη, αφού έχει το ελάχιστο στοιχείο ως πρώτο, και το μέγιστο ως δεύτερο, βήμα της επαγωγής: Έστω ότι κάθε ακολουθία μήκους έως και ν 2, ταξινομείται σωστά. Θα ταξινομείται σωστά και κάθε ακολουθία μήκους ν+1; Είναι φανερό ότι η ακολουθία Α μήκους ν+1 θα διαμεριστεί σε δύο ακολουθίες με μήκος το πολύ (ν+1)/2 ν (για ν 2), οι οποίες, κατά την επαγωγική υπόθεση θα ταξινομηθούν σωστά από τις δύο αντίστοιχες αναδρομικές κλήσεις της διαδικασίας «Ταξινόμηση». Επομένως η απόδειξη του επαγωγικού βήματος εξαρτάται από την απόδειξη της ορθότητας της διαδικασίας «Συγχώνευση». Το σχετικό ερώτημα είναι: «εάν οι ακολουθίες Χ και Υ είναι ταξινομημένες κατ αύξον μέγεθος, η διαδικασία «Συγχώνευση» θα ενώσει τις δύο ακολουθίες σε μία, επίσης ταξινομημένη κατ αύξουσα σειρά»; Ελέγχουμε αυτό το ζήτημα με παρόμοιο τρόπο: Περάτωση: Το στοιχείο προόδου είναι το συνολικό μήκος των δύο ακολουθιών. Πρόοδος αναδρομής: Στις αναδρομικές κλήσεις της διαδικασίας «Συγχώνευση» το συνολικό μέγεθος των παραμέτρων μειώνεται κατά 1, επομένως μία των δύο ακολουθιών θα καταστεί σταδιακά κενή. Βάση αναδρομής: Αν μία από τις ακολουθίες Χ, Υ είναι κενή τότε αυτό ανιχνεύεται από τον κώδικα (πάντοτε...) και δεν έχουμε πια περαιτέρω αναδρομικές κλήσεις. Επιτυχία: Το ερώτημα είναι: βάση της επαγωγής: Συγχωνεύονται σωστά δύο ταξινομημένες ακολουθίες μία των οποίων είναι κενή; Ναί κατά προφανή τρόπο. βήμα της επαγωγής: Αν όλα τα ζεύγη ταξινομημένων ακολουθιών συνολικού μήκους έως και ν, συγχωνεύονται σωστά σε μία ταξινομημένη ακολουθία, θα ισχύει το ίδιο και για ζεύγη συνολικού μήκους (ν+1); Η απάντηση είναι ναί, διότι εάν μία εκ των δύο ακολουθιών είναι κενή, τότε η ορθότητα δίδεται από την βάσης της επαγωγής. Αν δε είναι και δύο ακολουθίες μη κενές, αυτές πάλι συγχωνεύονται ορθά για τον εξής λόγο: κατά τον κώδικα (πάντοτε...) αποσπάμε τα δύο πρώτα στοιχεία των ακολουθιών, εκ των οποίων έκαστο είναι το μικρότερο στην ακολουθία προέλευσης. Στην τελική ακολουθία το ελάχιστο από αυτά τα δύο στοιχεία θα πρέπει να εμφανιστεί πρώτο, και στη συνέχεια θα πρέπει να ακολουθήσουν ταξινομημένα τα υπόλοιπα στοιχεία. Το 1 ο δηλώνεται ρητά στον κώδικα, και το 2 ο ισχύει διότι τα υπόλοιπα στοιχεία περιλαμβάνονται στο ζεύγος των (ταξινομημένων) ακολουθιών ([x]+χ, Υ) (ή Χ, [y]+υ) οι οποίες έχουν πια συνολικό μήκος ν, και για τέτοιο μήκος η διαδικασία «Συγχώνευση» λειτουργεί ορθά λόγω της επαγωγικής υπόθεσης. ὅ.ἔ.δ.; «Ὅπερ ἔδει δεῖξαι;» δεν νομίζω... Διότι πώς εξασφαλίσαμε (και πού αποδείξαμε;), ότι η τελική ακολουθία θα περιέχει ένα προς ένα τα ίδια στοιχεία που έχει η αρχική ακολουθία; Είναι αμφίβολο εάν διατυπώσαμε (ή κάν συνειδητοποιήσαμε) αυτή την απαίτηση... Ας επανέλθουμε λοιπόν στον κώδικα. Παραδίδει η διαδικασία «Συγχώνευση» ακριβώς εκείνα τα στοιχεία που παραλαμβάνει; Η απόδειξη είναι επαγωγική επί του μήκους των ακολουθιών X, Y. Η βάση της επαγωγής είναι η 1 η περίπτωση, όπου αυτό ισχύει κατά προφανή τρόπο. Το βήμα της επαγωγής το δίδει η 2 η περίπτωση. Τα x, y και οι ακολουθίες X, Y περιλαμβάνουν ακριβώς τα στοιχεία που έχουμε, η «[x]+συγχώνευση(χ,[y]+υ)» δεν θα αλλοιώσει το περιεχόμενο των ακολουθιών «Χ» και «[y]+υ» (λόγω της επαγωγικής υπόθεσης), και με την πρόταξη του «x» η ακολουθία που σχηματίζεται περιέχει ακριβώς τα αρχικά στοιχεία. Η περίπτωση «[y]+συγχώνευση([x]+χ,υ)») ισχύει κατ αναλογία. Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/

15 Είναι επίσης προφανές ότι στη διαδικασία «Ταξινόμηση», η διαμέριση της ακολουθίας Α σε δύο μέρη είναι σωστή ως προς το περιεχόμενο των ακολουθιών: οι δύο ακολουθίες Κ και Λ περιέχουν, από κοινού, ακριβώς τα αρχικά στοιχεία και μόνον. Οι αναδρομικές κλήσεις «Ταξινόμηση(Κ)» και «Ταξινόμηση(Λ)» θα διατηρήσουν επίσης τα στοιχεία των ακολουθιών Κ και Λ αντιστοίχως (επαγωγή!), και το ίδιο θα κάνει και η «Συγχώνευση(-,-)» όπως είδαμε στην προηγούμενη παράγραφο. Μένει να ελέγξουμε τις βασικές μη αναδρομικές περιπτώσεις της διαδικασίας «Ταξινόμηση». Οι δύο πρώτες περιπτώσεις δουλεύουν σωστά: παραδίδουν (προφανώς) ακριβώς εκείνα τα στοιχεία που παραλαμβάνουν. Τί συμβαίνει στη τρίτη περίπτωση, «A = [x, y]»; Παραλαμβάνουμε τα δύο στοιχεία x, y, (προφανές), και παραδίδουμε μια ακολουθία που περιέχει αυτά τα στοιχεία. Προφανές και αυτό; Όχι! Διότι δεν χρησιμοποιούμε αυτά καθεαυτά τα στοιχεία, αλλά το αποτέλεσμα των συναρτήσεων min(, ), max(, ). Προσοχή, λοιπόν, στο κείμενο και μόνον στο κείμενο: μόνον ότι είναι γραμμένο επιτρέπεται να θεωρείται «προφανές». Αν τα στοιχεία x και y διαφέρουν ως προς την διάταξη που μας απασχολεί (δηλαδή x < y ή x > y,), τότε ένα εξ αυτών θα είναι το ελάχιστο και το άλλο το μέγιστο, και όλα έχουν καλώς. Εάν όμως x = y ως προς την διάταξη, (δηλαδή x y και x y) τότε τί θα απαντήσουν οι συναρτήσεις min(, ) και max(, ); Ιδού ένα ζήτημα ακριβούς σημασιολογίας! Έστω π.χ. ότι τα στοιχεία είναι δίσκοι με κέντρο, ακτίνα και χρώμα, και ότι τους ταξινομούμε ως προς την ακτίνα τους. Έστω επίσης δύο δίσκοι x / y με ίσες ακτίνες, ο μεν x κίτρινος, ο δε y πράσινος. Αν επί ίσων στοιχείων x, y ισχύει min(x, y) = max(x, y) = x, τότε στην τελική ακολουθία δεν βάζουμε ένα πράσινο και ένα κίτρινο στοιχείο, αλλά 2 κίτρινα x και 0 πράσινα y! Αν όμως επί ίσων στοιχείων min(x, y) = x, και max(x, y) = y, τότε «ναί», ο κώδικάς μας διατηρεί το περιεχόμενο των ακολουθιών και... ὅ.ἔ.δ. Οι αναγνώστες μπορούν να υποψιαστούν από την ανάλυση που προηγήθηκε, ένα από τα κύρια και καίρια χαρακτηριστικά του συναρτησιακού ύφους προγραμματισμού: επιτρέποντας μόνον «συναρτήσεις» και επομένως μόνον αναδρομές, το συναρτησιακό ύφος προγραμματισμού μας ωθεί να σχεδιάζουμε έτσι το πρόγραμμά μας ώστε να μην χρειάζεται να οσμιζόμαστε διάφορες δυσεύρετες αναλλοίωτες βρόχων, αλλά να στηρίζουμε όλο το ζήτημα της της ορθότητας στην αναδρομή, δηλαδή στην φυσική προφανή επαγωγή που σχετίζεται με αυτήν. Βαθειά ιδέα που παίζει αξιοσημείωτο ρόλο στην εξέλιξη των γλωσσών προγραμματισμού. (Ας θυμηθούμε εδώ ότι η γηραιότερη εν χρήσει γλώσσα προγραμματισμού η LIP από τα sixties ακολουθεί το συναρτησιακό ύφος γραφής.) Από τα όσα έχουμε εξηγήσει και από τα όσα έχουμε δώσει ως παραδείγματα, προκύπτουν μερικές θεμελιακές συμβουλές για τον τρόπο προγραμματισμού που είναι καλό να ακολουθούμε, εάν θέλουμε η ανάλυση ορθότητας να πραγματοποιείται ευκολότερα και με μεγαλύτερη βεβαιότητα: Δεν χρειάζεται να κάνουμε μικρο οικονομία στις μεταβλητές, εάν αυτό δυσχεραίνει τις αναφορές μας στο περιβάλλον εργασίας και στις μεταβολές που αυτό υφίσταται. Είναι καλό να μετατρέπουμε κάθε έργο που έχει σαφείς αρχικές και τελικές συνθήκες, σε ειδικό προς τούτο υποπρόγραμμα. Προκύπτει έτσι μια «δομημένη» ανάλυση η οποία είναι πιό εύκολο να συλληφθεί, να πραγματοποιηθεί, να λεχθεί και στο τέλος να γραφεί. Χρειάζεται προσοχή στον χειρισμό των «ακραίων τιμών»: αποτελούν την βάση αναδρομών και επαγωγικών υποθέσεων, και χωρίς αυτές τίποτε δεν θα δούλευε σωστά. Είναι καλό να χρησιμοποιούμε τις αναλλοίωτες συνθήκες όχι μόνο για την εκ των υστέρων ανάλυση ενός κώδικα, αλλά και ως ενεργό στοιχείο της ίδιας της κατασκευής του. Χρειάζεται εξαιρετική προσοχή στο να διατυπώσουμε με ακρίβεια και πλήρη επίγνωση, τόσο τις αρχικές συνθήκες των δεδομένων, όσο και τις συνθήκες που θέλουμε να πληρούν τα αποτελέσματα. Αξίζει εδώ να θυμίσουμε το σύγχρονο γνωμικό ότι «οι υπολογιστές δεν κάνουν ό,τι θέλουμε κάνουν μόνον ό,τι ζητήσουμε», «γραπτώς...» θα συμπληρώναμε στο τέλος ενός τέτοιου κεφαλαίου. Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 5/4/

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Mαθηματικό σύστημα Ένα μαθηματικό σύστημα αποτελείται από αξιώματα, ορισμούς, μη καθορισμένες έννοιες και θεωρήματα. Η Ευκλείδειος γεωμετρία αποτελεί ένα

Διαβάστε περισσότερα

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ. HY 280 «ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ» θεμελικές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Γεώργιος Φρ. Γεωργκόπουλος μέρος Α Εισγωγή, κι η σική θεωρί των πεπερσμένων

Διαβάστε περισσότερα

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0, Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Στατιστικής Εισαγωγή στην Επιχειρησιακή Ερευνα Εαρινό Εξάμηνο 2015 Μ. Ζαζάνης Πρόβλημα 1. Να διατυπώσετε το παρακάτω παίγνιο μηδενικού αθροίσματος ως πρόβλημα γραμμικού

Διαβάστε περισσότερα

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Οι γέφυρες του ποταμού... Pregel (Konigsberg) Οι γέφυρες του ποταμού... Pregel (Konigsberg) Β Δ Β Δ Γ Γ Κύκλος του Euler (Euler cycle) είναι κύκλος σε γράφημα Γ που περιέχει κάθε κορυφή του γραφήματος, και κάθε ακμή αυτού ακριβώς μία φορά. Για γράφημα

Διαβάστε περισσότερα

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» HY 118α «ΔΙΚΡΙΤ ΜΘΗΜΤΙΚ» ΣΚΗΣΕΙΣ ΠΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΙΣΤΩΝ εώργιος Φρ. εωργακόπουλος ΜΕΡΟΣ (1) ασικά στοιχεία της θεωρίας συνόλων. Π. ΚΡΗΤΗΣ ΤΜ. ΕΠ. ΥΠΟΛΟΙΣΤΩΝ «ΔΙΚΡΙΤ ΜΘΗΜΤΙΚ». Φ. εωργακόπουλος

Διαβάστε περισσότερα

{ i f i == 0 and p > 0

{ i f i == 0 and p > 0 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Σχεδίαση και Ανάλυση Αλγορίθμων Διδάσκων: Ε. Μαρκάκης, Φθινοπωρινό εξάμηνο 014-015 Λύσεις 1ης Σειράς Ασκήσεων

Διαβάστε περισσότερα

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία 1 Εισαγωγικά 1.1 Η σ-αλγεβρα ως πληροφορία Στη θεωρία μέτρου, όταν δουλεύει κανείς σε έναν χώρο X, συνήθως έχει διαλέξει μια αρκετά μεγάλη σ-άλγεβρα στον X έτσι ώστε όλα τα σύνολα που εμφανίζονται να ανήκουν

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 - Λύσεις 1. Εστω ο πίνακας Α = [12, 23, 1, 5, 7, 19, 2, 14]. i. Να δώσετε την κατάσταση

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ): ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις Αναγνώριση Προτύπων Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις 1 Λόγος Πιθανοφάνειας Ας υποθέσουμε ότι θέλουμε να ταξινομήσουμε

Διαβάστε περισσότερα

Επίλυση ειδικών μορφών ΣΔΕ

Επίλυση ειδικών μορφών ΣΔΕ 15 Επίλυση ειδικών μορφών ΣΔΕ Σε αυτό το κεφάλαιο θα δούμε κάποιες ειδικές μορφές ΣΔΕ για τις οποίες υπάρχει μέθοδος επίλυσης. Περισσότερες μπορεί να δει κανείς στο Kloeden and Plaen (199), 4.-4.4. Θα

Διαβάστε περισσότερα

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α 1η σειρά ασκήσεων Ονοματεπώνυμο: Αριθμός μητρώου: Ημερομηνία παράδοσης: Μέχρι την Τρίτη 2 Απριλίου 2019 Σημειώστε τις ασκήσεις για τις οποίες έχετε παραδώσει λύση: 1

Διαβάστε περισσότερα

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ A Ε B Ζ Η Γ K Θ Δ Ι Ορισμός Ένα (μη κατευθυνόμενο) γράφημα (non directed graph) Γ, είναι μία δυάδα από σύνολα Ε και V και συμβολίζεται με Γ=(Ε,V). Το σύνολο

Διαβάστε περισσότερα

( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «απεικονίσεις»

( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «απεικονίσεις» ( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «πεικονίσεις» 1. ΣΧΕΣΕΙΣ: το σκεπτικό κι ο ορισμός. Τ σύνολ νπριστούν ιδιότητες μεμονωμένων στοιχείων: δεδομένου συνόλου S, κι ενός στοιχείου σ, είνι δυντόν είτε σ S είτε

Διαβάστε περισσότερα

5.1 Μετρήσιμες συναρτήσεις

5.1 Μετρήσιμες συναρτήσεις 5 Μετρήσιμες συναρτήσεις 5.1 Μετρήσιμες συναρτήσεις Ορισμός 5.1. Εστω (Ω, F ), (E, E) μετρήσιμοι χώροι. Μια συνάρτηση f : Ω E λέγεται F /Eμετρήσιμη αν f 1 (A) F για κάθε A E. (5.1) Συμβολίζουμε το σύνολο

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Bias (απόκλιση) και variance (διακύμανση) Ελεύθεροι Παράμετροι Ελεύθεροι Παράμετροι Διαίρεση dataset Μέθοδος holdout Cross Validation Bootstrap Bias (απόκλιση) και variance

Διαβάστε περισσότερα

(20 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ Ι: ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ

(20 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ Ι: ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ (20 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ Ι: ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ Σταδιακές κατακευές: από μερικά αποτελέματα ε περιότερα. Το ημείο όπου έχουμε φθάει προφέρεται για μια μικρή ανακόπηη. Το κεπτικό μας ήταν εξ αρχής ότι

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ31: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 017-018 Φροντιστήριο 5 1. Δικαιολογήστε όλες τις απαντήσεις σας. i. Δώστε τις 3 βασικές ιδιότητες ενός AVL δένδρου.

Διαβάστε περισσότερα

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων. A A N A B P Y T A Άρθρο στους Μιγαδικούς Αριθμούς 9 5 0 Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων. Δρ. Νίκος Σωτηρόπουλος, Μαθηματικός Εισαγωγή Το άρθρο αυτό γράφεται με

Διαβάστε περισσότερα

Συναρτήσεις. Σημερινό μάθημα

Συναρτήσεις. Σημερινό μάθημα Συναρτήσεις Σημερινό μάθημα C++ Συναρτήσεις Δήλωση συνάρτησης Σύνταξη συνάρτησης Πρότυπο συνάρτησης & συνάρτηση Αλληλο καλούμενες συναρτήσεις συναρτήσεις μαθηματικών Παράμετροι συναρτήσεων Τοπικές μεταβλητές

Διαβάστε περισσότερα

(3 ο ) Εξαντλητική αναζήτηση I: μεταθέσεις & υποσύνολα (4 o ) Εξαντλητική αναζήτηση II: συνδυασμοί, διατάξεις & διαμερίσεις

(3 ο ) Εξαντλητική αναζήτηση I: μεταθέσεις & υποσύνολα (4 o ) Εξαντλητική αναζήτηση II: συνδυασμοί, διατάξεις & διαμερίσεις (3 ο ) Εξαντλητική αναζήτηση I: μεταθέσεις & υποσύνολα (4 o ) Εξαντλητική αναζήτηση II: συνδυασμοί, διατάξεις & διαμερίσεις Είναι πράγματι τα «προβλήματα» τόσο δύσκολα; Είδαμε (σύντομα) στα προηγούμενα

Διαβάστε περισσότερα

(13 ο ) ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙII: «βέλτιστο στατικό ευρετήριο»

(13 ο ) ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙII: «βέλτιστο στατικό ευρετήριο» (13 ο ) ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙII: «βέλτιστο στατικό ευρετήριο» Βέλτιστο στατικό «μεροληπτικό» ευρετήριο «Ευρετήρια» ονομάζουμε δομές οι οποίες μας διευκολύνουν να εντοπίζουμε τα καταχωρισμένα στοιχεία

Διαβάστε περισσότερα

(7 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ Ι: «ταξινόμηση» (8 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ ΙΙ: «κυρτό περίβλημα»

(7 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ Ι: «ταξινόμηση» (8 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ ΙΙ: «κυρτό περίβλημα» (7 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ Ι: «ταξινόμηση» (8 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ ΙΙ: «κυρτό περίβλημα» Σύντομα προλεγόμενα: πού να ψάξουμε για δραστικούς αλγορίθμους; Θα αρχίσουμε από αυτό το κεφάλαιο την ξενάγησή

Διαβάστε περισσότερα

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα Σελίδα 1 ΣΧΟΛΙΚΟ ΕΤΟΣ 2014 2015 ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ Ονοματεπώνυμο Τμήμα ΘΕΜΑ Α Οδηγία: Να γράψετε στην κόλλα σας τον αριθμό καθεμιάς από τις παρακάτω ερωτήσεις

Διαβάστε περισσότερα

( μ, λ ) ( i ) ( ii ) ( iii ) ( iv ) ( v )

( μ, λ ) ( i ) ( ii ) ( iii ) ( iv ) ( v ) Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 08: ΟΡΘΟΤΗΤΑ: ΤΟ ΖΗΤΗΜΑ ΤΗΣ «ΠΡΟΟΔΟΥ» ΤΩΝ ΑΛΓΟΡΙΘΜΩΝ Το ζήτημα της προόδου εισαγωγικά σχόλια. Κάθε αλγόριθμος από τα δεδομένα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ Την ευθύνη του εκπαιδευτικού υλικού έχει ο επιστημονικός συνεργάτης των Πανεπιστημιακών Φροντιστηρίων «ΚOΛΛΙΝΤΖΑ», οικονομολόγος συγγραφέας θεμάτων ΑΣΕΠ, Παναγιώτης Βεργούρος.

Διαβάστε περισσότερα

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν 1 1. Αποδοχή κληρονομίας Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν μπορεί να ασκηθεί από τους δανειστές του κληρονόμου, τον εκτελεστή της διαθήκης, τον κηδεμόνα ή εκκαθαριστή

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Μη Παραμετρικός Υπολογισμός πυκνότητας με εκτίμηση Ιστόγραμμα Παράθυρα Parzen Εξομαλυμένη Kernel Ασκήσεις 1 Μη Παραμετρικός Υπολογισμός πυκνότητας με εκτίμηση Κατά τη

Διαβάστε περισσότερα

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή: Ας πούμε και κάτι για τις δύσκολες μέρες που έρχονται Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein 1879-1955 Πηγή: http://www.cognosco.gr/gnwmika/ 1 ΚΥΚΛΙΚΟΣ

Διαβάστε περισσότερα

Εφαρμογές στην κίνηση Brown

Εφαρμογές στην κίνηση Brown 13 Εφαρμογές στην κίνηση Brown Σε αυτό το κεφάλαιο θέλουμε να κάνουμε για την πολυδιάστατη κίνηση Brown κάτι ανάλογο με αυτό που κάναμε στην Παράγραφο 7.2 για τη μονοδιάστατη κίνηση Brown. Δηλαδή να μελετήσουμε

Διαβάστε περισσότερα

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή. ΣΤΟ ΙΑΤΡΕΙΟ Ο ιατρός αφού διαπιστώσει εάν το πρόσωπο που προσέρχεται για εξέταση είναι το ίδιο με αυτό που εικονίζεται στο βιβλιάριο υγείας και ελέγξει ότι είναι ασφαλιστικά ενήμερο (όπως ακριβώς γίνεται

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 1. Εστω η στοίβα S και ο παρακάτω αλγόριθμος επεξεργασίας της. Να καταγράψετε την κατάσταση

Διαβάστε περισσότερα

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΣΑΓΩΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ: ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 07 08 ΛΕΥΚΑΔΑ ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ

Διαβάστε περισσότερα

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών 1 Ο Ισχυρός Νόμος των Μεγάλων Αριθμών Στο κεφάλαιο αυτό παρουσιάζουμε ένα από τα σημαντικότερα αποτελέσματα της Θεωρίας Πιθανοτήτων, τον ισχυρό νόμο των μεγάλων αριθμών. Η διατύπωση που θα αποδείξουμε

Διαβάστε περισσότερα

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα Τα βιβλία διακριτών μαθηματικών του Γ.Β. Η/Υ με επεξεργαστή Pentium και χωρητικότητα

Διαβάστε περισσότερα

Αναλυτικές ιδιότητες

Αναλυτικές ιδιότητες 8 Αναλυτικές ιδιότητες 8. Βαθμός συνέχειας* Ξέρουμε ότι η κίνηση Brown είναι συνεχής και θα δείξουμε αργότερα ότι είναι πουθενά διαφορίσιμη. Πόσο ομαλή είναι λοιπόν; Μια ασθενέστερη μορφή ομαλότητας είναι

Διαβάστε περισσότερα

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος ιαφορικές Εξισώσεις Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Ατελείς ιδιοτιμές Εκθετικά πινάκων Μανόλης Βάβαλης Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας 9 Απριλίου

Διαβάστε περισσότερα

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή. ΣΤΟ ΦΑΡΜΑΚΕΙΟ Ο ασθενής έχοντας μαζί του το βιβλιάριο υγείας του και την τυπωμένη συνταγή από τον ιατρό, η οποία αναγράφει τον μοναδικό κωδικό της, πάει στο φαρμακείο. Το φαρμακείο αφού ταυτοποιήσει το

Διαβάστε περισσότερα

Αλγόριθμοι & Βελτιστοποίηση

Αλγόριθμοι & Βελτιστοποίηση Αλγόριθμοι & Βελτιστοποίηση ΠΜΣ/ΕΤΥ: Μεταπτυχιακό Μάθημα 8η Ενότητα: Γραμμικός Προγραμματισμός ως Υπορουτίνα για Επίλυση Προβλημάτων Χρήστος Ζαρολιάγκης (zaro@ceid.upatras.gr) Σπύρος Κοντογιάννης (kontog@cs.uoi.gr)

Διαβάστε περισσότερα

(5 ο ) Η «πλοκή» ενός αλγορίθμου: η βάση μιας αξιολόγησης Ι (6 ο ) Η «πλοκή» ενός αλγορίθμου: ο Ο Ω Θ συμβολισμός ΙΙ

(5 ο ) Η «πλοκή» ενός αλγορίθμου: η βάση μιας αξιολόγησης Ι (6 ο ) Η «πλοκή» ενός αλγορίθμου: ο Ο Ω Θ συμβολισμός ΙΙ (5 ο ) Η «πλοκή» ενός αλγορίθμου: η βάση μιας αξιολόγησης Ι (6 ο ) Η «πλοκή» ενός αλγορίθμου: ο Ο Ω Θ συμβολισμός ΙΙ Έχουμε συγκεκτρώσει τα στοιχεία που χρειαζόμαστε για να μπορέσουμε να πούμε περί αλγορίθμων

Διαβάστε περισσότερα

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο. 2 Μέτρα 2.1 Μέτρα σε μετρήσιμο χώρο Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο. Ορισμός 2.1. Μέτρο στον (X, A) λέμε κάθε συνάρτηση µ : A [0, ] που ικανοποιεί τις

Διαβάστε περισσότερα

Σχέσεις και ιδιότητές τους

Σχέσεις και ιδιότητές τους Σχέσεις και ιδιότητές τους Διμελής (binary) σχέση Σ από σύνολο Χ σε σύνολο Υ είναι ένα υποσύνολο του καρτεσιανού γινομένου Χ Υ. Αν (χ,ψ) Σ, λέμε ότι το χ σχετίζεται με το ψ και σημειώνουμε χσψ. Στην περίπτωση

Διαβάστε περισσότερα

CSE.UOI : Μεταπτυχιακό Μάθημα

CSE.UOI : Μεταπτυχιακό Μάθημα Θέματα Αλγορίθμων Αλγόριθμοι και Εφαρμογές στον Πραγματικό Κόσμο CSE.UOI : Μεταπτυχιακό Μάθημα 10η Ενότητα: Χρονικά Εξελισσόμενες ικτυακές Ροές Σπύρος Κοντογιάννης kntg@cse.ui.gr Τμήμα Μηχανικών Η/Υ &

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Εκτίμηση Πυκνότητας με k NN k NN vs Bayes classifier k NN vs Bayes classifier Ο κανόνας ταξινόμησης του πλησιέστερου γείτονα (k NN) lazy αλγόριθμοι O k NN ως χαλαρός

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υπουργείου Οικονομικών, με κορυφαίο

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υπουργείου Οικονομικών, με κορυφαίο επιτελείο

Διαβάστε περισσότερα

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 Α. Να µεταφέρετε στο τετράδιό σας και να συµπληρώσετε τον παρακάτω πίνακα αλήθειας δύο προτάσεων

Διαβάστε περισσότερα

( ) Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 03: ΑΣΥΜΠΤΩΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ

( ) Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 03: ΑΣΥΜΠΤΩΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 03: ΑΣΥΜΠΤΩΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ Ενδιαφερόμαστε μεν για τους αλγορίθμους αλλά εντός ενός συγκεκριμμένου πλαισίου: (α) ως λύσεις προβλημάτων,

Διαβάστε περισσότερα

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 01: ΕΞΑΝΤΛΗΤΙΚΗ ΑΝΑΖΗΤΗΣΗ

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 01: ΕΞΑΝΤΛΗΤΙΚΗ ΑΝΑΖΗΤΗΣΗ Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 01: ΕΞΑΝΤΛΗΤΙΚΗ ΑΝΑΖΗΤΗΣΗ Δεδομένου ενός προβλήματος Q, ο πρώτος σκοπός μιας εξαντλητικής αναζήτησης είναι να μας εφασφαλίσει

Διαβάστε περισσότερα

Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα.

Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα. 2 Δεσμευμένη μέση τιμή 2.1 Ορισμός Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα. Ορισμός 2.1. Για X : Ω R τυχαία

Διαβάστε περισσότερα

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές 10 Ανεξαρτησία 10.1 Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές Στην παράγραφο αυτή δουλεύουμε σε χώρο πιθανότητας (Ω, F, P). Δίνουμε καταρχάς τον ορισμό της ανεξαρτησίας για ενδεχόμενα,

Διαβάστε περισσότερα

τους στην Κρυπτογραφία και τα

τους στην Κρυπτογραφία και τα Οι Ομάδες των Πλεξίδων και Εφαρμογές τους στην Κρυπτογραφία και τα Πολυμερή Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών ΕΜΠ Επιβλέπουσα Καθηγήτρια: Λαμπροπούλου Σοφία Ιούλιος, 2013 Περιεχόμενα

Διαβάστε περισσότερα

Martingales. 3.1 Ορισμός και παραδείγματα

Martingales. 3.1 Ορισμός και παραδείγματα 3 Martingales 3.1 Ορισμός και παραδείγματα Εστω χώρος πιθανότητας (Ω, F, P). Διήθηση σε αυτό τον χώρο λέμε μια αύξουσα ακολουθία (F n ) n 0 σ-αλγεβρών, η καθεμία από τις οποίες είναι υποσύνολο της F. Δηλαδή,

Διαβάστε περισσότερα

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983 20 Φεβρουαρίου 2010 ΑΣΕΠ 2000 1. Η δεξαμενή βενζίνης ενός πρατηρίου υγρών καυσίμων είναι γεμάτη κατά τα 8/9. Κατά τη διάρκεια μιας εβδομάδας το πρατήριο διέθεσε τα 3/4 της βενζίνης αυτής και έμειναν 4000

Διαβάστε περισσότερα

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα 17 Ευρωπαϊκά παράγωγα 17.1 Ευρωπαϊκά δικαιώματα Ορισμός 17.1. 1) Ευρωπαϊκό δικαίωμα αγοράς σε μία μετοχή είναι ένα συμβόλαιο που δίνει στον κάτοχό του το δικαίωμα να αγοράσει μία μετοχή από τον εκδότη

Διαβάστε περισσότερα

Μαθηματικά Πληροφορικής

Μαθηματικά Πληροφορικής Πανεπιστήμιο Αθηνών Μαθηματικά Πληροφορικής Ηλίας Κουτσουπιάς Αθήνα, Οκτώβριος 2009 Περιεχόμενα Περιεχόμενα 1 Σύνολα... 5 ΆλλαΣύμβολα... 6 1 Υποθέσεις και Θεωρήματα 9 1.1 Παρατήρηση-Υπόθεση-Απόδειξη...

Διαβάστε περισσότερα

Η εξίσωση Black-Scholes

Η εξίσωση Black-Scholes 8 Η εξίσωση Black-Scholes 8. Μια απλή αγορά Θεωρούμε ότι έχουμε μια αγορά που έχει μόνο δύο προϊόντα. Το ένα είναι η δυνατότητα κατάθεσης σε μια τράπεζα (ισοδύναμα, αγορά ομολόγων της τράπεζας) και το

Διαβάστε περισσότερα

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές 10 Ανεξαρτησία 10.1 Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές Στην παράγραφο αυτή δουλεύουμε σε χώρο πιθανότητας (Ω, F, P). Δίνουμε καταρχάς τον ορισμό της ανεξαρτησίας για ενδεχόμενα,

Διαβάστε περισσότερα

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 06: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΔΟΜΕΝΩΝ

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 06: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΔΟΜΕΝΩΝ Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 06: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΔΟΜΕΝΩΝ Η «μάχη» για καλούς αλγορίθμους έχει σε αδρές γραμμές 4 επίπεδα: Υπάρχει αλγόριθμος; Υπάρχει «δραστικός»

Διαβάστε περισσότερα

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές 10 Ανεξαρτησία 10.1 Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές Στην παράγραφο αυτή δουλεύουμε σε χώρο πιθανότητας (Ω, F, P). Δίνουμε καταρχάς τον ορισμό της ανεξαρτησίας για ενδεχόμενα,

Διαβάστε περισσότερα

Επίλυση δικτύων διανομής

Επίλυση δικτύων διανομής ΑστικάΥδραυλικάΈργα Υδρεύσεις Επίλυση δικτύων διανομής Δημήτρης Κουτσογιάννης & Ανδρέας Ευστρατιάδης Τομέας Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Διατύπωση του προβλήματος Δεδομένου ενός δικτύου αγωγών

Διαβάστε περισσότερα

Η έκδοση αυτή είναι υπό προετοιμασία. Γιάννης Α. Αντωνιάδης, Αριστείδης Κοντογεώργης

Η έκδοση αυτή είναι υπό προετοιμασία. Γιάννης Α. Αντωνιάδης, Αριστείδης Κοντογεώργης Θεωρία Αριθμών και Εφαρμογές Η έκδοση αυτή είναι υπό προετοιμασία Γιάννης Α. Αντωνιάδης, Αριστείδης Κοντογεώργης 9 Φεβρουαρίου 2015 2 Περιεχόμενα I ΑΡΙΘΜΟΘΕΩΡΙΑ ΤΩΝ ΡΗΤΩΝ ΑΡΙΘΜΩΝ 7 1 ΔΙΑΙΡΕΤΟΤΗΤΑ ΚΑΙ ΠΡΩΤΟΙ

Διαβάστε περισσότερα

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της Προτεινόμενα θέματα στο μάθημα Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της καθεμιάς και δίπλα σε κάθε αριθμό την ένδειξη Σωστό, αν

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υπουργείου Οικονομικών, με κορυφαίο επιτελείο

Διαβάστε περισσότερα

Ανελίξεις σε συνεχή χρόνο

Ανελίξεις σε συνεχή χρόνο 4 Ανελίξεις σε συνεχή χρόνο Σε αυτό το κεφάλαιο είναι συγκεντρωμένοι ορισμοί και αποτελέσματα από τη θεωρία των στοχαστικών ανελιξεων συνεχούς χρόνου. Με εξαίρεση την Παράγραφο 4.1, η οποία είναι εντελώς

Διαβάστε περισσότερα

17 Μαρτίου 2013, Βόλος

17 Μαρτίου 2013, Βόλος Συνήθεις ιαφορικές Εξισώσεις 1ης Τάξης Σ Ε 1ης τάξης, Πεδία κατευθύνσεων, Υπαρξη και μοναδικότητα, ιαχωρίσιμες εξισώσεις, Ολοκληρωτικοί παράγοντες, Αντικαταστάσεις, Αυτόνομες εξισώσεις Μανόλης Βάβαλης

Διαβάστε περισσότερα

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές Σ Υ Π Τ Μ Α 8 Ιουνίου 2010 Άσκηση 1 Μια εταιρία τηλεφωνίας προσπαθεί να βρει πού θα τοποθετήσει τις συνιστώσες τηλεφωνικού καταλόγου που θα εξυπηρετούν τους συνδρομητές της. Η εταιρία εξυπηρετεί κατά βάση

Διαβάστε περισσότερα

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10 Φροντιστήριο 2: Ανάλυση Αλγόριθμου Εκλογής Προέδρου με O(nlogn) μηνύματα Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10 Περιγραφικός Αλγόριθμος Αρχικά στείλε μήνυμα εξερεύνησης προς τα δεξιά

Διαβάστε περισσότερα

G περιέχει τουλάχιστον μία ακμή στο S. spanning tree στο γράφημα G.

G περιέχει τουλάχιστον μία ακμή στο S. spanning tree στο γράφημα G. ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Σχεδίαση και Ανάλυση Αλγορίθμων Διδάσκων: Ε. Μαρκάκης, Φθινοπωρινό εξάμηνο 2014-2015 Λύσεις 3ης Σειράς Ασκήσεων

Διαβάστε περισσότερα

Μονάδες 5 1.2.α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

Μονάδες 5 1.2.α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο. ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΠΑΡΑΓΩΓΗΣ): ΧΗΜΕΙΑ - ΒΙΟΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ

Διαβάστε περισσότερα

602. Συναρτησιακή Ανάλυση. Υποδείξεις για τις Ασκήσεις

602. Συναρτησιακή Ανάλυση. Υποδείξεις για τις Ασκήσεις 602. Συναρτησιακή Ανάλυση Υποδείξεις για τις Ασκήσεις Τμήμα Μαθηματικών Πανεπιστήμιο Αθηνών Αθήνα 2018 Περιεχόμενα 1 Χώροι με νόρμα 1 2 Χώροι πεπερασμένης διάστασης 23 3 Γραμμικοί τελεστές και γραμμικά

Διαβάστε περισσότερα

Ψηφιακή Εικόνα. Σημερινό μάθημα!

Ψηφιακή Εικόνα. Σημερινό μάθημα! Ψηφιακή Εικόνα Σημερινό μάθημα! Ψηφιακή Εικόνα Αναλογική εικόνα Ψηφιοποίηση (digitalization) Δειγματοληψία Κβαντισμός Δυαδικές δ έ (Binary) εικόνες Ψηφιακή εικόνα & οθόνη Η/Υ 1 Ψηφιακή Εικόνα Μια ακίνητη

Διαβάστε περισσότερα

Το υπόδειγμα IS-LM: Εισαγωγικά

Το υπόδειγμα IS-LM: Εισαγωγικά 1/35 Το υπόδειγμα IS-LM: Εισαγωγικά Νίκος Γιαννακόπουλος Επίκουρος Καθηγητής Τμήμα Οικονομικών Επιστημών Πανεπιστήμιο Πατρών Ακαδημαϊκό Ετος 2014-2015 Εαρινό Εξάμηνο Τι γνωρίζουμε; 2/35 Αγορά αγαθών και

Διαβάστε περισσότερα

Εκφωνήσεις και Λύσεις των Θεμάτων

Εκφωνήσεις και Λύσεις των Θεμάτων ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Δευτέρα 8 Μαΐου 0 Εκφωνήσεις και Λύσεις των Θεμάτων

Διαβάστε περισσότερα

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 07: ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 07: ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 07: ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η περιγραφή του προβλήματος: Στην άλγεβρα (και με αναρίθμητες εφαρμογές στην αριθμητική ανάλυση)

Διαβάστε περισσότερα

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ Μάθημα: Ενόργανη Γυμναστική Χρήσιμα θεωρία στο κεφάλαιο της ενόργανης γυμναστικής για το γνωστικό αντικείμενο ΠΕ11 της Φυσικής Αγωγής από τα Πανεπιστημιακά Φροντιστήρια Κολλίντζα.

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ

ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ Σύνταξη: Παπαδόπουλος Θεοχάρης, Οικονομολόγος, MSc, PhD Candidate Κατηγορίες οφέλους και κόστους που προέρχονται από τις δημόσιες δαπάνες Για την αξιολόγηση

Διαβάστε περισσότερα

Ο τύπος του Itô. f (s) ds (12.1) f (g(s)) dg(s). (12.2) t f (B s ) db s + 1 2

Ο τύπος του Itô. f (s) ds (12.1) f (g(s)) dg(s). (12.2) t f (B s ) db s + 1 2 12 Ο τύπος του Itô Για συνάρτηση f : R R με συνεχή παράγωγο, έχουμε d f (s) = f (s) ds που σε ολοκληρωτική μορφή σημαίνει f (b) f (a) = b a f (s) ds (12.1) για κάθε a < b. Αν επιπλέον και η g : R R έχει

Διαβάστε περισσότερα

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0) 1. Κωδικός Μαθήματος: (Εισαγωγή στον Προγραμματισμό) 2. Α/Α Διάλεξης: 1 1. Τίτλος: Εισαγωγή στους υπολογιστές. 2. Μαθησιακοί Στόχοι: Συνοπτική παρουσίαση της εξέλιξης των γλωσσών προγραμματισμού και των

Διαβάστε περισσότερα

1. Εστω ότι A, B, C είναι γενικοί 2 2 πίνακες, δηλαδή, a 21 a, και ανάλογα για τους B, C. Υπολογίστε τους πίνακες (A B) C και A (B C) και

1. Εστω ότι A, B, C είναι γενικοί 2 2 πίνακες, δηλαδή, a 21 a, και ανάλογα για τους B, C. Υπολογίστε τους πίνακες (A B) C και A (B C) και ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι Εαρινό Εξάμηνο 0 Ασκήσεις για προσωπική μελέτη Είναι απολύτως απαραίτητο να μπορείτε να τις λύνετε, τουλάχιστον τις υπολογιστικές! Εστω ότι A, B, C είναι γενικοί πίνακες,

Διαβάστε περισσότερα

(1 ο ) Γιατί «αλγόριθμοι» (υποχρεωτικά);

(1 ο ) Γιατί «αλγόριθμοι» (υποχρεωτικά); (1 ο ) Γιατί «αλγόριθμοι» (υποχρεωτικά); Γιατί πρέπει να μελετήσουμε την περιοχή των «αλγορίθμων»; Ο φοιτητής και η φοιτήτρια που καλείται να παρακολουθήσει ένα μάθημα σαν το «αλγόριθμοι & πολυπλοκότητα»

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραμμα Σπουδών: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ και ΟΡΓΑΝΙΣΜΩΝ Θεματική Ενότητα: ΕΟ-13 Ποσοτικές Μέθοδοι Ακαδημαϊκό Έτος: 2012-13 Πρώτη Γραπτή Εργασία Εισαγωγή στους υπολογιστές Μαθηματικά

Διαβάστε περισσότερα

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 Pointers 1 Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 1 Μνήμη μεταβλητών Κάθε μεταβλητή έχει διεύθυνση Δεν χρειάζεται

Διαβάστε περισσότερα

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1α ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ Οι επιστήμονες ταξινομούν τους οργανισμούς σε ομάδες ανάλογα με τα κοινά τους χαρακτηριστικά. Τα πρώτα συστήματα ταξινόμησης βασιζόταν αποκλειστικά στα μορφολογικά

Διαβάστε περισσότερα

Γενικό Λύκειο Μαραθοκάμπου Σάμου. Άλγεβρα Β λυκείου. 13 Οκτώβρη 2016

Γενικό Λύκειο Μαραθοκάμπου Σάμου. Άλγεβρα Β λυκείου. 13 Οκτώβρη 2016 Γενικό Λύκειο Μαραθοκάμπου Σάμου Άλγεβρα Β λυκείου Εργασία2 η : «Συναρτήσεις» 13 Οκτώβρη 2016 Ερωτήσεις Θεωρίας 1.Πότελέμεότιμιασυνάρτησηfείναιγνησίωςάυξουσασεέναδιάστημα του πεδίου ορισμού της; 2.Πότελέμεότιμιασυνάρτησηfείναιγνησίωςφθίνουσασεέναδιάστημα

Διαβάστε περισσότερα

Συναρτήσεις & Κλάσεις

Συναρτήσεις & Κλάσεις Συναρτήσεις & Κλάσεις Overloading class member συναρτήσεις/1 #include typedef unsigned short int USHORT; enum BOOL { FALSE, TRUE}; class Rectangle { public: Rectangle(USHORT width, USHORT

Διαβάστε περισσότερα

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

ΜΑΘΗΜΑ: ΒΙΟΛΟΓΙΑ ΟΜΑΔΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Γ ΛΥΚΕΙΟΥ ΜΑΘΗΜΑ: ΒΙΟΛΟΓΙΑ ΟΜΑΔΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Γ ΛΥΚΕΙΟΥ Επιμέλεια: Βουδούρη Καλλιρρόη ΙΑΓ%ΝΙΣΜΑ ΒΙΟΛΟΓΙΑΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΟΝΟΜΑ:.. ΘΕΜΑ Α Α. Να ση)ειώσετε στο γρα1τό σας δί1λα α1ό τον

Διαβάστε περισσότερα

3. Με βάση τη βραχυχρόνια καμπύλη Phillips η σχέση πληθωρισμού και ανεργίας είναι:

3. Με βάση τη βραχυχρόνια καμπύλη Phillips η σχέση πληθωρισμού και ανεργίας είναι: 1. Σε περίπτωση που το κράτος φορολογεί τους πολίτες το διαθέσιμο εισόδημα του κάθε ατόμου είναι: α) το σύνολο του εισοδήματός του β) το σύνολο του εισοδήματός του, αφού προηγουμένως αφαιρέσουμε τους φόρους

Διαβάστε περισσότερα

Μεγέθη ταλάντωσης Το απλό εκκρεμές

Μεγέθη ταλάντωσης Το απλό εκκρεμές Μεγέθη ταλάντωσης Το απλό εκκρεμές 1.Σκοποί: Οι μαθητές Να κατανοήσουν τις έννοιες της περιοδικής κίνησης και της ταλάντωσης Να κατανοήσουν ότι η περιοδική κίνηση δεν είναι ομαλή Να γνωρίσουν τα μεγέθη

Διαβάστε περισσότερα

ΘΕΜΑ: Aποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία

ΘΕΜΑ: Aποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία ΘΕΜΑ: ποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία Σύνταξη: Μπαντούλας Κων/νος, Οικονομολόγος, Ms Χρηματοοικονομικών 1 Η πρώτη θεωρία σχετικά με τον αυτόματο

Διαβάστε περισσότερα

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης 7 Μεγάλες αποκλίσεις* 7. Η έννοια της μεγάλης απόκλισης Εστω (X ανεξάρτητες και ισόνομες τυχαίες μεταβλητές ώστε (X = = (X = = /2 και S = k= X k το άθροισμα των πρώτων από αυτές. Ο νόμος των μεγάλων αριθμών

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ ΚΕΙΜΕΝΟ. Πέµπτη 19 Νοεµβρίου 1942. Αγαπητή Κίττυ,

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ ΚΕΙΜΕΝΟ. Πέµπτη 19 Νοεµβρίου 1942. Αγαπητή Κίττυ, ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 6 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙ ΕΙΑΣ: ΝΕΑ ΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΓΡΑΜΜΑΤΕΙΑ ΕΚΦΡΑΣΗ - ΕΚΘΕΣΗ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΠΕΝΤΕ (5) Αγαπητή

Διαβάστε περισσότερα

Κεφάλαιο Η εκθετική κατανομή. Η πυκνότητα πιθανότητας της εκθετικής κατανομής δίδεται από την σχέση (1.1) f(x) = 0 αν x < 0.

Κεφάλαιο Η εκθετική κατανομή. Η πυκνότητα πιθανότητας της εκθετικής κατανομής δίδεται από την σχέση (1.1) f(x) = 0 αν x < 0. Κεφάλαιο Συνεχείς Τυχαίες Μεταβλητές. Η εκθετική κατανομή Η πυκνότητα πιθανότητας της εκθετικής κατανομής δίδεται από την σχέση f(x) = λe λx αν x, αν x

Διαβάστε περισσότερα

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

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ Γ ΛΥΚΕΙΟΥ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΟΜΑΔΑ Α Για τις προτάσεις Α1 μέχρι και Α6 να

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Η κατάρα της διαστατικότητας Μείωση διαστάσεων εξαγωγή χαρακτηριστικών επιλογή χαρακτηριστικών Αναπαράσταση έναντι Κατηγοριοποίησης Ανάλυση Κυρίων Συνιστωσών PCA Γραμμική

Διαβάστε περισσότερα

ΑΡΧΑΙΑ ΕΛΛΗΝΙΚΑ 2014 ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ

ΑΡΧΑΙΑ ΕΛΛΗΝΙΚΑ 2014 ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ Διδαγμένο Κείμενο ΑΡΧΑΙΑ ΕΛΛΗΝΙΚΑ 2014 ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ Α1. Επομένως οι αρετές δεν υπάρχουν μέσα μας εκ φύσεως ούτε αντίθετα προς τη φύση μας, αλλά έχουμε από τη φύση την ιδιότητα να τις δεχτούμε

Διαβάστε περισσότερα

23/2/07 Sleep out Πλατεία Κλαυθμώνος

23/2/07 Sleep out Πλατεία Κλαυθμώνος 23/2/07 Sleep out Πλατεία Κλαυθμώνος Μια βραδιά στο λούκι με τους αστέγους «Έχετε ποτέ σκεφτεί να κοιμηθείτε μια χειμωνιάτικη νύχτα στο δρόμο;» Με αυτό το ερώτημα απευθύναμε και φέτος την πρόσκληση στους

Διαβάστε περισσότερα

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης Η εργασιακή διαδικασία και τα στοιχεία της. Η κοινωνική επικύρωση των ιδιωτικών

Διαβάστε περισσότερα

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6)

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6) ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6) ΘΕΜΑ 1ο Στις ερωτήσεις 1.1 έως 1.3, να γράψετε στο τετράδιό

Διαβάστε περισσότερα

Επιχειρησιακή Ερευνα Ι

Επιχειρησιακή Ερευνα Ι Επιχειρησιακή Ερευνα Ι Μ. Ζαζάνης Κεφάλαιο 1 Τετραγωνικές μορφές στον R n και το ϑεώρημα του Taylor Ορισμός 1. Εστω a 11 a 1n A =.. a n1 a nn συμμετρικός πίνακας n n με στοιχεία στους πραγματικούς αριθμούς.

Διαβάστε περισσότερα