Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΘΕΩΡΙΑ ΓΛΩΣΣΩΝ & ΑΥΤΟΜΑΤΩΝ: ΕΙΣΑΓΩΓΗ Ι"— Μεταγράφημα παρουσίασης:

1 ΘΕΩΡΙΑ ΓΛΩΣΣΩΝ & ΑΥΤΟΜΑΤΩΝ: ΕΙΣΑΓΩΓΗ Ι
Μία θεμελίωση της Επιστήμης των Υπολογιστών Πολλοί κλάδοι της Επιστήμης όπως π.χ. η Αλγοριθμική (ανάλυση αλγορίθμων) και η κατασκευή γλωσσών (μεταγλωττιστών) βασίζονται στα επιτεύγματα της Θεωρίας Γλωσσών & Αυτομάτων

2 ΘΕΩΡΙΑ ΓΛΩΣΣΩΝ & ΑΥΤΟΜΑΤΩΝ: ΕΙΣΑΓΩΓΗ ΙΙ
Θεωρία με μαθηματική θεμελίωση, θεωρήματα και αποδείξεις, που συχνά αποτελούν βάση για την κατασκευή ιδιαίτερα σημαντικών αλγορίθμων Επίλυση ασκήσεων Προσομοίωση αλγορίθμων

3 ΘΕΩΡΙΑ ΓΛΩΣΣΩΝ & ΑΥΤΟΜΑΤΩΝ: ΕΙΣΑΓΩΓΗ ΙΙΙ
Προτεινόμενη Βιβλιογραφία: - Στοιχεία Θεωρίας Υπολογισμού των Lewis και Παπαδημητρίου, Εκδόσεις Κριτική, (το μοναδικό ελληνικό βιβλίο) - Intoduction to Automata Theory, Languages and Computation των Hopcroft, Motwani και Ullman, Εκδόσεις Addison Wesley, 2003 (το «κλασσικό») - Μεταγλωττιστές Γλωσσών Προγραμματισμού των Λάζου, Κατσαρού και Καραϊσκου, (πιο εφαρμοσμένο και με έμφαση σε αλγορίθμους)

4 ΘΕΩΡΙΑ ΓΛΩΣΣΩΝ & ΑΥΤΟΜΑΤΩΝ: ΕΙΣΑΓΩΓΗ ΙV
Δομή ύλης: - Σύνολα, σχέσεις και γλώσσες - Πεπερασμένα αυτόματα (αναγνώριση προτύπων συμβολοσειρών και αναπαράσταση πρωτοκόλλων επικοινωνίας) - Γλώσσες χωρίς συμφραζόμενα (αναπαράσταση τεχνιτών γλωσσών και γλωσσών προγραμματισμού) - Μηχανές Turing (θεωρητική αναπαράσταση των δυνατοτήτων μιας υπολογιστικής μηχανής)

5 ΣΥΝΟΛΑ Ι Σύνολο είναι μία συλλογή αντικειμένων
π.χ. συλλογή τεσσάρων γραμμάτων L = {a, b, c, d} Τα αντικείμενα που αποτελούν ένα σύνολο, ονομάζονται στοιχεία ή μέλη του. συμβολισμός b  L αν το z δεν είναι στοιχείο του L, τότε z  L Σε ένα σύνολο δε διακρίνουμε επαναλήψεις των στοιχείων του. Σύνολο χωρίς στοιχεία είναι το κενό σύνολο 

6 ΣΥΝΟΛΑ ΙΙ Σύνολα που δεν είναι δυνατό να οριστούν με παράθεση: μπορεί να είναι άπειρα σύνολα ή πεπερασμένα παράδειγμα άπειρου συνόλου Ν = {0, 1, 2, . . .} Άλλοι τρόποι ορισμού συνόλου: - να αναφερθούμε σε άλλα (γνωστά) σύνολα - να αναφερθούμε σε ιδιότητες που μπορεί να έχουν ή να μην έχουν τα στοιχεία του συνόλου παράδειγμα, έστω Ι = {1, 3, 9} και G = {3, 9} το G γράφεται επίσης ως G = {x: x  I και x > 2}

7 ΣΥΝΟΛΑ ΙΙΙ Γενικά, αν έχουμε ορίσει ένα σύνολο Α και αν P είναι μία ιδιότητα που τα στοιχεία του Α μπορεί να έχουν ή να μην έχουν, τότε ένα σύνολο μπορεί να ορισθεί ως Β = {x: x  A και x έχει την ιδιότητα P} Σύνολο Α, υποσύνολο ενός συνόλου B συμβολίζεται με Α  Β Σύνολο Α, γνήσιο υποσύνολο ενός συνόλου B συμβολίζεται με Α  Β Το κενό σύνολο είναι υποσύνολο κάθε άλλου συνόλου

8 ΣΥΝΟΛΑ ΙV Σύνολα ίσα: Α  Β και Β  Α Πράξεις συνόλων:
- Α  Β = {x: x  A ή x  B} - Α  Β = {x: x  A και x  B} - Α - Β = {x: x  A και x  B} Ιδιότητες συνόλων: ανακλαστική Α  Α = Α Α  Α = Α αντιμεταθετική Α  Β = Β  Α Α  Β = Β  Α προσεταιριστική (A  B)  C = A  (B  C) (A  B)  C = A  (B  C)

9 ΣΥΝΟΛΑ V Ιδιότητες συνόλων (συνέχεια):
επιμεριστική (A  B)  C = (Α  C)  (Β  C) (A  B)  C = (Α  C)  (Β  C) απορροφητικό (A  B)  Α = Α στοιχείο (A  B)  Α = Α Νόμοι DeMorgan A - (Β  C) = (A - B)  (A - C) A - (Β  C) = (A - B)  (A - C) Σύνολα ξένα μεταξύ τους: η τομή τους κενή Αν S είναι μία συλλογή από σύνολα, τότε  S = {x: x  P για κάποιο P  S} και  S = {x: x  P για κάθε P  S}

10 ΣΥΝΟΛΑ VΙ Η συλλογή όλων των υποσυνόλων ενός συνόλου Α είναι ένα σύνολο που ονομάζεται δυναμοσύνολο του Α και συμβολίζεται με 2Α παράδειγμα: υποσύνολα του {c, d} είναι το ίδιο το {c, d} και τα μονομελή {c} και {d} και το  άρα το δυναμοσύνολο του {c, d} είναι το 2{c, d} = {{c, d}, {c}, {d}, }

11 ΣΥΝΟΛΑ VΙI Μια διαμέριση ενός μη κενού συνόλου Α είναι ένα υποσύνολο Π του 2Α τέτοιο ώστε το  να μην είναι στοιχείο του Π και κάθε στοιχείο του Α να ανήκει σε ένα και μόνο ένα σύνολο του Π. Το Π είναι διαμέριση του Α, αν το Π είναι ένα σύνολο υποσυνόλων του Α τέτοιο ώστε (1) κάθε στοιχείο του Π είναι μη κενό (2) τα μέλη του Π είναι ξένα μεταξύ τους και (3) Π = Α

12 ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ Ι
Γράφουμε το διατεταγμένο ζεύγος δύο αντικειμένων a και b ως (a, b), όπου τα a και b ονομάζονται στοιχεία του διατεταγμένου ζεύγους. Ένα διατεταγμένο ζεύγος (a, b) διαφέρει από ένα σύνολο {a, b} στο γεγονός ότι (α) έχει σημασία η σειρά δηλ. το (a, b) είναι διαφορετικό από το (b,a) και (β) τα δύο στοιχεία ενός διατεταγμένου ζεύγους δε χρειάζεται να είναι διαφορετικά

13 ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΙΙ
Το καρτεσιανό γινόμενο δύο συνόλων συμβολίζεται με A  B, είναι το σύνολο όλων των διατεταγμένων ζευγών (a, b) με aA και bB. Μία δυαδική σχέση ανάμεσα σε δύο σύνολα Α και Β είναι ένα υποσύνολο του A  B. παράδειγμα: το {(i, j): i, j  N και i < j} είναι η σχέση «μικρότερο από» και είναι ένα υποσύνολο του Ν  Ν

14 ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΙΙΙ
Αν n είναι ένας φυσικός αριθμός και αν a1, . . ., an είναι οποιαδήποτε n αντικείμενα, όχι υποχρεωτικά διαφορετικά, (a1, . . ., an) είναι μία διατεταγμένη πλειάδα (στη συγκεκριμένη περίπτωση n-άδα). Ακολουθία είναι μία διατεταγμένη n-άδα για κάποιο απροσδιόριστο n που ονομάζεται μήκος της ακολουθίας.

15 ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΙV
Αν Α1, . . ., Αn είναι οποιαδήποτε σύνολα, τότε το n-αδικό Καρτεσιανό γινόμενο A1A2  An είναι το σύνολο όλων των διατεταγμένων n-άδων (a1, . . ., an), με aiAi για κάθε i=1,2,. . ., n. Αν τα Ai ταυτίζονται, το n-αδικό Καρτεσιανό γινόμενο A  A   A του Α με τον εαυτό του γράφεται Αn. παράδειγμα: το N2 είναι το σύνολο των διατεταγμένων ζευγών φυσικών αριθμών

16 ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ V
Μία συνάρτηση από ένα σύνολο Α σε ένα σύνολο Β είναι μία δυαδική σχέση R ορισμένη στα Α και Β με την εξής ιδιότητα: για κάθε στοιχείo a  A, υπάρχει ακριβώς ένα διατεταγμένο ζεύγος της R με πρώτο στοιχείο το a. Γράφουμε f: A  B για να δείξουμε ότι η f είναι μία συνάρτηση από το Α στο B. Ονομάζουμε το Α πεδίο ορισμού της f. Αν το a είναι ένα οποιοδήποτε στοιχείο του Α, γράφουμε f(a) για εκείνο το στοιχείο b του B (είναι μοναδικό) τέτοιο ώστε (a, b)  f.

17 ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ VΙ
Για να ορίσουμε τη συνάρτηση f: A  B, αρκεί να προσδιορίσουμε το f(a) για κάθε aA. Αν f: A  B και Α΄ είναι υποσύνολο του Α ορίζουμε f[Α΄] = {f(a): a  Α΄}. Ονομάζουμε το f[Α΄] εικόνα του Α΄ ως προς την f. Το πεδίο τιμών της f είναι η εικόνα του πεδίου ορισμού της. Αν το πεδίο ορισμού μιας συνάρτησης είναι Καρτεσιανό γινόμενο, τότε ένα ζεύγος παρενθέσεων παραλείπεται: αν f: NN  N ορίζεται έτσι ώστε η εικόνα του διατεταγμένου ζεύγους (m, n) ως προς f να είναι το άθροισμα m+n, θα γράφαμε πιο απλά f(m, n)=m+n

18 ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ VΙI
Αν f: A1A2  An  B είναι μια συνάρτηση και f(a1, . . ., an) = b, όπου αiAi, για i=1, . . ., n και b  B, τότε ονομάζουμε τα a1, . . ., an ορίσματα ή μεταβλητές της f και το b την αντίστοιχη τιμή της f. Μία συνάρτηση f: A  B είναι ένα προς ένα, αν για κάθε δύο διαφορετικά στοιχεία a, a΄A, f(a)f(a΄). Μία συνάρτηση f: A  B είναι επί του Β, αν κάθε στοιχείο του Β είναι εικόνα κάποιου στοιχείου του Α ως προς την f. Μία συνάρτηση f: A  B είναι αμφιμονοσήμαντη αντιστοιχία ανάμεσα στα Α και Β, αν είναι συγχρόνως ένα προς ένα και επί του Β.

19 ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ VΙIΙ
Κάθε δυαδική σχέση R  A  B έχει μία αντίστροφη R-1  Β  Α η οποία ορίζεται απλά ως {(b, a): (a, b)R} Η αντίστροφη μιας συνάρτησης δεν είναι υποχρεωτικά συνάρτηση. Μία συνάρτηση f: A  B μπορεί επίσης να μην έχει αντίστροφη, αν υπάρχει κάποιο bB τέτοιο ώστε f(a)b για κάθε a A. Αν η f: A  B είναι αμφιμονοσήμαντη αντιστοιχία τότε και η f-1 είναι επίσης συνάρτηση και μάλιστα αμφιμονοσήμαντη. Επιπλέον, f-1(f(a))=a για κάθε aA και f(f-1(b))=b για κάθε bB.

20 ΤΥΠΟΙ ΔΥΑΔΙΚΩΝ ΣΧΕΣΕΩΝ Ι
Έστω A ένα σύνολο και R  A  Α μία σχέση ορισμένη στο A. Η σχέση R μπορεί να αναπαρασταθεί με ένα κατευθυνόμενο γράφο (γράφο με κατεύθυνση στις ακμές). Κάθε στοιχείο του Α αναπαριστάται με ένα μικρό κύκλο που ονομάζουμε κόμβο και σχεδιάζεται ένα βέλος από το a στο b αν και μόνο αν (a, b)R. Τα βέλη είναι οι ακμές του κατευθυνόμενου γράφου. παράδειγμα: η σχέση R = {(a, b), (b, a), (a, d), (d, c), (c, c), (c, a)} αναπαριστάται από το γράφο

21 ΤΥΠΟΙ ΔΥΑΔΙΚΩΝ ΣΧΕΣΕΩΝ ΙΙ
Μία σχέση R  A  Α είναι ανακλαστική αν (a, a)R για κάθε aA. Ο κατευθυνόμενος γράφος που αναπαριστά μια ανακλαστική σχέση έχει ένα βρόχο από κάθε κόμβο στον εαυτό του. Μία σχέση είναι συμμετρική αν (b, a)R αν και μόνο αν (a, b)R. Στον αντίστοιχο κατευθυνόμενο γράφο, όταν υπάρχει βέλος ανάμεσα σε δύο κόμβους, υπάρχουν βέλη ανάμεσα στους κόμβους αυτούς και προς τις δύο κατευθύνσεις. Μία συμμετρική σχέση χωρίς ζεύγη της μορφής (a, a) αναπαριστάται ως ένας μη κατευθυνόμενος γράφος ή απλά γράφος. Μία σχέση R είναι αντισυμμετρική αν όποτε (a, b)R και τα a και b είναι διαφορετικά, τότε (b, a)R Μία δυαδική σχέση R είναι μεταβατική αν οποτεδήποτε (a, b)R και (b, c)R, τότε (a, c)R.

22 ΤΥΠΟΙ ΔΥΑΔΙΚΩΝ ΣΧΕΣΕΩΝ ΙΙI
Μία σχέση που είναι ανακλαστική, συμμετρική και μεταβατική, ονομάζεται σχέση ισοδυναμίας. Η αναπαράσταση μιας σχέσης ισοδυναμίας με ένα μη κατευθυνόμενο γράφο αποτελείται από ένα σύνολο συνδεδεμένων συνιστωσών, όπου σε κάθε συνιστώσα κάθε ζεύγος κόμβων συνδέεται με μία ακμή. Οι συνδεδεμένες συνιστώστες μιας σχέσης ισοδυναμίας ονομάζονται κλάσεις ισοδυναμίας. Γενικά, συμβολίζουμε με [a] την κλάση ισοδυναμίας που περιέχει ένα στοιχείο a, υπό την προϋπόθεση ότι η σχέση ισοδυναμίας R προκύπτει από τα συμφραζόμενα. Δηλαδή [a]={b: (a, b)R}

23 ΤΥΠΟΙ ΔΥΑΔΙΚΩΝ ΣΧΕΣΕΩΝ ΙV
Θεώρημα: Έστω R μία σχέση ισοδυναμίας ενός μη κενού συνόλου A. Τότε οι κλάσεις ισοδυναμίας της R αποτελούν διαμέριση του Α. Δηλαδή, ξεκινώντας από κάποια σχέση ισοδυναμίας R, μπορούμε πάντα να κατασκευάζουμε μία αντίστοιχη διαμέριση Π. Επίσης, από κάθε διαμέριση μπορούμε να κατασκευάσουμε μία αντίστοιχη σχέση ισοδυναμίας.

24 ΤΥΠΟΙ ΔΥΑΔΙΚΩΝ ΣΧΕΣΕΩΝ V
Μία σχέση που είναι ανακλαστική, αντισυμμετρική και μεταβατική ονομάζεται μερική διάταξη. Μία μερική διάταξη R  A  Α είναι ολική διάταξη αν για όλα τα a, b  A είτε (a, b)  R ή (b, a)  R. Ένα μονοπάτι σε μία δυαδική σχέση R είναι μία ακολουθία (α1,. . . , αn) για κάποιο n  1 έτσι ώστε (ai, ai+1)R για i=1,…, n-1. Το μονοπάτι αυτό λέμε ότι είναι από το a1 στο an. Το μήκος ενός μονοπατιού (a1,…, an) είναι n. Το μονοπάτι (a1,…, an) ονομάζεται κύκλος αν τα ai είναι όλα διαφορετικά και επίσης (an, a1)R

25 ΠΕΠΕΡΑΣΜΕΝΑ & ΑΠΕΙΡΑ ΣΥΝΟΛΑ Ι
ΜΕΓΕΘΟΣ ΣΥΝΟΛΟΥ  ΑΡΙΘΜΟΣ ΣΤΟΙΧΕΙΩΝ ΠΟΥ ΠΕΡΙΕΧΕΙ ΤΙ ΓΙΝΕΤΑΙ ΜΕ ΤΑ ΑΠΕΙΡΑ ΣΥΝΟΛΑ; Πολλαπλάσια του 17 (17, 34, 51, 68, ) Τέλεια τετράγωνα (0, 1, 4, 16, ) Ποιο σύνολο είναι μεγαλύτερο;

26 ΠΕΠΕΡΑΣΜΕΝΑ & ΑΠΕΙΡΑ ΣΥΝΟΛΑ ΙΙ
Δύο σύνολα Α και Β λέμε ότι είναι ισάριθμα αν υπάρχει αμφιμονοσήμαντη αντιστοιχία f: A  B. Αν υπάρχει αμφιμονοσήμαντη f: A  B, τότε υπάρχει και f-1: Β  Α και άρα η σχέση αυτή είναι και συμμετρική. Τελικά αποδεικνύεται ότι είναι και σχέση ισοδυναμίας. Ένα σύνολο λέμε ότι είναι πεπερασμένο αν είναι ισάριθμο με το {1, 2, . . ., n} για κάποιο φυσικό αριθμό n. Για n = 0 το κενό είναι πεπερασμένο σύνολο αφού είναι ισάριθμο με τον εαυτό του.

27 ΠΕΠΕΡΑΣΜΕΝΑ & ΑΠΕΙΡΑ ΣΥΝΟΛΑ ΙΙΙ
Αν τα Α και {1, . . ., n} είναι ισάριθμα, τότε λέμε ότι ο πληθικός αριθμός του Α που συμβολίζεται με Α είναι n. Ένα σύνολο είναι άπειρο αν δεν είναι πεπερασμένο. π.χ. το σύνολ ο N των φυσικών είναι άπειρο Δεν είναι όλα τα άπειρα σύνολα ισάριθμα. Ένα σύνολο λέγεται μετρήσιμα άπειρο αν είναι ισάριθμο του Ν. Ένα σύνολο λέγεται μετρήσιμο αν είναι πεπερασμένο ή μετρήσιμα άπειρο.

28 ΠΕΠΕΡΑΣΜΕΝΑ & ΑΠΕΙΡΑ ΣΥΝΟΛΑ ΙV
Για να δείξουμε ότι ένα σύνολο Α είναι μετρήσιμα άπειρο πρέπει να προτείνουμε έναν τρόπο με τον οποίο το Α να μπορεί να απαριθμηθεί ως Α={a0, a1, a2, . . .} καθώς μία τέτοια απαρίθμηση συνεπάγεται αυτόματα μία αμφιμονοσήμαντη αντιστοιχία ανάμεσα στο Α και το Ν. Παράδειγμα: Αποδείξτε ότι η ένωση μετρήσιμα άπειρων συνόλων πεπερασμένου αριθμού είναι μετρήσιμα άπειρο σύνολο. Η ένωση μιας μετρήσιμα άπειρης συλλογής μετρήσιμα άπειρων συνόλων είναι μετρήσιμα άπειρο σύνολο.

29 ΚΛΕΙΣΤΟΤΗΤΑ Ι Έστω RAA ο κατευθυνόμενος γράφος ορισμένος σε ένα σύνολο Α. Η ανακλαστική μεταβατική κλειστότητα του R είναι η σχέση R*={(a,b): a, bA και υπάρχει μονοπάτι από το a στο b στο R} H R* είναι η μικρότερη σχέση που περιέχει την R και είναι ανακλαστική και μεταβατική.

30 ΚΛΕΙΣΤΟΤΗΤΑ ΙΙ Αλγόριθμος υπολογισμού κλειστότητας (συνέπεια του ορισμού) R*:= for i=1, . . ., n do για κάθε i-άδα (b1, , bi)Ai do if (b1, , bi) είναι ένα μονοπάτι στην R then πρόσθεσε (b1, bi) στην R* Έστω D ένα σύνολο n  0 και RDn+1 μία (n+1)-αδική σχέση στο D. Τότε ένα υποσύνολο B του D ονομάζεται κλειστό ως προς την R αν bn+1B όποτε b1,. . ., bnB και (b1,. . ., bn,bn+1) R. Κάθε ιδιότητα του τύπου «το σύνολο B είναι κλειστό ως προς τις σχέσεις R1, R2,. . ., Rn» ονομάζεται ιδιότητα κλειστότητας του B.

31 ΚΛΕΙΣΤΟΤΗΤΑ ΙΙI ΠΑΡΑΔΕΙΓΜΑ
Το σύνολο των προγόνων ενός ανθρώπου είναι κλειστό ως προς τη σχέση {(a,b): a και b είναι άνθρωποι και b είναι ο πατέρας του a} καθώς ο πατέρας ενός προγόνου είναι επίσης πρόγονος. Μαθηματική κατασκευή: μετάβαση από ένα σύνολο A στο ελάχιστο σύνολο B που περιέχει το Α και έχει την ιδιότητα P Πρέπει να διασφαλίζεται ότι υπάρχει ένα μοναδικό τέτοιο σύνολο Β, ώστε αυτό να ορίζεται σαφώς.

32 ΚΛΕΙΣΤΟΤΗΤΑ ΙV ΘΕΩΡΗΜΑ:
Έστω P μία ιδιότητα κλειστότητας ορισμένη από σχέσεις ενός συνόλου D και έστω AD. Τότε υπάρχει ένα μοναδικό ελάχιστο σύνολο B το οποίο περιέχει το A και έχει την ιδιότητα P. Ονομάζουμε το B κλειστότητα του A ως προς τις σχέσεις R1, . . ., Rm. ΠΑΡΑΔΕΙΓΜΑ Το σύνολο όλων των προγόνων σας (ο κάθε ένας υποθέτουμε ότι είναι πρόγονος του εαυτού του) είναι η κλειστότητα του μονομελούς συνόλου το οποίο περιέχει μόνο τον εαυτό σας ως προς τη σχέση {(a,b): a και b είναι άνθρωποι και b είναι ο πατέρας του a}

33 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ Ι Αλφάβητο Σ είναι ένα πεπερασμένο σύνολο συμβόλων. Συμβολοσειρά ενός αλφαβήτου είναι μια πεπερασμένη ακολουθία συμβόλων του αλφαβήτου. Αντί να γράφουμε την ακολουθία με παρενθέσεις όπως στις προηγούμενες διαφάνειες, απλά παραθέτουμε σύμβολα. Αν μία συμβολοσειρά δεν έχει καθόλου σύμβολα τότε αυτή λέγεται κενή συμβολοσειρά και γράφεται με e ή ε. Το σύνολο όλων των συμβολοσειρών, συμπεριλαμβανομένης και της κενής, ενός αλφαβήτου Σ συμβολίζεται με Σ*. Το μήκος μιας συμβολοσειράς είναι το μήκος της ως ακολουθία. Για μια συμβολοσειρά w το μήκος της συμβολίζεται με |w|.

34 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ ΙI
Δύο συμβολοσειρές ενός αλφαβήτου μπορούν να συνδυαστούν για να σχηματίσουν μία τρίτη, με την πράξη της παράθεσης. Η παράθεση δύο συμβολοσειρών x και y που γράφεται απλά ως xy είναι η συμβολοσειρά x ακολουθούμενη από την y. Τυπικά γράφουμε w=xy αν και μόνο αν |w| = |x| + |y| και w(j) = x(j) για j = 1, . . ., |x| και w(|x|+j) = y(j) για j = 1, . . ., |y|

35 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ ΙII
ΙΔΙΟΤΗΤΕΣ ΠΑΡΑΘΕΣΗΣ - w e = e w = w απορροφητικό στοιχείο - (w x) y = w (x y) προσεταιριστικότητα Μία συμβολοσειρά v είναι υποσυμβολοσειρά μιας συμβολοσειράς w αν και μόνο αν υπάρχουν συμβολοσειρές x και y τέτοιες ώστε w = xvy Κάθε συμβολοσειρά είναι υποσυμβολοσειρά του εαυτού της και το e είναι υποσυμβολοσειρά κάθε συμβολοσειράς.

36 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ ΙV
Αν w = xv για κάποιο x, τότε το v λέγεται κατάληξη του w. Αν w = vy για κάποιο y, τότε το v λέγεται πρόθεμα του w. Για κάθε συμβολοσειρά w και κάθε φυσικό αριθμό i, η συμβολοσειρά wi ορίζεται ως w0 = e wi+1 = wiw για κάθε i0 Η αντίστροφη μιας συμβολοσειράς w συμβολίζεται με wR και είναι η συμβολοσειρά διαβασμένη από το τέλος προς την αρχή.

37 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ V Τυπικά γράφουμε Αποδεικνύεται με επαγωγή ότι
Αν w είναι συμβολοσειρά μήκους 0, τότε wR = w = e Αν w είναι συμβολοσειρά μήκους n+1 >0 τότε w = ua για κάποιο aΣ και wR=auR Αποδεικνύεται με επαγωγή ότι (wx)R = xR wR Κάθε σύνολο από συμβολοσειρές ενός αλφαβήτου Σ δηλαδή κάθε υποσύνολο του Σ* θα ονομάζεται γλώσσα.

38 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ VI
Το Σ*, το  και το Σ είναι και αυτά γλώσσες. Μία πεπερασμένη γλώσσα μπορεί να ορισθεί παραθέτοντας όλες τις συμβολοσειρές που την απαρτίζουν. Οι πιο πολλές γλώσσες από αυτές που συνήθως μελετάμε είναι άπειρες. ΠΑΡΑΔΕΙΓΜΑΤΑ: {0, 01, 011, 0111, } {wΣ*: η w έχει ίσο πλήθος 1 και 0} {wΣ*: η w = wR} Ένας τρόπος για να ορίζουμε άπειρες γλώσσες: L={wΣ*: η w έχει την ιδιότητα P}

39 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ VII
Αν Σ είναι ένα πεπερασμένο αλφάβητο, τότε το Σ* είναι σίγουρα άπειρο, αλλά είναι ένα μετρήσιμα άπειρο σύνολο. Μπορούμε να κατασκευάσουμε μία αμφιμονοσήμαντη αντιστοιχία f: N  Σ*: πρέπει πρώτα να διατάξουμε το αλφάβητο, έστω Σ={a1, . . ., an}, όπου τα a1, . . ., an είναι διαφορετικά. Τα στοιχεία του Σ* μπορούν να απαριθμηθούν με τον εξής τρόπο: (1) για κάθε k0, όλες οι συμβολοσειρές μήκους k απαριθμούνται πριν από όλες τις συμβολοσειρές που έχουν μήκος k+1 (2) οι nk συμβολοσειρές μήκους ακριβώς k απαριθμούνται λεξικογραφικά, δηλαδή η ai1. . .aik προηγείται της aj1. . .ajk υπό την προϋπόθεση ότι για κάποιο m, 0  m  k-1, il = jl για l = 1, . . ., m και im+1 < jm+1

40 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ VIII
ΠΑΡΑΔΕΙΓΜΑΤΑ: Αν Σ = {0, 1} η σειρά θα ήταν ως εξής: e, 0, 1, 00, 01, 10, 000, 001, 010, 011, Εφόσον οι γλώσσες είναι σύνολα μπορούν να συνδυαστούν με τις πράξεις συνόλων, ένωση, τομή και διαφορά. Όταν κάποιο αλφάβητο γίνεται κατανοητό από τα συμφραζόμενα τότε θα γράφουμε το συμπλήρωμα του Α, αντί για τη διαφορά Σ*-Α

41 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ IΧ
Παράθεση γλωσσών L1 και L2 είναι η γλώσσα L = L1L2 = {wΣ*: η w = xy για κάποιο xL1 και yL2} Kleene star μιας γλώσσας L συμβολίζεται με L* είναι το σύνολο όλων των συμβολοσειρών που προκύπτουν από την παράθεση 0 ή περισσοτέρων συμβολοσειρών της L: L* = {wΣ*: η w = w wk για κάποιο k0 και w1 , . . wkL} Ισχύει * = e Συμβολίζουμε με L+ = LL*

42 ΠΕΠΕΡΑΣΜΕΝΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΛΩΣΣΩΝ I
ΠΑΡΑΔΕΙΓΜΑ: L = {w{0,1}*: η w έχει δύο ή τρεις εμφανίσεις του 1, εκ των οποίων η πρώτη και η δεύτερη δεν είναι συνεχόμενες} L = 0*10*010*(10* *) Μία κανονική έκφραση περιγράφει μία γλώσσα χρησιμοποιώντας αποκλειστικά απλά σύμβολα και το  συνδυασμένα με τα σύμβολα  και *, ίσως με τη βοήθεια παρενθέσεων. Κανονικές εκφράσεις είναι όλες οι συμβολοσειρές του αλφαβήτου Σ  {(, ), , , *} που μπορούν να κατασκευαστούν ως ακολούθως:  και κάθε στοιχείο του Σ είναι κανονική έκφραση αν α και β είναι κανονικές εκφράσεις, τότε είναι επίσης και η (αβ) αν α και β είναι κανονικές εκφράσεις και η (α  β) είναι επίσης αν α είναι κανονική έκφραση και η α* είναι επίσης τίποτα δεν είναι κανονική έκφραση, εκτός και αν προκύπτει από τα παραπάνω

43 ΠΕΠΕΡΑΣΜΕΝΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΛΩΣΣΩΝ II
Η σχέση ανάμεσα στις κανονικές εκφράσεις και τις γλώσσες που αναπαριστούν ορίζεται από μία συνάρτηση £, τέτοια ώστε αν α είναι μια οποιαδήποτε κανονική έκφραση, τότε £ (α) να είναι η γλώσσα που αναπαριστάται από το α. Δηλαδή, η £ είναι μία συνάρτηση από συμβολοσειρές σε γλώσσες. Η συνάρτηση £ ορίζεται ως εξής: (1) £() =  και £ (α) = {α} για κάθε αΣ (2) Αν α και β είναι κανονικές εκφράσεις, τότε £ (αβ) = £ (α) £(β) (3) Αν α και β είναι κανονικές εκφράσεις, τότε £(αβ) = £(α)  £(β) (4) Αν α είναι κανονική έκφραση, τότε £ (α*) = £ (α)* ΠΑΡΑΔΕΙΓΜΑ: Ποια είναι η £ ((α  b)*α) ; £ ((α  b)*α) = £ ((α  b)*) £(α) σύμφωνα με τη (2) = £ ((α  b)*) {α} σύμφωνα με τη (1) = £ (α  b)*{α} σύμφωνα με την (4) = (£(α)  £ (b) )*{α} σύμφωνα με την (3) = ({α}  {b} )*{α} σύμφωνα με την (1) = {w{α, b}*: w τελειώνει σε α}

44 ΠΕΠΕΡΑΣΜΕΝΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΛΩΣΣΩΝ IIΙ
Η κλάση των κανονικών γλωσσών ενός αλφαβήτου Σ ορίζεται να αποτελείται από όλες τις γλώσσες L έτσι ώστε L = £ (α) για κάποια κανονική έκφραση α του Σ. Η κλάση των κανονικών γλωσσών του Σ είναι ακριβώς η κλειστότητα του συνόλου γλωσσών {{σ}: σ  Σ}  {} ως προς τις πράξεις ένωσης, παράθεσης και Kleene star. ΠΑΡΑΔΕΙΓΜΑ ΜΗ ΚΑΝΟΝΙΚΗΣ ΓΛΩΣΣΑΣ: {0n1n: n0} ΟΙ ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ ΕΙΝΑΙ ΓΕΝΙΚΑ ΜΙΑ ΑΝΕΠΑΡΚΗΣ ΜΕΘΟΔΟΣ ΠΡΟΣΔΙΟΡΙΣΜΟΥ.

45 ΠΕΠΕΡΑΣΜΕΝΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΛΩΣΣΩΝ IV
ΕΡΩΤΗΜΑ: ΥΠΑΡΧΕΙ ΑΛΓΟΡΙΘΜΟΣ ΠΟΥ ΝΑ ΑΠΟΦΑΣΙΖΕΙ ΕΑΝ ΜΙΑ ΔΕΔΟΜΕΝΗ ΣΥΜΒΟΛΟΣΕΙΡΑ ΑΝΗΚΕΙ ΣΕ ΜΙΑ ΓΛΩΣΣΑ; Ένας αλγόριθμος ειδικά σχεδιασμένος, για κάποια γλώσσα L, που απαντάει σε ερωτήσεις του τύπου «Ανήκει η συμβολοσειρά w στην L;» ονομάζεται μηχανή αναγνώρισης γλώσσας. ΠΑΡΑΔΕΙΓΜΑ: Μία μηχανή αναγνώρισης της γλώσσας L = {w{0, 1}*: η w δεν περιέχει τη συμβολοσειρά 111} η οποία διαβάζει συμβολοσειρές, ένα σύμβολο τη φορά, από αριστερά προς τα δεξιά, θα μπορούσε να λειτουργήσει ως εξής: «Κράτα ένα μετρητή, που ξεκινά από το μηδέν και μηδενίζεται κάθε φορά που ένα 0 εμφανίζεται στην είσοδο. Να προσθέτεις μία μονάδα κάθε φορά που ένα 1 εμφανίζεται στην είσοδο. Τερμάτισε με αρνητική απάντηση αν κάποτε ο μετρητής φτάσει στο τρία και με θετική απάντηση αν διαβαστεί όλη η συμβολοσειρά χωρίς ο μετρητής να φτάσει στο τρία.»

46 ΠΕΠΕΡΑΣΜΕΝΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΛΩΣΣΩΝ V
ΠΑΡΑΔΕΙΓΜΑ ΠΑΡΑΓΩΓΟΥ ΓΛΩΣΣΑΣ: (e  b  bb)(α  αb  αbb)* «Για να παράγεις ένα στοιχείο της γλώσσας L, αρχικά γράψε τίποτα ή b ή bb. Στη συνέχεια γράψε α ή αb ή αbb και κάνε το ίδιο για οποιονδήποτε αριθμό επαναλήψεων, συμπεριλαμβανομένου και του μηδέν. Όλα τα στοιχεία της L και μόνον αυτά μπορούν να παραχθούν με τον τρόπο αυτό.» Δεν είναι σχεδιασμένοι για να απαντούν σε ερωτήσεις Δεν είναι ντεντερμινιστικοί και άρα δεν προγραμματίζονται Τελικά δεν είναι αλγόριθμοι. ΠΩΣ ΣΧΕΤΙΖΟΝΤΑΙ ΟΙ ΠΑΡΑΓΩΓΟΙ ΓΛΩΣΣΩΝ ΜΕ ΤΙΣ ΜΗΧΑΝΕΣ ΑΝΑΓΝΩΡΙΣΗΣ ΓΛΩΣΣΩΝ; ΑΥΤΟ ΘΑ ΤΟ ΕΞΕΤΑΣΟΥΜΕ ΓΙΑ ΚΑΘΕ ΟΙΚΟΓΕΝΕΙΑ ΓΛΩΣΣΩΝ ΞΕΚΙΝΩΝΤΑΣ ΑΠΟ ΤΙΣ ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ.


Κατέβασμα ppt "ΘΕΩΡΙΑ ΓΛΩΣΣΩΝ & ΑΥΤΟΜΑΤΩΝ: ΕΙΣΑΓΩΓΗ Ι"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google