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

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

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

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


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

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

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

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

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 είναι ένας φυσικός αριθμός και αν a 1,..., a n είναι οποιαδήποτε n αντικείμενα, όχι υποχρεωτικά διαφορετικά, (a 1,..., a n ) είναι μία διατεταγμένη πλειάδα (στη συγκεκριμένη περίπτωση n-άδα).  Ακολουθία είναι μία διατεταγμένη n-άδα για κάποιο απροσδιόριστο n που ονομάζεται μήκος της ακολουθίας.

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

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: A 1  A 2 ...  A n  B είναι μια συνάρτηση και f(a 1,..., a n ) = b, όπου α i  A i, για i=1,..., n και b  B, τότε ονομάζουμε τα a 1,..., a n ορίσματα ή μεταβλητές της 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 έτσι ώστε (a i, a i+1 )  R για i=1,…, n-1. Το μονοπάτι αυτό λέμε ότι είναι από το a 1 στο a n. Το μήκος ενός μονοπατιού (a 1,…, a n ) είναι n. Το μονοπάτι (a 1,…, a n ) ονομάζεται κύκλος αν τα a i είναι όλα διαφορετικά και επίσης (a n, a 1 )  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  Για να δείξουμε ότι ένα σύνολο Α είναι μετρήσιμα άπειρο πρέπει να προτείνουμε έναν τρόπο με τον οποίο το Α να μπορεί να απαριθμηθεί ως Α={a 0, a 1, a 2,...} καθώς μία τέτοια απαρίθμηση συνεπάγεται αυτόματα μία αμφιμονοσήμαντη αντιστοιχία ανάμεσα στο Α και το Ν.  Παράδειγμα: Αποδείξτε ότι η ένωση μετρήσιμα άπειρων συνόλων πεπερασμένου αριθμού είναι μετρήσιμα άπειρο σύνολο.  Η ένωση μιας μετρήσιμα άπειρης συλλογής μετρήσιμα άπειρων συνόλων είναι μετρήσιμα άπειρο σύνολο.

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-άδα (b 1,..., b i )  A i do if (b 1,..., b i ) είναι ένα μονοπάτι στην R then πρόσθεσε (b 1, b i ) στην R*  Έστω D ένα σύνολο n  0 και R  D n+1 μία (n+1)-αδική σχέση στο D. Τότε ένα υποσύνολο B του D ονομάζεται κλειστό ως προς την R αν b n+1  B όποτε b 1,..., b n  B και (b 1,..., b n,b n+1 )  R. Κάθε ιδιότητα του τύπου «το σύνολο B είναι κλειστό ως προς τις σχέσεις R 1, R 2,..., R n » ονομάζεται ιδιότητα κλειστότητας του B.

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

32 ΚΛΕΙΣΤΟΤΗΤΑ ΙV  ΘΕΩΡΗΜΑ: Έστω P μία ιδιότητα κλειστότητας ορισμένη από σχέσεις ενός συνόλου D και έστω A  D. Τότε υπάρχει ένα μοναδικό ελάχιστο σύνολο B το οποίο περιέχει το A και έχει την ιδιότητα P. Ονομάζουμε το B κλειστότητα του A ως προς τις σχέσεις R 1,..., R m.  ΠΑΡΑΔΕΙΓΜΑ Το σύνολο όλων των προγόνων σας (ο κάθε ένας υποθέτουμε ότι είναι πρόγονος του εαυτού του) είναι η κλειστότητα του μονομελούς συνόλου το οποίο περιέχει μόνο τον εαυτό σας ως προς τη σχέση {(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, η συμβολοσειρά w i ορίζεται ως w 0 = e w i+1 = w i w για κάθε i  0  Η αντίστροφη μιας συμβολοσειράς w συμβολίζεται με w R και είναι η συμβολοσειρά διαβασμένη από το τέλος προς την αρχή.

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

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

39 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ VII  Αν Σ είναι ένα πεπερασμένο αλφάβητο, τότε το Σ* είναι σίγουρα άπειρο, αλλά είναι ένα μετρήσιμα άπειρο σύνολο. Μπορούμε να κατασκευάσουμε μία αμφιμονοσήμαντη αντιστοιχία f: N  Σ*: πρέπει πρώτα να διατάξουμε το αλφάβητο, έστω Σ={a 1,..., a n }, όπου τα a 1,..., a n είναι διαφορετικά. Τα στοιχεία του Σ* μπορούν να απαριθμηθούν με τον εξής τρόπο: (1) για κάθε k  0, όλες οι συμβολοσειρές μήκους k απαριθμούνται πριν από όλες τις συμβολοσειρές που έχουν μήκος k+1 (2) οι n k συμβολοσειρές μήκους ακριβώς k απαριθμούνται λεξικογραφικά, δηλαδή η a i1...a ik προηγείται της a j1...a jk υπό την προϋπόθεση ότι για κάποιο m, 0  m  k-1, i l = j l για l = 1,..., m και i m+1 < j m+1

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

41 ΑΛΦΑΒΗΤΑ ΚΑΙ ΓΛΩΣΣΕΣ IΧ  Παράθεση γλωσσών L 1 και L 2 είναι η γλώσσα L = L 1 L 2 = {w  Σ*: η w = xy για κάποιο x  L 1 και y  L 2 }  Kleene star μιας γλώσσας L συμβολίζεται με L* είναι το σύνολο όλων των συμβολοσειρών που προκύπτουν από την παράθεση 0 ή περισσοτέρων συμβολοσειρών της L: L* = {w  Σ*: η w = w 1... w k για κάποιο k  0 και w 1,.. w k  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. ΠΑΡΑΔΕΙΓΜΑ ΜΗ ΚΑΝΟΝΙΚΗΣ ΓΛΩΣΣΑΣ: {0 n 1 n : 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