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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στους Αλγορίθμους

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

Ιστορία της μετάφρασης

{ int a = 5; { int b = 7; a = b + 3;

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

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

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

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Διαδικαστικός Προγραμματισμός

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

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

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

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

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

Λογική. Δημήτρης Πλεξουσάκης. Ασκήσεις 2ου Φροντιστηρίου: Προτασιακός Λογισμός: Κανονικές Μορφές, Απλός Αλγόριθμος Μετατροπής σε CNF/DNF, Άρνηση

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

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

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

Υδραυλικά & Πνευματικά ΣΑΕ

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΟΙΚΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΚΑΔΗΜΑΪΚΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΑΘΗΜΑΤΑ Γενικά Μαθηματικά Ι Ενότητα 11 : Ακολουθίες και Σειρές Λουκάς Βλάχος Τμήμα Φυσικής

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

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

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

Μαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Εισαγωγή στους Αλγορίθμους

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

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

9 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης. Λογισμός 3 Ασκήσεις. Μιχάλης Μαριάς Τμήμα Α.Π.Θ.

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

Εφαρμογές της Λογικής στην Πληροφορική

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

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Λογισμός 3. Ενότητα 18: Θεώρημα Πεπλεγμένων (Ειδική περίπτωση) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

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

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

Τίτλος Μαθήματος. Ενότητα: Εργαστήριο 4 ο : Παρουσίαση και Ανάλυση της Φόρμας Σχεδίασης Δραστηριοτήτων με χρήση λογισμικού/ά.

Λογιστικές Εφαρμογές Εργαστήριο

Μαθηματική Ανάλυση Ι

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

Εκκλησιαστικό Δίκαιο

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολή if. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

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

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

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

Transcript:

Θεωρία Υπολογισμού Ενότητα 7: Πεπερασμένη αναπαράσταση γλωσσών Τμήμα Πληροφορικής

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

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

1 Κανονικές εκφράσεις 2 Κλάσεις γλωσσών Κλάσεις και ιδιότητες γλωσσών Κανονικές γλώσσες Αναγνώριση γλωσσών Παραγωγή γλωσσών Εφαρμογές

Πεπερασμένη αναπαράσταση γλωσσας Κάθε πεπερασμένη γλώσσα μπορεί να περιγραφεί με εξαντλητική απαρίθμηση των συμβολοσειρών της. Υπάρχει δηλαδή τουλάχιστο μια πεπερασμένη αναπαράσταση της γλώσσας. Τι γίνεται με τις άπειρες γλώσσες; Κάθε πεπερασμένη αναπαράσταση μιας (πεπερασμένης ή άπειρης) γλώσσας πρέπει να είναι η ίδια συμβολοσειρά ενός αλφαβήτου Σ και να διαφέρει από την αναπαράσταση όλων των άλλων γλωσσών

Κανονικές εκφράσεις Ορισμός 1 (Κανονική έκφραση) Κάθε κανονική έκφραση περιγράφει μία γλώσσα με απλά σύμβολα, το και συνδυασμούς τους που προκύπτουν από τις πράξεις που ορίζουν τα σύμβολα και και, ίσως, με παρενθέσεις. Παράδειγμα: L = {w {a, b} : η w έχει μία ή δύο εμφανίσεις του b, αλλά όχι συνεχόμενες} L = a ba (aba )

Κανονικές εκφράσεις Κανονικές εκφράσεις επί του Σ* είναι οι συμβολοσειρές στο αλφάβητο Σ {(,),,, } που σχηματίζονται ως εξής: το και κάθε στοιχείο του Σ είναι κανονική έκφραση αν α και β είναι κανονικές εκφράσεις, τότε και η (αβ) είναι κανονική έκφραση και η (α β) είναι κανονική έκφραση αν η α είναι κανονική έκφραση, τότε και η α είναι κανονική έκφραση μία συμβολοσειρά αν δεν ικανοποιεί κάποιο από τα παραπάνω δεν είναι κανονική έκφραση

Κανονικές εκφράσεις Η L είναι μία συνάρτηση από συμβολοσειρές σε γλώσσες: Μία κανονική έκφραση α αναπαριστά τη γλώσσα L(α). Η συνάρτηση L ορίζεται ως εξής: 1 L( ) = και L(α)={α} για κάθε α Σ 2 Αν α και β είναι κανονικές εκφράσεις, τότε L(αβ) = L(α)L(β) L(α β) = L(α) L(β) 3 Αν α είναι κανονική έκφραση, τότε L(α ) =L(α) Αν L(α)={base,foot}, L(β)={ball}, L(αβ)={baseball,football} L(α β)={{base,foot},{ball}} Ο τελεστής έχει υψηλότερη προτεραιότητα από τον.

Χαρακτηριστικά κανονικών εκφράσεων Αν μια γλώσσα μπορεί να περιγραφεί από μία κανονική έκφραση, μπορεί να περιγραφεί από άπειρες κανονικές εκφράσεις. Παράδειγμα: οι εκφράσεις α και (α ) αναπαριστούν την ίδια γλώσσα. Αφού η ένωση και η παράθεση συνόλων είναι προσεταιριστικές, οι περιττές παρενθέσεις μπορούν να παραλείπονται. Παράδειγμα: (L 1 L 2 ) L 3 = L 1 (L 2 L 3 ) = L 1 L 2 L 3 (L 1 L 2 )L 3 = L 1 (L 2 L 3 ) = L 1 L 2 L 3

Παράδειγμα γλώσσας κανονικής έκφρασης L((α β) α) =L((α β) )L(α) από L(αβ) = L(α)L(β) =L((α β) ){α} από L(α)={α} για α Σ =L(α β) {α} από L(α )=L(α) =(L(α) L(β)) {α} από L(α β)=l(α) L(β) =({α} {β}) {α} από L(α)={α} για α Σ ={w {α,β} : όπου w τελειώνει σε α}

Παραδείγματα γλωσσών κανονικών εκφράσεων L(01)={01} L(01 0)={01,0} L(0(1 0))= {01,00} L(0 )={ε,0,00,000,...} L((0 10) (ε 1)) ={w {0, 1} : η w δεν περιλαμβάνει 2 συνεχόμενα 1}

Παραδείγματα γλωσσών κανονικών εκφράσεων Η κανονική έκφραση (0 1 ) (0110)(0 1 ) αναπαριστά το σύνολο των συμβολοσειρών του {0,1} που περιέχουν τουλάχιστο μία φορά τη συμβολοσειρά 0110. 0 1 - κάποια (ίσως κανένα) 0 ακολουθούμενα από κάποια (ίσως κανένα) 1 (0 1 ) - τα 0 και 1 εναλλάσονται 0 ή περίσσότερες φορές (0110) - η συμβολοσειρά 0110 εμφανίζεται αυτούσια Συμβάσεις: α+=αα (παράθεση της α τουλάχιστο μία φορά) α?=α (παράθεση της α το πολύ μία φορά)

Κλάσεις γλωσσών Ορισμός 2 (Κλάση γλωσσών) Κλάση γλωσσών είναι ένα σύνολο γλωσσών με κάποιες κοινές ιδιότητες. Παράδειγμα: Η κλάση των κανονικών γλωσσών Ιδιότητες γλωσσών Ιδιότητες απόφασης Ιδιότητες κλειστότητας

Ιδιότητες των γλωσσών Ορισμός 3 (Ιδιότητες κλειστότητας) Μία ιδιότητα κλειστότητας μίας κλάσης γλωσσών δηλώνει ότι κάποια πράξη που εφαρμόζεται στις γλώσσες της κλάσης παράγει γλώσσα που βρίσκεται στην ίδια κλάση. Ορισμός 4 (Ιδιότητες απόφασης) Μία ιδιότητα απόφασης για μία κλάση γλωσσών είναι ένας αλγόριθμος που δέχεται ως είσοδο την τυπική αναπαράσταση μιας γλώσσας και δίνει ως έξοδο την απόφαση αν μια ιδιότητα ισχύει.

Κανονικές γλώσσες Ορισμός 5 (Κανονικές γλώσσες) Η κλάση των κανονικών γλωσσών ενός αλφαβήτου Σ αποτελείται από τις γλώσσες L που περιγράφονται από κάθε κανονική έκφραση που μπορεί να οριστεί στο Σ. Συνεπώς, κάθε γλώσσα που μπορεί να περιγραφεί από κανονικές εκφράσεις είναι κανονική γλώσσα. Η κλάση των κανονικών γλωσσών με αλφάβητο Σ είναι κλειστή ως προς την ένωση, παράθεση και Kleene star. Ωστόσο, οι κανονικές εκφράσεις δε μπορούν να αναπαραστήσουν όλες τις απλές γλώσσες. Παράδειγμα μη κανονικής γλώσσας: {0 n 1 n :n 0} Εναλλακτικά, χρησιμοποιούνται αναπαραστάσεις του τύπου L = {w Σ*:w έχει την ιδιότητα P}.

Μηχανή αναγνώρισης γλώσσας Ορισμός 6 (Μηχανή αναγνώρισης γλώσσας) Η μηχανή αναγνώρισης γλώσσας είναι ένας αλγόριθμος που «αποφασίζει» αν μία συμβολοσειρά w ανήκει στη γλώσσα L. Παράδειγμα: Μία μηχανή αναγνώρισης της γλώσσας L = {w {a, b} : η w δεν περιέχει τη συμβολοσειρά ααα} μπορεί να λειτουργεί ως εξής: Αρχικοποίησε ένα μετρητή με τιμή μηδέν. Διάβαζε ένα σύμβολο σ τη φορά, από τα αριστερά προς τα δεξιά: Αν σ=β, μηδένισε το μετρητή Αν σ=α, πρόσθεσε 1 στο μετρητή. Επέστρεψε ΟΧΙ αν ο μετρητής είναι τρία. Επέστρεψε ΝΑΙ αν μετρητής έχει τιμή μικρότερη από τρία και δεν υπάρχουν άλλα σύμβολα.

Παράγωγοι γλωσσών Οι κανονικές εκφράσεις περιγράφουν έναν τρόπο παραγωγής των συμβολοσειρών μιας γλώσσας. Παράδειγμα: (e 1 11)(0 01 011) «Γράψε τίποτα ή 1 ή 11. Επειτα γράψε 0 ή 01 ή 011 οσες φορές θέλεις». Τέτοιες περιγραφές παράγωγης γλωσσών δεν είναι αλγόριθμοι γιατί δεν έχουν σχεδιαστεί ώστε να δίνουν ένα μόνο αποτέλεσμα δεν είναι σαφώς ορισμένες οι ενέργειες που εκτελούνται (πώς επιλέγουμε αν θα γράψουμε 0 ή 01 ή 011) Θα εξετάσουμε για πολλές διαφορετικές κλάσεις γλωσσών (ξεκινώντας από τις κανονικές γλώσσες) το πώς σχετίζονται οι μηχανισμοί παραγωγής με τις μηχανές αναγνώρισης των γλωσσών αυτών.

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

Αναζήτηση συμβολοσειρών σε έγγραφα κειμένου Το λογισμικό Notepad διαθέτει μία γλώσσα κανονικών εκφράσεων για να μπορεί ο χρήστης να περιγράφει συμβολοσειρές που αναζητά σε ένα κείμενο. Η γλώσσα περιλαμβάνει τα σύμβολα [ ] - δηλώνει ένα σύνολο ή εύρος από εναλλακτικούς χαρακτήρες πχ Η [abc] ταιριάζει οποιονδήποτε από τους a, b ή c πχ Η [a-z] ταιριάζει οποιονδήποτε χαρακτήρα στο a-z ˆ - εξαιρεί ένα σύνολο ή εύρος χαρακτήρων (αν χρησιμοποιείται μέσα σε σύνολο) ή δηλώνει την αρχή μιας γραμμής (αν δε χρησιμοποιείται μέσα σε σύνολο) πχ Η by[ˆe] ταιριάζει τη by, αλλά όχι τη bye πχ Η [ˆa-z] ταιριάζει την 8 ή την R αλλά όχι την r $ - δηλώνει το τέλος μιας γραμμής. - δηλώνει οποιοδήποτε σύμβολο \s - δηλώνει ένα κενό - δηλώνει την παράθεση 0 ή περισσότερες φορές + - δηλώνει την παράθεση 1 ή περισσότερες φορές

Τέλος ενότητας Επεξεργασία: Εμμανουέλα Στάχτιαρη Θεσσαλονίκη, 24/07/2014