Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση»

Σχετικά έγγραφα
Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση»

Ασκήσεις μελέτης της ενότητας της Γλωσσικής Τεχνολογίας

Επικοινωνία Ανθρώπου Υπολογιστή. Β3. Κατανόηση φυσικής γλώσσας

Γλωσσική Τεχνολογία. 5 η Ενότητα: Συντακτική ανάλυση. Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 4 ο : Συντακτική ανάλυση. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

«Τεχνογλωσσία VIII» Εξαγωγή πληροφοριών από κείμενα

Συντακτική Ανάλυση. Ίων Ανδρουτσόπουλος.

Ασκήσεις μελέτης της 23 ης διάλεξης

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

Ασκήσεις μελέτης της ενότητας «Σημασιολογική Ανάλυση»

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών

Ασκήσεις μελέτης της 11 ης διάλεξης

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

Ασκήσεις μελέτης της 6 ης διάλεξης

Ασκήσεις μελέτης της 19 ης διάλεξης

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

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

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

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

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

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

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

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

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

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΣΥΝΤΑΞΗ: ΟΡΘΟΛΟΓΙΚΗ ΠΡΟΣΕΓΓΙΣΗ (FORMAL SYNTAX)

Ασκήσεις μελέτης της 8 ης διάλεξης

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

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

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

Ασκήσεις μελέτης της 16 ης διάλεξης

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

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

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

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

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

Στοιχεία Θεωρίας Γλωσσών. (συνέχεια) (συνέχεια) Πέμπτη 27 Οκτωβρίου 2016 Θεόδωρος Τζουραμάνης Επίκουρος Καθηγητής

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

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

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

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

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

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

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

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

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

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

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

Κατηγορικές Γραµµατικές

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

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

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

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

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

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

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

Γραµµατικοί κανόνες Κανόνες µεταγραφής συµβόλων

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

Γραµµατικές για Κανονικές Γλώσσες

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

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

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

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

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

Συστήματα κ Τεχνολογίες Γνώσης Εργασίες στην Επεξεργασία Φυσικής Γλώσσας

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

Τεχνητή Νοημοσύνη ( )

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

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

Γραµµατικοί κανόνες Κανόνες µεταγραφής συµβόλων

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα)

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

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

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

Σειρά Προβλημάτων 3 Ημερομηνία Παράδοσης: 04/04/16

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

Διάλεξη 18: Πρόβλημα Βυζαντινών Στρατηγών. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

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

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

CSC 314: Switching Theory

Εφαρμοσμένα Μαθηματικά ΙΙ 5ο Σετ Ασκήσεων (Λύσεις) Πίνακες Επιμέλεια: I. Λυχναρόπουλος

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

Transcript:

Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση» Παραδώστε μια αναφορά (το πολύ 5 σελίδων) για την άσκηση 9 και επιδείξτε την υλοποίησή σας. Μπορείτε να εργαστείτε σε ζεύγη. 1. Σχεδιάστε τα δύο συντακτικά δέντρα που προκύπτουν για την πρόταση «είδαμε το γιατρό με την άσπρη μπλούζα», όταν χρησιμοποιείται η ακόλουθη γραμματική με αρχικό σύμβολο S. V είδαμε Det το την N γιατρό μπλούζα Prep με Adj άσπρη Nominal N Adj N N PP NP Det Nominal PP Prep NP VP V NP V NP PP S VP

2. (α) Γράψτε μια δεξιά γραμμική γραμματική για τη γλώσσα a m b n c k, m > 0, n > 0, k > 0. Η γραμματική φαίνεται παρακάτω. Έχει αρχικό σύμβολο S. S aa A aa A bb B bb B cc C cc C ε (β) Σχεδιάστε ένα αυτόματο πεπερασμένων καταστάσεων που να αναγνωρίζει (ή να παράγει) ακριβώς τη γλώσσα του προηγούμενου σκέλους. Σημειώστε την αρχική και τις τελικές καταστάσεις. (γ) Γράψτε μια γραμματική χωρίς συμφραζόμενα για τη γλώσσα a m b n c m, με m > 0, n > 0. S abc S asc B bb B b (δ) Σχεδιάστε αυτόματο πεπερασμένων καταστάσεων με στοίβα που να αναγνωρίζει (ή να παράγει) ακριβώς τη γλώσσα του προηγούμενου σκέλους. Σημειώστε την αρχική και τις τελικές καταστάσεις. 3. Επιβεβαιώστε ότι η πολυπλοκότητα του αλγορίθμου CKY είναι O(n 3 ), όπου n το πλήθος των λέξεων της πρότασης.

4. Εξηγήστε πώς ακριβώς είναι δυνατόν να τροποποιηθεί ο αλγόριθμος CKY, ώστε να παράγει και συντακτικά δέντρα. Δείξτε πώς θα γινόταν η παραγωγή του συντακτικού δέντρου στο παράδειγμα των διαφανειών 32 40. 5. (α) Γράψτε μια γραμματική χωρίς συμφραζόμενα για τη γλώσσα a m b n c m, m > 0, n > 0. S --> a P c P --> a P c P --> Q Q --> b b Q (β) Μετατρέψτε τη γραμματική του προηγούμενου σκέλους (αν χρειάζεται), ώστε να παραμένει γραμματική χωρίς συμφραζόμενα, αλλά να έχει ως αρχικό σύμβολο το S και να περιλαμβάνει πλέον μόνο (i) τους τρεις «κανόνες λεξικού» Α α, B b και C c, καθώς και (ii) κανόνες χωρίς τερματικά σύμβολα στα δεξιά μέρη τους και χωρίς A, B, C (κατηγορίες λέξεων) στα αριστερά μέρη. S --> A P C P --> A P C P --> Q Q --> B B Q A --> a B --> b C --> c (γ) Δίνουμε στον αλγόριθμο Earley τη γραμματική του προηγούμενου σκέλους και την είσοδο «abc». Σχεδιάστε τα περιεχόμενα του χάρτη στο τέλος της εκτέλεσης του αλγορίθμου. 6. (α) Δίνεται στον αλγόριθμο Earley η ακόλουθη γραμματική χωρίς συμφραζόμενα (με αρχικό σύμβολο S) και η ακολουθία λέξεων εισόδου «ο σκύλος κυνήγησε τη γάτα». Σχεδιάστε το χάρτη που θα προκύψει στο τέλος της εκτέλεσης του αλγορίθμου. S NP VP NP Det N VP V NP Det ο η το τη N σκύλος γάτα V κυνήγησε δάγκωσε

(β) Γράψτε την παραπάνω γραμματική σε μορφή DCG, προσθέτοντας επίσης έλεγχο συμφωνίας γένους, ώστε π.χ. να μην επιτρέπονται προτάσεις όπως «η σκύλος κυνήγησε το γάτα». s --> np, vp. np --> det(gender), n(gender). vp --> v, np. det(masc) --> [ο]. det(fem) --> [η]. det(masc) --> [το]. det(fem) --> [τη]. n(masc) --> [σκύλος]. n(masc) --> [σκύλο]. n(fem) --> [γάτα]. v --> [κυνήγησε]. v --> [δάγκωσε]. 7. (α) Δίνεται στον αλγόριθμο Earley η ακόλουθη γραμματική χωρίς συμφραζόμενα (με αρχικό σύμβολο S) και η ακολουθία λέξεων εισόδου «ο οδηγός είδε τη γιατρό». Σχεδιάστε το χάρτη που θα προκύψει στο τέλος της εκτέλεσης του αλγορίθμου. S NP VP NP Det N VP V NP Det ο η το τη N οδηγός γιατρό V είδε

(β) Εξηγήστε ποιες επιπλέον πληροφορίες πρέπει να αποθηκεύονται στο χάρτη κατά την εκτέλεση του αλγορίθμου Earley, ώστε μετά τον τερματισμό του αλγορίθμου να είναι δυνατή η κατασκευή του συντακτικού δέντρου από τα δεδομένα του χάρτη. Προσθέστε τις επιπλέον πληροφορίες στο χάρτη του σκέλους (α) και σχεδιάστε το συντακτικό δέντρο που προκύπτει, εξηγώντας πώς προκύπτει από τα δεδομένα του χάρτη του σκέλους (α). Σε κάθε ακμή που προστίθεται στο χάρτη δίνουμε ένα διαφορετικό αριθμόταυτότητα. Επίσης, σε κάθε ακμή, έστω α, που προκύπτει μέσω συμπλήρωσης, αποθηκεύουμε τώρα εντός παρενθέσεων και τους αριθμούς-ταυτότητες όλων των άλλων ακμών που μας βοήθησαν να προχωρήσουμε τις τελείες της ακμής α προς τα δεξιά. Στην περίπτωση του παραδείγματος του σκέλους (β), προκύπτει το δέντρο: Ο αριθμός εντός παρενθέσεων της ακμής με ετικέτα «Γ S» (βλ. χάρτη) δείχνει πως η τελεία προχώρησε δεξιά του S (δηλαδή βρέθηκε το S) με τη βοήθεια της ακμής 17, που έχει ετικέτα «S NP VP». Επομένως τα παιδιά του S στο συντακτικό δέντρο είναι NP και VP. Ομοίως οι αριθμοί εντός παρενθέσεων της ακμής 17 δείχνουν ότι τα NP και VP βρέθηκαν με τη βοήθεια των ακμών 6 και 16 αντίστοιχα, που έχουν ετικέτες «NP Det N» και «VP V NP». Επομένως τα παιδιά του NP είναι Det και N, ενώ του VP είναι V και NP. Ομοίως προκύπτει και το υπόλοιπο δέντρο. 8. Συμπληρώστε το παράδειγμα της εκτέλεσης του αλγορίθμου CKY με πιθανοτική γραμματική (διαφάνειες 67 69). 9. (α) Υλοποιήστε τον αλγόριθμο CKY (για γραμματικές σε Chomsky Normal Form, CNF) ή τον αλγόριθμο Earley (για γραμματικές χωρίς συμφραζόμενα, CFG) ή προαιρετικά και τους δύο. (β) Να επεκτείνετε την υλοποίηση του προηγούμενου σκέλους, ώστε να υποστηρίζει και πιθανοτικές γραμματικές (διαφάνειες 65 69) του αντίστοιχου τύπου (πιθανοτικές

γραμματικές CNF ή πιθανοτικές CFG). (γ) Να επεκτείνετε την υλοποίηση του προηγούμενου σκέλους, ώστε να παράγει και δέντρα συντακτικών εξαρτήσεων (όπως στη διαφάνεια 19, αλλά τόσο για πιθανοτικές όσο και για μη πιθανοτικές γραμματικές του αντίστοιχου τύπου, χωρίς ετικέτες στις ακμές), θεωρώντας ότι οι κανόνες της γραμματικής ορίζουν τα κύρια παιδιά (βλ. διαφάνεια 17). Και στα τρία σκέλη, επιδείξτε τις δυνατότητες της υλοποίησής σας χρησιμοποιώντας γραμματικές των διαφανειών ή/και δικές σας. Η υλοποίησή σας πρέπει να τυπώνει τα αντίστοιχα συντακτικά δέντρα (σε όποια μορφή θέλετε), μαζί με τη συνολική πιθανότητα κάθε δέντρου στην περίπτωση πιθανοτικών γραμματικών. Πρέπει, επίσης, να διαβάζει τη γραμματική από αρχείο εύκολα τροποποιήσιμο με απλό επεξεργαστή κειμένου. Μπορείτε να παριστάνετε τις γραμματικές σε όποια μορφή θέλετε (π.χ. σε XML).