Περιγραφή θεωρητικού και µαθηµατικού υπόβαθρου Λογισµικής ιαγραµµατικής Οντολογίας

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

Download "Περιγραφή θεωρητικού και µαθηµατικού υπόβαθρου Λογισµικής ιαγραµµατικής Οντολογίας"

Transcript

1 Περιγραφή θεωρητικού και µαθηµατικού υπόβαθρου Λογισµικής ιαγραµµατικής Οντολογίας Αρχιµήδης ΙΙΙ Υποέργο

2 Στο ακόλουθο κείµενο περιγράφεται το θεωρητικό υπόβαθρο ενός αυτόµατου εργαλείου για δυναµικό έλεγχο προγραµµάτων. Η θεωρία βασίζεται σε µια ποιοτική προσέγγιση του προγράµµατος καθώς και της συµπεριφοράς του, δηλαδή στην κατασκευή µιας οντολογίας. Η οντολογία αυτή αποτελείται από ένα στατικό και ένα δυναµικό µέρος τα οποία θα περιγράψουµε. Θα περιγράψουµε καταρχήν τι εννοούµε µε οντολογία και γιατί είναι ενδιαφέρον να έχουµε µια ποιοτική προσέγγιση. Για να γίνει αυτό θα εισάγουµε τις βασικές έννοιες που θα χρησιµοποιηθούν: µάγµα, έννοια της επιρροής, γράφος φάσεων, οµοµορφισµοί, κ.α. Θα αναλύσουµε επίσης τις βασικές υποθέσεις που κάνουµε (ελπίζουµε αρκετά χαλαρές και ρεαλιστικές) για να φέρουµε σε πέρας την κατασκευή και τη χρήση (δηλαδή την εφαρµογή στον έλεγχο προγραµµάτων) ενός ποιοτικού µοντέλου. ΠΟΙΟΤΙΚΗ ΟΝΤΟΛΟΓΙΑ ΠΡΟΓΡΑΜΜΑΤΩΝ Σύµφωνα µε την κοινή αποδοχή, ονοµάζουµε οντολογία ένα σύνολο αλληλένδετων εννοιών που περιγράφουν ένα συγκεκριµένο (συνήθως επιστηµονικό) τοµέα και τους κανόνες που τον διέπουν. Μια οντολογία επιτρέπει έτσι µια κοινή γλώσσα και γνώση που µπορούν να µετατρέπονται και να εµπλουτίζονται από τους ειδικούς. Οντολογίες για τη διαδικασία σχεδιασµού και ανάπτυξης ενός προγράµµατος (ή πιο συγκεκριµένα ενός αλγόριθµου) έχουν υπάρξει και χρησιµοποιούνται πολλές, λόγω της κρισιµότητας των σηµερινών υπολογιστικών εφαρµογών, χωρίς όµως αναγκαστικά να έχουν διατυπωθεί αρχικά µε το όνοµα "οντολογία". Οντολογίες έχουν αναπτυχθεί και σε άλλους επιστηµονικούς τοµείς, όπως η ιατρική, η βιολογία, κ.α., όπως επίσης έχουν αναπτυχθεί στην Ποιοτική Συλλογιστική (ΠΣ, Qualitative Reasoning) που ανήκει στο γενικότερο ερευνητικό κλάδο της Τεχνητής Νοηµοσύνης. Ο αρχικός (και κύριος) στόχος της ΠΣ ήταν να προτείνει ένα διαφορετικό τρόπο προσέγγισης της Τεχνητής Νοηµοσύνης από την κυριαρχούσα αντιµετώπιση, που ήταν καθαρά βασισµένη στη Μαθηµατική Λογική (µην ξεχνάµε ότι η Μαθηµατική Λογική αποτελεί τη "µήτρα" των ηλεκτρονικών υπολογιστών και πολλοί βλέπουν τον ηλεκτρονικό υπολογιστή σαν ΤΟ κατεξοχήν εργαλείο και υλοποίηση της Μαθηµατικής Λογικής). Η ΠΣ προσπάθησε να ενσωµατώσει στα εννοιολογικά εργαλεία της, έννοιες πιο αφηρηµένες και που συνάµα ήταν πιο κοντά στον τρόπο µε τον οποίο ένας κοινός άνθρωπος ή ένας ειδικός σε έναν τοµέα, αναπαρίσταναν την πραγµατικότητα και επέλυναν έναν συγκεκριµένο πρόβληµα. Αλλά ο απώτερος σκοπός της ΠΣ ήταν η λογισµική υλοποίηση αυτών των εννοιών προκειµένου να κατασκευαστούν συγκεκριµένα εργαλεία που θα επέτρεπαν στους υπολογιστές να έχουν µια "βαθύτερη" (δηλαδή πιο ανθρώπινη) γνώση σε έναν τοµέα. Κατόπιν αυτού ήταν λογικό να υιοθετήσει και η ΠΣ διάφορες οντολογίες (που θα µπορούσαµε να αποκαλέσουµε ποιοτικές οντολογίες). Αν και πολλές φορές η πολυπλοκότητα και η "λογική πυκνότητα" των ποιοτικών οντολογιών ήταν µεγαλύτερη των κλασικών λογικών προσεγγίσεων που ήθελαν να επικρίνουν, το αρχικό µήνυµα της ποιοτικής προσέγγισης παραµένει ακέραιο: να ξεφύγουµε από µια καθαρά µηχανιστική-λογικίστικη προσέγγιση ενός προβλήµατος, υιοθετώντας µια ορολογία και κανόνες συλλογισµού που, χωρίς να έχουν τη µαθηµατική ακρίβεια ενός µαθηµατικού µοντέλου, είναι πιο "απλές" (χρησιµοποιήθηκε πολλές φορές ο επιτυχηµένος όρος "αφελείς"), πιο κατανοήσιµες από τον άνθρωπο και πιο κοντά στον "µακροσκοπικό" τρόπο σκέψης του. Η βασική ιδέα της προσέγγισής µας µπορεί να συνοψιστεί ως εξής: εφόσον η κατασκευή ενός αλγόριθµου (και υπό αυτόν τον όρο συµπεριλαµβάνουµε τις διαδικασίες σχεδιασµού, προγραµµατισµού, διόρθωσης, ελέγχου και συντήρησης ενός προγράµµατος) είναι τόσο κρίσιµη, δύσκολη και επίπονη διεργασία γιατί να µην επιχειρήσουµε να χρησιµοποιήσουµε και σε αυτόν τον τοµέα τις αρχικές ιδέες της ποιοτικής συλλογιστικής. Πράγµατι η ΠΣ (και γενικότερα η Τεχνητή Νοηµοσύνη και οι οντολογίες) έχουν εφαρµοστεί σε τοµείς "ευρείς" και λιγότερο "κρίσιµους" από την πληροφορική. Γιατί λοιπόν αυτός ο γόρδιος δεσµός που συνδέει τη Μαθηµατική Λογική µε τους αλγόριθµους (δεσµός που έχει σπάσει σε άλλους τοµείς) να µην κοπεί για την ίδια την πληροφορική και πιο συγκεκριµένα για τον τρόπο µε τον οποίο αντιµετωπίζουµε έναν αλγόριθµο; 2

3 Με άλλα λόγια, όπως συνέβη και µε άλλους επιστηµονικούς τοµείς, η κυριαρχούσα αντιµετώπιση ενός αλγόριθµου είναι µέχρι σήµερα καθαρά βασισµένα στις µαθηµατικές θεωρίες της λογικής και τα παρακλάδια της (υπολογισιµότητα, πολυπλοκότητα, σύνταξη και σηµασιολογία, κ.λπ.). Για έναν θεωρητικό της πληροφορικής δεν έχει νόηµα να µιλήσουµε για έναν "αφελή" τρόπο µε τον οποίο ένας προγραµµατιστής επιλύει ένα πρόβληµα - ο όρος "αφελής" έχει µια υποτιµητική έννοια και σηµαίνει µάλλον "όχι βέλτιστος" για να µην πούµε λαθεµένος. Για έναν θεωρητικό της πληροφορικής, το να µιλήσουµε για µια δοµή η οποία περιέχει ορισµένες πληροφορίες χωρίς να χρειάζεται να την περιγράψουµε λεπτοµερώς, δεν θα ήταν παρά ένα προσχέδιο σχεδόν κενό της οποιασδήποτε υπολογιστικής χρήσης καθότι δεν θα είχε ακόµα υλοποιηθεί σε µια συγκεκριµένη προγραµµατιστική δοµή. Τέλος, για τον ίδιο καθαρόαιµο θεωρητικό δεν έχει καµία σηµασία να περιγράφουµε εξόδους που αποκλίνουν ή συγκλίνουν ή ακόµα συµπεριφέρονται σαν φυσικά φαινόµενα, δεν θα είχε νόηµα. Και όµως, στη συνέχεια θα προσπαθήσουµε να εξηγήσουµε ότι τέτοιες έννοιες όχι µόνον έχουν νόηµα αλλά µπορούν να µας βοηθήσουν να κατανοήσουµε καλύτερα την ανθρώπινη διαδικασία παραγωγής λογισµικού και να επινοήσουµε νέα (συµπληρωµατικά) εργαλεία για την ανάλυση και τον έλεγχό τους. Θα πρέπει γι' αυτό το σκοπό να προτείνουµε µια νέα ποιοτική οντολογία που να αφορά τη διαδικασία του προγραµµατισµού. Προτού όµως παρουσιάσουµε αυτή την οντολογία, ας δούµε ποιές είναι οι δυσκολίες που συναντάµε όταν επιχειρούµε να εφαρµόσουµε κλασσικές µεθόδους ποιοτικού συλλογισµού σ' έναν κλάδο όπως είναι η τεχνολογία λογισµικού και συγκεκριµένα ο προγραµµατισµός. Η πρώτη δυσκολία συνίσταται στη διαχείριση των δοµών από το λογισµικό. Για ένα κλασικό φυσικό φαινόµενο όπως είναι η τήξη µιας ουσίας, η διαδροµή ενός σώµατος µέσα σε ένα πεδίο, οι πολλαπλές χηµικές αντιδράσεις ή ακόµα η λειτουργία ενός ηλεκτρονικού κυκλώµατος, το είδος των δεδοµένων που διαχειριζόµαστε είναι κλασικές πραγµατικές ή ακέραιες τιµές οι οποίες εξελίσσονται στο χρόνο µε έναν συνήθως συνεχή (µε τη µαθηµατική έννοια) τρόπο. Η ΠΣ είναι σε θέση σ' αυτές τις περιπτώσεις να χρησιµοποιήσει ποιοτικές και ποσοτικές αφαιρέσεις ή να χρησιµοποιήσει πάµπολλα µαθηµατικά θεωρήµατα που αφορούν τοπικές, ιδιάζουσες ή γενικές συµπεριφορές µαθηµατικών σχέσεων, υιοθετώντας αποτελέσµατα από την Ανάλυση, την Τοπολογία, τη ιάδοση Περιορισµών, τις ιαφορικές Εξισώσεις, την Ασαφή Λογική ακόµα και τη Μη-καθιερωµένη Ανάλυση (ένα είδος Μαθηµατικής Ανάλυσης όπου οι απειροστές ποσότητες λαµβάνουν µια πραγµατική και τυπική υπόσταση) κ.ο.κ. Με άλλα λόγια η ποιοτική προσέγγιση σ' αυτές τις περιπτώσεις καθίσταται δυνατή καθότι οι µετασχηµατισµοί που διέπουν ένα φυσικό φαινόµενο (τουλάχιστον αυτά µε τα οποία ασχολείται η ΠΣ) αποτελούνται από κλασικές µαθηµατικές σχέσεις έτσι όπως µελετήθηκαν µακροχρόνια από τη γένεση της Μαθηµατικής Ανάλυσης. Όταν όµως πρέπει να αναλύσουµε έναν λογισµικό µετασχηµατισµό (δηλαδή την αλγοριθµική διαδικασία που µετατρέπει βήµα-βήµα αρχικές εισόδους σε εξόδους) παρατηρούµε τη µεγάλη ετεροµορφία των δεδοµένων: πραγµατικοί αριθµοί, πίνακες πινάκων, πολυµορφικά αντικείµενα του αντικειµενοστραφούς προγραµµατισµού που περικλείουν άλλα αντικείµενα µε συµβολοσειρές και λογικές τιµές ή αναφορές που µας οδηγούν σε άλλα αντικείµενα, κ.ο.κ. Και σαν να µην φτάνουν όλα αυτά, ακόµα κι ένας "πραγµατικός αριθµός" σε µια γλώσσα προγραµµατισµού δεν είναι "συνεχής" ούτε "άπειρος" αλλά είναι ένας δεκαδικός του οποίου η ακρίβεια και το εύρος εξαρτώνται από τα όρια του λογισµικού και υλικού περιβάλλοντος στο οποίο προγραµµατίζουµε. Αυτό σηµαίνει ότι πρέπει να προδιαγράψουµε ένα υποκατάστατο της συνεχούς πραγµατικής ευθείας και να εισάγουµε σχέσεις τάξεως (ποιό είναι µεγαλύτερο, ποιό είναι µικρότερο) που δεν είναι απόλυτες αλλά µερικές. Αντιµετωπίζουµε εδώ το ίδιο πρόβληµα µε τον κλάδο της Ψηφιακής Τοπολογίας που προτάθηκε από τον B. Rosenfeld. Η Ψηφιακή Τοπολογία είναι µια επιτυχηµένη απόπειρα να εισαχθούν κλασσικές τοπολογικές έννοιες (συνεκτικότητα, συνέχεια, συστολές, κ.λπ.) σε διακριτούς τοµείς και συγκεκριµένα την Επεξεργασία Εικόνας. Στη συνέχεια οι έννοιες όπως "πρόγραµµα", "λογισµικό" ή "αλγόριθµος" θα έχουν την ίδια σηµασία η οποία είναι ένα "περιορισµένο" τµήµα κώδικα (π.χ. µια µέθοδος της Java) µε µικρό αριθµό εντολών σε µια εξελιγµένη γλώσσα διαδικαστικού και δοµηµένου προγραµµατισµού. Αν και, είναι αλήθεια, η οντολογία αρµόζει καλύτερα σε έναν αντικειµενοστραφή τρόπο σκέψης, η προσέγγισή 3

4 µας επ' ουδενί λόγω δεν περιορίζεται στις αντικειµενοστραφείς γλώσσες. Θα θεωρήσουµε ότι ο αλγόριθµος αυτός είναι εκτελέσιµος, διαθέτει τους κατάλληλους πόρους για να τερµατίσει σε ένα εύλογο χρονικό διάστηµα. Με άλλα λόγια δεν ασχολούµαστε µε τις ανωµαλίες που µπορούν να προκύψουν από εξωγενείς και παροδικούς παράγοντες, αλλά µε τις ενδεχόµενες και αναπαραγόµενες ανωµαλίες που προκύπτουν από τα λάθη που διέπραξε ο προγραµµατιστής. Επιπλέον θεωρούµε ότι ο αλγόριθµος δε διαθέτει καµία µνήµη. Είναι δηλαδή τελείως προσδιοριστικός: για τις ίδιες εισόδους θα έχουµε πάντα τις ίδιες εξόδους. Σηµειωτέον, ότι ένας αλγόριθµος µε µνήµη µπορεί να καταστεί προσδιοριστικός προσθέτοντας νέες εισόδους (που αντιστοιχούν στη µνήµη). Επίσης, θα θεωρήσουµε ότι αν ο χρόνος εκτέλεσης του αλγόριθµου ξεπερνάει ένα προκαθορισµένο όριο, ο αλγόριθµος δεν τερµατίζει και το αποτέλεσµά του είναι εσφαλµένο (που µπορούµε να συµβολίσουµε σαν µια τυπική έξοδο µη-τερµατισµού). Οι περισσότερες γλώσσες προγραµµατισµού χρησιµοποιούν δείκτες σε πολλές µορφές (καθολικοί δείκτες, αριθµοδείκτες σε έναν πίνακα, ακόµα και οι συµβολοσειρές µπορούν καµιά φορά να χρησιµοποιηθούν σαν έµµεσοι δείκτες σε ειδικές δοµές όπως είναι τα maps της Java). είκτες χρησιµοποιούνται επίσης σαν έµµεσες είσοδοι ή σαν αποτέλεσµα εξόδων. Όταν πρέπει να ασχοληθούµε µε τέτοιους είδους δεδοµένα (δηλαδή πληροφορίες που θα µας επιτρέψουν να χρησιµοποιήσουµε το περιεχόµενο µιας διεύθυνσης της µνήµης) θα πρέπει πρώτα να γίνει η πράξη της "αναπαραποµπής" (dereference) η οποία συνίσταται στο να µη µελετήσουµε το δείκτη αυτόν καθαυτόν, αλλά το περιεχόµενο της µνήµης στην οποία παραπέµπει. Αν, για παράδειγµα, εξετάζουµε έναν αλγόριθµο που αναζητεί τη διεύθυνση του µέγιστου ακέραιου µέσα σε ένα µονοδιάστατο πίνακα Α, τότε δεν θα εξετάσουµε το ακέραιο αποτέλεσµα (π.χ. 17) αλλά το περιεχόµενο Α[17], ακριβώς όπως θα κάναµε και µε τη µελέτη ενός άλλου αλγόριθµου που θα αναζητούσε την τιµή (κι όχι τη διεύθυνση) του µέγιστου µέσα στον Α. Επ' ουδενί λόγω δε θεωρούµε ότι όλες οι λεπτότητες και οι πολυπλοκότητες των δεικτών µπορούν να αντιµετωπιστούν µε αυτό τον τρόπο (ένας δείκτης µπορεί να είναι η διεύθυνση ενός άλλου δείκτη, κ.ο.κ, και γενικότερα οτιδήποτε µπορεί να χρησιµοποιηθεί για να υπολογιστεί µια διεύθυνση όπου µπορούµε να βρούµε οτιδήποτε!). Θεωρούµε όµως ότι έτσι αντιµετωπίζουµε ένα συντριπτικό ποσοστό εφαρµογών και ότι µια ποιοτική προσέγγιση του λογισµικού δεν θα πρέπει να εισχωρεί και πολύ εις βάθος στις πολυπλοκότητες των δεικτών. Προσοχή, δεν εννοούµε ότι δεν πρέπει να χρησιµοποιούνται δείκτες στον αλγόριθµο αυτόν καθαυτόν (καθότι αυτό δεν επηρεάζει την ποιοτική µελέτη συµπεριφοράς), αλλά ότι χρειαζόµαστε αυτή την αναπαραποµπή και για να µελετήσουµε καλύτερα τη συµπεριφορά εξωτερικά, δηλαδή από την οπτική: είσοδοι/έξοδοι. Η ΟΝΤΟΛΟΓΙΑ ΤΩΝ Ε ΟΜΕΝΩΝ 1. Η Έννοια του Μάγµατος Μπορούµε να θεωρήσουµε στη συνέχεια ότι υπάρχουν δύο ειδών δεδοµένα: οι τέσσερεις βασικοί τύποι (ακέραιοι, δεκαδικοί διαφόρων ακριβειών και µεγέθους, λογικός και χαρακτήρες) και οι σύνθετοι που αποτελούνται από µια συλλογή και συνδυασµό των βασικών τύπων: πολυδιάστατοι πίνακες, αντικείµενα του αντικειµενοστραφούς προγραµµατισµού ή οι δοµές της C και της Pascal, οι λίστες της LISP ή ακόµα οι περίφηµες συλλογές (collections), οι ποικιλόµορφες δοµές (τύπου map) της JV και C++ και των διαδικτυακών διαλέκτων τους. Στην οντολογία µας θα ξεχωρίσουµε συνεπώς τους βασικούς τύπους, τους οποίους θα ονοµάσουµε άτοµα, από τους σύνθετους, τους οποίους θα ονοµάσουµε µάγµατα. Ο τελευταίος όρος εµπνέεται από τις εργασίες του Κ. Καστοριάδη ο οποίος πρότεινε αυτόν τον όρο σε αντιπαράθεση µε τον όρο σύνολο που προτάσσεται στη συνολοταυτιστική προσέγγιση. Ένα µαθηµατικό σύνολο, µια συλλογή Java, έχουν µια προκαθορισµένη δοµή η οποία αλλοιώνεται µε ένα συγκεκριµένο τρόπο όταν προσθαφαιρούµε αντικείµενα. Αντιθέτως, ένα µάγµα δεν έχει δοµή, παραµένει µάγµα όταν προσθέτουµε ή αφαιρούµε αντικείµενα. Θα θεωρήσουµε φυσικά ότι ένα µάγµα έχει ένα µέγεθος το οποίο αυξάνεται ή µειώνεται αλλά χωρίς συγκεκριµένες τιµές και χωρίς κατώτατα και ανώτατα 4

5 όριο. Ένα µάγµα δεν είναι µια κλάση τους αντικειµενοστραφούς προγραµµατισµού αλλά ένα συγκεκριµένο σύνολο πληροφοριών που έχουν πραγµατική υπόσταση στη µνήµη. Το που και το πόσο δεν µας αφορούν. Ένα µάγµα δεν είναι µια αφαίρεση. Ένα µάγµα, από την στιγµή που δηµιουργηθεί, µπορεί µόνο να καταστραφεί και δεν µας αφορούν ούτε τα όρια τις περιεκτικότητάς του ούτε το γεγονός ότι µπορεί να είναι κενό. Το εσωτερικό ενός µάγµατος µας ενδιαφέρει µόνο αν αποτελείται από οµοιόµορφα αντικείµενα (σε αυτή την περίπτωση έχουµε το παράδειγµα ενός πίνακα) ή από µη οµοιόµορφα αντικείµενα (σε αυτή την περίπτωση έχουµε το παράδειγµα ενός κλασσικού object της Java) και δεν µας ενδιαφέρει η εσωτερική δοµή του (που στις περισσότερες φορές είναι δενδροειδής της οποίας τερµατικά φύλλα είναι οι βασικοί τύποι). Συνεπώς, αν ένας ακέραιος αντιστοιχεί στην ηλικία ενός φοιτητή σε µια τάξη σε µια γενικότερη δοµή ενός σχολείου, θα θεωρήσουµε απλώς ότι αυτή η ηλικία εµφανίζεται, ανήκει στο µάγµα τάξη και µόνο στην περίπτωση (αρκετά σπάνια) µιας ποιοτικής συνωνυµίας θα προσθέσουµε την αναγκαία πληροφορία για να τις διαχωρίσουµε. Ένα µάγµα δηµιουργείται από τη στιγµή που ενώνουµε δύο ή περισσότερους βασικούς τύπους. Το µικρότερο µάγµα θα αποτελούνταν από δύο boolean. Ένα µάγµα µπορεί να χάνει ή να κερδίζει πληροφορίες, το µέγεθός του να αυξάνεται ή να µειώνεται, να διασπάται ή να συγχωνεύεται µε άλλα µάγµατα, να εξελίσσεται (στο βαθµό που οι πληροφορίες που περιέχει µεταβάλλονται) χωρίς όµως να χάνει ποτέ την ίδια την ιδιότητα του µάγµατος, δηλαδή, να αντιπροσωπεύει ένα συνονθύλευµα συγκεκριµένων τιµών που εγγράφονται σε µια συγκεκριµένη µνήµη σε µια συγκεκριµένη στιγµή της εκτέλεσης και στο οποίο συνονθύλευµα αποφασίσαµε να δώσουµε ένα όνοµα. Στο γραφικό συµβολισµό που προτείνουµε για την οντολογία, ένα µάγµα θα αντιπροσωπεύεται από ένα τετράγωνο, στο πάνω µέρος του οποίου τοποθετούµε το όνοµά του. Αν χρειαστεί να χρησιµοποιήσουµε ορισµένα στοιχεία του µάγµατος, δεν έχουµε παρά να τα ονοµάσουµε χωρίς να είµαστε αναγκασµένοι να προσδιορίσουµε την ακριβή θέση τους στην ιεραρχία, καθότι το µάγµα δε διαθέτει ιεραρχία. 2. Οι Τρείς Βασικές Επιρροές Είδαµε προηγουµένως ότι ένα µάγµα µετατρέπεται αφοµοιώνοντας καινούργια δεδοµένα και εµπλουτιζόµενο εξελίσσεται µε υπολογιστικές διαδικασίες, µεταδίδει µέσω αντιγραφής µερικά από τα δεδοµένα σε άλλα µάγµατα (ή βασικά δεδοµένα) ή εξαρτάται από τα δεδοµένα άλλων µαγµάτων για να εξελιχθεί, κ.ο.κ. Στην οντολογία µας έχουµε έτσι την πρώτη υπόθεση. Υπόθεση 1: Αν εξαιρέσουµε τη διαδικασία επανεκκίνησης-αρχικοποίησης µιας οντότητας (reinitialization), σε µια συντριπτική πλειοψηφία των αλγόριθµων, η εξέλιξη ενός µάγµατος είναι δυνατή µόνο υπό την επιρροή εξωτερικών παραγόντων (άλλων µαγµάτων ή εξωτερικών ατόµων). Η υπόθεση αυτή ισχύει φυσικά και για τα άτοµα καθότι είναι αυτονόητη. Κανένας αλγόριθµος δεν µετατρέπει έναν ακέραιο αν η αρχική τιµή αυτού του ακέραιου δεν είναι κατά κάποιο τρόπο είσοδός του: αυτό θα αποτελούσε µια κλασική ανωµαλία ροής δεδοµένων. Αυτή η υπόθεση αντιστοιχεί στην Αριστοτέλεια αρχική αιτία: κάθε εξελικτικό φυσικό φαινόµενο οφείλεται σε µια εξωτερική αρχική αιτία. Αν θέλουµε να κάνουµε µια πληροφορική αναλογία: οι περισσότεροι αλγόριθµοι έχουν εισόδους και εξόδους. Αυτοί χωρίς εισόδους ή χωρίς αποτελέσµατα δεν είναι πολύ ενδιαφέροντες. Με άλλα λόγια για να αλλάξουν οι τιµές στο εσωτερικό ενός µάγµατος χρειαζόµαστε, συνήθως, ένα έναυσµα, δηλαδή την επιρροή µιας εξωτερικής οντότητας (µάγµα ή άτοµο). Η επόµενη υπόθεση της οντολογίας µας πάει πιο µακριά και προτείνει ότι υπάρχουν µόνο τριών ειδών επιρροές. Υπόθεση 2: Όλες οι επιρροές µεταξύ των οντοτήτων είναι συνδυασµός τριών βασικών επιρροών: 1. Αντιγραφή 2. Υπολογισµός 3. ραστηριοποίηση 5

6 Η αντιγραφή συνίσταται στο ότι ορισµένες πληροφορίες από το εσωτερικό ενός µάγµατος (για παράδειγµα, ενός πίνακα βαθµών) αντιγράφονται στο εσωτερικό ενός άλλου (για παράδειγµα, τα δεδοµένα ενός σχολείου). Ο υπολογισµός συνίσταται στο ότι µια νέα τιµή, που απορρέει από µια βασική αριθµητική πράξη, δηµιουργείται για να καταχωρηθεί σε ένα µέρος της µνήµης. Αυτή η υπολογιστική πράξη µπορεί να είναι µια κλασική αριθµητική πράξη, µια µαθηµατική ή γραφική ρουτίνα, η συγχώνευση δύο λέξεων ή γενικότερα η δηµιουργία µιας νέας λέξης από µερικές άλλες, η επαναφορά ενός δείκτη, ο υπολογισµός του κώδικα SCII ενός χαρακτήρα, µια βοηθητική ρουτίνα που µας επιστρέφει έναν τυχαίο αριθµό, το µήκος µιας λίστας, η ηµεροµηνία ή ώρα, κ.α. Η δραστηριοποίηση αποτελεί την εξ αποστάσεως επιρροή αυτή καθεαυτή. Όταν µια οντότητα (µάγµα ή άτοµο) έχει µια επιρροή δραστηριοποίησης σε µια άλλη οντότητα, αυτό σηµαίνει ότι χρειάζεται να γνωρίζουµε (πρέπει να συµβουλευτούµε) την τιµή της πρώτης οντότητας προκειµένου να δραστηριοποιήσουµε µιαν άλλη επιρροή (αντιγραφή ή υπολογισµό) σε µια άλλη οντότητα. Κάθε ποιοτικό µοντέλο της οντολογίας µας αποτελείται συνεπώς από οντότητες οι οποίες εξελίσσονται στο χρόνο σύµφωνα µε ένα συνδυασµό των επιρροών των άλλων οντοτήτων. Τέλος προτού δώσουµε µερικά παραδείγµατα, ας δώσουµε µια αντιστοίχιση των τριών επιρροών µε τις εντολές µιας κλασικής διαδικαστικής γλώσσας προγραµµατισµού. Η επιρροή αντιγραφής αντιστοιχεί σε απλή εντολή εκχώρησης τιµής "a = b;". Η αντιγραφή είναι ένα είδος αναπαραγωγής και διάδοσης της πληροφορίας από το ένα µάγµα στο άλλο. Η επιρροή υπολογισµού αντιστοιχεί σε εντολές της µορφής "a = b + 5*c;", για strings "allname = first + last;" ή ακόµα σε προκαθορισµένες σχέσεις "limit = studentset.size();", κ.α. Επίσης, όταν χρησιµοποιούµε έναν αλγόριθµο για να προγραµµατίσουµε µια πολύπλοκη µαθηµατική σχέση, αυτός ο αλγόριθµος αντιστοιχεί στο γεγονός ότι οι οντότητες που περιέχουν τις εισόδους αυτής της µαθηµατικής σχέσης επηρεάζουν υπολογιστικά την οντότητα που θα περιέχει το αποτέλεσµα. Με τον ίδιο τρόπο αν χρησιµοποιούµε ένα βρόχο για να µετρήσουµε πόσα στοιχεία εντός ενός µάγµατος ικανοποιούν µια λογική ιδιότητα, θεωρούµε ότι αυτό ισοδυναµεί µε µια υπολογιστική επιρροή. Σηµειωτέον ότι η επιρροή αντιγραφής θα µπορούσε να θεωρηθεί ως µια ειδική περίπτωση της επιρροής υπολογισµού. Θεωρούµε όµως ότι αυτό δεν είναι σωστό και ότι µια πράξη αντιγραφής έχει µια δικιά της αυτόνοµη σηµασία µεταφοράς αυτούσιας πληροφορίας ενώ αντιθέτως ο υπολογισµός αποτελεί µια πράξη µετουσίωσης και συγχώνευσης της πληροφορίας σε µια νέα τιµή. Μέσα στο τελικό αποτέλεσµα ενός υπολογισµού δεν υπάρχει τρόπο να ξεχωρίσουµε τα πρωταρχικά υλικά που χρησιµοποιήθηκαν. Η επιρροή δραστηριοποίησης αντιστοιχεί σε ένα συνδυασµό, εµφωλευµένων ή µη, συνθηκών για παράδειγµα "if (a < b)...". Η επιρροή δραστηριοποίησης δε µπορεί ποτέ να εµφανίζεται µόνη της. Πάντα αναφέρεται σε µια από τις άλλες δύο επιρροές. Αν, για παράδειγµα, ένα µάγµα επηρεάζει µε δραστηριοποίηση µια άλλη οντότητα αυτό σηµαίνει ότι η δεύτερη οντότητα υπόκειται σε µια (ή περισσότερες) επιρροές αντιγραφής ή υπολογισµού, που θα πραγµατοποιηθούν εφόσον ο συνδυασµός των τιµών της πρώτης οντότητας επιτρέπει ή όχι να δραστηριοποιηθεί η επιρροή αντιγραφής ή υπολογισµού. Αντιθέτως µε αυτές τις τελευταίες, η επιρροή δραστηριοποίησης δεν είναι ανεξάρτητη. Μια οντότητα, που επηρεάζει κάποια άλλη, δεν επηρεάζεται. Η κατάστασή της παραµένει η ίδια, µέχρις ότου δραστηριοποιηθούν άλλες επιρροές επάνω της οι οποίες θα την αναγκάσουν ενδεχοµένως να αλλάξει. Παρατηρούµε ότι στην οντολογία αυτή δεν υπάρχει η περιγραφή της σειράς µε την οποία θα δραστηριοποιηθούν οι επιρροές. Θα µπορούσαµε να πούµε ότι η οντολογία είναι καθαρά δηλωτική (declarative) σε αντίθεση µε µια γλώσσα προγραµµατισµού που είναι διαδικαστική (procedural). Συνηθίζεται να λέγεται ότι στην πρώτη προσέγγιση προσδιορίζουµε το τι ενώ στη δεύτερη το πώς, η πρώτη είναι αχρονική ενώ η δεύτερη εκτυλίσσεται στο χρόνο. 6

7 Όµως αυτός ο απόλυτος διαχωρισµός δεν είναι ακριβής καθότι ένα δίκτυο επιρροών καθορίζει από µόνο του µια χρονική κατάταξη. Αν για παράδειγµα η Α επηρεάζει τη Β που επηρεάζει τη Γ, η πρώτη επιρροή πρέπει να πραγµατοποιηθεί πρώτη. Με άλλα λόγια σε κάθε περιγραφή ροής (ή επιρροής) εµπεριέχεται σε λανθάνουσα µορφή µια αιτιακή σχέση άρα µια χρονική ιεράρχηση. Αυτό το θέµα έχει συζητηθεί εκτενώς στην κοινότητα της ποιοτικής συλλογιστικής. Συνοπτικά, όταν λέµε ότι κάτι επηρεάζει κάτι άλλο, εισάγουµε αυτοµάτως µια χρονική διάταξη, µια αιτιατή σχέση: πρώτα υπάρχει αυτό που επηρεάζει και µετά η επιρροή διαδίδεται σαν µια ροή πληροφορίας, ύλης ή άλλου φυσικού πεδίου, στην οντότητα που επηρεάζεται και µετατρέπεται. Αιτία αυτής της µετατροπής είναι η πρώτη οντότητα. Η ποιοτική οντολογία θα µπορούσε να ειδωθεί ως ένα µοντέλο ροής δεδοµένων (data flow) στο βαθµό που δεν περιγράφεται η διαδικασία µε την οποία αυτές οι επιρροές θα λάβουν χώρα και στο βαθµό που κάποιος µπορεί να θεωρήσει ότι µια επιρροή είναι ένα είδος ροής πληροφορίας. Όµως αυτή η αντιµετώπιση δεν είναι απολύτως ικανοποιητική. Νοµίζουµε ότι η λέξη επιρροή είναι πιο ακριβής από τον όρο ροή, καθότι µε τον όρο "ροή" εννοούµε µια υλική (ή ενεργειακή µετατόπιση από ένα αντικείµενο σε άλλο) ενώ η επιρροή εκφράζει το γεγονός ότι αυτός που επηρεάζει δεν βλέπει την κατάστασή του να µετατρέπεται. 3. Παραδείγµατα επιρροών Ο σκοπός µιας ποιοτικής οντολογίας είναι να προτείνει µια ποιοτική προσέγγιση (µε την έννοια του ποιοτικού συλλογισµού, δηλαδή ασαφή, αφελή, αφηρηµένο, κ.λπ.) ενός αλγόριθµου. Σηµαίνει ότι πρέπει να είµαστε σε θέση να εκφράσουµε την ουσία ενός αλγόριθµου χρησιµοποιώντας τα εργαλεία και το φορµαλισµό της οντολογίας. Oι συντακτικές λεπτοµέρειες των συµβολισµών της καθώς και τα γραφικά θα αναλυθούν σε ένα εξειδικευµένο κεφάλαιο του εργαλείου Παράδειγµα 1 Ας υποθέσουµε ότι έχουµε έναν απλό αλγόριθµο που εντοπίζει το µέγιστο, το ελάχιστο και το µέσο όρο των βαθµολογιών των µαθητών µιας τάξης σε ένα διαγώνισµα. Για να εκφράσουµε αυτόν τον αλγόριθµο στην οντολογία µας, θα πρέπει πρώτα να παρατηρήσουµε ότι δεν µας ενδιαφέρει η δοµή που περιέχει τους βαθµούς. Μπορεί να είναι οργανωµένη µε βάση τα ονοµατεπώνυµα των µαθητών ή µε βάση τα µαθήµατα. Μπορεί να βρίσκεται σε ένα άλλο αρχείο µε άλλες βαθµολογίες ή ακόµα να χρειαστεί να τα βρούµε σε µια ιστοσελίδα. Ο τρόπος µε τον οποίο θα έχουµε πρόσβαση στους βαθµούς δεν µας ενδιαφέρει, ούτε και η συγκεκριµένη οργάνωσή τους. Θα υποθέσουµε λοιπόν ότι οι βαθµοί βρίσκονται µέσα σε ένα µάγµα Grades. Τα αποτελέσµατα είναι τρεις πραγµατικοί αριθµοί (άτοµα): max, min, mean. Ποιές είναι οι επιρροές που έχει το αρχικό µάγµα στα αποτελέσµατα. Για τα δύο πρώτα (max και min) παρατηρούµε ότι αποτελούν µια αντιγραφή των δεδοµένων του µάγµατος. Για να γίνει όµως αυτή η αντιγραφή χρειάζεται να συµβουλευτούµε την τιµή των βαθµών. Με άλλα λόγια, ανάλογα µε την τιµή των βαθµών θα δραστηριοποιήσουµε ή όχι (κατά τη διάρκεια του αλγόριθµου) την επιρροή αντιγραφής. Αυτό σηµαίνει ότι εκτός από την επιρροή αντιγραφής, το µάγµα Grades έχει επίσης µια επιρροή δραστηριοποίησης στις δύο πρώτες εξόδους. Για το τρίτο που είναι ο µέσος όρος χρειάζεται να δραστηριοποιηθεί ο υπολογισµός. Σηµειωτέον ότι ο υπολογισµός αυτός δραστηριοποιείται όποιες και να είναι οι βαθµολογίες, άρα δεν υπάρχει επιρροή δραστηριοποίησης γι αυτό το αποτέλεσµα. 7

8 Η γραφική απεικόνιση ενώνει µε διακοσµηµένα βέλη τον επηρεαστή (στην περίπτωσή µας Grades) µε τους επηρεαζόµενους (τα τρία αποτελέσµατα). Η διακόσµηση έχει ως εξής: Αντιγραφή: Υιοθετούµε ένα βέλος του οποίο βάση έχει ένα γεµισµένο κύκλο. Υπολογισµός: Υιοθετούµε ένα κανονικό βέλος. ραστηριοποίηση: Υιοθετούµε ένα διακεκοµµένο βέλος. Για την απεικόνιση ενός ατόµου θα χρησιµοποιούµε µόνο το όνοµά του, για την απεικόνιση του µάγµατος θα χρησιµοποιούµε ένα παραλληλόγραµµο που θα περιέχει το όνοµά του, ενώ αν επιθυµούµε να εµφανίσουµε στοιχεία του µάγµατος τα οποία παίζουν ρόλο στον αλγόριθµο θα τα εµφανίζουµε στο εσωτερικό του παραλληλόγραµµου, κάτι αντίστοιχο µε τις κλάσεις UML στο διάγραµµα κλάσεων. Στην περίπτωσή µας υπονοείται ότι το µόνο που µας ενδιαφέρει στο µάγµα Grades, είναι οι βαθµοί και τίποτα άλλο οπότε δεν είναι ανάγκη να τους συµπεριλάβουµε Παράδειγµα 2 Έστω ένας αλγόριθµος ο οποίος αφαιρεί ορισµένες λέξεις από ένα αρχείο και τις κωδικοποιεί χρησιµοποιώντας ένα κώδικα που περιγράφεται σε ένα σύνολο κλειδιών. Το αρχείο θα είναι το µάγµα Α και το κωδικοποιηµένο αποτέλεσµα το µάγµα Β. Επίσης θα ονοµάσουµε Κ το µάγµα µε τους κώδικες. Σηµειώνουµε επίσης ότι πρέπει να εκφράσουµε στην οντολογία την τελευταία έννοια που αποµένει, εκείνη της εξέλιξης µιας οντότητας (µάγµατος ή ατόµου). Η εξέλιξη, όπως είπαµε, είναι πάντα αποτέλεσµα διαφόρων επιρροών. Αυτό απεικονίζεται µε ένα απλό βέλος το οποίο θα ενώνει την κατάσταση πριν µε την κατάσταση µετά του εν λόγου αντικειµένου. Μπορούµε να απλοποιήσουµε τους συµβολισµούς των επιρροών µεταξύ δύο οντοτήτων συγχωνεύοντας τη διακόσµησή τους. Έτσι ένα διακεκοµµένο βέλος µε γεµισµένη βάση από το µάγµα Α στο µάγµα Β απεικονίζει την ύπαρξη δύο επιρροών. Το ίδιο κάναµε και στο προηγούµενο παράδειγµα. Σηµειώνουµε επίσης ότι εµφανίζονται δύο µάγµατα Α στο παραπάνω σχεδιάγραµµα, ένα πριν την αφαίρεση των λέξεων και ένα µετά. Ο διακόσµηση > πάνω από το απλό βέλος σηµαίνει ότι µειώθηκε ο όγκος του µάγµατος. Είδαµε ότι ένα µάγµα µπορεί να εξελιχθεί κάτω από την επίδραση τριών ειδών επιρροών. Την 8

9 εξέλιξη αυτή συµβολίζουµε µε ένα απλό τόξο το οποίο ενώνει το ίδιο µάγµα πριν και µετά από την εξέλιξη. Στο επόµενο σχεδιάγραµµα µία λίστα Α εξελίσσεται. Θα µπορούσαµε να υιοθετήσουµε τους συµβολισµούς Α (για πριν) και Α' (για µετά), αλλά η ύπαρξη ενός βέλους (άρα µιας χρονικής, αιτιατής, προτεραιότητας) δε µας το επιβάλλει. Μην ξεχνάµε ότι το Α αντιπροσωπεύει ένα συγκεκριµένο υποσύνολο της µνήµης που εξελίσσεται. Ας υποθέσουµε τώρα ότι αυτή η εξέλιξη οφείλεται σε δύο επιρροές: δραστηριοποίηση και αντιγραφή. Μπορούµε σ' αυτή την περίπτωση να συγχωνεύσουµε διαγραµµατικά τις δύο επιρροές στο ίδιο το τόξο εξέλιξης. Επίσης µπορούµε σε αυτό το σηµείο να διακοσµήσουµε αυτό το τόξο για να πούµε π.χ. ότι αυτές οι επιρροές αφορούν όλα τα στοιχεία του µάγµατος προσθέτοντας µια µικρή κάθετο (βλ. σχετική παράγραφο πιο κάτω). Εδώ έχουµε ένα µάγµα του οποίου εξέλιξη οφείλεται στο γεγονός ότι αντιγράψαµε όλα τα στοιχεία του Α συµβουλευόµενοι όλα τα στοιχεία του. Αυτό είναι το κλασικό µοντέλο συλλογιστικής οντολογίας µιας ρουτίνας ταξινόµησης (sort). Στο επόµενο παράδειγµα έχουµε µία εξέλιξη του Β καθότι αντιγράφουµε στα στοιχεία του όλα τα στοιχεία του Α. Πρόκειται δηλαδή για µία συγχώνευση. Παρατηρούµε επίσης ότι διακοσµήσαµε το βέλος εξέλιξης µε το σύµβολο < που σηµαίνει (ακολουθώντας τη φορά του βέλους) ότι το µάγµα Β ήταν µικρότερο πριν από την εξέλιξη. B < B ίνουµε ένα ανάλογο παράδειγµα αν εισάγαµε το Α σε µία υποδοµή του Β. 9

10 B < B Ας δούµε τώρα τι είδους διακοσµήσεις µπορούµε να βάλουµε στις διάφορες επιρροές. +/- Αυτή η διακόσµηση αφορά την επιρροή δραστηριοποίησης και την επιρροή υπολογισµού. Στην πρώτη σηµαίνει ότι η αύξηση της τιµής του αυξάνει την πιθανότητα δραστηριοποίησης. Π.χ. στη συνθήκη (a > b) οι επιρροές του a και του b είναι επιρροές δραστηριοποίησης, η πρώτη όµως θα διακοσµηθεί µε "+" ενώ η δεύτερη µε "-". Όσον αφορά την επιρροή υπολογισµού, η διακόσµηση "+" ή " " σηµαίνει ότι υπάρχει µία ποιοτική σχέση µονοτονίας µεταξύ της εισόδου και του αποτελέσµατος. Στο επόµενο ποιοτικό διάγραµµα, υπολογίζουµε το µέγιστο και το ελάχιστο ενός πίνακα Α. + max, min Έχουµε κι εδώ δύο επιρροές (δραστηριοποίηση και αντιγραφή) καθότι συγκρίνουµε τα στοιχεία του Α προκειµένου να δραστηριοποιήσουµε την αντιγραφή των δύο στοιχείων. Σηµειωτέον ότι για αυτή την περίπτωση θα µπορούσαµε να είχαµε προσθέσει και τη διακόσµηση της µικρής καθέτου (µόνο για την δραστηριοποίηση και χωρίς να κάνουµε συγχώνευση) για να δείξουµε ότι είµαστε αναγκασµένοι να συµβουλευτούµε όλα τα στοιχεία του µάγµατος Α. Η χρήση της διακόσµησης "+" σηµαίνει ότι όταν το µάγµα αυξάνει στην τιµή (ή ακόµα και στο µέγεθος στην προκειµένη περίπτωση) αυτό έχει µία αυξητική επιρροή στο µέγιστο και στο ελάχιστο. Η κάθετος (ως προς το βέλος) που διακοσµεί µια επιρροή σηµαίνει ότι η επιρροή αφορά το σύνολο των στοιχείων του επηρεάζοντα. Στο επόµενο παράδειγµα ένα σύνολο λέξεων W εµπλουτίζεται µε τους χαρακτήρες κενό ή αλλαγή γραµµής ανάλογα µε το µήκος της κάθε λέξης. Βλέπουµε εδώ ότι όλες οι λέξεις αντιγράφονται, αλλά και όλες οι λέξεις εξετάζονται προκειµένου να παρεµβάλουµε µεταξύ τους κενά ή την αλλαγή γραµµής. Εδώ έχουµε ένα κλασικό µοντέλο επεξεργασίας κειµένου (justification). Παρατηρούµε επίσης ότι το µέγεθος του αρχικού µάγµατος αυξήθηκε. 10

11 W space, return < Το σύµβολο at χρησιµοποιείται για να δείξουµε ότι οι επιρροές δεν αφορούν το περιεχόµενο της µνήµης αλλά τη διεύθυνσή της. Ανάλογα µε τη θέση του (αρχή ή τέλος του βέλους) δηλώνουµε από (σε) ποιό µάγµα προέρχονται (προορίζονται) οι διευθύνσεις. Στο επόµενο παράδειγµα επιθυµούµε να ανταλλάξουµε τις τιµές του µέγιστου µε το ελάχιστο. Γι αυτό το σκοπό εξετάζουµε τα στοιχεία του Α και αποθηκεύουµε στις µνήµες max, min τις διευθύνσεις του µέγιστου και ελάχιστου (και όχι τις τιµές τους). Χρησιµοποιούµε στη συνέχεια αυτές τις δύο διευθύνσεις για να τις αντιγράψουµε ανταλλάσσοντας έτσι τα περιεχόµενά max, min 1, 2, 3... n >1, <= 4, κ.λ.π Μπορούµε, προσθέτοντας έναν αριθµό ή µια ανισότητα σε µια επιρροή ή µια εξέλιξη, να προσδιορίσουµε πόσα (ή το πολύ ή το ελάχιστο) στοιχεία αλλάζουν ή συµµετέχουν στην επιρροή. Στο επόµενο παράδειγµα αντιγράφουµε όλα τα στοιχεία ενός µάγµατος Α σε δύο υποµάγµατα (χωρίς όνοµα) του Β. ύο στοιχεία από το κάθε υποµάγµα µετατρέπονται σύµφωνα µε µία εσωτερική διαδικασία. 11

12 B B = 2 = 2 <, <=, >, >= Χρησιµοποιούµε αυτά τα σύµβολα για να εκφράσουµε τη µεταβολή µεγέθους ενός µάγµατος πριν και µετά από µια εξέλιξη. Για παράδειγµα, ας πάρουµε τα ποιοτικά µοντέλα των ρουτινών pop και push σε µια στοίβα Α. Παρατηρούµε ότι στην pop (αριστερά στο επόµενο σχεδιάγραµµα) το µέγεθος του Α είναι µεγαλύτερο από µετά. Το αντίθετο ισχύει για την push (δεξιά στο σχεδιάγραµµα). > a a < L, G, C Τα τρία αυτά σύµβολα αφορούν µόνο τα βέλη εξέλιξης και εκφράζουν την τοπολογία των στοιχείων που υπέστησαν την αλλαγή. L(ocal) : η µετατροπή ήταν τοπική. Αφορά µόνο µερικά στοιχεία του µάγµατος. G(lobal) : η µετατροπή είναι καθολική. C(onnected) : τα στοιχεία που υπέστησαν την µετατροπή αποτελούν ένα συνεκτικό υποσύνολο του µάγµατος. Για παράδειγµα, αλλάζουν τρία διαδοχικά στοιχεία σε έναν πίνακα ή µία ολόκληρη στήλη σε ένα δισδιάστατο πίνακα. Στη συνέχεια δίνουµε µερικά παραδείγµατα εφαρµογής της ποιοτικής οντολογίας. Όλα τα παραδείγµατα δεν έχουν αναγκαστικά όλες τις διακοσµήσεις. 1) Υπολογισµός του µέγιστου και του ελάχιστου ενός πίνακα. 12

13 2) Υπολογισµός του µέσου όρου mean των στοιχείων ενός πίνακα Α, που είναι µεγαλύτερα ενός ορίου threshold. max, min threshold mean 3) Αρχικοποίηση ενός πίνακα µε την αρχική τιµή initvalue. initvalue 4) Στο επόµενο σχεδιάγραµµα εξετάζουµε αν το στοιχείο elem ανήκει στον πίνακα Α. Παρατηρούµε ότι η απάντηση στηρίζεται σε µία αντιγραφή από µία δοµή που περιέχει µόνο δύο άτοµα yes, no. yes, no elem answer 13

14 5) Το κλασικό πρόβληµα knapsack. ιαθέτουµε ένα σύνολο αντικειµένων µε διαφορετικές αξίες και βάρη. ιαθέτουµε ένα σάκο Sack µε περιορισµένη αντοχή (capacity) στο βάρος. Ποιά είναι τα αντικείµενα που πρέπει να επιλέξουµε έτσι ώστε να αντέξει το συνολικό βάρος (weight) ο σάκος µας αλλά και να µεγιστοποιούν τη συνολική αξία (price); K capacity Sack weight, price 6) Μετάφραση ενός αρχείου χαρακτήρων στον αντίστοιχο SCII κώδικά τους. Chars Codified 7) Υπολογισµός του µέσου όρου ηλικίας από ένα σύνολο φοιτητών που είναι µεγαλύτεροι από ένα όριο. Ας υπογραµµιστεί ότι ακολουθούµε τη φιλοσοφία του µάγµατος και δεν προσδιορίζουµε, εφόσον δεν υπάρχει αµφισηµία, σε ποιά υποδοµή τοποθετείται η µεταβλητή age. Students age threshold mean_age 8) Μεταφορά ορισµένων στοιχείων του µάγµατος Α στο µάγµα Β. 14

15 B > < B 9) Στο επόµενο παράδειγµα τα µάγµατα Α και Β δεν είναι οµοιόµορφα, περιέχουν διευθύνσεις καθώς και τιµές. Χρησιµοποιούµε το περιεχόµενο µερικών διευθύνσεων του Α για να εντοπίσουµε ορισµένες διευθύνσεις στο Β και να αντιγράψουµε το περιεχόµενό τους στο Α. Οι διευθύνσεις του Β σβήνονται ενώ το µέγεθος του Α B > B 10) Στο επόµενο σχήµα έχουµε δύο µάγµατα Β και C. Η διεύθυνση του Β µας επιτρέπουν να κάνουµε υπολογισµούς που αφορούν το Α. Επίσης από το C θα αντιγράψουµε ορισµένα αντικείµενα συγκρίνοντάς µε το a. Το νέο µάγµα Α θα εξελιχθεί εκ νέου υπολογιστικά και µε αντιγραφή ορισµένων στοιχείων του. 15

16 B a 11) Τέλος δίνουµε ένα παράδειγµα ανώµαλου σχήµατος. Πράγµατι η εξέλιξη του, δηλαδή η αύξηση του µεγέθους του οφείλεται µόνο στη χρήση (χωρίς υπολογισµό ή αντιγραφή) των στοιχείων του. Αυτό είναι αδύνατο. < Στη συνέχεια θα δούµε ποιές είναι οι επιπτώσεις µιας τέτοιας προσέγγισης στην ανάλυση και τον έλεγχο ενός αλγόριθµου. Και για να γίνει αυτό θα πρέπει να πάµε πιο µακριά και να δούµε πώς οι 16

17 κλασικές φυσικές έννοιες της ποιοτικής συλλογιστικής (συνέχεια, συνεκτικότητα, παράγωγος, οριακές συµπεριφορές, τάξεις σύγκρισης για να ξέρουµε αν κάτι αυξάνεται ή µειώνεται) µεταφράζονται στον κόσµο των αλγόριθµων. Για να γίνει αυτό πρέπει να εµπλουτίσουµε την λογισµική οντολογία µας µε αλγεβρικές δοµές που επιτρέπουν την αντιµετώπιση µιας αλγοριθµικής µετατροπής σαν να ήταν µια κλασική µαθηµατική σχέση. ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ε ΟΜΕΝΩΝ 1. Σχέσεις διάταξης για τις δοµές δεδοµένων ενός αλγόριθµου Για να είµαστε σε θέση να αναλύσουµε το αποτέλεσµα ενός αλγόριθµου ποιοτικά, το ελάχιστο που πρέπει να είµαστε σε θέση να πράξουµε είναι να συγκρίνουµε το αποτέλεσµα µε ένα άλλο αποτέλεσµα. Ορίζουµε καταρχήν µια σχέση διάταξης µεταξύ των ατόµων της οντολογίας. Υπενθυµίζουµε ότι µια σχέση διάταξης " " επαληθεύει για κάθε στοιχείο α : α α (ανακλαστική) α β και β α συνεπάγεται α = β (αντισυµµετρική) α β και β γ συνεπάγεται α γ (µεταβατική) Όταν δύο στοιχεία µπορούν να συγκριθούν λέµε ότι είναι συγκρίσιµα. Όταν όλα τα στοιχεία είναι συγκρίσιµα, η διάταξη είναι ολική, στην αντίθεση περίπτωση η διάταξη είναι µερική. Μιλάµε τότε για µερικώς διατεταγµένο σύνολο (partially ordered set ή αλλιώς poset) ή µεδιασύνολο. Είδαµε προηγουµένως ότι µε άτοµα εννοούµε τις εξής προγραµµατιστικές δοµές: 1. Ακέραιοι ή πραγµατικοί. Αυτές οι δοµές µπορεί να είναι οποιουδήποτε εύρους και ακρίβειας. Θα χρησιµοποιηθεί εδώ η κλασική διάταξη των πραγµατικών αριθµών η οποία είναι ολική. 2. Συµβολοσειρές και χαρακτήρες. Αν και οι συµβολοσειρές (τις οποία θα ονοµάζουµε και λέξεις ) εθεωρούντο µη ατοµικές δοµές, στις πρόσφατες γλώσσες προγραµµατισµού, χρησιµοποιούνται στην πράξη ως ανεξάρτητες και αυτόνοµες δοµές (εκτός φυσικά και αν ασχολούµαστε µε αλγόριθµους που διαχειρίζονται το εσωτερικό τους, οπότε πρέπει να τις θεωρήσουµε ως ένα µάγµα χαρακτήρων). Στην οντολογία µας θα θεωρήσουµε ότι οι χαρακτήρες λειτουργούν ως συµβολοσειρές εκτός και αν χρησιµοποιούνται ως κώδικες. Στην τελευταία περίπτωση, χρησιµοποιούµε τον SCII κώδικα για να τα ταξινοµήσουµε. Γενικότερα, στη βιβλιογραφία έχουν προταθεί πολλές σχέσεις διάταξης για τις συµβολοσειρές. Η πιο διαδεδοµένη διάταξη είναι η λεξικογραφική (αλφαβητική) που έχει την ιδιότητα να είναι ολική. Υπάρχουν όµως κι άλλες διατάξεις που αποδίδουν στο σύνολο τους τη δοµή ενός µεδιασυνόλου. Για παράδειγµα, µια µερική διάταξη µπορεί να οριστεί ως εξής: σ1 σ2 όταν η ακολουθία γραµµάτων της σ1 εµφανίζεται µέσα στη σ2 Έτσι, άγρα διάγραµµα χρονοδιάγραµµα, αλλά η λέξης χρόνος είναι µη συγκρίσιµη µε τη λέξη χρονοδιάγραµµα. 3. Λογικές τιµές. Εδώ ορίζουµε συµβατικά τη διάταξη false true. Θα επεκτείνουµε τώρα τις διατάξεις των ατόµων σε πιο περίπλοκες δοµές που είναι τα µάγµατα. Στην οντολογία µας δεν ενδιαφέρει να συγκρίνουµε δύο οποιαδήποτε µάγµατα, αν και υπάρχουν πάντα τρόποι να ορίσουµε ολικές διατάξεις για έναν οποιονδήποτε τύπου µάγµατος (π.χ. λεξικογραφικές διατάξεις), αλλά κάτι τέτοιο δεν θα ήταν πολύ ενδιαφέρον. Αυτό που µας ενδιαφέρει είναι να συγκρίνουµε το ίδιο µάγµα σε δύο διαφορετικές καταστάσεις. Πιο συγκεκριµένα µας ενδιαφέρει να συγκρίνουµε τα στοιχεία του ιδίου µάγµατος Μ πριν και µετά από µια αλλαγή. Αυτή η αλλαγή θα είναι µικρή όπως θα δούµε αλλά αυτό είναι µια άλλη υπόθεση. 17

18 Για να επεκτείνουµε µια διάταξη στα µάγµατα θα υποθέσουµε ότι τα µάγµατα παρουσιάζονται σε µια δενδροειδή µορφή της οποίας τα τερµατικά (φύλλα), αν υποθέσουµε ότι έχουµε επαναφέρει όλους τους δείκτες, είναι άτοµα. Με άλλα λόγια υποθέτουµε ότι ΕΝ έχουµε κυκλικές µορφές δεδοµένων π.χ. αλυσιδωτές κυκλικές λίστες. Μπορούµε εύκολα να ορίσουµε µια διάταξη και σε αυτές τις περιπτώσεις. Ξεχωρίζουµε δύο περιπτώσεις: Στην πρώτη περίπτωση το µάγµα είναι οµοιόµορφο, δηλαδή, περιέχει σ' ένα πρώτο επίπεδο τον ίδιο τύπο δεδοµένων (π.χ. πίνακας). Εδώ ορίζουµε µια διάταξη ως εξής. Αν τα µάγµατα Α και Β έχουν το ίδιο πλήθος στοιχείων, έστω α ι και β ι, τότε γράφουµε Α Β όταν για κάθε δείκτη ι έχουµε α ι β ι. Εννοείται ότι αυτός ο ορισµός µπορεί να γίνει αναδροµικός στην περίπτωση που τα στοιχεία δεν είναι ατοµικά µέχρις ότου φτάσουµε στα φύλλα. Αν όµως τα µάγµατα δεν έχουν το ίδιο πλήθος και τα στοιχεία του Α περιέχονται στο Β, τότε θα πούµε Α Β. Αν κανένα µάγµα δεν περιέχεται σε άλλο, τότε Α και Β θα θεωρούνται µη συγκρίσιµα. Η περιεκτικότητα µπορεί να εννοηθεί ως ακολουθία ή συνολοθεωρητικά. Στη δεύτερη περίπτωση, όπου το µάγµα δεν είναι οµοιόµορφο (κάτι που αντιστοιχεί σε ένα αντικείµενο του αντικειµενοστραφούς προγραµµατισµού), για να είναι τα µάγµατα συγκρίσιµα θα πρέπει να έχουν την ίδια δοµή οπότε η σύγκριση θα εξαρτηθεί από την (ενδεχοµένως αναδροµική) σύγκριση των στοιχείων τους. Αν δεν έχουν την ίδια δοµή τότε θα θεωρούνται µη συγκρίσιµα. Ας µην ξεχνάµε ότι µας ενδιαφέρει να συγκρίνουµε το ίδιο µάγµα πριν και µετά την εκτέλεση µιας πράξης. Το να αλλάξει δυναµικά δοµή ένα µάγµα (και όχι µόνος τιµές ή καινούργια οµοιόµορφα στοιχεία), είναι κάτι που δεν αποκλείεται από την οντολογία µας, αλλά είναι σχετικά σπάνιο γιατί αυτό θα σήµαινε ότι ένα αντικείµενο προσέλαβε, κατά τη διάρκεια της εκτέλεσης, καινούργιες µεταβλητές µέλη, κάτι που είναι ιδιαίτερα δύσκολο να γίνει σε µια κλασική αντικειµενοστραφή γλώσσα προγραµµατισµού που δεν έχει ανακλαστικές (reflexion όπως στη Java) λειτουργίες. Παράδειγµα. Έστω ότι ένα µάγµα φοιτητής περιλαµβάνει τα πεδία: όνοµα, ηλικία, φύλο και µια λίστα βαθµών που είναι ακέραιοι. Ας υποθέσουµε ότι ένα αντικείµενο φοιτητής φ1 µετατράπηκε σε φ2 ύστερα από µερικές επιρροές. ε θα εξετάσουµε την περίπτωση που το φ2 έχει ένα πεδίο περισσότερο από το φ1. Αποκλείουµε την περίπτωση που οι επιρροές θα προσέθεταν για παράδειγµα στο µάγµα φ1 το πεδίο αριθµός κινητού, ο οποίος δεν υπάρχει (µε την έννοια ότι δεν έχει προβλεφθεί) στο φ1. Σ' αυτήν την περίπτωση θεωρούµε ότι τα δύο µάγµατα δεν είναι συγκρίσιµα. Αντίθετα οι αλλαγές που µπορεί να έγιναν για να προκύψει το φ2 είναι η αφαίρεση µερικών βαθµών και η αύξηση της ηλικίας του. Σ' αυτήν την περίπτωση θα συγκρίνουµε το φ1 µε το φ2 συγκρίνοντας καταρχήν τις ηλικίες (µε την κλασική διάταξη) και ενδεχοµένως την παλιά λίστα βαθµών µε την καινούργια. Έστω ότι η παλιά λίστα του φ1 είναι η ακόλουθη: [8, 10, 10, 1, 2] και ας δούµε σε τι θα µπορούσε να εξελιχθεί αυτή η βαθµολογία στο φ2: [9,10,10,2,3] αύξηση [0, 0,0,1,2] µείωση [8,10,10,1,2,8,9] αύξηση καθότι η λίστα φ2 περιλαµβάνει τη φ1 [10] µείωση [5,5,10,2,3,8] µη συγκρίσιµα καθότι κανένα δεν περιέχει κανένα [6,12,10,1,2] µη συγκρίσιµα καθότι ο πρώτος βαθµός είναι µικρότερος ενώ ο δεύτερος είναι µεγαλύτερος. Με αυτό το παράδειγµα βλέπουµε ότι ακόµα και αν πρόκειται για το ίδιο αντικείµενο σε διαφορετικές καταστάσεις, αλλά µε την ίδια δοµή, τίποτα δεν µας εξασφαλίζει, εκ των προτέρων, ότι τα δύο µάγµατα θα είναι συγκρίσιµα. 18

19 2. Ο γράφος φάσεων ενός αλγόριθµου Μετά τον ορισµό των σχέσεων διάταξης που διέπουν τα δεδοµένα ενός αλγόριθµου, θα ορίσουµε µια δεύτερη σηµαντική έννοια της ποιοτικής οντολογίας: το γράφο φάσεων. Ο γράφος φάσεων είναι το αντίστοιχο του χώρου φάσεων ενός φυσικού συστήµατος και µπορεί να ειδωθεί σαν τη γραφική αναπαράσταση της εκτέλεσης ενός αλγόριθµου µε τον ίδιο τρόπο που µια καµπύλη απεικονίζει τη συµπεριφορά µιας µαθηµατικής σχέσης. Σε γενικές γραµµές ένας γράφος Γ είναι ένα ζεύγος (Χ, Υ) όπου Χ είναι ένα οποιοδήποτε σύνολο και Υ ένα σύνολο που αποτελείται από ζεύγη στοιχείων του Χ. Γράφουµε επίσης Γ(Χ,Υ). Κάθε στοιχείο του Χ µπορεί να ειδωθεί ως ένας κόµβος. Κάθε ζεύγος του Υ, ας πούµε (χ1, χ2) µπορούµε να το παραστήσουµε ως εξής: χ1 χ2. Τίποτα δεν αναγκάζει το χ1 να είναι διαφορετικό από το χ2. Στην περίπτωση που είναι όµοια, το βέλος επιστρέφει στον εαυτό του και λέµε ότι έχουµε ένα βρόχο. Έστω ένας αλγόριθµος Λ, τον οποίο θέλουµε να αναλύσουµε µε εισόδους και εξόδους. Έστω και το σύνολο Ε που αντιστοιχεί σε όλες τις δυνατές εισόδους που προδιαγράφονται για το Λ. Χρησιµοποιώντας το παράδειγµά µας µε τους φοιτητές, το σύνολο Ε αντιστοιχεί σε όλες τις δυνατές τιµές που η τάξη µπορεί να πάρει και αυτό αντιστοιχεί σε όλες τις δυνατές διαστάσεις που µπορεί να λάβει προγραµµατιστικά ο πίνακας των φοιτητών συνδυαζόµενο µε όλες τις δυνατές τιµές που µπορεί να πάρει η λίστα των βαθµών, το φύλου του, κ.λπ. Το σύνολο Ε είναι ένα πολύ µεγάλο σύνολο ακόµη και για µικρές εφαρµογές, που αντιστοιχεί τυπικά στο καρτεσιανό γινόµενο των πεδίων τιµών των παραµέτρων που αποτελούν την τάξη. Ένα στοιχείο ε του συνόλου Ε είναι µια συγκεκριµένη επιλογή τιµών εισόδων ε. Το ε αντιστοιχεί πρακτικά σε µια λίστα µεταβλητών. Για παράδειγµα, το ε1 αντιστοιχεί στο όνοµά του, το ε2 στο φύλο του κ.ο.κ. Μια άλλη είσοδος ζ αντιστοιχεί και αυτή σε µια άλλη επιλογή τιµών εισόδου π.χ. ζ1 είναι µια άλλη τιµή ονόµατος από το ε1, ζ2 µια επιλογή για το φύλο, κ.ο.κ. Είδαµε στην αρχή ότι ο αλγόριθµος είναι προσδιοριστικός, άρα για µια συγκεκριµένη επιλογή εισόδων ε η εκτέλεση του αλγόριθµου (εντός ενός συγκεκριµένου χρονικού διαστήµατος γιατί στην αντίθετη περίπτωση θεωρείται εσφαλµένος) θα παράγει πάντα (όποια και να είναι η σειρά εκτέλεσης καθότι δεν διαθέτουµε µνήµη) το ίδιο αποτέλεσµα ω. Το ίδιο θα συµβεί και για µια άλλη, διαφορετική επιλογή εισόδου ε' η οποία θα παραγάγει ένα αποτέλεσµα ω'. Το ω' δεν είναι αναγκαστικά διαφορετικό του ω, καθότι διαφορετικές είσοδοι µπορεί να δίνουν το ίδιο αποτέλεσµα. Για κάθε στοιχείο ε του συνόλου Ε θα σχηµατίσουµε το ζεύγος (ε, Λ(ε)) όπου ω είναι το αποτέλεσµα που δίνει ο αλγόριθµος Λ όταν του υποβάλουµε τις εισόδους που αντιστοιχούν στη συγκεκριµένη επιλογή των τιµών της ε. Αν, για παράδειγµα, το λογισµικό έχει σαν σκοπό να υπολογίζει το µέσο όρο της βαθµολογίας ενός φοιτητή και να µας πληροφορεί αν περνάει το έτος ή όχι µε µια λογική τιµή, τότε ένα πιθανό ε θα µπορούσε να ήταν: παπαδόπουλος άνδρας 22 [5,5,6,4,10] όπου 22 είναι η ηλικία του φοιτητή και ακολουθεί η λίστα των βαθµών του. Αν το Λ είναι σωστό τότε θα παραγάγει ως αποτέλεσµα 6, δηλαδή, ( )/5 και true καθότι ο φοιτητής παπαδόπουλος προβιβάστηκε. Το Λ(ε) είναι η εικόνα του ε από τον µετασχηµατισµό Λ µε το ίδιο τρόπο που θα γράφαµε µια µαθηµατική σχέση, όπως φ(χ) = ηµ(χ) + χ + 2. Άρα το ζεύγος που θα σχηµατιστεί είναι: (ε, ω) = (ε, Λ(ε)) = (< παπαδόπουλος, άνδρας, 22, [5,5,6,4,10]>, <6, true>) όπου χρησιµοποιήσαµε τα σύµβολα < και > για να οριοθετήσουµε τις δύο λίστες εισόδου και εξόδου. Ένα άλλο παράδειγµα ζεύγους εισόδων/εξόδων θα µπορούσε να είναι το ακόλουθο: (ε', ω') = (ε', Λ(ε')) = (< καραπούλιου, γυναίκα, 20, [7,7,9,9,8]>, <8, true>) 19

20 Θα χρησιµοποιήσουµε τώρα το ζεύγος (ε, Λ(ε)) για να κατασκευάσουµε τους κόµβους του γράφου φάσεων. Με άλλα λόγια ο γράφος φάσεων Φ(Χ, Υ) έχει ένα Χ, δηλαδή ένα σύνολο κόµβων που ισούται µε όλα τα δυνατά ζεύγη (ε, Λ(ε)) που µπορούν να σχηµατιστούν σύµφωνα µε τις προδιαγραφές του Λ. Είναι ευνόητο ότι ο Φ έχει τόσους κόµβους όσα στοιχεία έχει το Ε, δηλαδή οι κόµβοι του Φ είναι τόσοι όσες και οι δυνατές τιµές από τις προδιαγραφόµενες εισόδους του Λ. Μας µένει τώρα να δούµε πώς θα ενώσουµε τους διάφορους κόµβους του Φ, µε άλλα λόγια πώς θα σχηµατίσουµε το σύνολο Υ των βελών του Φ. Θα ζωγραφίζουµε ένα βέλος από τον κόµβο (ε, Λ(ε)) στον κόµβο (ε', Λ(ε')) αν οι είσοδοι ε και ε' έχουν την ελάχιστη διαφορά ή (αν θέλουµε απόσταση) που µπορούν να έχουν δύο διαφορετικές εισόδους µεταξύ τους. Στο βέλος αυτό θα προσθέσουµε µια ετικέτα που αντιστοιχεί στην συγκεκριµένη παράµετρο στην οποία διαφέρουν οι δύο είσοδοι. Αν, για παράδειγµα, δύο είσοδοι είναι ακριβώς πανοµοιότυπες αλλά διαφέρουν µόνο στην δεύτερη παράµετρό τους που είναι το φύλο, τότε θα σχηµατίσουµε µια ακµή (ε, ε') της οποίας ο προσανατολισµός εξαρτάται από τη σχέση διάταξης που διέπει αυτή τη συγκεκριµένη παράµετρο. Αν δηλαδή έχουµε άνδρας γυναίκα τότε το βέλος θα πηγαίνει από την είσοδο που έχει το φύλο άνδρας στην είσοδο που έχει το φύλο γυναίκα. Ξέρουµε ότι µεταξύ αυτών των εισόδων δεν µπορεί να υπάρξει άλλο βέλος µε άλλη ετικέτα καθότι εξ υποθέσεως το φύλο είναι η µόνη διαφορά τους. Για ένα βέλος του τύπου (χ1, χ2) µε την ετικέτα ηλικία, θα πούµε επίσης ότι ο χ1 ενώνεται µε τον χ2 µε κατεύθυνση το πεδίο ηλικία. Ας πάρουµε ένα άλλο παράδειγµα. Υποθέτουµε ότι έχουµε δύο εισόδους: ε = < παπαδόπουλος, άνδρας, 22, [5,5,6,4,10]> και ε'= < παπαδόπουλος, άνδρας, 22, [5,5,6,5,10]> Παρατηρούµε ότι οι δύο αυτές είσοδοι διαφέρουν µόνο ως προς τη βαθµολογία που πήραν οι οµώνυµοι φοιτητές στο τέταρτο µάθηµα της λίστας (ο πρώτος έχει πάρει 4 και ο δεύτερος 5). Βλέπουµε δηλαδή ότι οι δύο αυτές είσοδοι διαφέρουν µόνο σε µια παράµετρο και πληρούν την ελάχιστη δυνατή διαφορά. Μην ξεχνάµε ότι υποθέσαµε ότι οι βαθµοί είναι ακέραιοι, άρα η ελάχιστη διαφορά είναι 1. Αντιθέτως, αν είχαµε υποθέσει ότι οι βαθµοί είναι δεκαδικοί, τότε θα έπρεπε, για να ενώσουµε τους δύο κόµβους, να είχαµε ένα βαθµό του τύπου , όπου φυσικά το θα ήταν η ελάχιστη διαφορά που θα διαχώριζε δύο διαφορετικούς βαθµούς. Στην πραγµατικότητα, αυτή η διαφορά µπορεί να είναι πολύ µικρότερη καθότι οι γλώσσες προγραµµατισµού και οι σύγχρονοι επεξεργαστές προσφέρουν µεγαλύτερη ακρίβεια. Εδώ πάντως θα ζωγραφίσουµε ένα βέλος σύµφωνα µε τη φυσική σχέση διάταξης που διέπει τους ακέραιους. Το ίδιο φαινόµενο θα είχαµε αν συναντούσαµε µια είσοδο η οποία θα είχε ακριβώς το ίδιο φύλο και ακριβώς τους ίδιους βαθµούς µε το ε αλλά το όνοµα θα ήταν παραδόπουλος, δηλαδή περίπου το ίδιο µε το προηγούµενο. Προσοχή η γειτνίαση στο γράφο φάσεων ορίζεται σύµφωνα µε την ελάχιστη απόσταση στο χώρο των εισόδων και όχι στο χώρο των εξόδων. Θα συµβολίσουµε τους γείτονες ενός κόµβου Κ = (ε, Λ(ε)) µε το συµβολισµό Κ + δ όπου δ εκφράζει µια απειροελάχιστη µετατροπή. Κ+δ είναι λοιπόν ένα σύµβολο κόµβων, µε κέντρο τον Κ, οι οποίοι είναι γείτονες του Κ. Με τοπολογικούς όρους, το Κ + δ είναι η γειτονιά του Κ στο γράφο φάσεων. Καταλαβαίνουµε λοιπόν ότι ο γράφος φάσεων είναι ένας τεράστιος και πυκνότατος γράφος, ο οποίος αποτελεί το αντίστοιχο της γραφικής απεικόνισης της σχέσης Λ και όπως δεν απεικονίζουµε ποτέ µε όλες τις λεπτοµέρειες µια µαθηµατική σχέση από το µείον άπειρο µέχρι το συν άπειρο, έτσι κι εδώ δεν θα απεικονίσουµε ούτε θα κατασκευάσουµε ποτέ εκτενώς το γράφο φάσεων Φ ενός λογισµικού. Ο Φ θα χρησιµοποιηθεί σαν µια πρώτη ύλη, πιο συγκεκριµένα θα κατασκευαστούν αλγεβρικά πηλίκα, για να κατανοήσουµε την υφή της Λ. 3. Οµοµορφισµοί γράφων και η υπόθεση συγκρισιµότητας Σε ένα διακριτό κόσµο όπως είναι οι ακέραιοι, οι γράφοι και οι υπολογιστικές µηχανές δεν είναι 20

21 δυνατό να εφαρµόσουµε τον κλασικό ορισµό της συνέχειας. Αυτός ο τελευταίος ισχυρίζεται ότι σε µια κλασική συνεχή µαθηµατική σχέση µπορούµε πάντα να αλλάξουµε όσο λίγο θέλουµε την έξοδο (ή αν θέλουµε την εικόνα φ(χ)) φτάνει να αλλάξουµε λίγο και την είσοδο. Με λίγα λόγια, όταν αλλάζουµε για πολύ λίγο την είσοδο τότε δεν έχουµε εκπλήξεις στην συµπεριφορά των εξόδων. Σ' ένα διακριτό κόσµο όµως η έννοια του όσο µικρό θέλουµε είναι ανεδαφική γιατί πάντα έχουµε ένα κατώτατο όριο που αντιστοιχεί στην ακρίβεια που έχουµε για έναν δεκαδικό. Αν διασκευάζαµε πιστά την έννοια της συνέχειας σε έναν διακριτό κόσµο αυτό θα σήµαινε ότι αν, για παράδειγµα, ένας εκ των βαθµών ενός φοιτητή αυξηθεί κατά µία µονάδα (που είναι η ελάχιστη αύξηση για έναν ακέραιο) τότε ο µέσος όρος θα πρέπει να αυξηθεί κατά την ελάχιστη δεκαδική ακρίβεια του υπολογιστή. Όµως καταλαβαίνουµε ότι η αύξηση κατά µια µονάδα ενός βαθµού θα προσαύξανε κατά 0.2 (καθότι οι βαθµοί είναι πέντε) το αποτέλεσµα, αριθµός ο οποίος είναι σαφώς µεγαλύτερος από την ελάχιστη ακρίβεια του υπολογιστή. Άρα, τυπικά, ο αλγόριθµος δεν είναι συνεχής. Αυτό δεν σηµαίνει όµως ότι συµπεριφέρεται τυχαία και ότι δεν έχει κανονικότητες, αλλά ότι πρέπει να ξαναορίσουµε την έννοια συνέχεια. Προτού ορίσουµε µια κεντρική έννοια της ποιοτικής προσέγγισης, την έννοια της συγκρισιµότητας, θα δούµε πώς διασκευάζεται η έννοια της συνέχειας στην κατηγορία των γράφων. Έστω µια σχέση Λ µεταξύ δύο γράφων Γ(Χ,Υ) και Γ'(Χ', Υ'), δηλαδή µια σχέση που σε κάθε κόµβο του Χ αντιστοιχίζει έναν κόµβο του Χ'. Αυτό που θέλουµε είναι, η µετακίνηση από έναν κόµβο χ1 του Γ σε έναν κοντινό (δηλαδή, που ενώνεται µε βέλος) κόµβο χ2 του Γ συνεπάγεται ότι και οι εικόνες τους από τη Λ θα παραµείνουν όµοιες ή κοντά στον Γ'. Πιο τυπικά χ1 χ2 συνεπάγεται Λ(χ1) = Λ(χ2) ή Λ(χ1) Λ(χ2) Όταν µια σχέση Λ µεταξύ δύο γράφων πληροί αυτή την υπόθεση τότε λέµε ότι αποτελεί έναν οµοµορφισµό γράφων. Υπάρχουν κι άλλοι ορισµοί για τους οµοµορφισµούς γράφων όµως εµείς θα υιοθετήσουµε τον προηγούµενο. Ας σηµειωθεί ότι στη θεωρία των κατηγοριών, η κλασική έννοια της συνέχειας αποτελεί µια ειδική περίπτωση µορφισµού στην κατηγορία των πραγµατικών σχέσεων. Θα χρησιµοποιήσουµε συχνά τους οµοµορφισµούς για να αναλύσουµε τους γράφους πηλίκα του γράφου φάσεων. Όµως το πρόβληµα της συνέχειας παραµένει όταν µιλάµε για αλγόριθµους. Είδαµε πριν ότι ακόµα και για έναν απλό αλγόριθµο όπως είναι η εύρεση του µέσου όρου, είναι αδύνατο να περιµένουµε απειροστές µεταβολές στο αποτέλεσµα του αλγόριθµου, όταν διενεργούµε απειροστές µεταβολές στις εισόδους. Σηµαίνει αυτό ότι για απειροστές µετακινήσεις τα αποτελέσµατα µπορεί να είναι οποιαδήποτε; Ασφαλώς όχι. Υπόθεση 3 : Η υπόθεση συγκρισιµότητας (ΥΣ). Η βασική υπόθεσή µας είναι ότι στα λογισµικά που γράφονται έµµεσα ή άµεσα από ανθρώπους (δεν είναι δηλαδή τυχαίες αλλά συντακτικά σωστές εντολές) για απειροστές µεταβολές οι έξοδοι ναι µεν δεν µετακινούνται πάντα απειροστά, αλλά παραµένουν συγκρίσιµες µε το προηγούµενο αποτέλεσµα. Θα ονοµάσουµε τους αλγόριθµους που πληρούν αυτήν την υπόθεση αλγόριθµους τοπικής συγκρισιµότητας (ΤΣ). Η υπόθεση αυτή µπορεί να θεωρηθεί πολύ χαλαρή και αυτονόητη. Ιδιαίτερα στο παράδειγµά µας η υπόθεση αυτή ισχύει τετριµµένα καθότι ο αλγόριθµος έχει µόνο ένα αποτέλεσµα (το µέσο όρο) και αυτό το αποτέλεσµα πληροί µια ολική σχέση διάταξης (τη φυσική διάταξη των ακεραίων). Άρα ό,τι και να έχουµε ως αποτέλεσµα θα είναι συγκρίσιµο µε τα προηγούµενα και ο αλγόριθµος είναι τετριµµένα τοπικά συγκρίσιµος. Όµως, αν το σκεφτούµε καλά, από την στιγµή που µια έξοδος ανήκει σ' ένα µεδιασύνολο που δεν είναι ολικό, τίποτα δεν µας εξασφαλίζει την τοπική συγκρισιµότητα. Ας υποθέσουµε ότι ένας αλγόριθµος έχει έναν ακέραιο α ως είσοδο και ως αποτέλεσµα ένα πίνακα. Ας υποθέσουµε, επίσης, ότι για την είσοδο 31 το αποτέλεσµα είναι [4, 1, 10, 100, 5] και ότι µετατρέποντας απειροστά την είσοδο από 31 σε 32 έχουµε ως αποτέλεσµα [5, 0, 10, 100, 5] ή [3, 7]. Βλέπουµε ότι κανένα από τα δύο πιθανά αποτελέσµατα δεν είναι συγκρίσιµο µε το αρχικό που αντιστοιχούσε στο 31. Κάτι καταστροφικό και απρόοπτο συνέβη 21

Κώδικας σχεδίασης Λογισµικής ιαγραµµατικής Οντολογίας

Κώδικας σχεδίασης Λογισµικής ιαγραµµατικής Οντολογίας Κώδικας σχεδίασης Λογισµικής ιαγραµµατικής Οντολογίας Αρχιµήδης ΙΙΙ Υποέργο 18 2013 Ενα µάγµα µπορεί να εξελιχθεί κάτω από την επίδραση τριών ειδών επιρροών. Την εξέλιξη αυτή συµβολίζουµε µε ένα απλό τόξο

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

Ποιοτική Συλλογιστική στον Έλεγχο Προγραμμάτων

Ποιοτική Συλλογιστική στον Έλεγχο Προγραμμάτων Ποιοτική Συλλογιστική στον Έλεγχο Προγραμμάτων Σπυρίδων Ξανθάκης Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Αθήνας spyros.xanthakis@yahoo.fr Ζαφείριος Καραΐσκος Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Θεσσαλίας

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί

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

Είναι το ηλεκτρικό ρεύµα διανυσµατικό µέγεθος;

Είναι το ηλεκτρικό ρεύµα διανυσµατικό µέγεθος; Είναι το ηλεκτρικό ρεύµα διανυσµατικό µέγεθος; Για να εξετάσουµε το κύκλωµα LC µε διδακτική συνέπεια νοµίζω ότι θα πρέπει να τηρήσουµε τους ορισµούς που δώσαµε στα παιδιά στη Β Λυκείου. Ας ξεκινήσουµε

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

3 Αναδροµή και Επαγωγή

3 Αναδροµή και Επαγωγή 3 Αναδροµή και Επαγωγή Η ιδέα της µαθηµατικής επαγωγής µπορεί να επεκταθεί και σε άλλες δοµές εκτός από το σύνολο των ϕυσικών N. Η ορθότητα της µαθηµατικής επαγωγής ϐασίζεται όπως ϑα δούµε λίγο αργότερα

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

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν Επαναληπτικές δοµές Η λογική των επαναληπτικών διαδικασιών εφαρµόζεται όπου µία ακολουθία εντολών εφαρµόζεται σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Όταν ψάχνουµε θέση για να παρκάρουµε κοντά

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

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

οµή δικτύου ΣΧΗΜΑ 8.1

οµή δικτύου ΣΧΗΜΑ 8.1 8. ίκτυα Kohonen Το µοντέλο αυτό των δικτύων προτάθηκε το 1984 από τον Kοhonen, και αφορά διαδικασία εκµάθησης χωρίς επίβλεψη, δηλαδή δεν δίδεται καµία εξωτερική επέµβαση σχετικά µε τους στόχους που πρέπει

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

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα. Αριστοτελειο Πανεπιστηµιο Θεσσαλονικης Τµηµα Μαθηµατικων Εισαγωγή στην Αλγεβρα Τελική Εξέταση 15 Φεβρουαρίου 2017 1. (Οµάδα Α) Εστω η ακολουθία Fibonacci F 1 = 1, F 2 = 1 και F n = F n 1 + F n 2, για n

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

Γραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

Γραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών Ενότητα: Εισαγωγικές Εννοιες Ευάγγελος Ράπτης Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

* τη µήτρα. Κεφάλαιο 1o

* τη µήτρα. Κεφάλαιο 1o Κεφάλαιο 1o Θεωρία Παιγνίων Η θεωρία παιγνίων εξετάζει καταστάσεις στις οποίες υπάρχει αλληλεπίδραση µεταξύ ενός µικρού αριθµού ατόµων. Άρα σε οποιαδήποτε περίπτωση, αν ο αριθµός των ατόµων που συµµετέχουν

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Θέµα 1 ο Α. Να απαντήσετε τις παρακάτω ερωτήσεις τύπου Σωστό Λάθος (Σ Λ) 1. Σκοπός της συγχώνευσης 2 ή περισσοτέρων ταξινοµηµένων πινάκων είναι η δηµιουργία

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

Εισαγωγή στην Τοπολογία

Εισαγωγή στην Τοπολογία Ενότητα: Συνεκτικότητα Γεώργιος Κουµουλλής Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε

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

Γραµµατικές για Κανονικές Γλώσσες

Γραµµατικές για Κανονικές Γλώσσες Κανονικές Γραµµατικές Γραµµατικές για Κανονικές Γλώσσες Ταξινόµηση Γραµµατικών εξιά Παραγωγικές Γραµµατικές εξιά Παραγωγικές Γραµµατικές και NFA Αριστερά Παραγωγικές Γραµµατικές Κανονικές Γραµµατικές Γραµµατικές

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

επιµέλεια Θοδωρής Πιερράτος

επιµέλεια Θοδωρής Πιερράτος Ερωτήσεις Σωστό Λάθος 1. Οι διαστάσεις ενός πίνακα δεν µπορούν να µεταβάλλονται κατά την εκτέλση ενός αλγόριθµου. 2. Ο πίνακας είναι στατική δοµή δεδοµένων. 3. Ένας πίνακας δυο στηλών µπορεί να περιέχει

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

Kεφάλαιο 10. Πόσα υποπαίγνια υπάρχουν εδώ πέρα; 2 υποπαίγνια.

Kεφάλαιο 10. Πόσα υποπαίγνια υπάρχουν εδώ πέρα; 2 υποπαίγνια. Kεφάλαιο 10 Θα δούµε ένα δύο παραδείγµατα να ορίσουµε/ µετρήσουµε τα υποπαίγνια και µετά θα λύσουµε και να βρούµε αυτό που λέγεται τέλεια κατά Nash ισορροπία. Εδώ θα δούµε ένα παίγνιο όπου έχουµε µια επιχείρηση

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

Σηµειώσεις στις σειρές

Σηµειώσεις στις σειρές . ΟΡΙΣΜΟΙ - ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ Σηµειώσεις στις σειρές Στην Ενότητα αυτή παρουσιάζουµε τις βασικές-απαραίτητες έννοιες για την µελέτη των σειρών πραγµατικών αριθµών και των εφαρµογών τους. Έτσι, δίνονται συστηµατικά

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

ΙΙ ιαφορικός Λογισµός πολλών µεταβλητών. ιαφόριση συναρτήσεων πολλών µεταβλητών

ΙΙ ιαφορικός Λογισµός πολλών µεταβλητών. ιαφόριση συναρτήσεων πολλών µεταβλητών 54 ΙΙ ιαφορικός Λογισµός πολλών µεταβλητών ιαφόριση συναρτήσεων πολλών µεταβλητών Ένας στέρεος ορισµός της παραγώγισης για συναρτήσεις πολλών µεταβλητών ανάλογος µε τον ορισµό για συναρτήσεις µιας µεταβλητής

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

HY118- ιακριτά Μαθηµατικά. Παράδειγµα. Από τα συµπεράσµατα στις υποθέσεις Αποδείξεις - Θεωρία συνόλων. Από τις υποθέσεις στα συµπεράσµατα...

HY118- ιακριτά Μαθηµατικά. Παράδειγµα. Από τα συµπεράσµατα στις υποθέσεις Αποδείξεις - Θεωρία συνόλων. Από τις υποθέσεις στα συµπεράσµατα... HY118- ιακριτά Μαθηµατικά Παρασκευή, 11/03/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 3/15/2016

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

Γραµµική Αλγεβρα Ι. Ενότητα: ιανυσµατικοί χώροι. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

Γραµµική Αλγεβρα Ι. Ενότητα: ιανυσµατικοί χώροι. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών Ενότητα: ιανυσµατικοί χώροι Ευάγγελος Ράπτης Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

( ) = inf { (, Ρ) : Ρ διαµέριση του [, ]}

( ) = inf { (, Ρ) : Ρ διαµέριση του [, ]} 7 ΙΙΙ Ολοκληρωτικός Λογισµός πολλών µεταβλητών Βασικές έννοιες στη µια µεταβλητή Έστω f :[ ] φραγµένη συνάρτηση ( Ρ = { t = < < t = } είναι διαµέριση του [ ] 0 ( Ρ ) = Μ ( ) όπου sup f ( t) : t [ t t]

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

Όταν χαλά η γλώσσα, χαλάει η σκέψη

Όταν χαλά η γλώσσα, χαλάει η σκέψη Όταν χαλά η γλώσσα, χαλάει η σκέψη (γ µέρος) Πριν από καιρό έγραφα σε κάποιο βιβλίο... «... Η ανησυχία µου, εκτός των άλλων, βρίσκεται και στο γεγονός ότι στο σχολικό βιβλίο και κατά συνέπεια στα εξωσχολικά

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

Κεφάλαιο 6 Παράγωγος

Κεφάλαιο 6 Παράγωγος Σελίδα από 5 Κεφάλαιο 6 Παράγωγος Στο κεφάλαιο αυτό στόχος µας είναι να συνδέσουµε µία συγκεκριµένη συνάρτηση f ( ) µε µία δεύτερη συνάρτηση f ( ), την οποία και θα ονοµάζουµε παράγωγο της f. Η τιµή της

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

Γραµµική Άλγεβρα. Εισαγωγικά. Μέθοδος Απαλοιφής του Gauss

Γραµµική Άλγεβρα. Εισαγωγικά. Μέθοδος Απαλοιφής του Gauss Γραµµική Άλγεβρα Εισαγωγικά Υπάρχουν δύο βασικά αριθµητικά προβλήµατα στη Γραµµική Άλγεβρα. Το πρώτο είναι η λύση γραµµικών συστηµάτων Aλγεβρικών εξισώσεων και το δεύτερο είναι η εύρεση των ιδιοτιµών και

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

Κλασικη ιαφορικη Γεωµετρια

Κλασικη ιαφορικη Γεωµετρια Αριστοτελειο Πανεπιστηµιο Θεσσαλονικης Σχολη Θετικων Επιστηµων, Τµηµα Μαθηµατικων, Τοµεας Γεωµετριας Κλασικη ιαφορικη Γεωµετρια Πρώτη Εργασία, 2018-19 1 Προαπαιτούµενες γνώσεις και ϐασική προετοιµασία

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

Κεφάλαιο 5 Οι χώροι. Περιεχόµενα 5.1 Ο Χώρος. 5.3 Ο Χώρος C Βάσεις Το Σύνηθες Εσωτερικό Γινόµενο Ασκήσεις

Κεφάλαιο 5 Οι χώροι. Περιεχόµενα 5.1 Ο Χώρος. 5.3 Ο Χώρος C Βάσεις Το Σύνηθες Εσωτερικό Γινόµενο Ασκήσεις Σελίδα 1 από 6 Κεφάλαιο 5 Οι χώροι R και C Περιεχόµενα 5.1 Ο Χώρος R Πράξεις Βάσεις Επεξεργασµένα Παραδείγµατα Ασκήσεις 5. Το Σύνηθες Εσωτερικό Γινόµενο στο Ορισµοί Ιδιότητες Επεξεργασµένα Παραδείγµατα

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

(GNU-Linux, FreeBSD, MacOsX, QNX

(GNU-Linux, FreeBSD, MacOsX, QNX 1.7 διαταξεις (σελ. 17) Παράδειγµα 1 Θα πρέπει να κάνουµε σαφές ότι η επιλογή των λέξεων «προηγείται» και «έπεται» δεν έγινε απλώς για λόγους αφαίρεσης. Μπορούµε δηλαδή να ϐρούµε διάφορα παραδείγµατα στα

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

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές Κεφάλαιο Παραγοντοποίηση σε Ακέραιες Περιοχές Γνωρίζουµε ότι στο Ÿ κάθε στοιχείο εκτός από το 0 και τα ± γράφεται ως γινόµενο πρώτων αριθµών κατά τρόπο ουσιαστικά µοναδικό Από τη Βασική Άλγεβρα ξέρουµε

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

1 Ορισµός ακολουθίας πραγµατικών αριθµών

1 Ορισµός ακολουθίας πραγµατικών αριθµών ΜΑΣ 02. Απειροστικός Λογισµός Ι Ορισµός ακολουθίας πραγµατικών αριθµών Ορισµός.. Ονοµάζουµε ακολουθία πραγµατικών αριθµών κάθε απεικόνιση του συνόλου N των ϕυσικών αριθµών, στο σύνολο R των πραγµατικών

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

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα. ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία

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

Κεφάλαιο 3β. Ελεύθερα Πρότυπα (µέρος β)

Κεφάλαιο 3β. Ελεύθερα Πρότυπα (µέρος β) Κεφάλαιο 3β Ελεύθερα Πρότυπα (µέρος β) Ο σκοπός µας εδώ είναι να αποδείξουµε το εξής σηµαντικό αποτέλεσµα. 3.3.6 Θεώρηµα Έστω R µια περιοχή κυρίων ιδεωδών, F ένα ελεύθερο R-πρότυπο τάξης s < και N F. Τότε

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

όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 10: Η γραφική παράσταση της συνάρτησης f (x) = 1/x.

όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 10: Η γραφική παράσταση της συνάρτησης f (x) = 1/x. 3 Ορια συναρτήσεων 3. Εισαγωγικές έννοιες. Ας ϑεωρήσουµε την συνάρτηση f () = όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 0: Η γραφική παράσταση της συνάρτησης f () = /. ϕυσικό να αναζητήσουµε την

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

Αρµονική Ανάλυση. Ενότητα: Το ϑεώρηµα παρεµβολής του Riesz και η ανισότητα Hausdorff-Young. Απόστολος Γιαννόπουλος.

Αρµονική Ανάλυση. Ενότητα: Το ϑεώρηµα παρεµβολής του Riesz και η ανισότητα Hausdorff-Young. Απόστολος Γιαννόπουλος. Ενότητα: Το ϑεώρηµα παρεµβολής του Riesz και η ανισότητα Hausdorff-Young Απόστολος Γιαννόπουλος Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

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

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά HY118- ιακριτά Μαθηµατικά Τρίτη, 19/04/2016 Το υλικό των Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 1 Συνδυαστική 2 Πείραµα Πείραµα: Οποιαδήποτε διαδικασία που µπορεί να οδηγήσει σε ένα αριθµό παρατηρήσιµων

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

ΕΠΙΤΑΧΥΝΣΗ- ΕΠΙΤΑΧΥΝΟΜΕΝΗ ΚΙΝΗΣΗ

ΕΠΙΤΑΧΥΝΣΗ- ΕΠΙΤΑΧΥΝΟΜΕΝΗ ΚΙΝΗΣΗ ΕΠΙΤΑΧΥΝΣΗ- ΕΠΙΤΑΧΥΝΟΜΕΝΗ ΚΙΝΗΣΗ Η ταχύτητα συνήθως δεν παραµένει σταθερή Ας υποθέσουµε ότι ένα αυτοκίνητο κινείται σε ευθύγραµµο δρόµο µε ταχύτητα k 36. Ο δρόµος είναι ανοιχτός και ο οδηγός αποφασίζει

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

Δυναμική ενέργεια στο βαρυτικό πεδίο. Θετική ή αρνητική;

Δυναμική ενέργεια στο βαρυτικό πεδίο. Θετική ή αρνητική; ράφει το σχολικό βιβλίο: Δυναμική ενέργεια στο βαρυτικό πεδίο. Θετική ή αρνητική; Μια πρώτη ένσταση θα µπορούσε να διατυπωθεί, για την απουσία της δυναµικής ενέργειας από τον παραπάνω ορισµό. ιατί να µην

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

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18 Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 1 / 18 Βέλτιστα (στατικά) δυαδικά δένδρα αναζήτησης Παράδειγµα: Σχεδιασµός προγράµµατος

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

Πρόβληµα 2 (15 µονάδες)

Πρόβληµα 2 (15 µονάδες) ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ, 2013-2014 ΔΙΔΑΣΚΩΝ: Ε. Μαρκάκης Πρόβληµα 1 (5 µονάδες) 2 η Σειρά Ασκήσεων Προθεσµία Παράδοσης: 19/1/2014 Υπολογίστε

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

Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ)

Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ) Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ) ΜΙΧΑΛΗΣ ΤΖΟΥΜΑΣ ΕΣΠΟΤΑΤΟΥ 3 ΑΓΡΙΝΙΟ. ΠΕΡΙΛΗΨΗ Η έννοια της συνάρτησης είναι στενά συνυφασµένη µε τον πίνακα τιµών και τη γραφική παράσταση.

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

1 Οι πραγµατικοί αριθµοί

1 Οι πραγµατικοί αριθµοί 1 Οι πραγµατικοί αριθµοί 1.1 Σύνολα αριθµών Το σύνολο των ϕυσικών αριθµών N = {1, 2, 3,...} Το σύνολο των ακεραίων Z = {... 3, 2, 1, 0, 1, 2, 3,...}. Οι ακέραιοι διαµερίζονται σε άρτιους και περιττούς

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

Κεφάλαιο 4. Ευθέα γινόµενα οµάδων. 4.1 Ευθύ εξωτερικό γινόµενο οµάδων. i 1 G 1 G 1 G 2, g 1 (g 1, e 2 ), (4.1.1)

Κεφάλαιο 4. Ευθέα γινόµενα οµάδων. 4.1 Ευθύ εξωτερικό γινόµενο οµάδων. i 1 G 1 G 1 G 2, g 1 (g 1, e 2 ), (4.1.1) Κεφάλαιο 4 Ευθέα γινόµενα οµάδων Στο Παράδειγµα 1.1.2.11 ορίσαµε το ευθύ εξωτερικό γινόµενο G 1 G 2 G n των οµάδων G i, 1 i n. Στο κεφάλαιο αυτό ϑα ασχοληθούµε λεπτοµερέστερα µε τα ευθέα γινόµενα οµάδων

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ ο 2.5 µονάδες ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 2 Σεπτεµβρίου 2005 5:00-8:00 Σχεδιάστε έναν αισθητήρα ercetro

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

Εισαγωγή στον Προγραµµατισµό. Σύντοµες Σηµειώσεις. Γιώργος Μανής

Εισαγωγή στον Προγραµµατισµό. Σύντοµες Σηµειώσεις. Γιώργος Μανής Εισαγωγή στον Προγραµµατισµό Σύντοµες Σηµειώσεις Γιώργος Μανής Νοέµβριος 2012 Αλγόριθµοι και Λογικά ιαγράµµατα Αλγόριθµος λέγεται µία πεπερασµένη διαδικασία καλά ορισµένων ϐηµάτων µου ακολουθείται για

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΒΑΙΚΕ ΕΝΝΟΙΕ ΑΓΟΡΙΘΜΩΝ ΕΡΩΤΗΕΙ ΑΞΙΟΟΓΗΗ ΕΡΩΤΗΕΙ ΩΤΟΥ ΑΘΟΥ 1. ηµειώστε το γράµµα αν η πρόταση είναι σωστή και το γράµµα αν είναι λάθος. 1. Ο αλγόριθµος πρέπει να τερµατίζεται µετά από εκτέλεση πεπερασµένου

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

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός HY118- ιακριτά Μαθηµατικά Την προηγούµενη φορά Τρόποι απόδειξης Τρίτη, 07/03/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter,

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

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο Α. Δίνεται η εντολή εκχώρησης: τ κ < λ Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος. Να δικαιολογήσετε

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Ερωτήσεις Σωστό - Λάθος 1. Ο αλγόριθµος πρέπει να τερµατίζεται µετά από εκτέλεση πεπερασµένου αριθµού εντολών. 2. Η είσοδος σε έναν αλγόριθµο µπορεί να είναι έξοδος σε έναν άλλο αλγόριθµο. 3. Ένας αλγόριθµος

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΘΕΩΡΙΑ ΓΕΝΙΚΗΣ ΙΣΟΡΡΟΠΙΑΣ ΧΡΗΣΕΩΝ ΓΗΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΘΕΩΡΙΑ ΓΕΝΙΚΗΣ ΙΣΟΡΡΟΠΙΑΣ ΧΡΗΣΕΩΝ ΓΗΣ ΚΕΦΑΛΑΙΟ 8 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΘΕΩΡΙΑ ΓΕΝΙΚΗΣ ΙΣΟΡΡΟΠΙΑΣ ΧΡΗΣΕΩΝ ΓΗΣ Όταν εξετάζουµε µία συγκεκριµένη αγορά, πχ. την αστική αγορά εργασίας, η ανάλυση αυτή ονοµάζεται µερικής ισορροπίας. Όταν η ανάλυση µας περιλαµβάνει

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

Αριθµητική Ανάλυση. Ενότητα 5 Προσέγγιση Συναρτήσεων. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

Αριθµητική Ανάλυση. Ενότητα 5 Προσέγγιση Συναρτήσεων. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Αριθµητική Ανάλυση Ενότητα 5 Προσέγγιση Συναρτήσεων Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αριθµητική Ανάλυση - Ενότητα 5 1 / 55 Παρεµβολή Ας υποθέσουµε ότι δίνονται

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

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

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά HY118- ιακριτά Μαθηµατικά Παρασκευή, 04/04/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 4/7/2017

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ. Εισαγωγή Εργαστήριο 2 ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τον τρόπο µε τον οποίο εκφράζεται η ψηφιακή λογική υλοποιώντας ασκήσεις απλά και σύνθετα λογικά κυκλώµατα (χρήση του

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

7. Ταλαντώσεις σε συστήµατα µε πολλούς βαθµούς ελευθερίας

7. Ταλαντώσεις σε συστήµατα µε πολλούς βαθµούς ελευθερίας 7 Ταλαντώσεις σε συστήµατα µε πολλούς βαθµούς ελευθερίας Συζευγµένες ταλαντώσεις Βιβλιογραφία F S Crawford Jr Κυµατική (Σειρά Μαθηµάτων Φυσικής Berkeley, Τόµος 3 Αθήνα 979) Κεφ H J Pai Φυσική των ταλαντώσεων

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

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

Σχολικός Σύµβουλος ΠΕ03

Σχολικός Σύµβουλος ΠΕ03 Ασκήσεις Μαθηµατικών Θετικής & Τεχνολογικής Κατεύθυνσης Γ Λυκείου ρ. Παναγιώτης Λ. Θεοδωρόπουλος Σχολικός Σύµβουλος ΠΕ03 e-mail@p-theodoropoulos.gr Στην εργασία αυτή ξεχωρίζουµε και µελετάµε µερικές περιπτώσεις

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ ο 2.5 µονάδες ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 7 Ιανουαρίου 2005 ιάρκεια εξέτασης: 5:00-8:00 Έστω ότι

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

2. Missing Data mechanisms

2. Missing Data mechanisms Κεφάλαιο 2 ο 2. Missing Data mechanisms 2.1 Εισαγωγή Στην προηγούµενη ενότητα περιγράψαµε κάποια από τα βασικά µοτίβα εµφάνισης των χαµένων τιµών σε σύνολα δεδοµένων. Ένα άλλο ζήτηµα που µας απασχολεί

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

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος. Δομές Δεδομένων Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο Φυσικό Επίπεδο RAM Πίνακας 8 10 17 19 22 Ταξινομημένος Πίνακας 5 8 10 12 17 Δένδρο 8 5 10 12 19 17

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

Συνάρτηση f, λέγεται η διαδικασία µε βάση την. Παρατηρήσεις - Σχόλια f

Συνάρτηση f, λέγεται η διαδικασία µε βάση την. Παρατηρήσεις - Σχόλια f Συνάρτηση f, λέγεται η διαδικασία µε βάση την οποία σε κάθε στοιχείο χ ενός συνόλου Α αντιστοιχούµε ακριβώς ένα στοιχείο ενός άλλου συνόλου Β. Το σύνολο Α λέγεται πεδίο ορισµού ( ή σύνολο ορισµού ) της

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο : Το σύνολο των πραγµατικών αριθµών Α Οµάδα Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς αιτιολογήστε πλήρως την απάντησή σας) α)

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

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

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

Mathematics and its Applications, 5th

Mathematics and its Applications, 5th Μαθηµατικα για Πληροφορικη Εφαρµογες και τεχνικες Ηλιας Κουτσουπιάς Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών Σχετικα µε το µαθηµα Σχετικα µε το µαθηµα Το µαθηµα πραγµατευεται καποια ϑεµατα

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

Μερικές διατάξεις. HY118- ιακριτά Μαθηµατικά. Μερικές διατάξεις, παράδειγµα. ιαγράµµατα Hasse: Αναπαράσταση σχέσεων µερικής διάταξης

Μερικές διατάξεις. HY118- ιακριτά Μαθηµατικά. Μερικές διατάξεις, παράδειγµα. ιαγράµµατα Hasse: Αναπαράσταση σχέσεων µερικής διάταξης HY118- ιακριτά Μαθηµατικά Παρασκευή, 04/04/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 4/7/2017

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

Στροβιλισµός πεδίου δυνάµεων

Στροβιλισµός πεδίου δυνάµεων Στροβιλισµός πεδίου δυνάµεων Θεωρείστε ένα απειροστό απλό χωρίο στο χώρο τόσο µικρό ώστε να µπορεί να θεωρηθεί ότι βρίσκεται σε ένα επίπεδο Έστω ότι το χωρίο αυτό περικλείει εµβαδόν µέτρου Το έργο που

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

Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου

Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου 200-04-25. ιαδικασίες γεννήσεων-θανάτων. Ορισµός Οι διαδικασίες γεννήσεων-θανάτων (birth-death rocesses) αποτελούν µια σπουδαία κλάση αλυσίδων Markov (διακριτού ή συνεχούς χρόνου). Η ιδιαίτερη συνθήκη

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

Αρµονική Ανάλυση. Ενότητα: Μέτρο Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Αρµονική Ανάλυση. Ενότητα: Μέτρο Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών Ενότητα: Μέτρο Lebesgue Απόστολος Γιαννόπουλος Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

Εισαγωγή στην Τοπολογία

Εισαγωγή στην Τοπολογία Ενότητα: Τοπικές έννοιες Γεώργιος Κουµουλλής Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Παράρτηµα Α. Στοιχεία θεωρίας µέτρου και ολοκλήρωσης.

Παράρτηµα Α. Στοιχεία θεωρίας µέτρου και ολοκλήρωσης. Παράρτηµα Α Στοιχεία θεωρίας µέτρου και ολοκλήρωσης Α Χώροι µέτρου Πέραν της «διαισθητικής» περιγραφής του µέτρου «σχετικά απλών» συνόλων στο από το µήκος τους (όπως πχ είναι τα διαστήµατα, ενώσεις/τοµές

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

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων Αλγόριθµος : Είναι ένα σύνολο βηµάτων, αυστηρά καθορισµένων κι εκτελέσιµων σε πεπερασµένο χρόνο, που οδηγούν στην επίλυση ενός προβλήµατος. Χαρακτηριστικά ενός σωστού

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

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,... KΕΦΑΛΑΙΟ ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ Βασικές έννοιες διαιρετότητας Θα συµβολίζουµε µε, τα σύνολα των φυσικών αριθµών και των ακεραίων αντιστοίχως: {,,3,,, } { 0,,,,, } = = ± ± ± Ορισµός Ένας φυσικός αριθµός

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

ώστε επιλογή: Στη συνέχεια θα διαβάζει την επιλογή του χρήστη και την ακτίνα ενός κύκλου και θα εκτυπώνει το αντίστοιχο αποτέλεσµα.

ώστε επιλογή: Στη συνέχεια θα διαβάζει την επιλογή του χρήστη και την ακτίνα ενός κύκλου και θα εκτυπώνει το αντίστοιχο αποτέλεσµα. ΠΙΝΑΚΕΣ 1. Να γραφούν οι εντολές µε τις οποίες από το περιεχόµενο κάθε θέσης του πίνακα αφαιρούµε το τετράγωνο του δείκτη της αντίστοιχης θέσης. 2. Να γραφούν οι εντολές µε τις οποίες αντιγράφουµε τα στοιχεία

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

Κεφάλαιο 7 Βάσεις και ιάσταση

Κεφάλαιο 7 Βάσεις και ιάσταση Κεφάλαιο 7: Βάσεις και ιάσταση Σελίδα από 9 Κεφάλαιο 7 Βάσεις και ιάσταση n Στο Κεφάλαιο 5 είδαµε την έννοια της βάσης στο και στο Κεφάλαιο 6 µελετήσαµε διανυσµατικούς χώρους. Στο παρόν κεφάλαιο θα ασχοληθούµε

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

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1 Α44 ΚΡΥΠΤΟΓΡΑΦΙΑ ΣΗΜΕΙΩΣΕΙΣ #12 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ 1 Πλεγµατα Εστω ο διανυσµατικός χώρος R d διάστασης d Ο χώρος R d έρχεται µε ένα εσωτερικό γινόµενο x, y = d i=1 x iy i και τη σχετική νόρµα x = x,

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

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

Σηµειώσεις στις συναρτήσεις

Σηµειώσεις στις συναρτήσεις Σηµειώσεις στις συναρτήσεις 4 Η έννοια της συνάρτησης Ο όρος «συνάρτηση» χρησιµοποιείται αρκετά συχνά για να δηλώσει ότι ένα µέγεθος, µια κατάσταση κτλ εξαρτάται από κάτι άλλο Και στα µαθηµατικά ο όρος

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό. Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο : Ακολουθίες πραγµατικών αριθµών Α Οµάδα Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς αιτιολογήστε πλήρως την απάντησή σας α Κάθε

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

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά HY118- ιακριτά Μαθηµατικά Τρίτη, 07/03/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 3/7/2017

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

Πολύγωνο αθροιστικών σχετικών συχνοτήτων και διάµεσος µιας τυχαίας µεταβλητής ρ. Παναγιώτης Λ. Θεοδωρόπουλος πρώην Σχολικός Σύµβουλος ΠΕ03 e-mail@p-theodoropoulos.gr Πρόλογος Στην εργασία αυτή αναλύονται

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

Παλαιότερες ασκήσεις

Παλαιότερες ασκήσεις Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY6 - Συστήµατα Ανάκτησης Πληροφοριών Παλαιότερες ασκήσεις η Σειρά Ασκήσεων (Αξιολόγηση της Αποτελεσµατικότητας της Ανάκτησης) Άσκηση ( η σειρά ασκήσεων

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

5.1 Συναρτήσεις δύο ή περισσοτέρων µεταβλητών

5.1 Συναρτήσεις δύο ή περισσοτέρων µεταβλητών Κεφάλαιο 5 ΣΥΝΑΡΤΗΣΕΙΣ ΠΟΛΛΩΝ ΜΕΤΑΒΛΗΤΩΝ 5.1 Συναρτήσεις δύο ή περισσοτέρων µεταβλητών Οταν ένα µεταβλητό µέγεθος εξαρτάται αποκλειστικά από τις µεταβολές ενός άλλου µεγέθους, τότε η σχέση που συνδέει

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

ΚΕΦΑΛΑΙΟ 2: Ηµιαπλοί ακτύλιοι

ΚΕΦΑΛΑΙΟ 2: Ηµιαπλοί ακτύλιοι ΚΕΦΑΛΑΙΟ 2: Ηµιαπλοί ακτύλιοι Είδαµε στο κύριο θεώρηµα του προηγούµενου κεφαλαίου ότι κάθε δακτύλιος διαίρεσης έχει την ιδιότητα κάθε πρότυπο είναι ευθύ άθροισµα απλών προτύπων. Εδώ θα χαρακτηρίσουµε όλους

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

Γυµ.Ν.Λαµψάκου Α Γυµνασίου Γεωµ.Β2.6 γωνίες από 2 παράλληλες + τέµνουσα 19/3/10 Φύλλο εργασίας

Γυµ.Ν.Λαµψάκου Α Γυµνασίου Γεωµ.Β2.6 γωνίες από 2 παράλληλες + τέµνουσα 19/3/10 Φύλλο εργασίας Φύλλο εργασίας Mπορείτε να βρείτε τη γωνία κάβων; ραστηριότητα Ένα δεξαµενόπλοιο που στο σχήµα είναι στο σηµείο Β, πλέει προς την είσοδο µιας διώρυγας µε την βοήθεια δύο ρυµουλκών που απεικονίζονται µε

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

Κεφάλαιο 7 Βασικά Θεωρήµατα του ιαφορικού Λογισµού

Κεφάλαιο 7 Βασικά Θεωρήµατα του ιαφορικού Λογισµού Σελίδα 1 από Κεφάλαιο 7 Βασικά Θεωρήµατα του ιαφορικού Λογισµού Στο κεφάλαιο αυτό θα ασχοληθούµε µε τα βασικά θεωρήµατα του διαφορικού λογισµού καθώς και µε προβλήµατα που µπορούν να επιλυθούν χρησιµοποιώντας

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

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΘΕΜΑ ο (.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις Πέµπτη 7 Ιανουαρίου 8 5:-8: Σχεδιάστε έναν αισθητήρα (perceptron)

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

Μαθηµατικό Παράρτηµα 2 Εξισώσεις Διαφορών

Μαθηµατικό Παράρτηµα 2 Εξισώσεις Διαφορών Γιώργος Αλογοσκούφης, Δυναµική Μακροοικονοµική, Αθήνα 206 Μαθηµατικό Παράρτηµα 2 Εξισώσεις Διαφορών Στο παράρτηµα αυτό εξετάζουµε τις ιδιότητες και τους τρόπους επίλυσης εξισώσεων διαφορών. Oι εξισώσεις

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