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

Σχετικά έγγραφα
Θεωρία Υπολογισμών και Αυτομάτων

Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Περιεχόμενα Συμβολοσειρές Γλώσσες ΘΥ 6: Συμβολοσειρές & γλώσσες Επ. Καθ. Π. Κατσαρός 24/07/2014 Επ. Καθ. Π. Κατσαρός ΘΥ 6: Συμβολοσειρές & γλώσσες

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Θεωρία Υπολογισμού. Ενότητα 5 : Λογικά Επιχειρήματα, Αλφάβητα & Γλώσσες (2/2) Αλέξανδρος Τζάλλας

Θεωρία Υπολογισμού Αλφάβητα, Γλώσσες, Κανονικές Εκφράσεις

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

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

ΜΑΘΗΜΑ: Μεταγλωττιστές

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

Υπολογιστικά & Διακριτά Μαθηματικά

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 11 : Γραμματικές χωρίς συμφραζόμενα. Αλέξανδρος Τζάλλας

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Υπολογιστικά & Διακριτά Μαθηματικά

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

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

Μεταγλωττιστές. Ενότητα 3: Τυπικές γλώσσες (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Θέματα υπολογισμού στον πολιτισμό

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

Θέματα υπολογισμού στον πολιτισμό

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 9 : Κανονικές Εκφράσεις. Αλέξανδρος Τζάλλας

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Εισαγωγή στην Επιστήμη των Υπολογιστών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Διανυσματικοί Χώροι (1) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

2 n N: 0, 1,..., n A n + 1 A

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 8: Υπολογισιμότητα & Γλώσσες

Μοντελοποίηση Λογικών Κυκλωμάτων

Μεταγλωττιστές. Ενότητα 5: Λεκτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

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

Υπολογιστικά & Διακριτά Μαθηματικά

Μοντελοποίηση υπολογισμού. Θέματα Υπολογισμού στον Πολιτισμό Πεπερασμένα αυτόματα

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Κανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

Υπολογιστικά & Διακριτά Μαθηματικά

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 1 : Σύνολα & Σχέσεις (1/2) Αλέξανδρος Τζάλλας

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Υπολογιστικά & Διακριτά Μαθηματικά

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Άλγεβρα των Πινάκων (2) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Θέματα υπολογισμού στον πολιτισμό

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Μιγαδικός λογισμός και ολοκληρωτικοί Μετασχηματισμοί

Υπολογιστικά & Διακριτά Μαθηματικά

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ. Ενότητα : ΥΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΣΥΣΤΗΜΑΤΩΝ

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Συστήματα Αυτομάτου Ελέγχου 1 Ενότητα # 5: Χρήση μετασχηματισμού Laplace για επίλυση ηλεκτρικών κυκλωμάτων Μέθοδοι εντάσεων βρόχων και τάσεων κόμβων

Ηλεκτρονικοί Υπολογιστές ΙΙ

Οικονομικά Μαθηματικά

Θεωρία Υπολογισμού. Ενότητα 7 : Ντετερμινιστικά Πεπερασμένα Αυτόματα, Κανονικές Πράξεις. Αλέξανδρος Τζάλλας

ΘΕΩΡΙΑ ΠΑΙΓΝΙΩΝ. Ενότητα 9: Απείρως επαναλαμβανόμενα παίγνια. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π.

Transcript:

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 1: Εισαγωγή Ρεφανίδης Ιωάννης

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Εισαγωγή

Θεωρία Υπολογισμού Τι είναι «Υπολογισμός» Τι μπορεί να κάνει ένας υπολογιστής; Τι δεν μπορεί να κάνει ένας υπολογιστής; Ποια προβλήματα μπορεί να λύσει ο υπολογιστής αποδοτικά; 5

Αποφασισιμότητα (decidability) Μελέτη του τι μπορούν να κάνουν οι υπολογιστές; Τα προβλήματα που μπορούν να λύσουν οι υπολογιστές ονομάζονται αποφασίσιμα (decidable). Μη αποφασίσιμο πρόβλημα: Να ελεγχθεί εάν δύο διαφορετικά προγράμματα (σε μορφή πηγαίου κώδικα) παράγουν το ίδιο ακριβώς αποτέλεσμα. 6

Πολυπλοκότητα (complexity) Τι μπορούν να κάνουν οι υπολογιστές αποδοτικά; (efficiently) Αντιμετωπίσιμα προβλήματα (tractable problems) Μη αντιμετωπίσιμα (δυσεπίλυτα) προβλήματα (intractable problems) 7

Αφηρημένα μοντέλα υπολογισμών Πεπερασμένα αυτόματα Finite Automata, FA Αυτόματα στοίβας PushDown Automata, PDA Μηχανή Turing Turing Machine, TM 8

Τι είναι τα αυτόματα Χρήσιμο μοντέλο μελέτης / ανάπτυξης για πολλά είδη hardware και software. Λογισμικό σχεδίασης και ελέγχου ψηφιακών κυκλωμάτων Λεξικοί αναλυτές (π.χ. για τη μετάφραση - compilation προγραμμάτων) Αναζήτηση συγκεκριμένων προτύπων φράσεων εντός κειμένου (π.χ. στο WEB) Λογισμικό ελέγχου συστημάτων οποιουδήποτε τύπου που έχουν πεπερασμένο αριθμό εσωτερικών καταστάσεων, όπως π.χ. πρωτόκολλα τηλεπικοινωνίας, πρωτόκολλα ασφαλούς ανταλαγής δεδομένων κλπ. 9

Ένα απλό αυτόματο Διακόπτης on/off (switch) Push Start off on Push 10

Ένα λίγο πιο πολύπλοκο αυτόματο start t h e n t th the then 11

Κεντρικό πρόβλημα Για ποιες ακολουθίες χαρακτήρων εισόδου (strings) ένα αυτόματο καταλήγει σε μια τελική κατάσταση; Για ένα αυτόματο Μ, το σύνολο εκείνων των ακολουθιών εισόδου που οδηγούν σε τελικές καταστάσεις ονομάζεται γλώσσα του αυτομάτου, L(M). 12

Αλφάβητα και Γλώσσες

Αλφάβητα (Alphabets) Ένα αλφάβητο είναι ένα πεπερασμένο, μη κενό σύνολο συμβόλων. Συνήθως χρησιμοποιούμε το γράμμα Σ για ένα αλφάβητο. Παραδείγματα: Σ = {0,1} Σ = {a,b,c,..., z} 14

Λέξεις (Strings ή Words) Μία λέξη είναι μια πεπερασμένη ακολουθία συμβόλων επιλεγμένων από κάποιο αλφάβητο. Σ = {0,1} w=01101 Μήκος λέξης είναι το πλήθος των συμβόλων της: w = 01101 = 5 Ως κενή λέξη ορίζεται η λέξη με μηδενικό μήκος και συμβολίζεται με ε. ε = 0 15

(Συμβάσεις σημειογραφίας) Συνηθίζεται να χρησιμοποιούμε: τα πεζά γράμματα στην αρχή του αλφάβητου για να δηλώνουμε απλά σύμβολα. a, b, c,... τα πεζά γράμματα στο τέλος του αλφάβητου για να δηλώνουμε λέξεις. w, x, y, z,... 16

Δυνάμεις ενός αλφάβητου Σ k : Το σύνολο όλων των λέξεων μήκους k, αποτελούμενες από σύμβολα του Σ. Παράδειγμα: Έστω Σ={0,1}, τότε: Σ 0 ={ε} Σ 1 ={0, 1} Σ 2 ={00,01,10,11} Ειδικές περιπτώσεις: Σ * =Σ 0 Σ 1 Σ 2 Σ 3... Σ + = Σ 1 Σ 2 Σ 3... 17

Παράθεση λέξεων (concatenation) Έστω x και y δύο λέξεις. Ορίζουμε ως xy τη λέξη που προκύπτει από την παράθεση των δύο επιμέρους λέξεων. Παράδειγμα: x=01101 y=110 xy=01101110 yx=11001101 18

Ιδιότητες παράθεσης xy = x + y x(yz)=(xy)z Αν w=xyz, τότε: η x λέγεται πρόθεμα (prefix) της w η z λέγεται κατάληξη (suffix) της w η y λέγεται υπολέξη της w Ορίζουμε ως w k την παράθεση w k-1 w Εάν w=01 τότε w 3 =010101 19

Ανάστροφη λέξης Η ανάστροφη μιας λέξης w συμβολίζεται με w R και είναι η λέξη w διαβασμένη από το τέλος προς την αρχή. Εάν w=0011010 τότε w R =0101100 Ιδιότητες: (xy) R =y R x R Έστω x=abc και y=de, τότε: xy=abcde (xy) R =edcba x R =cba y R =ed y R x R =edcba (w R ) R =w 20

Γλώσσες Μια γλώσσα L ενός αλφαβήτου Σ ορίζεται ως ένα υποσύνολο του Σ *. L Σ * Μια γλώσσα μπορεί να έχει άπειρες λέξεις ή και καμία. Παραδείγματα γλωσσών για το αλφάβητο Σ={0,1}: Το σύνολο των λέξεων που αποτελούνται από n μηδενικά ακολουθούμενα από n μονάδες: {ε, 01, 0011, 000111,...} Το σύνολο των λέξεων με ίσους αριθμούς μηδενικών και μονάδων: {ε, 01, 10, 0011, 0101, 0110,...} Το σύνολο των δυαδικών αριθμών που αντιστοιχούν σε πρώτους αριθμούς: {10, 11, 101, 111, 1011,...} 21

Περιγραφή γλωσσών ως σύνολα Ένας γενικός τρόπος ορισμού μιας γλώσσας είναι μέσω της περιγραφής των ιδιοτήτων των λέξεων της, με συμβολισμό συνόλων: {w ιδιότητες της λέξης w} {w η w αποτελείται από ίσο αριθμό 0 και 1} {w η w είναι η δυαδική μορφή ενός πρώτου αριθμού} {w η w είναι ένα συντακτικά σωστό πρόγραμμα της C} {0 n 1 n n 1} {0 i 1 j 0 i j } Ο παραπάνω συμβολισμός συνηθίζεται στις περιπτώσεις γλωσσών με άπειρο πλήθος λέξεων. 22

Πράξεις με γλώσσες (1/3) Εφόσον οι γλώσσες είναι σύνολα, μπορούν να συνδυαστούν με πράξεις επί συνόλων: Ένωση, L 1 L 2 Το σύνολο όλων των λέξεων που ανήκουν είτε στην L 1 είτε στην L 2. L 1 L 2 = { w w L 1 w L 2 } Τομή, L 1 L 2 Το σύνολο των λέξεων που ανήκουν και στην L 1 και στην L 2. L 1 L 2 = { w w L 1 w L 2 } 23

Πράξεις με γλώσσες (2/3) Διαφορά, L 1 - L 2 Το σύνολο των λέξεων που ανήκουν στην L 1 και δεν ανήκουν στην στην L 2. L 1 - L 2 = { w w L 1 w L 2 } Συμπλήρωμα, L 1 = Σ* - L 1 Το σύνολο των λέξεων του Σ* που δεν ανήκουν στην L 1. L 1 = { w w Σ* w L 1 } 24

Πράξεις με γλώσσες (3/3) Παράθεση, L 1 L 2 Το σύνολο των λέξεων που σχηματίζονται από την παράθεση μιας λέξης από την L 1 και μιας λέξης από την L 2. L 1 L 2 = { w w=xy, x L 1 y L 2 } Κλειστότητα ή Kleene star, L* Το σύνολο των λέξεων που σχηματίζονται από την παράθεση οποιουδήποτε πλήθους λέξεων της L. L*={w Σ*: w=w 1 w 2...w k, k 0, w 1, w 2,..., w k L} (L*)*=L* 25

Προβλήματα Στη θεωρία αυτομάτων ένα πρόβλημα είναι η ερώτηση εάν μια λέξη ανήκει σε μια γλώσσα ή όχι. Ειδικότερα: Δοθείσης μιας λέξης w Σ*, αποφάσισε εάν η w ανήκει στη γλώσσα L. Όλα τα προβλήματα μπορούν να αναχθούν σε ισοδύναμα (απλούστερα) προβλήματα της παραπάνω μορφής με ίδια χαρακτηριστικά υπολογισιμότητας και πολυπλοκότητας. 26

Κανονικές εκφράσεις (regular expressions)

Τυποποιημένοι τρόποι περιγραφής γλωσσών Κανονικές εκφράσεις περιορισμένες δυνατότητες Γραμματικές ανεξάρτητες από τα συμφραζόμενα. ισχυρές Γραμματικές εξαρτημένες από τα συμφραζόμενα. ισχυρότερες 28

Κανονικές εκφράσεις (regular expressions) Οι κανονικές εκφράσεις ενός αλφαβήτου Σ είναι οι συμβολοσειρές του αλφαβήτου Σ { ), (, ε, +, * } για τις οποίες ισχύουν τα παρακάτω:, ε και κάθε στοιχείο του Σ είναι κανονική έκφραση. Αν α και β είναι κανονικές εκφράσεις, και η (αβ) είναι επίσης. Αν α και β είναι κανονικές εκφράσεις, και η α+β είναι επίσης. Αν α είναι κανονική έκφραση, και η α* είναι επίσης Τίποτα δεν είναι κανονική έκφραση εκτός από τα παραπάνω. 29

Παραδείγματα (a+b)*a : Περιγράφει λέξεις που τελειώνουν σε a. aa*+bb* : Περιγράφει λέξεις που αποτελούνται είτε μόνο από a (ένα ή περισσότερα) είτε μόνο από b (ένα ή περισσότερα). c*(a+bc*)*: Περιγράφει λέξεις στις οποίες δεν εμφανίζεται η υπολέξη ac. 0*+0*(1+11)(00*(1+11))*0*: Περιγράφει το σύνολο των λέξεων από 0 και 1, οι οποίες δεν περιέχουν την υπολέξη 111. 30

Τέλος Ενότητας