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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα

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

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

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

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

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

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

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

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

Γλώσσες Χωρίς Συμφραζόμενα

Γλώσσες Χωρίς Συμφραζόμενα

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

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

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

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

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

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

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

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

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

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

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

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

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

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

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

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

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

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

CSC 314: Switching Theory

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

Στατιστική Επιχειρήσεων

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

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

Σειρά Προβλημάτων 3 Λύσεις

Στατιστική Επιχειρήσεων Ι

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

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

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

Κεφάλαιο 2: Τυπικές γλώσσες

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

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

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

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

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

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

Στατιστική Ι. Ενότητα 7: Κανονική Κατανομή. Δρ. Γεώργιος Κοντέος Τμήμα Διοίκησης Επιχειρήσεων Γρεβενών

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

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

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

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

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

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

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

Γενικά Μαθηματικά ΙΙ

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

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

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

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

Βιομηχανικοί Ελεγκτές

Δομημένος Προγραμματισμός

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

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

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

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

Transcript:

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

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

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

Μη κανονικές γλώσσες

Μη κανονικές γλώσσες Είναι οι γλώσσες εκείνες για τις οποίες δεν υπάρχει πεπερασμένο αυτόματο (ντετερμινιστικό ή μη) που να τις δέχεται. Δεν υπάρχει γενική μέθοδος απόδειξης ότι μία γλώσσα δεν είναι κανονική. Για να αποδείξουμε ότι μια γλώσσα δεν είναι κανονική, χρησιμοποιούμε κάποιες βασικές ιδιότητες που ισχύουν για τις κανονικές γλώσσες. 5

Ιδιότητα 1 Καθώς διαβάζουμε μια λέξη (οσοδήποτε μεγάλου μήκους) από αριστερά προς τα δεξιά, το ποσό της μνήμης που χρειάζεται για να αποφασιστεί στο τέλος αν η λέξη ανήκει ή όχι στη γλώσσα πρέπει να είναι φραγμένο και εξαρτώμενο από τη γλώσσα (δηλ.: να μην εξαρτάται από τη συγκεκριμένη λέξη). π.χ. κάτι τέτοιο δεν ισχύει για τις λέξεις της γλώσσας {a n b n : n>0} 6

Ιδιότητα 2 Οι κανονικές γλώσσες με άπειρο αριθμό λέξεων (προφανώς μη φραγμένου μήκους) έχουν άπειρα υποσύνολα με κάποια απλή επαναληπτική δομή που προκύπτει από άστρο στην αντίστοιχη κανονική έκφραση ή από κύκλο στο διάγραμμα καταστάσεων ενός πεπερασμένου αυτόματου. Η γλώσσα {a n : ο n είναι πρώτος αριθμός} δεν είναι κανονική. 7

Θεώρημα άντλησης Έστω L μια άπειρη κανονική γλώσσα. Τότε υπάρχουν λέξεις x,y,z τέτοιες ώστε y ε και xy n z L για κάθε n 0. Με άλλα λόγια, υπάρχουν ορισμένα σημεία μέσα σε ορισμένες λέξεις (και σίγουρα στις "πολύ μεγάλες" λέξεις) στα οποία μπορεί να εισαχθεί επανειλημένα μια υπολέξη, χωρίς αυτό να επηρρεάσει το γεγονός ότι η αρχική λέξη γίνεται δεκτή. 8

Παράδειγμα 1 Η γλώσσα L={a n b n : n 0}δεν είναι κανονική. Προσπαθούμε να φτιάξουμε λέξεις της μορφής xy n z που να ανήκουν στη γλώσσα για κάθε n. Υπάρχουν τρεις περιπτώσεις: Το y να αποτελείται μόνο από a. Το y να αποτελείται μόνο από b. Το y να αποτελείται από μερικά a και στη συνέχεια από μερικά b. Και στις τρεις περιπτώσεις μπορεί εύκολα να φανεί ότι δεν είναι δυνατόν λέξεις αυτής της μορφής να ανήκουν στη γλώσσα L για κάθε n, είτε γιατί δεν θα είναι ίσος ο αριθμός των a και των b (πρώτη και δεύτερη περίπτωση), είτε γιατί θα υπάρχουν 'ανακατωμένα' a και b (τρίτη περίπτωση). 9

Παράδειγμα 2 Η γλώσσα L={a n : Ο n είναι πρώτος αριθμός} δεν είναι κανονική. Σύμφωνα με το θεώρημα, θα πρέπει να υπάρχουν x=a p, y=a q, z=a r, p,r 0, q>0, τέτοια ώστε κάθε λέξη της μορφής xy n z να ανήκει στη γλώσσα. Δηλαδή θα πρέπει η λέξη a p+nq+r να ανήκει στη γλώσσα για κάθε n 0, δηλαδή ο αριθμός p+nq+r πρέπει να είναι πρώτος για κάθε n 0. Όμως, έστω n=p+2q+r+2, τότε p+nq+r=(q+1)(p+2q+r) 10

Γραμματικές χωρίς συμφραζόμενα

Γραμματικές χωρίς συμφραζόμενα Μια γραμματική χωρίς συμφραζόμενα G ορίζεται ως μια τετράδα (V, Σ, R, S) όπου: V είναι ένα αλφάβητο Σ είναι το σύνολο των τερματικών συμβόλων, Σ V. R, το σύνολο των κανόνων, είναι μια σχέση από το (V-Σ) στο V*. S, το αρχικό σύμβολο, είναι στοιχείο του V-Σ. 12

Εφαρμογή κανόνων Τα στοιχεία του συνόλου V-Σ ονομάζονται μητερματικά. Για κάθε Α V-Σ και u V *, εφόσον ισχύει R(A,u) γράφουμε A u. Για δύο συμβολοσειρες v,w V*, λέμε ότι η w παράγεται από την v σε ένα βήμα, και συμβολίζουμε με v w εάν: v=xay, x,y V* w=xuy Υπάρχει ο κανόνας A u στο σύνολο κανόνων. Οι γραμματικές λέγονται "χωρίς συμφραζόμενα" επειδή στο αριστερό μέρος των κανόνων τους έχουν ένα μη-τερματικό σύμβολο και μόνο. 13

Παραγωγή των λέξεων της γλώσσας Συμβολίζουμε με v w το γεγονός ότι η * λέξη w παράγεται από τη λέξη v με εφαρμογή πολλών κανόνων από το σύνολο κανόνων R. Με βάση τα παραπάνω, η γλώσσα L(G) που παράγεται από μια γραμματική χωρίς συμφραζόμενα G ορίζεται ως εξής: L(G)={w Σ*:S w} * 14

Παράδειγμα 1 (1/2) Έστω η γραμματική χωρίς συμφραζόμενα G = (V, Σ, R, S) όπου: V={S,a,b} Σ={a,b} Η σχέση R αποτελείται από τους κανόνες S asb και S ε. Μια παραγωγή της γλώσσας αυτής είναι η: S asb aasbb aabb Είναι εύκολο να δει κανείς ότι L(G)={a n b n : n 0} 15

Παράδειγμα 1 (2/2) Βλέπουμε από το παράδειγμα ότι κάποιες γλώσσες χωρίς συμφραζόμενα δεν είναι κανονικές. Ωστόσο ισχύει ότι όλες οι κανονικές γλώσσες μπορούν να προκύψουν από γραμματικές χωρίς συμφραζόμενα. 16

Παράδειγμα 2 Έστω η γραμματική G=(V,Σ,R,S) με: V={S,Π,Ρ,Ο,Ε,Α} Σ Σ={ο, είναι, Νίκος, καλός, φοιτητής} R={S ΠΡΠ, Π ΑΕΟ, Π ΕΟ, Π ΑΟ, Π Ο, Α ο, Ρ είναι, Ο Νίκος, Ε καλός, Ο φοιτητής} Έγκυρες "λέξεις" που παράγονται είναι οι: ο Νίκος είναι καλός φοιτητής ο Νίκος είναι φοιτητής ο καλός Νίκος είναι φοιτητής κλπ Π=Προσδιορισμός Ρ=Ρήμα Ο=Ουσιαστικό Ε=Επίθετο Α=Άρθρο 17

Παράδειγμα 3 (1/2) Έστω η γραμματική G=(V,Σ,R,E) με: V={E} Σ Σ={ x, y, +,, (, ) } R={E (E), E E+E, Ε E E, E x, E y} Έγκυρες "λέξεις" που παράγονται είναι οι: x+y x+x y (x y+x x) (x+y (x+y y)) κλπ E=Έκφραση 18

Παράδειγμα 3 (2/2) (x y+x x) (x+y (x+y y)) Ε Ε Ε (Ε) Ε (Ε) (Ε) (Ε+Ε) (Ε) (Ε Ε+Ε) (Ε) (Ε Ε+Ε Ε) (Ε) (Ε Ε+Ε Ε) (Ε+Ε) (Ε Ε+Ε Ε) (Ε+Ε Ε) (Ε Ε+Ε Ε) (Ε+Ε (Ε)) (Ε Ε+Ε Ε) (Ε+Ε (Ε+Ε)) (Ε Ε+Ε Ε) (Ε+Ε (Ε+Ε Ε))...... (x y+x x) (x+y (x+y y)) 19

Συντακτικό δέντρο (Parse Tree) Πρόκειται για μια διαγραμματική αναπαράσταση, με μορφή δέντρου, του τρόπου που παράγεται μια λέξη εφαρμόζοντας τους κανόνες της γραμματικής. Κάθε κόμβος του αντιστοιχεί σε ένα σύμβολο. Τα παιδιά ενός κόμβου προκύπτουν από την εφαρμογή ενός κανόνα στο σύμβολο του κόμβου. Τα φύλλα του δέντρου είναι τερματικά σύμβολα. Η λέξη προκύπτει παραθέτοντας όλα τα φύλλα του δέντρου, διαβάζοντάς τα από αριστερά προς τα δεξιά. 20

Παράδειγμα συντακτικού δέντρου (για την παραγωγή της διαφάνειας 19) (x y+x x) (x+y (x+y y)) Ε Ε Ε Ε + Ε Ε + Ε Ε Ε Ε Ε x y x x x Ε Ε ( Ε ) y Ε + Ε x Ε Ε y y 21

Εναλλακτικές Παραγωγές Είναι δυνατόν μια λέξη να παράγεται με περισσότερους από έναν τρόπους από τους κανόνες μιας γραμματικής (και άρα να έχει εναλλακτικά συντακτικά δέντρα). Για παράδειγμα, η λέξη x+x y μπορεί να παραχθεί από τη γραμματική του παραδείγματος 3 ως εξής: E E+E E+E E... x+x y αλλά και ως εξής: E E E E+E E... x+x y Οι γραμματικές που επιτρέπουν εναλλακτικές παραγωγές λέγονται διφορούμενες (ambiguous). 22

Αριστερότερη Παραγωγή (leftmost derivation) Ως αριστερότερη παραγωγή μιας λέξης ορίζεται αυτή η οποία σε κάθε βήμα αντικαθιστά το αριστερότερο μη-τερματικό σύμβολο της λέξης. Στο παράδειγμα της λέξης x+x y, αριστερότερη παραγωγή είναι η: E E E E+E E x+e E x+x E x+x y Παρόμοια ορίζεται η δεξιότερη παραγωγή (rightmost derivation). Για κάθε λέξη, εφόσον υπάρχει μια παραγωγή, τότε υπάρχουν σίγουρα μια αριστερότερη και μια δεξιότερη παραγωγή. 23

Κανονικές Γραμματικές Μια γραμματική λέγεται κανονική, εάν στο δεξιό μέρος κάθε κανόνα της υπάρχει το πολύ ένα μη-τερματικό σύμβολο, και αυτό είναι πάντα στην τελευταία θέση. Τα σύνολα των γλωσσών των κανονικών γραμματικών και των γλωσσών των κανονικών εκφράσεων (ή των πεπερασμένων αυτομάτων) ταυτίζονται. 24

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