Αναδρομικές Συναρτήσεις και Σχέσεις I
|
|
- Αλέξιο Φραγκούδης
- 5 χρόνια πριν
- Προβολές:
Transcript
1 Προγράμματα WHILE και μερικές αναδρομικές συναρτήσεις Αναδρομικές Συναρτήσεις και Σχέσεις I Ορισμός Η ολική συνάρτηση h( x, y) είναι κανονική x Dy h( x, y) = 0 Παρατήρηση Η f( x) = µy[h( x, y) = 0] είναι ορισμένη για κάθε x για μια κανονική συνάρτηση h. Ορισμός R: η μικρότερη κλάση συναρτήσεων που α) περιλαμβάνει τις S, P, Z, U n i, και β) είναι κλειστή ως προς τη σύνθεση, την πρωταρχική αναδρομή και το µ-σχήμα (εφαρμοζόμενο μόνο) σε κανονικές συναρτήσεις. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
2 Προγράμματα WHILE και μερικές αναδρομικές συναρτήσεις Αναδρομικές Συναρτήσεις και Σχέσεις II Θεώρημα Η R περι αμβάνει ακριβώς εκείνες τις συναρτήσεις της PR που είναι ο ικές. Απόδειξη. Έπεται από το Θεώρημα Κανονικής Μορφής Kleene (Kleene Normal Form Theorem) Ορισμός Μια σχέση (ή ένα σύνολο) είναι αναδρομική αν η χαρακτηριστική της (ή του) συνάρτηση είναι (ολική) αναδρομική. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
3 Η γλώσσα GOTO I Μία περιορισμένη γλώσσα GOTO: μεταβλητές και εντολές ανάθεσης όπως στην WHILE. label l digit program label : assignment if var. 0 then goto label ; else goto label Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
4 Η γλώσσα GOTO II Παρατηρήσεις: Οι εντολές των προγραμμάτων GOTO είναι αριθμημένες με διαδοχικές labels αρχίζοντας από το l 0. Η υπολογιστική εκτέλεση ενός GOTO προγράμματος σταματάει όταν εκτελεστεί ένα goto l i και καμία εντολή δεν είναι αριθμημένη με label l i. Άλλα ισοδύναμα υπολογιστικά μοντέλα αποτελούν π.χ. μία γλώσσα assembly, ή μία γλώσσα συναρτησιακή όπως η LISP. Όλα αυτά τα μοντέλα είναι μηχανιστικά ισοδύναμα. Μερικά κοινά χαρακτηριστικά αυτών των μοντέλων είναι π.χ.: ντετερμινιστική υπολογιστική ακολουθία σε διακριτά βήματα. πεπερασμένο σύνολο εντολών που μπορούν να εκτελεστούν από κάποιον επεξεργαστή (άνθρωπο ή μη). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
5 Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κουτιού Γράψε 1 ή 0 στο τρέχον κουτάκι Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κουτάκι Η TM έχει ένα πεπερασμένο αριθμό εσωτερικών καταστάσεων (internal states): Q = tq 0, q 1,...u Πρόγραμμα μιας TM: είναι ένα σύνολο από τετράδες της μορφής xq i, e, d, q j y όπου q i, q j P Q, e P Σ, d P A = Σ Ť tl, Ru με τον εξής συναρτησιακό (ντετερμινιστικό) περιορισμό: Για κάθε xq i, ey υπάρχει το πολύ ένα xd, q j y έτσι ώστε η τετράδα xq i, e, d, q j y να ανήκει στο πρόγραμμα, δηλαδή πρόκειται για μια συνάρτηση μετάβασης (transition function) δ : Q ˆ Σ Ñ A ˆ Q. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
6 Παραδείγματα TM I Παράδειγμα: Σ = t0, 1u, Q = tq 0, q 1 u Πρόγραμμα: txq 0, 1, 0, q 1 y, xq 1, 0, R, q 0 yu Είσοδος: πεπερασμένος αριθμός διαδοχικών 1, όλα τα υπόλοιπα κουτάκια περιέχουν 0. Αρχική κατάσταση: q 0 Αρχική θέση κεφαλής (τρέχον κουτάκι): το αριστερότερο 1 Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
7 Παραδείγματα TM II Παράδειγμα υπολογιστικής ακολουθίας, δηλαδή νόμιμης ακολουθίας από στιγμιότυπα: Ò q Ò q Ò q ñ q q q q halt Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
8 Παραδείγματα TM III Σε κάθε TM μπορούμε να αντιστοιχίσουμε μια μερική συνάρτηση από το N στο N. Η είσοδος n P N παριστάνεται με n + 1 διαδοχικά 1 (έτσι ο αριθμός 0 παριστάνεται με 1). Σαν αρχικό στιγμιότυπο έχουμε την κεφαλή (τρέχον κουτάκι) να δείχνει στο αριστερότερο 1 και να βρίσκεται στην κατάσταση q 0. Σαν έξοδο λαμβάνουμε το συνολικό αριθμό από 1 που βρίσκεται στην ταινία, όταν και εάν η μηχανή σταματήσει. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
9 Παραδείγματα TM IV Παράδειγμα Να κατασκευαστεί μια TM που υπολογίζει το 2 x. Ιδέα: 0 0 /1 / Ò 1 1 Η TM θα εργάζεται σύμφωνα με το παρακάτω πρόγραμμα (το οποίο γράφεται πάντα πρώτα σε άτυπη γλώσσα υψηλού επιπέδου): αρχικοποίηση; (δια ραφή του πρώτου 1) while είσοδος<>0 do διά ραψε ένα 1 από είσοδο; μετακίνησε κεφα ή δεξιά πέρα από είσοδο και έξοδο; πρόσθεσε δύο 1 στην έξοδο; μετακίνησε κεφα ή αριστερά πέρα από έξοδο και είσοδο end Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
10 Παραδείγματα TM V ă q q 1 ą ă q 1 0 R q 2 ą ă q q 3 ą halt για ă q 2 0 ą ă q 3 0 R q 4 ą ă q 4 1 R q 4 ą ă q 4 0 R q 5 ą ă q 5 1 R q 5 ą ă q q 6 ą ă q 6 1 R q 6 ą ă q q 7 ą ă q 7 1 L q 7 ą ă q 7 0 L q 8 ą ă q 8 1 L q 8 ą ă q 8 0 R q 2 ą Πίνακας: Πρόγραμμα TM παραδείγματος σε μορφή τετράδων Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
11 Παραδείγματα TM VI q 0 q 1 q 2 q 3 q 4 q 5 q 6 q 7 q 8 0 R/q 2 R/q 4 R/q 5 1/q 6 1/q 7 L/q 8 R/q 2 1 0/q 1 0/q 3 R/q 4 R/q 5 R/q 6 L/q 7 L/q 8 Πίνακας: TM σε μορφή πίνακα Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
12 Παραδείγματα TM VII 1 Ñ R startñ q 0 q 3 q 4 q 5 1 Ñ R 0 Ñ R 0 Ñ R 1 Ñ 0 1 Ñ 0 0 Ñ 1 0 Ñ R 0 q 1 q 2 halt q 6 1 Ñ R 1 Ñ L 0 Ñ R 0 Ñ 1 0 Ñ L q 8 q 7 1 Ñ L Σχήμα: TM σε μορφή διαγράμματος καταστάσεων Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
13 Παραδείγματα TM I Στο επόμενο παράδειγμα το αλφάβητο είναι Σ = t0, 1, \u. Η είσοδος και η έξοδος κωδικοποιούνται στο δυαδικό σύστημα. Παράδειγμα: Να κατασκευαστεί μια TM που υπολογίζει το x + 1. Η TM θα εργάζεται σύμφωνα με το παρακάτω πρόγραμμα: Κάνε τρέχον το κουτάκι με τε ευταίο σύμβο ο της εισόδου x; repeat Αν τρέχον κουτάκι έχει \, ράψε 1 και σταμάτα; Αν τρέχον κουτάκι έχει 1, ράψε 0, κάνε τρέχον το αμέσ ς αριστερότερο κουτάκι, και κρατούμενο := 1; Αν τρέχον κουτάκι έχει 0, ράψε 1, κάνε τρέχον το αμέσ ς αριστερότερο κουτάκι, και κρατούμενο := 0; until κρατούμενο = 0; Κάνε τρέχον το κουτάκι με πρώτο σύμβο ο του x + 1 και σταμάτα; Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
14 Παραδείγματα TM II start q 0 \ Ñ L 0, 1 Ñ R 1 Ñ 0, L q 1 0, 1 Ñ L 0 Ñ 1, L \ Ñ 1 q 2 Halt \ Ñ R Σχήμα: TM σε μορφή διαγράμματος καταστάσεων Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
15 Παραδείγματα TM III Παράδειγμα λειτουργίας με είσοδο x = 1011: (q 0, 1011) $ (q 0, 1011) $ (q 0, 1011) $ (q 0, 1011) $ (q 0, 1011\) $ (q 1, 1011) $ (q 1, 1010) $ (q 1, 1000) $ (q 2, 1100) $ (q 2, \1100) $ (HALT, 1100) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
16 Παραδείγματα TM IV ă q 0 0 q 0 0 R ą ă q 0 1 q 0 1 R ą ă q 0 \ q 1 \ L ą ă q 1 0 q 2 1 L ą ă q 1 1 q 1 0 L ą ă q 1 \ Halt 1 S ą ă q 2 0 q 2 0 L ą ă q 2 1 q 2 1 L ą ă q 2 \ Halt \ R ą Πίνακας: Πρόγραμμα TM 0 1 \ q 0 (q 0, 0, R) (q 0, 1, R) (q 1, \, L) q 1 (q 2, 1, L) (q 1, 0, L) (Halt, 1, S) q 2 (q 2, 0, L) (q 2, 1, L) (Halt, \, R) Πίνακας: TM σε μορφή πίνακα Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
17 Αντιστοιχία προγραμμάτων WHILE και TM WHILE - πρόγραμμα αντίστοιχη TM succ(x) κενή TM pred(x) tq 0 10q 1, q 1 0Rq 2, q 2 10q 2 u zero(x) tq 0 10q 1, q 1 0Rq 0 u ; ένωση των δύο TM μέ αναπροσαρμογή των ονομάτων των καταστάσεων ώστε να είναι διαφορετικές και αναπροσαρμογή της παραστασης εξόδου της πρώτης TM που θα χρησημοποιηθεί ώς είσοδος για τη δέυτερη TM. while παρόμοια (βλ. επίσης το παράδειγμα παραπάνω) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
18 Ντετερμινισμός και μη I Ντετερμινιστική μηχανή Turing (DTM): δ : Q ˆ Σ Ñ Q ˆ A, όπου A = Σ Y tl, Ru Μη-Ντετερμινιστική μηχανή Turing (ΝTM): δ : Q ˆ Σ Ñ Pow(Q ˆ A), όπου A = Σ Y tl, Ru Η τριάδα που αποτελείται από τα περιεχόμενα της ταινίας της TM, την θέση της κεφαλής πάνω στην ταινία και την τρέχουσα κατάσταση της TM ονομάζεται configuration (στιγμιαία περιγραφή) της TM. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
19 Ντετερμινισμός και μη II Σε μία DTM ο υπολογισμός είναι μία γραμμική ακολουθία από configurations (σε κάθε βήμα υπάρχει ακριβώς μία επόμενη νόμιμη configuration). Σε μία NTM, όμως, ο υπολογισμός περιγράφεται με ένα δένδρο από configurations, αφού σε κάθε βήμα είναι δυνατό να προκύψουν περισσότερες από μία επόμενες νόμιμες configurations. Θα λέμε ότι μία συμβολοσειρά γίνεται αποδεκτή από μία NTM, αν γίνεται αποδεκτή τουλάχιστον από ένα υπολογιστικό μονοπάτι του δένδρου. Θεώρημα Για κάθε μη-ντετερμινιστική μηχανή Turing (NTM) υπάρχει ισοδύναμη ντετερμινιστική μηχανή Turing (DTM). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
20 Παραλλαγές TM Παραλλαγές Μηχανών Turing που έχουν την ίδια υπολογιστική δυνατότητα, όχι όμως και αποδοτικότητα (efficiency) είναι: πολλές ταινίες, μνήμη πλέγματος (grid memory), μνήμη περισσοτέρων διαστάσεων μεγαλύτερο Σ πολλές παράλληλες κεφαλές μη ντετερμινιστικές μεταβάσεις μίας κατευθύνσεως, απείρου μήκους ταινία εγγραφή και κίνηση της κεφαλής σε κάθε βήμα Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
21 Υπολογιστικά Μοντέλα I Μερικά υπολογιστικά μοντέλα είναι τα εξής: προγράμματα Pascal προγράμματα Pascal χωρίς αναδρομή (αφαίρεση αναδρομής με χρήση στοίβας) προγράμματα Pascal χωρίς αναδρομή και χωρίς άλλους τύπους δεδομένων εκτός από τους φυσικούς αριθμούς (επιτυγχάνεται με κωδικοποιήσεις) προγράμματα WHILE (μόνη δομή ελέγχου το WHILE) προγράμματα GOTO και IF Assembler-like RAM (random access machine), URM (universal register machine) SRM (single register machine) ένας καταχωρητής Μηχανή Turing (πρόσβαση μόνο σε ένα κουτάκι cell της ταινίας κάθε φορά) παραλλαγές από μηχανές Turing Thue: κανόνες επανεγγραφής (re-writing rules) Post: κανονικά συστήματα (normal systems) Church: λογισμός λ (λ-calculus) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
22 Υπολογιστικά Μοντέλα II Curry: συνδυαστική λογική (combinatory logic) Markov: M. αλγόριθμοι Kleene: γενικά αναδρομικά σχήματα (general recursive schemes) Shepherdson-Sturgis, Elgott: URM, SRM, RAM, RASP Σχήματα McCarthy (if... then... else... ñ LISP) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
23 Υπολογιστικά Μοντέλα III Τα χαρακτηριστικά των παραπάνω μοντέλων είναι: ντετερμινιστική πολυπλοκότητα σε διακριτά βήματα πεπερασμένο σύνολο εντολών που εκτελούνται από επεξεργαστή απεριόριστη μνήμη Θεώρημα f είναι TΜ υπο ο ίσιμη ανν f είναι WHILE-υπο ο ίσιμη f είναι GOTO-υπο ο ίσιμη f είναι PASCAL-υπο ο ίσιμη f είναι μερικά αναδρομική (partial recursive) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
24 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Σχήματα McCarthy I Το σχήμα McCarthy είναι ένα γενικότερο προγραμματιστικό σχήμα: f(x, y) = if g(...) = 0 then h(...) else k(...) όπου g(...), h(...) και k(...) είναι όροι-συναρτήσεις που κατασκευάζονται με σύνθεση και προβολές με x, y, f και άλλες γνωστές συναρτήσεις. Παραδείγματα: 1 επανάληψη: f(x) = if x = 0 then a else g(f(x 1)) 2 πρωταρχική αναδρομή: f(x, y) = if y = 0 then g(x) else h(x, y 1, f(x, y 1)) 3 μ-σχήμα: f(x) = f 1 (x, 0) όπου: f 1 (x, y) = if g(x, y) = 0 then y else f 1 (x, y + 1) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
25 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Σχήματα McCarthy II Το McCarthy σχήμα ορίζει με μοναδικό τρόπο μία συνάρτηση f, στην πραγματικότητα το ελάχιστο σταθερό σημείο της f = τ(f), όπου τ είναι μία σύνθεση από συναρτησιακούς όρους και την if-then-else πρόταση. (Οι συναρτησιακοί όροι όπως και το if-then-else είναι συνεχείς!) Παράδειγμα: f(x, y) = if x = y then y + 1 else f(x, f(x. 1, y + 1)) Οι ακόλουθες συναρτήσεις αποτελούν όλες λύσεις (σταθερά σημεία): (Επιβεβαιώστε το ελέγχοντας όλες τις δυνατές περιπτώσεις!) f 1 (x, y) = x + 1 # x + 1, αν x ě y f 2 (x, y) = y. 1, διαφορετικά # x + 1, αν x ě y και abs(x-y) είναι άρτιος f 3 (x, y) = δεν ορίζεται, διαφορετικά Ισχύουν: f 3 Ă f 1, f 3 Ă f 2, αλλά f 2 Ę f 1, f 1 Ę f 2. Π.χ.: f 1 (2, 5) = 3, f 2 (2, 5) = 4, f 3 (2, 5): μη ορισμένο. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
26 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Σχήματα McCarthy III Τι τιμή θα υπολογίσει μία υλοποίηση σε PASCAL για f(2, 5); PASCAL συμβολισμός: function f(x,y: integer): integer; begin if x = y then f := y + 1 else f := f(x, f(x 1, y + 1)) end PASCAL υπολογισμός: f(2, 5) $ if 2 = 5 then else f(2, f(1, 6)) $ f(2, f(1, 6)) $ f(2, if 1 = 6 then else f(1, f(0, 7))) $ f(2, f(1, f(0, 7))) $... επ άπειρον, δηλαδή f(2, 5) δεν ορίζεται (επίσης και το f 3 (2, 5)). Στην παραπάνω ακολουθία υπολογισμού χρησιμοποιήσαμε δύο διαφορετικούς μηχανισμούς: απλοποιήσεις (simplifications), που είναι μαθηματικοί υπολογισμοί (if-then-else) και αντικαταστάσεις (substitutions) μίας ή περισσοτέρων εμφανίσεων του όρου f(...) με τ(f)(...). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
27 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές I Μία υπολογιστική στρατηγική καθορίζει ποιοι όροι πρέπει να αντικατασταθούν. Δίνουμε μερικά παραδείγματα στρατηγικών (υπογραμμίζουμε τους όρους που θα αντικατασταθούν): LI: αριστερότερη-εσωτερικότερη (leftmost-innermost). Αντιστοιχία με την κλήση με τιμή ( call-by-value ), δηλαδή: f(0, f(0, 1)) + f(f(2, 0), f(3, 1)) LO: αριστερότερη-εξωτερικότερη (leftmost-outermost). Αντιστοιχία με την κλήση κατά όνομα ( call-by-name ), δηλαδή: f(0, f(0, 1)) + f(f(2, 0), f(3, 1)) PI: παράλληλη-εσωτερικότερη (parallel-innermost), δηλαδή: f(0, f(0, 1)) + f(f(2, 0), f(3, 1)) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
28 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές II PO: παράλληλη-εξωτερικότερη (parallel-outermost), δηλαδή: f(0, f(0, 1)) + f(f(2, 0), f(3, 1)) FA: ελευθέρου ορίσματος (free-argument) (υπάρχει τουλάχιστον ένα όρισμα ελεύθερο, δηλαδή δεν περιέχει την f): f(0, f(0, 1)) + f(f(2, 0), f(3, 1)) FS: πλήρους αντικατάστασης (full substitution), δηλαδή: f(0, f(0, 1)) + f(f(2, 0), f(3, 1)) κανονική στρατηγική (normal strategy): βλέπε παρακάτω. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
29 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές III Παρατήρηση: Δεν υπολογίζουν όλες οι στρατηγικές το ελάχιστο σταθερό σημείο. Για παράδειγμα, έστω: f(x, y) = if x = 0 then 1 else f(x 1, f(x, y)). Το ελάχιστο σταθερό σημείο είναι f (x, y) = 1 (επαλήθευση αργότερα). Από την άλλη, η LI στρατηγική υπολογίζει: # 1, αν x = 0 f LI (x, z) = μη ορισμένη, διαφορετικά δηλαδή f(1, 0) $ f(0, f(1, 0)) $ f(0, f(0, f(1, 0))) $... Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
30 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές IV Εύρεση του ελάχιστου σταθερού σημείου ενός McCarthy σχήματος: f(x) = if x ą 10 then x 5 else f(x + 3) Ελάχιστο σταθερό σημείο: f (x) = $ x 5, αν x ą 10 & x 2 αν 8 ď x ď 10 x + 1 αν 5 ď x ď 7 x + 4 αν 2 ď x ď 4 % x + 7 αν x ď 1 Συνολοθεωρητικός συμβολισμός: F = txx, x 5y x ą 10u Y txx, zy x ď 10 ^ xx + 3, zy P Fu Εύρεση ελάχιστου σταθερού σημείου του τ(y) = txx, x 5y x ą 10u Y txx, zy x ď 10 ^ xx + 3, zy P Yu Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
31 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές V Παρατήρηση: Το τ είναι συνεχές, άρα το θεώρημα σταθερού σημείου δίνει: τ 0 (H) = H τ 1 (H) = τ(h) = txx, x 5y x ą 10u τ 2 (H) = τ(τ(h) = τ(txx, x 5y x ą 10u Y tx10, 8y, x9, 7y, x8, 6yu τ 3 (H) = τ(τ 2 (H) = τ(h) Y tx10, 8y, x9, 7y, x8, 6y, x7, 8y, x6, 7y, x6, 7y, x5, 6yu τ 4 (H) = τ 3 (H) Y tx4, 8y, x3, 7y, x2, 6yu τ 5 (H) = τ 4 (H) Y tx1, 8y, x0, 7yu τ 6 (H) = τ 5 (H) και για όλα τα i ě 5: τ i (H) = τ 5 (H), άρα F = Ť i τ i (H) = τ 5 (H) που δίνει ακριβώς την παραπάνω ορισμένη f. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
32 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές VI Μέχρι στιγμής υποθέσαμε (προσποιηθήκαμε) ότι ασχολούμαστε μόνο με αυστηρές (strict) συναρτήσεις, δηλαδή συναρτήσεις που δεν ορίζονται όταν δεν ορίζονται κάποια από τα ορίσματά τους. Όμως, συναρτήσεις που ορίζονται χρησιμοποιώντας σύνθεση και if-then-else δεν έχουν πλέον αυτή την ιδιότητα! Θέλουμε if x = x then 5 else y + 3 να ορίζεται και να είναι ίσο με 5 ακόμα και αν το y δεν ορίζεται. Για να δώσουμε μία πιο συγκεκριμένη περιγραφή της κατάστασης επεκτείνουμε το βασικό πεδίο N (φυσικοί) με ένα νέο σύμβολο K που συμβολίζει την μη ορισμένη τιμή : N K = N Y tku. Προφανώς ισχύει: K Ď P N K (δηλαδή το K είναι λιγότερο, ή εξίσου, ορισμένο σε σχέση με οποιοδήποτε στοιχείο του πεδίου μας). Συνεπώς, αντίστοιχα K \ x = P N K. Μπορούμε να επεκτείνουμε αυτή τη γενίκευση του Ď και \ σε n-άδες, δηλαδή xx, y, Ky Ď xx, y, zy@x, y, z P N K και txx, y, Kyu \ txx, y, zyu = txx, y, zyu. Επιπρόσθετα, έχουμε ακόμα την ακόλουθη ιδιότητα συνέπειας: f(x, K) = y f(x, z) = y. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
33 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές VII Επιστρέφοντας στο αρχικό παράδειγμα του κεφαλαίου μπορούμε να ξεκαθαρίσουμε τον ορισμό της f 1 : # x + 1, αν x και y είναι διαφορετικά από K f 1 (x, y) = K, διαφορετικά Μπορούμε επίσης να επαληθεύσουμε ότι # 1, αν x K f (x, y) = K, διαφορετικά είναι το ελάχιστο σταθερό σημείο της f(x, y) = if x = 0 then 1 else f(x 1, f(x, y)). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
34 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές VIII Συνολοθεωρητικός συμβολισμός: F = τ(f) = tx0, y, 1y y P N K u \ txx, y, zy x 0 ^ Duxx, y, uy P F ^ xx 1, u, zy P Fu Για να υπολογίσουμε επαναληπτικά το ελάχιστο σταθερό σημείο πρέπει να ξεκινήσουμε με Ω αντί για H. Ω είναι η πουθενά ορισμένη συνάρτηση, δηλαδή Ω = txx, y, Ky x, y P N K u. F = ď i τ 0 (Ω) = Ω = txx, y, Kyu τ 1 (Ω) = τ(ω) = tx0, y, 1yu Y txx, y, Ky x 0u τ 2 (Ω) = τ(τ(ω)) = tx0, y, 1y, x1, y, 1yu Y txx, y, Ky x ą 1 _ x = Ku τ 3 (Ω) = tx0, y, 1y, x1, y, 1y, x2, y, 1yu Y txx, y, Ky x ą 2 _ x = Ku τ i (Ω) = txx, y, 1y x P N ^ y P N K u Y txk, y, Ky y P N K u Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
35 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Υπολογιστικές Στρατηγικές IX Παρόμοια μπορεί να δειχθεί ότι η f 3 είναι το ελάχιστο σταθερό σημείο για το αρχικό παράδειγμα του κεφαλαίου. Συνολοθεωρητικός συμβολισμός: F = txx, x, x + 1yu Y tx, y, z x y ^ Du(xx. 1, y + 1, uy P F ^ xx, u, zy P F)u Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
36 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Θεώρημα Cadiou I Θεώρημα (Cadiou) Κάθε υπο ο ιστική στρατη ική υπο ο ίζει μία μερική συνάρτηση g που είναι ι ότερο ή εξίσου ορισμένη με το ε άχιστο σταθερό σημείο f δη. g Ď f. Πόρισμα Αν κάποιος υπο ο ισμός σύμφ νος με κάποια υπο ο ιστική στρατη ική τερματίζει, τότε δίνει πάντοτε την σ στή τιμή της συνάρτησης ε αχίστου σταθερού σημείου f. Ιδέα της απόδειξης: Συμβολισμός: σ(f, f) αντί του τ(f) για να υποδηλώσουμε ακριβώς δύο εμφανίσεις του f στο τ. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
37 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Θεώρημα Cadiou II Θεωρήσατε το ακόλουθο δέντρο που έχει (ως μονοπάτια) υπολογισμούς όλων των δυνατών στρατηγικών: σ(σ(σ(ω, Ω), Ω), Ω)... σ(σ(ω, Ω), Ω) σ(σ(σ(ω, Ω), σ(ω, Ω)), Ω)... Ω σ(ω, Ω) σ(ω, σ(ω, Ω)) σ(σ(ω, Ω), σ(ω, Ω)) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
38 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Θεώρημα Cadiou III Κατά μήκος κάθε μονοπατιού έχουμε μία μη φθίνουσα ακολουθία από συναρτήσεις (όλο και περισσότερο ορισμένες). Το χαμηλότερο μονοπάτι αντιστοιχεί στο: Ω τ(ω) τ(τ(ω))... και οδηγεί στο ελάχιστο σταθερό σημείο f. Σε κάθε επίπεδο του δέντρου όλες οι συναρτήσεις στους κόμβους είναι λιγότερο (ή εξίσου) ορισμένες από την χαμηλότερη. Επομένως, το όριο οποιουδήποτε μονοπατιού είναι λιγότερο (ή εξίσου) ορισμένο από το όριο του χαμηλότερου μονοπατιού, που είναι το ελάχιστο σταθερό σημείο f. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
39 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Θεώρημα Cadiou IV Παρατηρήσεις: Το χαμηλότερο μονοπάτι αντιστοιχεί στην στρατηγική FS. Στην απόδειξη χρησιμοποιήσαμε μία τεχνική που ονομάζεται υπολογιστική επαγωγή (computational induction): αν θέλουμε να αποδείξουμε την ιδιότητα A(f) για μια συνάρτηση f ορισμένη με ένα σχήμα τύπου McCarthy 1 δείχνουμε A(Ω) 2 υποθέτοντας A(g), δείχνουμε A(τ(g)) 3 A(τ i (Ω)), δείχνουμε A( Ů i τ i (Ω)) Η LISP είναι μία γλώσσα προγραμματισμού βασισμένη σε αναδρομές τύπου McCarthy. Οι outermost στρατηγικές είναι στρατηγικές σταθερού σημείου (διαισθητικά, διότι το εμφωλιασμένο βάθος των υπαρχουσών εμφανίσεων δεν αυξάνεται). Για αυτό οι LO, PO, FS και FA είναι στρατηγικές σταθερού σημείου, αλλά οι LI, PI δεν είναι (παρότι πιθανώς έχουν λιγότερες αντικαταστάσεις αν τερματίζουν με τη τιμή f ). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
40 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Θεώρημα Cadiou V Κανονική στρατηγική: μία στρατηγική σταθερού σημείου με ελάχιστο αριθμό αντικαταστάσεων (όχι κατ ανάγκη ελάχιστο αριθμό βημάτων αντικατάστασης). Σύνθημα: Ποτέ μην κάνεις κάτι σήμερα που μπορείς να αναβάλεις για αύριο δηλαδή κοίτα μπροστά: Έλεγξε αν μετά από την αντικατάσταση της L.O. εμφάνισης, μπορείς απ ευθείας να υπολογίσεις την if-συνθήκη. Στην περίπτωση που αυτό γίνεται, κάνε αυτή την αντικατάσταση. Στην περίπτωση που δεν γίνεται έλεγξε με τον ίδιο τρόπο την L.O. εμφάνιση στην if-συνθήκη που δεν μπορεί να υπολογιστεί απευθείας, κ.τ.λ. (Τελικά θα βρεις μία καλή εμφάνιση, που δίνει υπολογίσιμες if-συνθήκες.) Παράδειγμα: f(x, y) = if x ď 10 then x + y else f(x 10, f(x 5, y + 1)) + f(f(3, y + 2), y + 10) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
41 Σχήματα McCarthy. Στρατιγικές Υπολογισμού Θεώρημα Cadiou VI Κανονική στρατηγική: f(12, 5) $ f(2, f(7, 6)) + f(f(3, 7), 15) $ 2 + f(7, 6) + f(f(3, 7), 15) $ f(f(3, 7), 15) $ 15 + f(10, 15) $ 40 (σε 5 υπολογιστικά βήματα) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Φεβρουάριος / 329
Σχήματα McCarthy I. Το σχήμα McCarthy είναι ένα γενικότερο προγραμματιστικό σχήμα:
Σχήματα McCarthy I Το σχήμα McCarthy είναι ένα γενικότερο προγραμματιστικό σχήμα: f(x, y) = if g(...) = 0 then h(...) else k(...) όπου g(...), h(...) και k(...) είναι όροι-συναρτήσεις που κατασκευάζονται
Διαβάστε περισσότεραΜηχανές Turing (T.M) I
Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο
Διαβάστε περισσότεραΘεώρημα Υπάρχουν υπολογίσιμες συναρτήσεις που δεν είναι πρωταρχικές αναδρομικές.
Υπολογισιμότητα Θεώρημα Υπάρχουν υπολογίσιμες συναρτήσεις που δεν είναι πρωταρχικές αναδρομικές. Απόδειξη: Διαγωνιοποίηση. Μηχανιστική απαρίθμηση πρωταρχικών αναδρομικών συναρτήσεων: φ 0, φ 1, φ 2, Ορίζουμε:
Διαβάστε περισσότεραΠολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις.
Θέση Church-Turing I Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις Θέση Church-Turing: Όλες οι υπολογίσιμες συναρτήσεις
Διαβάστε περισσότεραRecursive and Recursively Enumerable sets I
Recursive and Recursively Enumerable sets I Ορισμός Το σύνολο A είναι αναδρομικό ανν η χαρακτηριστική του συνάρτηση X A είναι αναδρομική. Το σύνολο A είναι αναδρομικά αριθμήσιμο (recursively enumerable)
Διαβάστε περισσότεραΠολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις
Θέση Church-Turing Κανονική μορφή Kleene Θέση Church-Turing I Πολλοί τρόποι περιγραφής αλγορίθμων Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις Θέση Church-Turing:
Διαβάστε περισσότεραΑυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation
Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab
Διαβάστε περισσότεραΜη επιλυσιμότητα I. Απόδειξη. Ορίζουμε # # =
Μη επιλυσιμότητα I Θεώρημα Το TOT (πρόβλημα ολικής συνάρτησης) είναι μη επιλύσιμο, δηλαδή η f δεν είναι αναδρομική όπου: 1, αν φ x είναι ολική f(x) = 0, αλλιώς Απόδειξη. Ορίζουμε h(x) = φ x (x) + 1, αν
Διαβάστε περισσότεραΣε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing
Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές
Διαβάστε περισσότεραΠαραλλαγές και επεκτάσεις αυτομάτων I
Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP Παραλλαγές και επεκτάσεις αυτομάτων I Ορισμός Ένα two-way deterministic FA (2DFA) είναι μία πεντάδα M = (Q, Σ, δ, q 0, F), όπου τα Q, Σ, q 0 και F είναι όπως
Διαβάστε περισσότεραΗ δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ
Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΑυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Διαβάστε περισσότεραf(t) = (1 t)a + tb. f(n) =
Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία
Διαβάστε περισσότεραHEAD INPUT. q0 q1 CONTROL UNIT
Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου
Διαβάστε περισσότεραnum(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))
Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση
Διαβάστε περισσότεραBlum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος
Blum Complexity Αλγόριθμοι και Πολυπλοκότητα ΙΙ Παναγιώτης Γροντάς µπλ Δεκέμβριος 2011 Ιστορικά Στοιχεία Manuel Blum (1938, Caracas Venezuela) Turing Award (1995) Foundations Of Computational Complexity
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες
Διαβάστε περισσότεραΤο 10ο πρόβλημα του Hilbert I
Το 10ο πρόβλημα του Hilbert I Το 1900 στο Παρίσι, ο David Hilbert έκανε μια ομιλία για τα 23 πιο σπουδαία μαθηματικά προβλήματα που κληρονομούσε ο 20ος αιώνας από τον 19ο. Το 10ο ήταν: Απόφανση περί επιλυσιμότητας
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Διαβάστε περισσότεραΑναδρομή Ανάλυση Αλγορίθμων
Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).
Διαβάστε περισσότεραΠεριεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs
Διαβάστε περισσότεραΑυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:
Διαβάστε περισσότεραΠροβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
Διαβάστε περισσότεραΑπαρίθμηση ζευγών φυσικών αριθμών I. C(0, 0) = 0 C(2, 1) = 7 κωδικοποίηση κατά Cantor D 1 (7)=2, D 2 (7)=1 : αποκωδικοποίηση
Κωδικοποίηση Απαρίθμηση ζευγών φυσικών αριθμών I 0 0 1 2 3 4... 1 2 3 4...... C(0, 0) = 0 C(2, 1) = 7 κωδικοποίηση κατά Cantor D 1 (7)=2, D 2 (7)=1 : αποκωδικοποίηση C(m, n) = (n+m)(n+m+1) 2 + m, η C είναι
Διαβάστε περισσότεραΥπολογίσιμες Συναρτήσεις
Υπολογίσιμες Συναρτήσεις Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν Ω Ν Υπολογίσιμες Συναρτήσεις
Διαβάστε περισσότεραΗ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE
ΕΡΓΑΣΤΗΡΙΟ 7 Ο Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE Βασικές Έννοιες: Δομή Επανάληψης, Εντολές Επανάληψης (For, While do, Repeat until), Αλγόριθμος, Αθροιστής, Μετρητής, Παράσταση
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΣκοπός. Εργαστήριο 6 Εντολές Επανάληψης
Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 10: Συνδυασμοί μηχανών Turing Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m
Διαβάστε περισσότεραTO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ
Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση
Διαβάστε περισσότεραΠεριεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.
Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΑριθμητική Ανάλυση και Εφαρμογές
Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος
Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες
Διαβάστε περισσότεραΘεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος
Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος
Διαβάστε περισσότεραΘεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr
Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας
Διαβάστε περισσότεραΛύσεις 4ης Σειράς Ασκήσεων
Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής
Διαβάστε περισσότεραΤυχαιότητα (Randomness) I
I Χρησιμοποιώντας το μοντέλο δένδρων υπολογισμού, θα ορίσουμε κλάσεις πολυπλοκότητας που βασίζονται στις πιθανότητες, με βάση τυχαίες επιλογές. Αυτή η προσέγγιση είναι πολύ χρήσιμη από πρακτική άποψη,
Διαβάστε περισσότεραΦροντιστήριο 10 Λύσεις
Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,
Διαβάστε περισσότεραΆσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:
Άσκηση 1 Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του J στα παρακάτω κομμάτια κώδικα FORTRAN: INTEGER J J = 5 J = J + 1 J = J + 1 INTEGER X, Y, J X = 2 Y =
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές
Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα
Διαβάστε περισσότεραd k 10 k + d k 1 10 k d d = k i=0 d i 10 i.
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΕφαρμογές της Λογικής στην Πληροφορική
Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Εφαρμογές της Λογικής στην Πληροφορική Ενότητα 2 Πέτρος Στεφανέας, Γεώργιος Κολέτσος Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον
Τμήμα Μηχανικών Πληροφορικής Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2014 Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2014 1 / 42 Αριθμητικές Μέθοδοι
Διαβάστε περισσότεραΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ
ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΘΕΜΑ Α Α.1 Να χαρακτηρίσετε σωστή (Σ) ή λανθασμένη (Λ) καθεμία από τις παρακάτω προτάσεις (Μονάδες 10) 1. Ένας αλγόριθμος μπορεί να έχει άπειρα βήματα
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 21: Υπολογισμοί ΜΤ - Αναδρομικές Γλώσσες Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΠεπερασμένα Αυτόματα. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πεπερασμένα Αυτόματα ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πεπερασμένα Αυτόματα είναι απλούστερες
Διαβάστε περισσότεραΔυναμικός προγραμματισμός για δέντρα
ΘΕ5 Ιδιότητες Δέντρων και Αναδρομή για Δέντρα Δυναμικός προγραμματισμός για δέντρα Έστω ότι, για k=1,..., m, το γράφημα Γ k = (V k, E k ) είναι δέντρο. Έστω w V 1... V m, z k V k, για k=1,..., m. Συμβολίζουμε
Διαβάστε περισσότεραιαφάνειες παρουσίασης #3
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΗ NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.
Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016
Διαβάστε περισσότεραCSC 314: Switching Theory
CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε
Διαβάστε περισσότεραΣχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13
Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 ΙΣΤΟΡΙΚΑ Παρουσιάστηκε το 1970 από το Niklaus Wirth Προγενέστερη γλώσσα ήταν η Algol 60 Είναι δομημένη γλώσσα προγραμματισμού υψηλού
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros
Διαβάστε περισσότερα(a) = lim. f y (a, b) = lim. (b) = lim. f y (x, y) = lim. g g(a + h) g(a) h g(b + h) g(b)
1 ΑΝΑΛΥΣΗ ΙΙ Μερική Παράγωγος Μερικές Παράγωγοι Ορισμός 1: a) Εστω f(x y) : U R R μία συνάρτηση δύο μεταβλητών και (a b) ένα σημείο του U. Θεωρούμε ότι μεταβάλλεται μόνο το x ένω το y παραμένει σταθερό
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το
Διαβάστε περισσότεραΔομή Επανάληψης. Κεφάλαιο 7 Mike Trimos
Δομή Επανάληψης Κεφάλαιο 7 Mike Trimos Δομή Επανάληψης Η Διαδικασία αυτή ονομάζεται Βρόγχος ή Επανάληψη (Loop) και η εντολή ή το σύνολο των εντολών που επαναλαμβάνονται ονομάζεται Σώμα της Δομής. Η γλώσσα
Διαβάστε περισσότεραΜορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος
Μορφές αποδείξεων Μαθηματικά Πληροφορικής ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.
Διαβάστε περισσότεραΑσκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1
Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 26: Καθολική Μηχανή Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη
Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη 0. Εισαγωγή Αντικείμενο μαθήματος: Η θεωρητική μελέτη ανάλυσης των αλγορίθμων. Στόχος: επιδόσεις των επαναληπτικών και αναδρομικών αλγορίθμων.
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή
Διαβάστε περισσότεραΑριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί
Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι
Διαβάστε περισσότεραΦροντιστήριο 9 Λύσεις
Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.
Διαβάστε περισσότεραΔιάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
Διαβάστε περισσότεραΚεφάλαιο 7: Υπορουτίνες
Κεφάλαιο 7: Υπορουτίνες Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων που μπορεί
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 11: Καθολική μηχανή Turing Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΚεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει
Διαβάστε περισσότεραΠεριεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ
Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Διαβάστε περισσότεραΥπολογιστικό Πρόβληµα
Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις
Διαβάστε περισσότεραΜορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ
Μαθηματικά Πληροφορικής 2ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 10: Αυτόματα Στοίβας II Τι θα κάνουμε σήμερα Ισοδυναμία αυτομάτων στοίβας με ασυμφραστικές γραμματικές (2.2.3) 1 Ισοδυναμία PDA με CFG Θεώρημα: Μια
Διαβάστε περισσότεραK15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων
K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού
Διαβάστε περισσότεραΜορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ
Μαθηματικά Πληροφορικής 4ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.
Διαβάστε περισσότεραΦροντιστήριο 8 Λύσεις
Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing
Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μηχανές Turing (3.1) Τυπικό Ορισμός Παραδείγματα Παραλλαγές Μηχανών Turing (3.2) Πολυταινιακές
Διαβάστε περισσότεραΔώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.
Εισαγωγή στη Λογική Α Τάξης Σ. Κοσμαδάκης Συντακτικό τύπων Α τάξης Α Θεωρούμε δεδομένο ένα λεξιλόγιο Λ, αποτελούμενο από (1) ένα σύνολο συμβόλων για σχέσεις, { R, S,... } (2) ένα σύνολο συμβόλων για συναρτήσεις,
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w#z w, z {a,b}* και η z είναι υπολέξη της w}. Συγκεκριμένα,
Διαβάστε περισσότεραΚεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών
Κεφάλαιο 7: Υποπρογράμματα Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υποπρογραμμάτων (subprogram abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Επανάληψη Μαθήματος Το Μάθημα σε μια Διαφάνεια Υπολογιστικά μοντέλα Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις
Διαβάστε περισσότεραιαφάνειες παρουσίασης #4
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #4!Λοιπές εντολές!
Διαβάστε περισσότεραΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 8: Πεπερασμένα Αυτόματα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΟι εντολές ελέγχου της ροής ενός προγράμματος.
Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης
Διαβάστε περισσότεραΣειρά Προβλημάτων 1 Λύσεις
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Θεωρείστε τις γλώσσες Α = { n n } και Β = {w η w είναι λέξη επί του αλφαβήτου {,} τ.ώ. w }. (α) Για κάθε μια από τις πιο κάτω γλώσσες
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n n 2 } : H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την
Διαβάστε περισσότεραιαφάνειες παρουσίασης #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΜεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου
Διαβάστε περισσότεραΦροντιστήριο 8 Λύσεις
Άσκηση 1 Φροντιστήριο 8 Λύσεις Θεωρήστε την πιο κάτω Μηχανή Turing όπου όλες οι μεταβάσεις που απουσιάζουν οδηγούν στην κατάσταση απόρριψης (q απόρριψης). Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία
Διαβάστε περισσότεραΤμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD
Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επανάληψης Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Επανάληψης Επανάληψη με αρίθμηση DO = ,
Διαβάστε περισσότερα