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

Σχετικά έγγραφα
Σειρά Προβλημάτων 3 Λύσεις

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

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

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

Φροντιστήριο 7 Λύσεις

Άσκησηη 1. (α) Το αυτόματο. (γ) Να δείξετε όλα aabbb. Λύση. λέξεις. αυτόματο. (β) Τυπικά. μεταβάσεων δ. ορίζεται. (γ) Θα δείξουμε τα.

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Φροντιστήριο 6 Λύσεις

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

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

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

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

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 6: Μη Κανονικές Γλώσσες

Φροντιστήριο 9 Λύσεις

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

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

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

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

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

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α.

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

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

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

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

L mma thc 'Antlhshc. A. K. Kapìrhc

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Φροντιστήριο 2 Λύσεις

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

Φροντιστήριο 2 Λύσεις

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις

Φροντιστήριο 10 Λύσεις

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

Ασκήσεις από παλιές εξετάσεις

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

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

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

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

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

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

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

Αλγόριθμοι για αυτόματα

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

Να γράψετε τους αριθμούς 1, 2, 3 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

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

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

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

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

Λύσεις Σειράς Ασκήσεων 5

Φροντιστήριο 8 Λύσεις

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

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

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

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Λύσεις Σειράς Ασκήσεων 5

Transcript:

Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a m b n c p m,n,p 0 και είτε m + n = p είτε m = n + p } (β) { xx rev yy rev x, y {a,b} * } (γ) { 1 p +1 q >1 r p + q>r και p,q,r > 0 } (Παράδειγμα: λέξεις της γλώσσας περιλαμβάνουν τις 11+1> 11, 1111+ 11111> 111, ) (α) Θα δημιουργήσουμε δύο ξεχωριστές γραμματικές για κάθε μια από τις συνιστώσες της γλώσσας: { a m b n c p m,n,p 0 και m + n = p } A ε aab B B ε bbc { a m b n c p m,n,p 0 και m = n + p } C ε acc D D ε adb Στη συνέχεια θα συνδέσουμε τις δύο γραμματικές μέσω μιας αρχική μεταβλητής: A C (β) Δημιουργούμε δύο λέξεις της μορφής xx rev την μία μετά από την άλλη. ΤΤ Τ ata btb ε (γ) Η γραμματική μας ξεκινά εισάγοντας το σύμβολο 1 στην αρχή της λέξης. Για κάθε εμφάνιση στην αρχή μπορούμε να τοποθετήσουμε και ένα 1 στο τέλος στης λέξης. Με αυτό τον τρόπο ξέρουμε ότι τα σύμβολα 1 που βρίσκονται στην αρχή της λέξης είναι περισσότερα ή ίσα από τα 1 που βρίσκονται στο τέλος: 1 11 Μετά από το πρώτο 1, υπάρχει και η δυνατότητα εισαγωγής του συμβόλου +: 1+Τ Προχωρούμε τώρα για να ορίσουμε κανόνες για τη μεταβλητή Τ η οποία περιγράφει την έκφραση που υπάρχει δεξιά από το σύμβολο + ως εξής: Τ 1Τ 1Τ1 1 >1 Οι κανόνες αυτοί εκφράζουν ότι η συμβολοσειρά δεξιά από το + ξεκινά με το σύμβολο 1. Για κάθε τέτοιο σύμβολο μπορούμε να εισάγουμε και ένα σύμβολο στο τέλος της λέξης (κανόνας Τ 1Τ1) ή όχι (κανόνας Τ 1Τ). Με αυτό τον τρόπο γνωρίζουμε ότι δεν θα προσθέσουμε περισσότερα 1 στο τέλος της λέξης από αυτά που υπάρχουν ανάμεσα στο + και το >. Τέλος, μετά από κάποιο 1, δυνατόν να βρίσκεται το σύμβολο > το οποίο οφείλει να ακολουθείται από τουλάχιστον ένα 1 (κανόνας Τ 1>1). Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2013 Σελίδα 1

Άσκηση 2 Να κτίσετε αυτόματα στοίβας για τις πιο κάτω γλώσσες: (α) { 1 p +1 q >1 r p + q>r, p,q,r > 0 } Ακολουθεί το ζητούμενο αυτόματο. 1, ε 1 1, ε 1 1 ε, ε $ 2 1, ε 1 3 +, ε ε 4 1, ε 1 >, ε ε 5 6 1, 1 ε 8 ε, $ ε 7 1, 1 ε Ξεκινώντας, το αυτόματο τοποθετεί το $ στη στοίβα έτσι ώστε να αναγνωρίζει ότι η στοίβα είναι κενή. Στη συνέχεια, διαβάζει ένα ή περισσότερα 1 και τα τοποθετεί στη στοίβα. Συνεχίζει διαβάζονται το σύμβολο + και ένα ή περισσότερα 1 τα οποία επίσης τοποθετεί στη στοίβα. Μετά από το σύμβολο > θα πρέπει να διαβάσει τουλάχιστον ένα 1. Μετά από τον πρώτο 1, το οποίο και αφαιρεί από τη στοίβα, είναι σε θέση να αποδεχθεί τη λέξη. Αν ακολουθήσουν και άλλα 1 τα αποδέχεται εφόσον η στοίβα δεν είναι κενή. Παρατηρούμε ότι ο ρόλος της στοίβας είναι να φυλάει ανά πάσα στιγμή τα 1 που έχουν διαβαστεί και δεν έχουν «ακυρωθεί». Το αυτόματο αποδέχεται εφόσον από την κατάσταση 6 διαβάσει το σύμβολο 1 από την είσοδο ακυρώνοντας ένα 1 από τη στοίβα ή εφόσον διαβάσει το σύμβολο 1 από την κατάσταση 7 προτού αδειάσει η στοίβα. (β) {a 3i b j 0 < i j i +2} 1 ε, ε $ 2 a, ε ε 3 a, ε ε 4 a, ε 1 5 6 a, ε ε b, 1 ε 7 11 10 9 b, ε ε b, ε ε ε, $ ε 8 b, 1 ε Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2013 Σελίδα 2

Ξεκινώντας, το αυτόματο τοποθετεί το $ στη στοίβα έτσι ώστε να αναγνωρίζει ότι η στοίβα είναι κενή. Στη συνέχεια, διαβάζει τρία ή περισσότερα a και, για κάθε τριάδα από a που διαβάζει, τοποθετεί ένα 1 στη στοίβα. Συνεπώς, κάθε φορά που βρισκόμαστε στην κατάσταση 5, έχουν διαβαστεί 3i σύμβολα a αν και μόνο αν υπάρχουν i σύμβολα 1 στη στοίβα. Σε περίπτωση που διαβάσουμε το σύμβολο b στην είσοδο, τότε θα αφαιρεθεί ένα 1 από τη στοίβα και θα προχωρήσουμε στην κατάσταση 8 από όπου μπορούμε να συνεχίσουμε να διαβάζουμε και άλλα b εφόσον η στοίβα δεν είναι κενή. Μόλις αδειάσει η στοίβα είμαστε σε θέση να αποδεκτούμε τη λέξη. Επίσης μπορούμε να μεταβούμε σε κατάσταση αποδοχής (καταστάσεις 10 και 11) για τα επόμενα 2 b που μπορεί να ακολουθήσουν. (γ) {xx rev yy rev x, y {a,b} * } a, ε a b, ε b a, a ε b, b ε a, ε a b, ε b a, a ε b, b ε 1 ε, ε $ 2 ε, ε ε 3 4 5 6 ε, $ $ ε, ε ε ε, $ ε Άσκηση 3 Θεωρείστε την ασυμφραστική γραμματική G = ({}, {a,b}, R, ), όπου R το πιο κάτω σύνολο κανόνων: a ab ε (α) Να δείξετε ότι η γραμματική αυτή είναι πολύτροπη επιδεικνύοντας δύο διαφορετικά συντακτικά δέντρα για τη λέξη aab. (β) Να δείξετε ότι η γραμματική παράγει όλες τις λέξεις των οποίων όλα τα προθήματα περιέχουν τουλάχιστον τόσα a όσα και b. (Υπενθύμιση: Πρόθημα μια λέξης είναι ένα αρχικό της τμήμα. Για παράδειγμα τα ε, 0, 01, 011 και 0111 είναι όλα προθήματα της λέξης 0111). (γ) Να προτείνετε μια μονότροπη γραμματική η οποία να παράγει την ίδια γλώσσα με την G. (α) Για να δείξουμε ότι γραμματική είναι πολύτροπη είναι αρκετό να δείξουμε ότι υπάρχει λέξη που παράγεται από τη γραμματική και η οποία μπορεί να παραχθεί μέσω περισσότερων από μίας εξ αριστερών παραγωγές. Μία τέτοια λέξη είναι η aab η οποία παράγεται μέσω των δύο πιο κάτω συντακτικών δέντρων. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2013 Σελίδα 3

a b a a ε a b ε ε ε (β) Για να δείξουμε ότι η γραμματική παράγει όλες τις λέξεις των οποίων όλα τα προθήματα περιέχουν τουλάχιστον τόσα a όσα και b, μπορούμε να χρησιμοποιήσουμε επαγωγή στο μήκος της λέξης. Βασικές περιπτώσεις: Αν το μήκος της λέξης είναι ίσο με 1 τότε η λέξη είναι η a, ενώ αν το μήκος της λέξης είναι 2 τότε η λέξη είναι μια εκ των aa και ab. Σε όλες τις περιπτώσεις, όλα τα προθήματα των λέξεων περιέχουν τουλάχιστον τόσα a όσα και b και το ζητούμενο έπεται. Υπόθεση της επαγωγής: Ας υποθέσουμε ότι το ζητούμενο ισχύει για όλες τις λέξεις με μήκος < n. Βήμα της επαγωγής: Ας υποθέσουμε ότι η λέξη w έχει μήκος n. Αν η λέξη έχει παραχθεί από τον κανόνα a τότε έχει την μορφή aw, όπου w είναι μια λέξη που παράγεται από τη γραμματική με μήκος n 1. Από την υπόθεση της επαγωγής όλα τα προθήματα του w περιέχουν τουλάχιστον τόσα a όσα και b. Αφού κάθε πρόθημα της w περιέχει ένα περισσότερο a από ότι η w, έπεται ότι όλα τα προθήματα της w επίσης περιέχουν τουλάχιστον τόσα a όσα και b. Αν η λέξη έχει παραχθεί από τον κανόνα ab τότε έχει την μορφή aw bw, όπου w και w είναι λέξεις που παράγονται από τη γραμματική με μήκος < n. Από την υπόθεση της επαγωγής όλα τα προθήματα των w και w περιέχουν τουλάχιστον τόσα a όσα και b. Αφού κάθε πρόθημα της w περιέχει ένα περισσότερο a από ότι οι w και w, έπεται ότι όλα τα προθήματα της w επίσης περιέχουν τουλάχιστον τόσα a όσα και b. (γ) Ισοδύναμη μονότροπη γραμματική είναι η πιο κάτω. a aτ ε Τ aττb ε Άσκηση 4 Να δείξετε ότι οι πιο κάτω γλώσσες δεν είναι ασυμφραστικές αιτιολογώντας με ακρίβεια τις απαντήσεις σας. (α) { a m b n c m d n+m m, n 0} Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2013 Σελίδα 4

(β) {w#w rev #w w {0,1} * } (γ) [Προαιρετική] { n 0} (α) Λ 1 = { a m b n c m d n+m m, n 0} Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 1 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη w = a p b p c p d 2p και ας ονομάσουμε τα τμήματα της λέξης ως Α, Β, Γ, Δ, όπου w = ΑΒΓΔ, και Α=a p, Β = b p, Γ=c p, Δ= d 2p. Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y να είναι μη κενή ( vy > 0) και οποιαδήποτε ταυτόχρονη επανάληψη των υπολέξεων v και y να διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 1, i 0). Αφού vxy p, τότε η λέξη αυτή δεν μπορεί να εκτείνεται σε περισσότερα από δύο τμήματα της λέξης. Διακρίνουμε τις πιο κάτω περιπτώσεις. Αν η vxy εκτείνεται μόνο στο τμήμα Α, τότε τα v και y θα αποτελούνται μόνο από a. Επομένως, αν αντλήσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας: uv 2 xy 2 z = a p+μ+λ b p c p d 2p Λ 1, για μ = v, λ = y. Το ίδιο επιχείρημα μπορεί να εφαρμοστεί για να δείξουμε ότι, αν η vxy εκτείνεται σε ένα από τα τμήματα Β, Γ και Δ, τότε και πάλι η λέξη δεν επιδέχεται άντλησης. Αν η vxy εκτείνεται στα δύο συνεχόμενα τμήματα Α και Β, τότε τα v και y θα αποτελούνται τόσο από a όσο και από b. Επομένως, αν αντλήσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας αφού το πλήθος των a Α θα είναι μεγαλύτερο από το πλήθος των c. Το ίδιο επιχείρημα μπορεί να εφαρμοστεί δείχνοντας ότι αν η vxy εκτείνεται σε κάποια άλλα συνεχόμενα τμήματα (Β και Γ ή Γ και Δ), τότε, και πάλι, η λέξη δεν θα επιδέχεται άντλησης. Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 1 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 1 είναι μη ασυμφραστική. (β) Λ 2 = {w#w rev #w w {0,1} * } Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 2 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη w = 0 p #0 p #0 p και ας ονομάσουμε τα τμήματα της λέξης ως Α, Β,Γ,Δ,Ε, όπου w = ΑΒΓΔΕ, και Α = 0 p, Β = #, Γ = 0 p, Δ = # και Ε = 0 p. Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y να είναι μη κενή ( vy > 0) και Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2013 Σελίδα 5

οποιαδήποτε ταυτόχρονη επανάληψη των υπολέξεων v και y να διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 2, i 0). Διακρίνουμε τις πιο κάτω περιπτώσεις. Αν η vxy εκτείνεται μόνο στο τμήμα Α, τότε τα v και y θα αποτελούνται μόνο από 0. Επομένως, αν αντλήσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας: uv 2 xy 2 z = 0 p+μ+λ #0 p #0 p 1 Λ 2, για μ = v, λ = y. Το ίδιο επιχείρημα μπορεί να εφαρμοστεί για να δείξουμε ότι, αν η vxy εκτείνεται σε ένα από τα τμήματα Γ και Ε, τότε και πάλι η λέξη δεν επιδέχεται άντλησης. Αν η vxy εκτείνεται στα δύο συνεχόμενα τμήματα Α και Β, τότε τα v και y δυνατόν να αποτελούνται από 0 και από #. Επομένως, αν αντλήσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας αφού το πλήθος των 0 ή/και ΤΩΝ # στα τμήματα Α και Β θα είναι μεγαλύτερα από το επιθυμητό πλήθος. Το ίδιο επιχείρημα μπορεί να εφαρμοστεί δείχνοντας ότι αν η vxy εκτείνεται σε κάποια άλλα δύο συνεχόμενα τμήματα (Β και Γ,Γ και Δ, Δ και Ε), τότε, και πάλι, η λέξη δεν θα επιδέχεται άντλησης. Αν η vxy εκτείνεται στα τρία συνεχόμενα τμήματα Α, Β, και Γ, τότε τα v και y θα αποτελούνται από 0 ή και #. Επομένως, αν αντλήσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας αφού το πλήθος των 0 στο Ε θα μείνει αμετάβλητο ή θα αυξηθεί το πλήθος των #. Το ίδιο επιχείρημα μπορεί να εφαρμοστεί δείχνοντας ότι αν η vxy εκτείνεται στα τρία συνεχόμενα τμήματα Γ, Δ και Ε, τότε, και πάλι, η λέξη δεν θα επιδέχεται άντλησης. Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 2 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 2 είναι μη ασυμφραστική. (γ) Λ 3 = { n 0} Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 3 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη w = ( ) =. Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y να είναι μη κενή ( vy > 0) και οποιαδήποτε ταυτόχρονη επανάληψη των υπολέξεων v και y να διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 3, i 0). Για παράδειγμα, η λέξη uv 2 xy 2 z πρέπει να ανήκει στη Λ 3. Από τη στιγμή που vxy p, η λέξη uv 2 xy 2 z περιέχει το πολύ p περισσότερα σύμβολα από τη w. Είναι όμως δυνατόν μια λέξη με το πολύ + συνεχόμενα a να ανήκει στη Λ 3 ; Μόνο αν το μήκος αυτό είναι το τετράγωνο κάποιου αριθμού. Επομένως το ερώτημα μας μετατρέπεται στο ερώτημα κατά πόσο υπάρχει κάποιο τετράγωνο ανάμεσα στις τιμές +1 και +. Ας θεωρήσουμε το αμέσως μεγαλύτερο τετράγωνό από το ( ). Αυτό είναι το ( +1) = +2 +1. Παρατηρούμε ότι αυτό το τετράγωνο είναι μεγαλύτερο από το + ( +2 +1> + ). Συνεπώς, δεν υπάρχει κανένα τετράγωνο ακέραιου ανάμεσα στις τιμές +1 και + και, κατ επέκταση, η λέξη uv 2 xy 2 z δεν μπορεί να ανήκει στη γλώσσα Λ 3. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2013 Σελίδα 6

Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 3 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 3 είναι μη ασυμφραστική. Άσκηση 5 Να προτείνετε μια ασυμφραστική γραμματική για τις εντολές μιας απλής διαδικαστικής γλώσσας, όπου μια εντολή μπορεί να έχει μια από τις πιο κάτω μορφές: (1) Εντολή ανάθεσης: Μια εντολή μπορεί να έχει την μορφή V:= E, όπου V είναι το όνομα μιας μεταβλητής που αποτελείται από κεφαλαία και πεζά γράμματα του αγγλικού αλφάβητου, ενώ Ε είναι μια έκφραση που ορίζεται όπως φαίνεται στη διαφάνεια 4 22. (2) Εντολή if: Μια εντολή μπορεί να έχει τη μορφή while V<E do εντολή (3) Εντολή while: Μια εντολή μπορεί να έχει τη μορφή if V<E then εντολή (4) Εντολή με ονομασία: Μια εντολή μπορεί να έχει τη μορφή L: εντολή, όπου το L είναι μια ακολουθία που αποτελείται από ακέραιους και πεζά γράμματα του αγγλικού αλφάβητου. (5) Εντολή goto: Μια εντολή μπορεί να έχει τη μορφή goto L, όπου το L είναι μια ονομασία εντολής όπως έχει οριστεί στο (4). (6) Ακολουθία: Μια εντολή μπορεί να έχει τη μορφή E 1 ;E 2 όπου τα E 1 και E 2 είναι δύο οποιεσδήποτε εντολές (δυνατό να αποτελούνται από επιμέρους εντολές χωρισμένες με ; ). Είναι η γραμματική σας πολύτροπη; Σχολιάστε την απάντησή σας. Αφού έχουμε ήδη ορίσει γραμματική για αριθμητικές εκφράσεις, στη γραμματική που θα ακολουθήσει θα χρησιμοποιήσουμε το σύμβολο Ε ως να είναι τερματικό σύμβολο. Η γραμματική που θα ορίσουμε είναι η (V,, Ρ, ), όπου V = {L, T, V, C, L, Kefalaio, Pezo, Akeraios, M, U, E}, Σ = {:, 1,,9, a,,z, A,,Z, =, <, while, do, if, then, ;} και R είναι οι πιο κάτω κανόνες. L : T /* Μια εντολή μπορεί να έχει τη μορφή L: εντολή */ T /* Μια εντολή μπορεί να μην έχει οποιαδήποτε ονομασία */ Τ V:= E /* Ανάθεση */ Τ if V C E then /* Εντολή if */ Τ while V C E do /* Εντολή while */ Τ goto L /* Εντολή goto */ Τ T; /* Ακολουθία */ Kefalaio A Z /* Τα κεφαλαία γράμματα του Αγγλικού αλφαβήτου */ Pezo a z /* Τα πεζά γράμματα του Αγγλικού αλφαβήτου */ Akeraios 1 9 /* Οι ακέραιοι */ Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2013 Σελίδα 7

L Pezo M Akeraios M /* Ονομασία εντολής */ M Pezo M Akeraios M ε V Pezo U Kefalaio U U Pezo U Kefalaio U ε /* Ονομασία μεταβλητής*/ C < /* Ακολουθία */ H πιο πάνω γραμματική δεν είναι μονότροπη. Για παράδειγμα η εντολή x:= 1; y:=2; z:= 3, μπορεί να διαβαστεί ως x:= 1; (y:=2; z:=3) ή (x:= 1; y:=2;) z:=3 Εντούτοις, η προσεταιριστικότητα του τελεστή ; έχει σαν αποτέλεσμα η πολυτροπία αυτή να μην είναι προβληματική: και οι δύο ερμηνείες της πιο πάνω εντολής είναι ισοδύναμες μεταξύ τους. Σημείωση: Για όλες σχεδόν τις ασκήσεις αυτής της σειράς ασκήσεων υπάρχουν περισσότερες από μία ορθές απαντήσεις. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2013 Σελίδα 8