Διαγνώσιμες και μη-διαγνώσιμες ασυμφραστικές γραμματικές και γλώσσες

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Επιμέλεια: Τίκβα Χριστίνα
ΓΡΑΜΜΑΤΙΚΕΣ ΧΩΡΙΣ ΣΥΜΦΡΑΖΟΜΕΝΑ I
Γιάννης Σταματίου Φαινόμενα πολυπλοκότητας στα Μαθηματικά και στό Φυσικό Κόσμο: Δύο όψεις του ίδιου νομίσματος; Webcast 1.
Πιθανοκρατικοί Αλγόριθμοι
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Αλγόριθμος Tonelli-Shanks
Οι διαφάνειες αυτού του μαθήματος βασίζονται
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΑΡΤΙΟΣ 2012 Π. Σοφράς.
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Προσεγγιστικοί Αλγόριθμοι
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Ο Μετασχηματισμός Laplace και ο Μετασχηματισμός Ζ
Κεφ.1 Εισαγωγη στην εννοια του Αλγοριθμου και στον Προγραμματισμο
Θεωρία Υπολογισμού Εισαγωγή.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ 7.4 – 7.6 NP ΠΛΗΡΟΤΗΤΑ.
Σχεδίαση Αλγορίθμων. Διεργασίες (1/2) Μία διεργασία αλληλεπιδρά με το περιβάλλον της δεχόμενη είσοδο και παράγοντας έξοδο.
Θεωρία Υπολογισμού Εισαγωγή (μέρος 2 ο ) Πρακτική Θεωρία.
31 Μαρτίου 2015 ΔΙΑΦΑΝΕΙΑ 1 ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. – ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι Για τον προτασιακό.
Μηχανές Turing και Υπολογισιμότητα
ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Ι
Θεωρία Υπολογισμού Εισαγωγή (μέρος 3 ο ). Χρειαζόμαστε Μοντέλα Εμπρός πατάκι Πίσω πατάκι Πόρτα ΚλειστόΑνοιχτό.
1.5 Γλώσσες Προγραμματισμού
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Θεωρία Υπολογισμού Κλειστότητα κανονικών γλωσσών Μη-κανονικές γλώσσες.
Θεωρία Υπολογισμού Λήμμα της Άντλησης. Είναι οι παρακάτω γλώσσες κανονικές; L = {0 n 1 n | n ≥ 0} L = { w | w ίδιο πλήθος 0 και 1} L = { w | w ίδιο πλήθος.
Θεωρία Υπολογισμού Πεπερασμένα Αυτόματα. Η κλάση των κανονικών γλωσσών είναι κλειστή ως προς την ένωση.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Προγραμματισμός Η / Υ 6 η Διάλεξη.
Θεωρία Υπολογισμού Πεπερασμένα Αυτόματα. Υπολογισμοί Γλώσσα που αποδέχεται ένας υπολογιστής: Το σύνολο των λέξεων τα οποία οδηγούν σε κατάσταση αποδοχής.
Θεωρία Υπολογισμού Αντιαιτιοκρατικά Πεπερασμένα Αυτόματα.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Θεωρία Υπολογισμού Ασυμφραστικές Γλώσσες Λήμμα της Άντλησης.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Χρονική Πολυπλοκότητα και Μοντέλα
Θεωρία Υπολογισμού Αλγόριθμοι και Μηχανές Turing Υπολογισιμότητα.
Κάντε κλικ για έναρξη… Τ Ο ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ Κέντρο εντολών Χώρος γραφικών (σελίδα) Χώρος σύνταξης διαδικασιών.
Θεωρία Υπολογισμού Χρονική Πολυπλοκότητα και Μοντέλα.
Θεωρία Υπολογισμού Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Θεωρία Υπολογισμού Μηχανές Turing. w#w προσομοίωση.
Θεωρία Υπολογισμού Κλάσεις P και NP.
Θεώρημα Διαγνωσιμότητας
Επιλυσιμότητα – Διαγωνοποίηση Καντόρ
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
Χρονική Πολυπλοκότητα
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Θεωρία Υπολογισμού Λήμμα της Άντλησης -Παραδείγματα.
Μάθημα 1 ο Τρίτη 4 Οκτωβρίου 2011 Τσαλικάκης Δημήτρης « Εισαγωγικές έννοιες» «ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ»
Γλώσσες Προγραμματισμού Μεταγλωττιστές Λεκτική Ανάλυση II Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Εισαγωγή στους Η/Υ Ενότητα 2: Αναδρομή στην ιστορία της τεχνολογίας Ιωάννης Σταματίου Οργάνωση και Διοίκηση Επιχειρήσεων.
Θεωρία υπολογισμού1 Μη αιτιοκρατικό αυτόματο Σ={0}, L = { 0 k : k=2m, k=3m}, μαντεύουμε το μήκος.
ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ II Καθ. Πέτρος Π. Γρουμπός Διάλεξη 8η Στοχαστικά Σήματα - 1.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Θέματα υπολογισμού στον πολιτισμό
Τι μαθαίνει αυτός που μαθαίνει προγραμματισμό;
Μοντελοποίηση υπολογισμού
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Λήμμα άντλησης Πως αποφασίζουμε αποδεικνύουμε ότι μία γλώσσα δεν είναι κανονική; Δυσκολότερο από την απόδειξη ότι μια γλώσσα είναι κανονική. Γενικότερο.
Ισοδυναμία ΠΑ - ΚΕ Για να δείξουμε ότι οι κανονικές γλώσσες - εκφράσεις και τα πεπερασμένα αυτόματα είναι ισοδύναμα σε εκφραστική δυνατότητα έχουμε να.
Ενότητα 8 : Αυτόματα NFA - DFA Αλέξανδρος Τζάλλας
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Γ' ΤΑΞΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Κυριάκου Νικόλαος Πληροφορικής ΠΕ-20
Αναδρομή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Μεταγράφημα παρουσίασης:

Διαγνώσιμες και μη-διαγνώσιμες ασυμφραστικές γραμματικές και γλώσσες Θεωρία Υπολογισμού Διαγνώσιμες και μη-διαγνώσιμες ασυμφραστικές γραμματικές και γλώσσες

Διαγνώσιμες γλώσσες Αποδέχεται το αυτόματο την λέξη; Είναι η γλώσσα ενός αυτόματου κενή; Είναι δύο αυτόματα ισοδύναμα;

Υπολογιστικά προβλήματα για ασυμφραστικές γραμματικές και γλώσσες Παραγωγή λέξης από Ασυμφραστική Γραμματική Κενότητα γλώσσας Ασυμφραστικής Γραμματικής Ισοδυναμία Ασυμφραστικών Γραμματικών Διαγνωσιμότητα Ασυμφραστικών Γλωσσών

Υπάρχουν μη διαγνώσιμα προβλήματα; Πρόβλημα της αντιστοίχησης του Ποστ.

Πρόβλημα της αντιστοίχησης του Ποστ

Το Πρόβλημα της Παραγωγής από CFG

Ελέγχουμε μόνο παραγωγές 2n-1 βημάτων που είναι πεπερασμένες σε πλήθος ΠΑΡΑΓΩΓΗCFG = {<G, w> | το G είναι μια CFG που παράγει την λέξη w} Ιδέα 1: Διατρέχουμε όλες τις πιθανές παραγωγές της G και ελέγχουμε αν η w είναι μια από αυτές Πρόβλημα: Μπορεί να υπάρχει άπειρο πλήθος παραγωγών Aν η γραμματική δεν παράγει την w ο αλγόριθμος δεν τερματίζει Σε αυτή την περίπτωση η ΤΜ αναγνωρίζει αλλά δεν διαγιγνώσκει Ιδέα 2: Aν η G είναι σε κανονική μορφή Chomsky τότε οποιαδήποτε παραγωγή της w αποτελείται από 2n-1 βήματα (όπου n=|w|). Ελέγχουμε μόνο παραγωγές 2n-1 βημάτων που είναι πεπερασμένες σε πλήθος

Μηχανή Turing για ΠΑΡΑΓΩΓΗCFG S = ‘ Για είσοδο <G,w> , όπου G μια CFG και w μια λέξη: Μετατρέπουμε τη G σε μια ισοδύναμη γραμματική σε κανονική μορφή Chomsky. Συντάσσουμε όλες τις παραγωγές 2n-1 βημάτων Aν κάποια από τις παραγωγές είναι η w, αποδεχόμαστε, αλλιώς απορρίπτουμε.’ Η γλώσσα ΠΑΡΑΓΩΓΗCFG είναι διαγνώσιμη

parsing Ο έλεγχος της σύνταξης προγραμμάτων αποτελεί μια ειδική περίπτωση του προβλήματος της παραγωγής από CFG: Δοθείσας της γραμματικής που περιγράφει τη σύνταξη μιας γλώσσας έλεγξε κατά πόσο ένα πρόγραμμα που παράγεται από αυτή (είναι συντακτικά ορθό) Ο αλγόριθμος που περιγράψαμε είναι υπερβολικά χρονοβόρος για να εφαρμοστεί στην πράξη για το συγκεκριμένο πρόβλημα • Είναι όμως απλός στην παρουσίασή του. • Πολυπλοκότητα χώρου και χρόνου vs απλότητα Μελετώντας την επιλυσιμότητα δεν μας ενδιαφέρει η πολυπλοκότητα είναι αρκετό να δείξουμε ότι ένα πρόβλημα μπορεί να λυθεί αλγοριθμικά.

Το πρόβλημα της Κενότητας σε CFG

KENOTHTACFG = {<G> | το G είναι μια CFG και L(G)= 0} Ιδέα 1: Να ελέγξουμε όλες τις πιθανές λέξεις w Άπειρες λέξεις και επομένως μπορεί να μην τερματίσουμε Ιδέα 2: Πότε μια CFG παράγει μια λέξη; Όταν από την εναρκτήρια μεταβλητή μπορούμε να παραγάγουμε λέξεις τερματικών συμβόλων Γενικότερο πρόβλημα: Ελέγχουμε αν από κάθε μεταβλητή μπορούμε να παραγάγουμε λέξεις τερματικών συμβόλων

Μηχανή Turing για KENOTHTACFG R=‘ Για είσοδο <G>, όπου G μια CFG: Σημαδεύουμε όλα τα τερματικά σύμβολα της G. Επαναλαμβάνουμε μέχρις ότου να μην μπορούμε να σημαδέψουμε άλλες μεταβλητές: Σημαδεύουμε κάθε μεταβλητή Α για την οποία υπάρχει κανόνας Α -> U1 …Uk όπου τα U1 …Uk είναι ήδη σημαδεμένα. Αν η εναρκτήρια δεν είναι σημαδεμένη, αποδεχόμαστε, αλλιώς απορρίπτουμε.’ KENOTHTACFG διαγνώσιμη

Παράδειγμα

Το πρόβλημα τηςΙσοδυναμίας σε CFG

ΙΣΟΔΥΝΑΜΙΑCFG ={<G, H> | τα G, H είναι CFG και L(Α)=L(Β)} Ιδέα: να χρησιμοποιήσουμε παρόμοια τακτική με τον αλγόριθμο ισοδυναμίας σε κανονικές γλώσσες Πρόβλημα: Η κλάση των ασυμφραστικών γλωσσών δεν είναι κλειστή κάτω από τις πράξεις του συμπληρώματος και της τομής Πραγματικότητα: Μπορούμε να δείξουμε ότι… Η γλώσσα ΙΣΟΔΥΝΑΜΙΑCFG δεν είναι διαγνώσιμη.

Κάθε Ασυμφραστική Γλώσσα είναι Διαγνώσιμη Αφού Α είναι ασυμφραστική τότε Υπάρχει αυτόματο στοίβας που την αναγνωρίζει Υπάρχει ασυμφραστική γραμματική που την παράγει

Κάθε Ασυμφραστική Γλώσσα είναι Διαγνώσιμη Να διαγνώσουμε τη γλώσσα μέσω της γραμματικής που την παράγει Χρήση μηχανής που διαγιγνώσκει την γλώσσα ΠΑΡΑΓΩΓΗCFG Έστω Α η ασυμφραστική γλώσσα που θέλουμε να διαγνώσουμε και G μια ασυμφραστική γραμματική που την παράγει Μηχανή που διαγιγνώσκει την Α ΜG = ‘ Για είσοδο w: Εκτελούμε την ΤΜ S παραπάνω) με είσοδο <G, w> Αν η S αποδεχθεί τότε αποδεχόμαστε, αλλιώς απορρίπτουμε.

Σχέση Γλωσσών Αναγνωρίσιμες Διαγνώσιμες Ασυμφραστικές Κανονικές

To Πρόβλημα του Τερματισμού Ανεπιλυτότητα: υπάρχουν προβλήματα που δεν μπορούν να επιλυθούν μέσω των υπολογιστών Τι είδους προβλήματα είναι αυτά; Συνηθισμένα προβλήματα από πολλές περιοχές της Πληροφορικής Παράδειγμα: Το πρόβλημα της επαλήθευσης λογισμικού Τι είδους προβλημάτων είναι ανεπίλυτα; Πως δείχνουμε το ανεπίλυτο τέτοιων προβλημάτων;

Το Πρόβλημα Αποδοχής Μηχανής Turing

AΤΜ = {<Μ, w> | η Μ είναι μια ΤΜ που αποδέχεται τη λέξη w}

AΤΜ = {<Μ, w> | η Μ είναι μια ΤΜ που αποδέχεται τη λέξη w}

Καθολική Μηχανή Turing (Universal Turing Machine) Μια μηχανή που μπορεί να προσομοιώσει οποιαδήποτε άλλη ΤΜ με αφετηρία την περιγραφή της Έναυσμα για την ανάπτυξη υπολογιστών αποθηκευμένου προγράμματος