ΤΙΜΟΣ ΣΕΛΛΗΣ - ΑΡΗΣ ΤΣΩΗΣ

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

Download "ΤΙΜΟΣ ΣΕΛΛΗΣ - ΑΡΗΣ ΤΣΩΗΣ"

Transcript

1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΤΙΜΟΣ ΣΕΛΛΗΣ - ΑΡΗΣ ΤΣΩΗΣ

2 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ ΓΛΩΣΣΑ PROLOG ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ - ΑΝΑΖΗΤΗΣΗ ΕΠΕΞΕΡΓΑΣΙΑ ΦΥΣΙΚΗΣ ΓΛΩΣΣΑΣ

3 ΠΕΡΙΕΧΟΜΕΝΑ Κεφάλαιο 1 : Εισαγωγή ΠΑΡΑ ΕΙΓΜΑΤΑ ΧΡΗΣΗΣ ΤΕΧΝΗΤΗΣ ΝΟΗΜΟΣΥΝΗΣ ΠΑΡΑ ΕΙΓΜΑΤΑ ΒΑΣΙΚΩΝ ΛΕΙΤΟΥΡΓΙΩΝ ΤΗΣ ΤΝ ΒΑΣΙΚΕΣ ΠΑΡΑ ΟΧΕΣ ΣΤΗΝ ΤΝ 6 Κεφάλαιο 2 : PROLOG ΕΝΟΠΟΙΗΣΗ (unification) ΣΧΕΣΗ PROLOG ΚΑΙ ΜΑΘΗΜΑΤΙΚΗΣ ΛΟΓΙΚΗΣ ΑΝΤΙΣΤΟΙΧΗΣΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΕΝ ΡΩΝ ΠΑΡΑΣΤΑΣΗ ΕΓΓΡΑΦΩΝ ΟΜΕΣ Ε ΟΜΕΝΩΝ ΣΤΗΝ PROLOG ΛΕΠΤΟΜΕΡΕΙΕΣ ΓΙΑ ΤΗΝ ΕΝΟΠΟΙΗΣΗ (Unification) ΠΑΡΑΓΩΓΗ SUBGOALS ΠΩΣ ΟΥΛΕΥΕΙ Η PROLOG; ΠΩΣ ΕΚΤΕΛΕΙ ΠΡΟΓΡΑΜΜΑΤΑ Η PROLOG; ΟΜΗ ΕΛΕΓΧΟΥ ΤΗΣ PROLOG ΤΟ ΣΥΝΤΑΚΤΙΚΟ ΤΗΣ PROLOG ΤΑ ΒΑΣΙΚΟΤΕΡΑ ΕΝΣΩΜΑΤΩΜΕΝΑ ΚΑΤΗΓΟΡΗΜΑΤΑ ΤΟ ΚΑΤΗΓΟΡΗΜΑ! 31 Κεφάλαιο 3 - Επίλυση προβληµάτων ΕΙΣΑΓΩΓΗ ΕΝ ΕΙΚΤΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΚΑΤΗΓΟΡΙΟΠΟΙΗΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΜΕΘΟ ΟΛΟΓΙΑ ΕΠΙΛΥΣΗΣ ΜΕ ΑΝΑΖΗΤΗΣΗ ΜΕΙΩΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΑΛΓΟΡΙΘΜΟΙ ΤΥΦΛΗΣ ΑΝΑΖΗΤΗΣΗΣ ΕΥΡΙΣΤΙΚΕΣ ΜΕΘΟ ΟΙ ΠΛΗΡΟΦΟΡΗΜΕΝΟΙ ΑΛΓΟΡΙΘΜΟΙ ΑΝΑΖΗΤΗΣΗΣ ΠΑΙΞΙΜΟ ΠΑΙΧΝΙ ΙΩΝ 63 Κεφάλαιο 4 : Επεξεργασία φυσικής γλώσσας ΕΙΣΑΓΩΓΗ ΓΕΝΙΚΑ ΜΟΡΦΕΣ ΚΑΙ ΕΠΙΠΕ Α ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΩΣ ΠΑΡΙΣΤΑΝΕΤΑΙ ΣΤΟΝ ΥΠΟΛΟΓΙΣΤΗ ΤΟ ΚΕΙΜΕΝΟ ΣΥΣΤΗΜΑΤΑ ΕΠΕΞΕΡΓΑΣΙΑΣ ΚΕΙΜΕΝΟΥ ΕΠΕΞΕΡΓΑΣΙΑ ΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ BΙΒΛΙΟΓΡΑΦΙΑ 87 Αναπαράσταση Γνώσης Λογική Κατηγορικός Λογισµός Πρώτης Τάξης Κανόνες Παραγωγής Σηµασιολογικά ίκτυα Έµπειρα Συστήµατα Προγραµµατισµός (Planning)

4 Κεφάλαιο 1 Κεφάλαιο 1 : Εισαγωγή Το µάθηµα αυτό χρησιµοποιεί και επεκτείνει γνώσεις που διδάσκονται σε προηγούµενα µαθήµατα. Ιδιαίτερα συναφή είναι τα µαθήµατα Προγραµµατιστικές Τεχνικές, οµές εδοµένων και Γλώσσες Προγραµµατισµού, ενώ τα µαθήµατα ιακριτά Μαθηµατικά, Σήµατα και Συστήµατα και Πιθανότητες είναι επίσης σχετικά. Τέλος, το µάθηµα αυτό σχετίζεται και µε µαθήµατα που διδάσκονται σε επόµενα εξάµηνα (όπως : Βάσεις εδοµένων, Αλγόριθµοι και Πολυπλοκότητα, Θεωρία Πληροφορίας, Έµπειρα Συστήµατα) και µπορεί να αποτελέσει βοήθηµα στην κατανόηση τους. Η Τεχνητή Νοηµοσύνη (ΤΝ) (Artificial Intelligence - AI) είναι η µελέτη και δηµιουργία προγραµµάτων Η/Υ που σκοπό έχουν να συµπεριφέρονται έξυπνα. Ο όρος έξυπνα δεν έχει σαφή ερµηνεία, αλλά για τον χώρο της τεχνητής νοηµοσύνης µπορεί να ερµηνευτεί σαν: ικανότητα να λύνουν προβλήµατα, να µαθαίνουν από προηγούµενες εκτελέσεις, να καταλαβαίνουν δύσκολες καταστάσεις και δεδοµένα, και να αντιλαµβάνονται διαφορές και οµοιότητες µεταξύ καταστάσεων. Μερικοί ορισµοί της ΤΝ (παρακάτω τους όρους ευφυΐα και νοηµοσύνη θα τους χρησιµοποιούµε χωρίς διαφορά) : Η επιστήµη που ασχολείται µε τον προγραµµατισµό υπολογιστών ώστε να κάνουν νοήµονα, ανθρώπινα πράγµατα, αλλά ΟΧΙ απαραίτητα µε ανθρώπινο τρόπο (Herbert Simon). Η ΤΝ είναι η µελέτη της ευφυούς συµπεριφοράς. Ο απώτερος σκοπός της είναι µια θεωρία ευφυΐας που περιγράφει την συµπεριφορά που έχουν φυσικά νοήµονα όντα και που οδηγεί στην δηµιουργία τεχνητών όντων µε ευφυή συµπεριφορά. Εποµένως η ΤΝ είναι και τοµέας της επιστήµης (science) αλλά και τοµέας του χώρου των µηχανικών (engineering) (Nils Nilsson). Συµπερασµατικά µπορούµε να πούµε ότι η ΤΝ έχει σαν σκοπό την µελέτη ιδεών που επιτρέπουν σε ένα υπολογιστή να φαίνεται νοήµων. Πιο πρακτικά (α) να είναι πιο χρήσιµος, και (β) να είναι εργαλείο για την κατανόηση της νοηµοσύνης. 1

5 Κεφάλαιο 1 Γενικά τα συστήµατα Τεχνητής Νοηµοσύνης ανήκουν στην γενικότερη κατηγορία των συστηµάτων λογισµικού και προφανώς έχουν πολλά κοινά στοιχεία µε αυτά. Για παράδειγµα και τα συστήµατα ΤΝ έχουν ανάγκη µεθόδων επικοινωνίας µε τον χρήστη όπως και µεθόδων οργάνωσης, αποθήκευσης και ανάκτησης δεδοµένων. Επίσης, διάφορα συστήµατα λογισµικού που βασικά δεν είναι εφαρµογές ΤΝ µπορεί να περιέχουν τεχνικές Τεχνητής Νοηµοσύνης. Για παράδειγµα, ένας διορθωτής κειµένου όταν ανακαλύπτει ένα λάθος µπορεί να χρησιµοποιεί κάποια τεχνική Τεχνητής Νοηµοσύνης για να µαντέψει ποια είναι η σωστή λέξη που ήθελε να γράψει ο χρήστης. Τι είναι όµως νοηµοσύνη; Να σκεφτόµαστε γρήγορα; Να ξέρουµε πολλά; Συστατικά της νοηµοσύνης είναι η κρίση, η διορατικότητα, η ικανότητα σκέψης, η γνώση, ενώ όλα αυτά παρουσιάζονται µέσα από την ικανότητα επικοινωνίας και την ιδιότητα για εκµάθηση. Αν δούµε και πάλι την ΤΝ µέσα και από τις δύο όψεις της, και σαν τοµέα της επιστήµης και σαν τοµέα µηχανικών, παρατηρούµε ότι ανάλογα µε το πώς την αντιµετωπίζουµε υπάρχουν διαφορετικοί απώτεροι στόχοι: Σαν τοµέας επιστήµης αποσκοπεί στο να αναπτύξει έννοιες, µηχανισµούς και ορολογία µέσα από τις οποίες προσπαθεί να κατανοήσει την βιολογικά ευφυή συµπεριφορά. Σαν τοµέας µηχανικών αποσκοπεί στο να αναπτύξει έννοιες, θεωρία και πρακτική για να κατασκευάσει ευφυείς µηχανές. Με ένα διαφορετικό τρόπο µπορούµε να δούµε τα παραπάνω ότι δίνουν έµφαση στα παρακάτω δύο σηµαντικά θέµατα: Επίδοση διαφόρων διεργασιών για να γίνουν το ίδιο αποδοτικές µε την ανθρώπινη επίδοση. Λογική συµπεριφορά, δηλ. να κάνει το σωστό ανεξάρτητα από το πώς ένας άνθρωπος θα µπορούσε να το κάνει. Σχηµατικά τα παραπάνω µπορούν να αναλυθούν ως εξής: 2

6 Κεφάλαιο 1 ΥΝΑΤΟΤΗΤΑ ΣΚΕΨΗΣ (REASONING) 1 Σκέψη όπως οι άνθρωποι 2 Λογική σκέψη (αυστηρός τρόπος εξαγωγής συµπερασµάτων) ΣΥΜΠΕΡΙΦΟΡΑ (BEHAVIOUR) 3 Συµπεριφορά όπως και η ανθρώπινη 4 Λογική συµπεριφορά ΠΑΡΟΜΟΙΑ ΜΕ ΛΟΓΙΚΟΤΗΤΑ ΑΝΘΡΩΠΟΥΣ ΚΟΥΤΙ 1. Η προσέγγιση της γνωστικής επιστήµης (cognitive science) επικεντρώνεται όχι µόνο στη συµπεριφορά και στην επικοινωνία µε τους άλλους (I/O), αλλά και στη δυνατότητα σκέψης. Παράδειγµα: GPS (General Problem Solver): Στόχος ήταν όχι µόνο να παράγει συµπεριφορά παρόµοια µε την ανθρώπινη αλλά να παράγει και µια ακολουθία βηµάτων για την επίλυση των προβληµάτων που είναι παρόµοια µε την αντίστοιχη ακολουθία βηµάτων που θα παρήγαγε ένας άνθρωπος. ΚΟΥΤΙ 3. Το Turing Test. 3 ωµάτια έχουν ένα άνθρωπο, ένα υπολογιστή και ένα ανακριτή. Ο ανακριτής µπορεί να επικοινωνήσει µε τους άλλους δύο µέσα από ένα τερµατικό. Ο ανακριτής προσπαθεί να καταλάβει ποιος είναι ο άνθρωπος και ποιος ο υπολογιστής. Ο υπολογιστής επίσης προσπαθεί να ξεγελάσει τον ανακριτή για να νοµίσει ότι είναι ο άνθρωπος. Αν ο υπολογιστής τα καταφέρει τότε µπορούµε να υποθέσουµε ότι η µηχανή σκέφτεται. Παράδειγµα : Eliza: Πρόγραµµα που προσοµοίωνε ένα ψυχοθεραπευτή που επικοινωνούσε µε ένα ασθενή και πέρασε Turing Test. Μερικά στιγµιότυπα: Ασθενής: Όλοι οι άντρες είναι ίδιοι Eliza: Με ποιο τρόπο; Ασθενής:.. Eliza: Λυπάµαι που είστε απογοητευµένος.. 3

7 Κεφάλαιο 1 Το πρόβληµα είναι ότι η Eliza και άλλα παρόµοια προγράµµατα έκαναν απλή συντακτική ανάλυση και παραγωγή προτάσεων. Χρησιµοποιούσαν ένα αναγνωριστή προτύπων (pattern matcher) συγκρίνοντας µε γνωστές προτάσεις. Είχαν συγκεκριµένο λεξιλόγιο και πολύ συγκεκριµένους τρόπους παραγωγής προτάσεων, µε τη χρήση κανόνων όπως if sentence =..mother.. then respond with Tell me about your family Βέβαια αν και απλά δούλευε µε ένα συντακτικό αναλυτή και συνθέτη προτάσεων, η Eliza κατάφερε να ξεγελάσει ανθρώπους. Είναι φανερό όµως ότι µια τέτοια απλή προσέγγιση βασισµένη στη συµπεριφορά µπορεί να προσοµοιωθεί χωρίς κάποιος να έχει βαθιά γνώση ή ευφυΐα. Τα περισσότερα συστήµατα ΤΝ ανήκουν στην κατηγορία 2 ή 4. εν στηρίζονται σε ελέγχους που αντιστοιχούν στην ανθρώπινη συµπεριφορά. ΚΟΥΤΙ 2. Ο στόχος εδώ είναι να προσδιοριστεί µε αυστηρό τρόπο η διαδικασία εξαγωγής συµπερασµάτων µε βάση τη λογική. Αυτό φέρνει και την ερώτηση: Πώς µπορούµε να αναπαραστήσουµε πληροφορία (γνώση) που θα µας επιτρέψει να εξάγουµε συµπεράσµατα όπως τα παρακάτω: Ο Σωκράτης είναι άντρας. Όλοι οι άντρες είναι θνητοί. Άρα: ο Σωκράτης είναι θνητός. - Αριστοτέλης Το πρόβληµα είναι ότι δεν µπορούµε µε τέτοιες απλές συνεπαγωγές να λύσουµε όλα τα προβλήµατα. ΚΟΥΤΙ 4. Ο σκοπός εδώ είναι να επικεντρωθεί η προσοχή στη ενέργεια που γίνεται παρά στην διαδικασία σκέψης, π.χ. η κίνηση ενός robot arm. Συµπερασµατικά βλέπουµε ότι η ΤΝ άπτεται πολλών άλλων τοµέων : ΨΥΧΟΛΟΓΙΑ ΦΙΛΟΣΟΦΙΑ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΓΛΩΣΣΟΛΟΓΙΑ 4

8 Κεφάλαιο ΠΑΡΑ ΕΙΓΜΑΤΑ ΧΡΗΣΗΣ ΤΕΧΝΗΤΗΣ ΝΟΗΜΟΣΥΝΗΣ ΠΑΙΧΝΙ ΙΑ Puzzle, σκάκι, κλπ. ΕΠΙΛΥΣΗ ΥΣΚΟΛΩΝ ΠΡΟΒΛΗΜΑΤΩΝ συµβολικοί υπολογισµοί, π.χ. το MACSYMA που µπορεί να χειριστεί περίπου 500 µαθηµατικές πράξεις, διαφορικό λογισµό, άλγεβρα, κλπ. ΒΟΗΘΕΙΑ ΣΤΗΝ ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΜΟ έµπειρα συστήµατα (expert systems) όπως τα MYCIN (ιατρικό) EL (ηλεκτρονικά κυκλώµατα) PROSPECTOR (γεωτρήσεις) XCON (hardware configuration) ΚΑΤΑΝΟΗΣΗ ΦΥΣΙΚΗΣ ΓΛΩΣΣΑΣ INTELLECT LIFER LOQUI ΕΚΜΑΘΗΣΗ (Learning) ΑΜ - Μαθηµατικές πράξεις και θεωρήµατα Ιστορίες -> Συµπεράσµατα ΚΑΤΑΝΟΗΣΗ ΕΙΚΟΝΩΝ π.χ. απλών εικόνων (block world - κόσµος των κουτιών) υσκολότερο µε πραγµατικές εικόνες ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ROBOT για βαρετή, επικίνδυνη, ή ανθυγιεινή εργασία, κλπ. Από όλα τα παραπάνω βλέπουµε το σηµαντικό ενδιαφέρον που παρουσιάζει ο χώρος της ΤΝ. Το κακό είναι ότι όλα τα παραπάνω απαιτούν µεγάλη υπολογιστική ισχύ, τα προγράµµατα που πρέπει να γραφτούν είναι πολύπλοκα και δύσκολο να γραφτούν, και το αποτέλεσµα είναι συνήθως αργό. 1.2 ΠΑΡΑ ΕΙΓΜΑΤΑ ΒΑΣΙΚΩΝ ΛΕΙΤΟΥΡΓΙΩΝ ΤΗΣ ΤΝ Αντίληψη και Ενέργεια: 5

9 Κεφάλαιο 1 Αναγνώριση φυσικής οµιλίας, αναγνώριση φυσικής γλώσσας, ροµποτική Τεχνητή όραση: αναγνώριση γραφής αναγνώριση προσώπων αυτόνοµα οχήµατα βάσεις εικόνων Γνωστικές ιεργασίες: Αυτόµατη µετάφραση - όχι συντακτική π.χ. Αγγλικά: Time flies like an arrow Ελληνικά: Οι χρονόµυγες πετάνε σαν βέλος Αγγλικά: The spirit is willing but the flesh is weak Ρωσικά: Η vodka είναι καλή αλλά το κρέας είναι χαλασµένο! Σκάκι Ιατρική ιάγνωση Έµπειρα Συστήµατα 1.3 ΒΑΣΙΚΕΣ ΠΑΡΑ ΟΧΕΣ ΣΤΗΝ ΤΝ Newell & Simon: Υπόθεση Συστήµατος Φυσικού Συµβολισµού Ένα σύστηµα φυσικού συµβολισµού έχει όλα τα ικανά και αναγκαία µέσα για γενική ευφυή ενέργεια. Αυτό είναι µια θέση για το τι η ΤΝ είναι δυνατό να πετύχει. Η ευφυΐα είναι µια λειτουργική ιδιότητα. Οι µηχανισµοί µπορούν να ορισθούν µε διάφορα σύµβολα που αν συνδυαστούν φτιάχνουν συµβολικές δοµές. Γενικά τα σύµβολα αντιστοιχούν σε φυσικές οντότητες (αντικείµενα ή έννοιες) και µπορούµε µέσω αυτών να φτιάξουµε πιο σύνθετα πράγµατα. Ένα Σύστηµα θα είναι µια συλλογή από συµβολικές δοµές και διεργασίες που δηµιουργούν άλλες δοµές και κατά συνέπεια οδηγούν σε ευφυείς ενέργειες. Οι διεργασίες ενεργούν πάνω σε αυτές τις δοµές. Εποµένως προκύπτουν δύο βασικά ερωτήµατα: Τι να αναπαραστήσουµε; Πώς να το αναπαραστήσουµε; Ορίζουµε αναπαραστάσεις γνώσης (knowledge) και γνώµης (πεποίθησης - belief). Ποια είναι τα καταλληλότερα σύµβολα και δοµές; Τι είναι σηµαντικό σε κάθε περιοχή να αναπαρασταθεί; 6

10 Κεφάλαιο 1 π.χ. Αναγνώριση προσώπου: Τι να αναπαραστήσουµε; Τα pixels από την φωτογραφία; Ή µήπως είναι πολύ αφηρηµένο; Τι χρειαζόµαστε να κρατήσουµε σαν πληροφορία ώστε να µπορούµε να ξεχωρίσουµε το πρόσωπο του Πέτρου από της Μαρίας; Συγκεκριµένη (explicit) ή Παραγόµενη (implicit) αναπαράσταση γνώσης; Ο συνδυασµός είναι το καλύτερο: κάποια γνώση την καταγράφουµε συγκεκριµένα ενώ άλλη την αφήνουµε να παράγεται. Παράδειγµα: Το πρόβληµα των οδοντογλυφίδων. Βγάλε 5 από τις 17 οδοντογλυφίδες ώστε να µείνουν ακριβώς 3 κουτάκια. Παλιά η λύση ήταν να δοκιµάσεις ΟΛΕΣ τις εναλλακτικές περιπτώσεις. Αυτό είναι λογικό για ένα µικρό πρόβληµα αλλά τι γίνεται µε το σκάκι; Αν αναπαραστήσουµε κάθε οδοντογλυφίδα σαν µία ξεχωριστή οντότητα ή σύµβολο τότε ορίζουµε την οδοντογλυφίδα συγκεκριµένα και αφήνουµε τα υπόλοιπα (δηλ. την θέση των κουτιών) να οριστεί έµµεσα (παραγόµενη πληροφορία). ηλαδή τα κουτιά προκύπτουν από τις θέσεις των οδοντογλυφίδων. Έχουµε τότε (17 ανά 5) λύσεις δηλαδή περίπου 6000 δυνατές περιπτώσεις να εξετάσουµε. Αν όµως αναπαραστήσουµε τα κουτιά σαν τα βασικά µας σύµβολα, τότε έχουµε (6 ανά 3) λύσεις, δηλαδή µόνο 20 περιπτώσεις. Επιπλέον αν παρατηρήσουµε ότι 17-5=12 γιατί κάθε κουτί χρησιµοποιεί µόνο 4 οδοντογλυφίδες, τότε δεν µπορούν πάνω από δύο κουτιά να είναι γειτονικά οριζόντια ή κατακόρυφα, οπότε µένουν µόνο 2 λύσεις να εξεταστούν! Ποια είναι τα βασικά θέµατα που θα µας απασχολήσουν και γιατί προκύπτουν; Επίλυση Προβληµάτων (Problem Solving) - Αναζήτηση Λύσεων (Search) Λογική (Logic) - Απόδειξη Θεωρηµάτων (Theorem Proving) Προγραµµατισµός (Planning) Αναπαράσταση Γνώσης (Knowledge Representation) Μηχανική Μάθηση (Machine Learning) Αναγνώριση Φυσικής Γλώσσας (Natural Language Understanding) Νευρωνικά ίκτυα (Neural Networks) 7

11 Κεφάλαιο 1 µε τη βοήθεια γλωσσών προγραµµατισµού όπως LISP, PROLOG. Τα κύρια χαρακτηριστικά ενός συστήµατος Τεχνητής Νοηµοσύνης είναι: Αναζήτηση µέσα στον χώρο των δυνατών ενεργειών Αναπαράσταση γνώσεων (η αναπαράσταση δηλαδή του χώρου που θα αντιλαµβάνεται το σύστηµα). Προγραµµατισµός (κατάστρωση δηλαδή ενός σχεδίου δράσης) Εκµάθηση από προηγούµενες εµπειρίες Γιατί αναζήτηση; Η επίλυση οποιουδήποτε προβλήµατος µπορεί να θεωρηθεί ως µια αναζήτηση στον χώρο των πιθανών λύσεων. Οι άνθρωποι είναι ιδιαίτερα ικανοί σε αυτόν τον τοµέα και µπορούν πολύ αποτελεσµατικά να δώσουν απάντηση σε προβλήµατα όπου η αναζήτηση είναι σύνθετη (όπως για παράδειγµα η αναγνώριση του συνοµιλητή από την φωνή του). Σε ορισµένες περιπτώσεις, όµως, οι υπολογιστές µπορούν να είναι πιο αποτελεσµατικοί από τους ανθρώπους στην αναζήτηση (όπως για παράδειγµα στην εύρεση µια συγκεκριµένης λέξης µέσα σε ένα κείµενο). Τελικά η αναζήτηση φαίνεται να είναι πανταχού παρούσα. Γιατί αναπαράσταση; Είναι προφανές ότι οποιοδήποτε σύστηµα ΤΝ χρειάζεται να έχει κάποιες γνώσεις. Ο τρόπος κωδικοποίησης και αναπαράστασης αυτών των γνώσεων παίζει έναν πολύ σηµαντικό ρόλο στην οργάνωση του συστήµατος. Ουσιαστικά ο τρόπος αναπαράστασης της γνώσης καθορίζει σε µεγάλο βαθµό τον τρόπο λειτουργίας του συστήµατος, την αποδοτικότητα των πράξεων που εκτελεί καθώς και τα όρια της αντίληψης που µπορεί να έχει. Για παράδειγµα ένα σύστηµα που θεωρεί τις γνώσεις του ως βέβαιες θα λειτουργεί εσωτερικά πολύ διαφορετικά από ένα σύστηµα που χρησιµοποιεί αβέβαιες ή ασαφείς γνώσεις. Γιατί Προγραµµατισµός; Ο Προγραµµατισµός, δηλαδή η κατάστρωση σχεδίου για την επίτευξη ενός στόχου, συνδυάζει τα προηγούµενα (αναπαράσταση και αναζήτηση) ώστε να δώσει λύση σε πιο σύνθετα προβλήµατα. Έτσι χρησιµοποιείται έντονα στην ροµποτική, και στα συστήµατα υποστήριξης αποφάσεων. Γιατί αξίζει να µελετήσετε ΤΝ σήµερα; Σήµερα οι τεχνικές στις διάφορες υποπεριοχές της ΤΝ έχουν ωριµάσει αρκετά (Φυσική γλώσσα, Όραση, Προγραµµατισµός) και οι πρώτες χρήσιµες εφαρµογές 8

12 Κεφάλαιο 1 κάνουν την εµφάνιση τους. Παράλληλα πολλά εργαλεία έχουν αναπτυχθεί προκειµένου να διευκολύνουν την ανάπτυξη προγραµµάτων ΤΝ. Αυτό απλουστεύει κατά πολύ την ανάπτυξη πειραµατικών εφαρµογών και δίνει την ευκαιρία στους ερευνητές να δοκιµάσουν όλο και πιο σύνθετες τεχνικές. Παρ' όλα αυτά τα επιστηµονικά προβλήµατα και οι προκλήσεις στον τοµέα της ΤΝ είναι ακόµα πάρα πολλά και πολύ σοβαρά ενώ ταυτόχρονα η ανάγκη για την επίλυσή τους συνεχώς αυξάνει. Οι κυριότεροι τοµείς στους οποίους χρησιµοποιούνται σήµερα τα συστήµατα ΤΝ είναι: Προγραµµατισµός εργασιών Συστήµατα υποστήριξης αποφάσεων Επεξεργασία φυσικής γλώσσας, Όραση, Ροµποτική. Ποια είναι τα βασικά "συστατικά" µε τα οποία κατασκευάζονται τα συστήµατα ΤΝ ; 1. Η κάθε περιοχή στην οποία εφαρµόζεται η Τεχνητή Νοηµοσύνη (Επεξεργασία φυσικής γλώσσας, Όραση,...) έχει ιδιαιτερότητες οι οποίες επιβάλουν την χρήση εξειδικευµένων "συστατικών" στην κατασκευή των συστηµάτων ΤΝ. 2. Αναζήτηση (search) στο πεδίο των δυνατών λύσεων. Μια αναζήτηση καθορίζεται από το χώρο αναζήτησης και την τακτική µε την οποία γίνεται. Ο χώρος αναζήτησης είναι συνήθως ένας εικονικός χώρος καταστάσεων τα στοιχεία του οποίου υπολογίζονται βάση ενός αλγορίθµου. Για παράδειγµα το πρόγραµµα "crack" προσπαθεί να βρει το µυστικό κλειδί (password) ενός χρήστη. Ο χώρος στον οποίο γίνεται η αναζήτηση είναι ο χώρος των συµβολοσειρών µέχρι 8 χαρακτήρων. Προφανώς το σύνολο των στοιχείων αυτού του χώρου (~70 8 ) δεν είναι αποθηκευµένα στο πρόγραµµα που κάνει την αναζήτηση αλλά δηµιουργούνται καθώς προχωράει η αναζήτηση. Η τεχνική µε την οποία γίνεται η αναζήτηση µπορεί να είναι τυφλή (π.χ. αναζήτηση κατά βάθος ή κατά πλάτος) αλλά µπορεί να είναι και κάποια εξειδικευµένη ευριστική τεχνική (όπως αυτή που χρησιµοποιεί το "crack" το οποίο ψάχνει µόνο έναν συγκεκριµένο συνδυασµό λέξεων, γραµµάτων και αριθµών και όχι κάθε πιθανή διάταξη χαρακτήρων). Οι ευριστικές τεχνικές γενικά έχουν σαν σκοπό να προσανατολίσουν την αναζήτηση προς την σωστή κατεύθυνση ώστε να µειωθεί ο χρόνος που απαιτείται για την εύρεση της λύσης. Όµως κάθε τέτοια ευριστική τεχνική απαιτεί και αυτή κάποιους υπολογισµούς προκειµένου να λειτουργήσει και αυτοί οι υπολογισµοί επιβαρύνουν την αναζήτηση. ηµιουργείται, δηλαδή, ένας 9

13 Κεφάλαιο 1 ανταγωνισµός µεταξύ του χρόνου που γλιτώνουµε χρησιµοποιώντας µια ευριστική συνάρτηση και του χρόνου που καταναλώνει η ίδια η συνάρτηση. 3. Αναπαράσταση (representation) της γνώσης µε τέτοιο τρόπο ώστε να είναι δυνατόν να εκτελεστούν αποδοτικοί συλλογισµοί. Στην αποδοτική κωδικοποίηση της γενικής γνώσης που µπορεί να περιέχει ένα σύστηµα ΤΝ χρειάζονται κατάλληλες γλώσσες όπως ακριβώς στην αποδοτική κωδικοποίηση αλγορίθµων χρειάζονται κατάλληλες γλώσσες προγραµµατισµού. Για παράδειγµα ο υπολογισµός των αριθµών Fibonaci είναι πολύ πιο αποδοτικός σε µια γλώσσα που υποστηρίζει αναδροµή (όπως η Pascal ή η C) απ' ότι σε µια γλώσσα που υποστηρίζει µόνο εντολές τύπου GOTO (δοκιµάστε να γράψετε πρόγραµµα σε Pascal που να υπολογίζει τους αριθµούς Fibonaci χρησιµοποιώντας µόνο εντολές if... goto...). Αντίστοιχα και στις εφαρµογές ΤΝ υπάρχουν γλώσσες ορισµού της γνώσης που είναι πιο κατάλληλες για ορισµένους τρόπους συλλογισµού. Για παράδειγµα αν θέλουµε να χρησιµοποιήσουµε Κατηγορηµατική Λογική 1ης Τάξης τότε είναι γενικά πιο αποδοτικό να παραστήσουµε την γνώση στην γλώσσα των Προτασιακών Τύπων απ' το να την παραστήσουµε σε φυσική γλώσσα. Ο καθορισµός της γλώσσας που είναι η πλέον κατάλληλη για τον κάθε τρόπο συλλογισµού αποτελεί ακόµα και σήµερα ένα από τα µεγάλα προβλήµατα στην ΤΝ. 4. Προγραµµατισµός (planning) Ο προγραµµατισµός χρησιµοποιεί µεθόδους αναπαράστασης της γνώσης και µεθόδους αναζήτησης προκειµένου να εκτελέσει µια πιο σύνθετη λειτουργία, την κατάστρωση σχεδίου για την επίτευξη κάποιου στόχου. Η λειτουργία αυτή είναι πολύ βασική και απαραίτητη για τις περισσότερες εφαρµογές ΤΝ. Συνοπτικά µπορούµε να πούµε ότι ο Προγραµµατισµός είναι απαραίτητος τόσο στην Ροµποτική όσο και στην Επεξεργασία Φυσικής Γλώσσας και την Όραση. 10

14 Κεφάλαιο 2 Κεφάλαιο 2 : PROLOG Η PROLOG είναι µια γλώσσα προγραµµατισµού για υπολογισµούς συµβόλων και χρησιµοποιούνται για προβλήµατα που έχουν σχέση µε αντικείµενα και τις σχέσεις µεταξύ τους. π.χ. Ο Ζεύς είναι παντρεµένος µε την Ήρα. married (ζεύς,ήρα). εδοµένα (facts). child (οιδίπους,ιοκάστη). child (αντιγόνη,ιοκάστη). child (ετεοκλής,ιοκάστη). child (πολυνίκης,ιοκάστη). child (οιδίπους,λάιος). child (αντιγόνη, οιδίπους). child (ετεοκλής, οιδίπους). child (πολυνίκης,λάιος). male (λάιος). male (ετεοκλής). female (αντιγόνη). male (οιδίπους). male (πολυνίκης). female (ιοκάστη). married (λάιος, ιοκάστη). married (ιοκάστη, λάιος). married (οιδίπους, ιοκάστη). married (ιοκάστη, οιδίπους). Παραδείγµατα προγραµµάτων:?- child (οιδίπους, λάιος). YES?- child (αντιγόνη, ετεοκλής). NO?- child (X, ιοκάστη). X= οιδίπους?- child (αντιγόνη,x). X= ιοκάστη; X= οιδίπους?- child (X,Y). X= οιδίπους Y= ιοκάστη; X= οιδίπους Y= λάιος; 11

15 Κεφάλαιο 2?- child (X,οιδίπους), child (οιδίπους,y). X= αντιγόνη Y= ιοκάστη; Κανόνες (rules) Ο Χ είναι εγγονός του Υ αν ο Χ είναι παιδί κάποιου Ζ και ο/η Ζ είναι παιδί του Υ. grandchild (X,Y) :- child (X,Z), child (Z,Y). Παράδειγµα 1: parent (X,Y) :- child (X,Y). mother (X,Y) :- parent (X,Y), female (X). father (X,Y) :- parent (X,Y), male (X). sibling (X,Y) :- child (X,Z), child (Y,Z), notequal (X,Y). sister (X,Y) :- sibling (X,Y), female (X). Παράδειγµα 2: related (X,X). related (X,Y) :- married (X,Y). related (X,Y) :- child (X,Z), related (Z,Y). related (X,Y) :- child (Y,Z), related (Z,X). Μέχρι στιγµής έχουµε δει γεγονότα και κανόνες. Ακολουθεί η έννοια του στόχου (goal). Οι στόχοι είναι ακριβώς σαν τα δεδοµένα ή σαν κανόνες χωρίς περιορισµούς, η χρήση τους είναι όµως διαφορετική. Έχουν τη µορφή επιβεβαιωτικών ερωτήσεων (verifier goals) ή αναζητήσεων (finder goals). Οι πρώτοι απαντάνε µε ένα ΝΑΙ-ΟΧΙ ενώ οι δεύτεροι βρίσκουν τιµές. Παραδείγµατα: Επιβεβαιωτικό:?- child (οιδίπους,λάιος). Αναζήτηση:?- child (X,Y). Αναδροµικοί Κανόνες (recursive rules) Μεγάλης σηµασίας είναι οι αναδροµικοί κανόνες στην PROLOG. Για παράδειγµα αν έχουµε ότι ο D είναι απόγονος του Α αν ο D είναι παιδί του Α ή είναι παιδί κάποιου P που είναι απόγονος του Α, τότε ο ορισµός του απόγονου µπορεί να γραφτεί ως εξής: descendant (D,A) :- child (D,A). descendant (D,A) :- child (D,P), descendant (P,A). 12

16 Κεφάλαιο 2 Άλλο παράδειγµα: uncle (U,N) :- child (N,P), sibling (P,U), male (U). uncle (U,N) :- child (N,P), sibling (P,Q), married (Q,U), male (U). H PROLOG σαν γλώσσα προγραµµατισµού Γενικά: ΑΛΓΟΡΙΘΜΟΣ = ΛΟΓΙΚΗ + ΕΛΕΓΧΟΣ. Η ΛΟΓΙΚΗ εκφράζει το τι θέλουµε να κάνουµε ενώ ο ΕΛΕΓΧΟΣ το πώς. Ο προγραµµατιστής στην PROLOG ασχολείται µόνο µε τη ΛΟΓΙΚΗ. Το πώς θα επιτευχθεί αυτό το αναλαµβάνει ο επεξεργαστής (εκτελεστής - executor) της PROLOG. Για να µπορούµε να αντιληφθούµε τις εντολές της PROLOG υπάρχουν γενικά δύο τρόποι: Λογικά και ιαδικαστικά. Για παράδειγµα: grandchild (X,Y) :- child (X,Z), child (Z,Y). (α) (β) Άν ο Χ είναι παιδί κάποιου Ζ και ο Ζ είναι παιδί κάποιου Υ, τότε ο Χ είναι εγγόνι του Υ. Για να δείξουµε ότι ο Χ είναι εγγόνι του Υ πρώτα δείχνουµε ότι ο Χ είναι παιδί κάποιου Ζ και µετά ότι ο Ζ είναι παιδί του Y. Μερικοί ορισµοί: Ένα literal είναι µια έκφραση της µορφής: P (t 1, t 2,,t n ) P t i όπου είναι ένα κατηγόρηµα (predicate) n θέσεων είναι όροι (terms) δηλ. είτε µια µεταβλητή, είτε µια σταθερά τιµή είτε µια συνάρτηση m θέσεων (function) της µορφής f(x 1, x 2,,x m ). Μια αντικατάσταση (substitution) είναι ένα σύνολο ζευγών: θ(x 1 =t 1, x 2 =t 2,, x N =t N ) όπου x i = µεταβλητή t i = όρος 13

17 Κεφάλαιο 2 Η γενική µορφή των εντολών της PROLOG είναι οι Horn Clauses που έχουν τη µορφή P Q1, Q2, Q3,., Qn. Το P και τα Qi είναι literals. Το P ονοµάζεται επακόλουθο (consequent) ενώ το δεξί σκέλος προηγούµενα (antecedents). Μια clause χωρίς προηγούµενα λέγεται δήλωση (assertion). Μια clause χωρίς επακόλουθο λέγεται στόχος (goal). Αν L είναι ένα literal τότε το αποτέλεσµα της εφαρµογής της αντικατάστασης θ στο L είναι µια νέα έκφραση Lθ που είναι ίδια µε το L µόνο που κάθε εµφάνιση του x i έχει αντικατασταθεί µε το t i Παράδειγµα: θ = {X=son(ιοκάστη), Y=U} L = child(x,y) Lθ = child(son(ιοκάστη), U) L = child(son(x), son(αντιγόνη)) Lθ = child(son(son(ιοκάστη)), son(αντιγόνη)) 2.1 ΕΝΟΠΟΙΗΣΗ (unification) Λέµε ότι µια αντικατάσταση θ ενοποιεί (unifies) δυο literals L1 και L2 αν L1θ = L2θ. π.χ. αν L1=child(X,Y) και L2=child(son(ιοκάστη),U) τότε θ={ Χ= son(ιοκάστη),y=u} και L1θ = L2θ = child(son(ιοκάστη),u). Πολύ σηµαντικό πριν γίνει ενοποίηση είναι να βεβαιωθούµε ότι δεν υπάρχουν κοινές (ονοµαστικά) µεταβλητές, αλλιώς πρέπει να αλλάξουµε τα ονόµατα. Για παράδειγµα: parent(x,y) unify parent(son(x), X) πρέπει πρώτα να γίνει µετονοµασία σε: parent(x,y) unify parent(son(z), Z). 14

18 Κεφάλαιο ΣΧΕΣΗ PROLOG ΚΑΙ ΜΑΘΗΜΑΤΙΚΗΣ ΛΟΓΙΚΗΣ Οι εκφράσεις PROLOG είναι εκφράσεις κατηγορικού λογισµού πρώτης τάξης (firstorder predicate logic formulas) αλλά χωρίς quantifiers, και επί πλέον σε Horn clause µορφή, δηλ. οι εκφράσεις έχουν το πολύ ένα επακόλουθο. 2.3 ΑΝΤΙΣΤΟΙΧΗΣΗ ΕΚΦΡΑΣΕΩΝ ΚΑΙ ΕΝ ΡΩΝ f (g (Ab, 2), 100) s (np (art (Ta), n (αγόρια)), vp (v(αγαπούν) n (κορίτσια))) f s g 100 np vp Ab 2 art n v n Τα αγόρια αγαπούν κορίτσια 2.4 ΠΑΡΑΣΤΑΣΗ ΕΓΓΡΑΦΩΝ π.χ. σε Pascal type person = record end name: string; address: string; birth: array[1..3] of integer; sex: boolean σε PROLOG person(name(n), address(a), birth(d.m.y), sex(s)). 15

19 Κεφάλαιο ΟΜΕΣ Ε ΟΜΕΝΩΝ ΣΤΗΝ PROLOG Λίστες Χρησιµοποιώντας την τελεία (dot) έχουµε λίστες. π.χ. (a.(b.(c.d))) είναι σαν a. b. c. d. nil Ακόµα καλύτερα µε αγκύλες [a,b,c,d] Γενικά nil [] ab.nil [ab] nil.nil.nil [ [], [] ] (a.nil). (b.nil). nil [ [a],[b] ] ((ab.nil). nil). nil) [ [ [ab] ] ] Χειρισµός Λιστών Συνήθως αναδροµικά 1. Αν η λίστα είναι nil γύρνα την τιµή που αναµένεται για το nil 2. Αλλιώς, κόψε την λίστα σε δύο τµήµατα (head, tail) δούλεψε µε το head, δούλεψε αναδροµικά µε το tail και στο τέλος συνδύασε τα αποτελέσµατα. Π.χ. total (nil, 0). total (Head.Tail, T) :- total (Tail, Subtotal), T=Head+Subtotal. Το total(l,n) υπολογίζει το άθροισµα µιας λίστας αριθµών. Υπολογισµός µεγέθους λίστας: length (L,N) length (nil,0). length (Head.Tail,N) :- length (Tail,M), N=M+1. Ή αλλιώς length ([],0). length ([H Tail], N) :- length (Tail,M), N=M+1. 16

20 Κεφάλαιο 2 Υπολογισµός αν κάποιο στοιχείο είναι µέλος λίστας: member (X,L) member (X, [X Tail]). member (X, [Head Tail]) :- member (X,Tail). Εξαγωγή ενός στοιχείου από λίστα: pick (X,L1,L2) pick (X, [X Tail], Tail). pick (X, [Head Tail], [Head Rem]) :- pick (X, Tail, Rem). Συνένωση λιστών: append (L1,L2,L3) (βάλε το L1 στο L2 µε αποτέλεσµα το L3) append (nil, L, L). append ([H T], L, [H P]) :- append (T,L,P). Παραδείγµατα:?- append (L, L, [a,b,d,a,b,d]). L = [a,b,d]?- append ([a,b], [c], L3). L3 = [a,b,c]?- append (X, [b,c], [a,d,b,c]). X = [a,d]. Παρατηρήστε ότι δεν υπάρχει καµία διαφοροποίηση µεταξύ input και output µεταβλητών. Ας δούµε τώρα ένα ολοκληρωµένο πρόγραµµα: QUICKSORT 1. Μια κενή λίστα είναι ταξινοµηµένη qsort ([],[]). 2. Για να ταξινοµήσουµε µια λίστα, διαλέγουµε το Head της λίστας για να κάνουµε το σπάσιµο σε δύο κοµµάτια και ταξινοµούµε ξεχωριστά τα δύο αυτά τµήµατα. qsort ([ H T ], S) :- partition(h,t,l1,l2), qsort (L1,S1), qsort (L2,S2), append (S1, [H S2], S). 17

21 Κεφάλαιο 2 partition (P, [H T], [H L1], L2) :- gt (H,P), partition (P,T,L1,L2). partition (P, [H T], T1, [H L2]) :- le (H,P), partition (P,T,L1,L2). partition ( _, [], [], []). Οι δύο πρώτοι κανόνες για το partition συγκρίνουν την τιµή διαχωρισµού P (pivot) µε το Head της λίστας L. Ανάλογα µε τη σύγκριση βάζουν το H µπροστά στην L1 ή στην L ΛΕΠΤΟΜΕΡΕΙΕΣ ΓΙΑ ΤΗΝ ΕΝΟΠΟΙΗΣΗ (Unification) Μετά από αυτά τα απλά παραδείγµατα επανερχόµαστε στο θέµα της ενοποίησης, και συγκεκριµένα στο πως κάνουµε ενοποίηση (πως βρίσκουµε unifiers); 1. Για ενοποίηση δυο literals (L1 στην clause C1 και L2 στην clause C2) πρώτα µετονοµάζουµε όλες τις µεταβλητές ώστε να µην έχουν κοινά ονόµατα. 2. Κτίζουµε ένα unifier βρίσκοντας αντικαταστάσεις που µε την υπόθεση ότι τα literals είναι L1 = P(t 1, t 2,., t k ) L2 = P(t 1, t 2,., t k ) πρέπει να κάνουν ταυτόσηµα τα t 1 µε t 1, t 1 µε t 2,., t k µε t k αντίστοιχα. 3. Για να κάνουµε ενοποίηση µεταξύ δύο όρων t 1 και t 2 υπάρχουν δύο περιπτώσεις: (α) Το t 1 (ή το t 2 ) είναι µεταβλητή: τότε ενοποιούµε µε Χ=t 2 (β) Αν t 1 = f (q 1, q 2,, q m ) και t 2 = f (r 1, r 2,, r m ) τότε ενοποιούµε q 1 µε r 1, έπειτα q 2 µε r 2, κλπ. Αν καµία από τις παραπάνω περιπτώσεις δεν ισχύει δεν µπορεί να γίνει ενοποίηση. Παράδειγµα: Έστω L1 = parent (X,Y) L2 = parent (Y,son(Z)) κάνουµε µετονοµασία στην δεύτερη parent (W,son(Z)) και µετά βρίσκουµε την αντικατάσταση θ = {X=W, Y=son(Z)} 18

22 Κεφάλαιο ΠΑΡΑΓΩΓΗ SUBGOALS Έστω ένα goal :- A1, A2,, Ai,, Am (m >=1) και µια clause B :- B1, B2,., Bk χωρίς κοινές µεταβλητές. Τότε ένα νέο goal παράγεται αν υπάρχει unifier θ για το Ai και το B :- A1, A2,, B1, B2,., Bk,, Am (m >=1) Παράδειγµα: :- parent (X, ιοκάστη), parent (ιοκάστη, Y) και parent(u,v) :- spouse(u,w), parent (W,V) τότε µε την αντικατάσταση {U=ιοκάστη, V=Y} παίρνουµε την έκφραση :- parent (X, ιοκάστη), spouse(ιοκάστη,w), parent (W,V). 2.8 ΠΩΣ ΟΥΛΕΥΕΙ Η PROLOG; Βασικά δηµιουργεί ένα δένδρο Τ εκτέλεσης. Ορισµός: Ένα δέντρο εκτέλεσης Τ για ένα πρόγραµµα P, ένα goal G, και ένα κανόνα R της PROLOG ορίζεται ως εξής: 1. Η ρίζα του δέντρου είναι το G 2. Κάθε κόµβος του δέντρου είναι ένα goal 3. Έστω A1, A2,, Am,, An ένας κόµβος, και έστω ότι ο κανόνας R διαλέγει το Am. Tότε για κάθε A :- B1, B2,., Bl όπου το Am και το A ενοποιούνται µε θ, τότε το (A1,,Am-1, B1,,Bl, Am+1,, An)θ είναι απόγονος του A1, A2,, An. 4. Κόµβοι µε άδειο clause (που δεν ενοποιείται µε τίποτα) ΕΝ έχουν απογόνους. 19

23 Κεφάλαιο 2 Παράδειγµα: r1 r2 descendant (D,A) :- child (D,A). descendant (D,A) :- child (D,P), descendant (P,A). child (οιδίπους,ιοκάστη). child (οιδίπους,λάιος). child (αντιγόνη,ιοκάστη). child (ετεοκλής,ιοκάστη). child (ετεοκλής,οιδίπους). Ερώτηση:?- descendant (ετεοκλής, λάιος) descendant (ετεοκλής, λάϊος) r1 r2 child (ετεοκλής, λάϊος ) child (ετεοκλής, Χ) descendant (X, λάϊος) X=οιδίπους r1 [ ] ΟΧΙ child (ετεοκλής, οιδίπους) child (οιδίπους, λάϊος) [ ] ΝΑΙ 20

24 Κεφάλαιο ΠΩΣ ΕΚΤΕΛΕΙ ΠΡΟΓΡΑΜΜΑΤΑ Η PROLOG; Βασικές αρχές: LEFT TO RIGHT TOP TO BOTTOM αλλά ο τρόπος αυτός που λειτουργεί η PROLOG κάνει την διαδικασία ατελή! Έστω: (1) p(a,b). (2) p(c,b). (3) p(x,z) :- p(x,y), p(y,z). (4) p(x,y) :- p(y,x). ερώτηση: :- p(a,c) :-p(a,c) 3 4 p(a,y), p(y,c) p(c,a) p(b,c) p(a,y1), p(y1,y), p(y,c) p(y,a),p(y,c) p(b,y), p(y,c) p(c,b) p(b,y'),p(y',y),p(y,c)... [] εν θα βρεθεί ποτέ λύση! 21

25 Κεφάλαιο ΟΜΗ ΕΛΕΓΧΟΥ ΤΗΣ PROLOG Goal literals διαλέγονται left-to-right Για δεδοµένο goal literal, το πρόγραµµα ψάχνει top-to-bottom για µια clause που η κεφαλή της (consequent) ενοποιείται (unifies). Αν υπάρχει τέτοια, ένα σηµάδι αφήνεται, και το body της clause µπαίνει στο goal list. Αν δεν υπάρχει τέτοια, το goal αποτυγχάνει και συµβαίνει backtracking (δηλ. πηγαίνει σε προηγούµενα goal literals της goal list). Η διαδικασία συνεχίζεται µέχρι όλα τα goals να έχουν ικανοποιηθεί ή όλες οι επιλογές να έχουν εξαντληθεί. Παράδειγµα : Ο ΠΙΘΗΚΟΣ ΚΑΙ Η ΜΠΑΝΑΝΑ Θα πιάσει ο πίθηκος την µπανάνα; Ένας πίθηκος µπορεί: walk να περπατήσει pushbox να σπρώξει το κουτί climbbox να ανέβει στο κουτί reach αν είναι πάνω στο κουτί και κάτω από την µπανάνα 22

26 Κεφάλαιο 2 Αναπαράσταση Το πρόβληµα σαν 4-tuple: (Σ, Τ, σ αρχικό, Σ τελικό ) Σ Τ σ αρχικό σύνολο καταστάσεων (states) επιτρεπόµενοι µετασχηµατισµοί των καταστάσεων αρχική κατάσταση Στελικό Σ οι τελικές καταστάσεις Για το πρόβληµά µας: Σ = σύνολο από σ = (p m, p b, b box b grasp? ) p m = position of monkey - θέση του πίθηκου p b = position of box - θέση του κουτιού b box = boolean, monkey on box? - είναι πάνω στο κουτί; b grasp? = boolean, monkey has banana? - έχει τη µπανάνα; p i {X X Room} b i {yes,no} σ αρχικό = (atdoor, atwindow, no, no) Σ τελικό = { ( _, _, _, yes) } Στην PROLOG θα χρησιµοποιήσουµε τον συµβολισµό state (X, Y, Z, W) Για τις µεταβάσεις µεταξύ καταστάσεων χρησιµοποιούµε το move (S1, M, S2) S1 = προηγούµενη κατάσταση M = είδος κίνησης S2 = επόµενη κατάσταση και καταγράφουµε όλες τις επιτρεπόµενες κινήσεις: move (state (middle, middle, yes, no), reach, state (middle, middle, yes, yes)). move (state (P, P, no, H), climbbox, state (P, P, yes, H)). move (state (P1, P1, no, H), pushbox(p1,p2), state (P2, P2, no, H)). move (state (P1, B, no, H), walk(p1,p2), state (P2, B, no, H)). Το πρόγραµµα για τον πίθηκο είναι: 23

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

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

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

PROLOG Εισαγωγή (PROgramming in LOGic)

PROLOG Εισαγωγή (PROgramming in LOGic) PROLOG Εισαγωγή (PROgramming in LOGic) Γλώσσα Λογικού Προγραμματισμού Βασίζεται στο Προτασιακό Λογισμό 1 ης τάξης Χρησιμοποιεί προτάσεις Horn αλγόριθμος = λογική + έλεγχος Μέσω της Prolog δίνουμε βάρος

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 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. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

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

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

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

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD) Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο

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

Περιγραφή Προβλημάτων

Περιγραφή Προβλημάτων Τεχνητή Νοημοσύνη 02 Περιγραφή Προβλημάτων Φώτης Κόκκορας Τμ.Τεχν/γίας Πληροφορικής & Τηλ/νιών - ΤΕΙ Λάρισας Παραδείγματα Προβλημάτων κύβοι (blocks) Τρεις κύβοι βρίσκονται σε τυχαία διάταξη πάνω στο τραπέζι

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

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

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

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

Πληροφορική 2. Τεχνητή νοημοσύνη

Πληροφορική 2. Τεχνητή νοημοσύνη Πληροφορική 2 Τεχνητή νοημοσύνη 1 2 Τι είναι τεχνητή νοημοσύνη; Τεχνητή νοημοσύνη (AI=Artificial Intelligence) είναι η μελέτη προγραμματισμένων συστημάτων τα οποία μπορούν να προσομοιώνουν μέχρι κάποιο

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

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

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση: Έστω ότι έχουμε τους παίκτες Χ και Υ. Ο κάθε παίκτης, σε κάθε κίνηση που κάνει, προσπαθεί να μεγιστοποιήσει την πιθανότητά του να κερδίσει. Ο Χ σε κάθε κίνηση που κάνει

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 8 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 2 2.1 ΜΕΤΑΒΛΗΤΕΣ (ΜΕΡΟΣ Β) Στην προηγούµενη διάλεξη µάθαµε ότι µπορούµε να χρησιµοποιούµε τη ρητή ή την αυτονόητη δήλωση µεταβλητών

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Περιγραφή Προβλημάτων Διαισθητικά, σε ένα πρόβλημα υπάρχει μια δεδομένη κατάσταση

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

Επίλυση προβληµάτων. Αλγόριθµοι Αναζήτησης

Επίλυση προβληµάτων. Αλγόριθµοι Αναζήτησης Επίλυση προβληµάτων! Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Γενικά " Τεχνητή

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

2.2.3 Η εντολή Εκτύπωσε

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

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

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

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

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

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

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

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

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

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

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

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

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

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

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

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

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

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

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

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές: 2 Αποδείξεις Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές: Εκδοση 2005/03/22 Εξαντλητική µέθοδος ή µέθοδος επισκόπησης. Οταν το πρόβληµα έχει πεπερασµένες αριθµό περιπτώσεων τις εξετάζουµε

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ Μάθηµα Κατεύθυνσης Πληροφορική Επιστήµη Η.Υ. Γ Ενιαίου Λυκείου ΟΚΤΩΒΡΙΟΣ 2005 1 Αναλυτικό Πρόγραµµα Μάθηµα Κατεύθυνσης:

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

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα #2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα ηµήτρης Ν. Σερπάνος Εργαστήριο Συστηµάτων Υπολογιστών Τµήµα Ηλεκτρολόγων Μηχ. & Τεχνολογίας Υπολογιστών Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα Αλγόριθµοι:

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο ιδασκοντες: Α. Μπεληγιάννης - Σ. Παπαδάκης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt.html Τετάρτη 7 Φεβρουαρίου 03 Ασκηση. είξτε ότι

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

Προγραµµατισµός Ι (ΗΥ120)

Προγραµµατισµός Ι (ΗΥ120) Προγραµµατισµός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή ΑΝΑΚΟΙΝΩΣΗ 2 Το αυριανό µάθηµα θα πραγµατοποιηθεί στο αµφιθέατρο Σαράτση Ποιος είµαι εγώ! 3 Ναύπλιο, 4/1976-9/1993 Πάτρα, 9/1993-6/2004 Williamsburg, VA, USA,

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 1 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 1 1.1 ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Ένα πρόγραµµα σε οποιαδήποτε γλώσσα προγραµµατισµού δεν τίποτα άλλο από µια σειρά εντολών που πρέπει

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

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

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

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

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου Ορισµοί κεφαλαίου Αλγόριθµος είναι µια πεπερασµένη σειρά ενεργειών, αυστηρά καθορισµένων και εκτελέσιµων σε πεπερασµένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήµατος. Σηµαντικά σηµεία κεφαλαίου Κριτήρια

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

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

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα

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

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 2ο μέρος σημειώσεων: Συστήματα Αποδείξεων για τον ΠΛ, Μορφολογική Παραγωγή, Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ 1. ίνεται το γνωστό πρόβληµα των δύο δοχείων: «Υπάρχουν δύο δοχεία

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Ενότητα 1: Εισαγωγή Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια χρήσης Creative Commons

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

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

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

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

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

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ Λογικός τύπος ( ) Ο τύπος είναι κατάλληλoς για την αναπαράσταση ποσοτήτων που μπορούν να πάρουν δύο μόνο τιμές (π.χ. ναι/όχι, αληθές/ψευδές, ). Τιμές ή Δήλωση Εκχώρηση Ισοδυναμία με ακέραιους

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

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

1 Συνοπτική ϑεωρία. 1.1 Νόµοι του Προτασιακού Λογισµού. p p p. p p. ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

1 Συνοπτική ϑεωρία. 1.1 Νόµοι του Προτασιακού Λογισµού. p p p. p p. ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών HY-180: Λογική Εαρινό Εξάµηνο 2016 Κ. Βάρσος Πρώτο Φροντιστήριο 1 Συνοπτική ϑεωρία 1.1 Νόµοι του Προτασιακού Λογισµού 1. Νόµος ταυτότητας : 2. Νόµοι αυτοπάθειας

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

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

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 21η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: «Artificial Intelligence A Modern Approach» των. Russel

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

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

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

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

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

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

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής ΗΥ 180 - Λογική Διδάσκων: Καθηγητής E-mail: dp@csd.uoc.gr Ώρες διδασκαλίας: Δευτέρα, Τετάρτη 4-6 μμ, Αμφ. Β Ώρες φροντιστηρίου: Πέμπτη 4-6 μμ, Αμφ. Β Ώρες γραφείου: Δευτέρα, Τετάρτη 2-4 μμ, Κ.307 Web site:

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

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

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

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

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

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

Κεφάλαιο 4ο: Εντολές επιλογής

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

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

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

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

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

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

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

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

o AND o IF o SUMPRODUCT

o AND o IF o SUMPRODUCT Πληροφοριακά Εργαστήριο Management 1 Information Συστήματα Systems Διοίκησης ΤΕΙ Τμήμα Ελεγκτικής Ηπείρου Χρηματοοικονομικής (Παράρτημα Πρέβεζας) και Αντικείµενο: Μοντελοποίηση προβλήµατος Θέµατα που καλύπτονται:

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει.

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

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

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

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

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

ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΤΗ ΓΛΩΣΣΑ PROLOG ΠΑΡΑ ΕΙΓΜΑ 1

ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΤΗ ΓΛΩΣΣΑ PROLOG ΠΑΡΑ ΕΙΓΜΑ 1 ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΤΗ ΓΛΩΣΣΑ PROLOG ΠΑΡΑ ΕΙΓΜΑ 1 Έστω ότι µας ζητούν να γράψουµε ένα πρόγραµµα Prolog που να εκτυπώνει την οποιαδήποτε υπο-λίστα της παρακάτω λίστας: red blue green yellow gray χρησιµοποιώντας

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 22 Νοεμβρίου 2016 (χειρόγραφη και ηλεκτρονική παράδοση 9 Δεκεμβρίου) Άσκηση 1: Θεωρήστε τη γραμματική με κανόνες: Α B a A a c B B b A b

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B

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

Εισαγωγή. ! Η µελέτη της νοηµοσύνης είναι ένα από τα πιο παλιά θέµατα.

Εισαγωγή. ! Η µελέτη της νοηµοσύνης είναι ένα από τα πιο παλιά θέµατα. Εισαγωγή! Η ΤΝσυµπλήρωσε 45 χρόνια ζωής Είναι ένα από τα πιο νέα ερευνητικά πεδία Τυπικά ξεκίνησε το 1956 στη συνάντηση µερικών επιφανών επιστηµόνων, όπως ο John McCarthy, ο Marvin Minsky, ο Claude Shannon

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

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

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,

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

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

char name[5]; /* define a string of characters */

char name[5]; /* define a string of characters */ Συµβολοσειρές (Strings) Συµβολοσειρά (string) είναι µια σειρά αλφαριθµητικών χαρακτήρων (γενικά εκτυπώσιµων συµβόλων ASCII). Όταν λέµε σειρά εννοούµε διαδοχικές θέσεις µνήµης που µπορούν να αντιµετωπισθούν

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

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Ενότητες βιβλίου: 6.3, 7.1-7.6, 7.10, 8.1 Ώρες διδασκαλίας: 2 Φυσικές

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

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

Μάθηµα 1. Κεφάλαιο 1o: Συστήµατα. γ R παριστάνει ευθεία και καλείται γραµµική εξίσωση µε δύο αγνώστους.

Μάθηµα 1. Κεφάλαιο 1o: Συστήµατα. γ R παριστάνει ευθεία και καλείται γραµµική εξίσωση µε δύο αγνώστους. Μάθηµα 1 Κεφάλαιο 1o: Συστήµατα Θεµατικές Ενότητες: A. Συστήµατα Γραµµικών Εξισώσεων B. Συστήµατα 3x3 Α. ΣΥΣΤΗΜΑΤΑ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ Ορισµοί Κάθε εξίσωση της µορφής α x+β =γ, µε α, β, γ R παριστάνει

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

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

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

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

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

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

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

3 ο Εργαστήριο Μεταβλητές, Τελεστές 3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται

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

ΚΡΥΠΤΟΓΡΑΦΙΑ Α. ΑΠΟ ΤΟ ΒΙΒΛΙΟ «Η ΦΥΣΗ ΚΑΙ Η ΔΥΝΑΜΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ»

ΚΡΥΠΤΟΓΡΑΦΙΑ Α. ΑΠΟ ΤΟ ΒΙΒΛΙΟ «Η ΦΥΣΗ ΚΑΙ Η ΔΥΝΑΜΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ» ΚΡΥΠΤΟΓΡΑΦΙΑ Α. ΑΠΟ ΤΟ ΒΙΒΛΙΟ «Η ΦΥΣΗ ΚΑΙ Η ΔΥΝΑΜΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ» - Κρυπτογραφία είναι - Κρυπτανάλυση είναι - Με τον όρο κλειδί. - Κρυπτολογία = Κρυπτογραφία + Κρυπτανάλυση - Οι επιστήµες αυτές είχαν

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

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ Κεφάλαιο ο Μεικτές Στρατηγικές Τώρα θα δούµε ένα παράδειγµα στο οποίο κάθε παίχτης έχει τρεις στρατηγικές. Αυτό θα µπορούσε να είναι η µορφή που παίρνει κάποιος µετά που έχει απαλείψει όλες τις αυστηρά

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

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων 1 Είσοδος/Έξοδος Είσοδος/Έξοδος ανάλογα με τον τύπο του προγράμματος Πρόγραμμα

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

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange 64 Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrage Ας υποθέσουµε ότι ένας δεδοµένος χώρος θερµαίνεται και η θερµοκρασία στο σηµείο,, Τ, y, z Ας υποθέσουµε ότι ( y z ) αυτού του χώρου δίδεται από

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

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