Λήμμα άντλησης Πως αποφασίζουμε αποδεικνύουμε ότι μία γλώσσα δεν είναι κανονική; Δυσκολότερο από την απόδειξη ότι μια γλώσσα είναι κανονική. Γενικότερο πρόβλημα: ο μηχανισμός που έχουμε (εργαλείο) τι μπορεί και τι δεν μπορεί να κάνει. Ανάλογο πρόβλημα: τετραγωνισμός του κύκλου με κανόνα και διαβήτη. Λήμμα άντλησης. Ιδέα: Αν έχουμε κανονική γλώσσα που αναγνωρίζεται από το αυτόματο Μ, το αυτόματο θα έχει ν διαφορετικές καταστάσεις. Θεωρία Υπολογισμού
Λήμμα άντλησης Αν μία συμβολοσειρά έχει μήκος μεγαλύτερο του ν υπάρχει μία (τουλάχιστον) κατάσταση που έχουμε χρησιμοποιήσει δύο φορές. Το τμήμα της συμβολοσειράς από την πρώτη φορά που την χρησιμοποιήσαμε έως την δεύτερη μπορεί να επαναληφθεί στην συμβολοσειρά όσες φορές θέλουμε, μη ελεγχόμενα (δεn υπάρχει βρόγχος for, while). Έχουμε κάποια μορφή περιοδικότητας στις συμβολοσειρές. Οι κανονικές γλώσσες έχουν απλή περιγραφή (αυτόματα, κανονικές εκφράσεις). Δεν εξαντλούν όλα τα δυνατά υποσύνολα των συμβολοσειρών. Οι καταστάσεις του αυτόματου είναι μία μορφή μνήμης. Η μνήμη είναι περιορισμένη. Πχ γλώσσες στο αλφάβητο {0, 1} με άρτιο αριθμό εμφανίσεων 1 (απαιτούνται δύο θέσεις μνήμης). Θεωρία Υπολογισμού
Λήμμα άντλησης Θεωρία Υπολογισμού
Λήμμα άντλησης Το λήμμα άντλησης (pumping lemma) είναι εάν από τα δύο εργαλεία για να δείξουμε ότι μία γλώσσα δεν είναι κανονική. Μία ιδιότητα των ΚΕ είναι ότι οι γλώσσες που περιγράφουν αν είναι αρκετά μεγάλες (περιέχουν πολλές συμβολοσειρές) εμφανίζουν κάποια περιοδικότητα, δηλ. για κάθε συμβολοσειρά με αρκετά μεγάλο μήκος κάποιο κομμάτι της συμβολοσειράς επαναλαμβάνεται. Η επανάληψη δεν είναι ελεγχόμενη. Το ελάχιστο μήκος που πρέπει να έχει μία συμβολοσειρά μίας κανονικής γλώσσας για να εμφανίζει την συμπεριφορά αυτή ονομάζεται μήκος άντλησης. Θεώρημα (λήμμα άντλησης): Αν Α είναι μία κανονική γλώσσα υπάρχει αριθμός p ώστε για κάθε συμβολοσειρά s που ανήκει στην γλώσσα και το μήκος της είναι μεγαλύτερο είτε ίσο με p η συμβολοσειρά s μπορεί να γραφτεί σαν s= x y z ώστε: Θεωρία Υπολογισμού
Λήμμα άντλησης Απόδειξη: Αν Μ = (Σ, q, δ, s, F) είναι το αυτόματο το οποίο δέχεται την γλώσσα Α και p ο αριθμός των καταστάσεων του Μ. Αν s = s1 s2 … sn είναι μία συμβολοσειρά της γλώσσας Α με μήκος μεγαλύτερο του p και σ1, σ2 , …., σn είναι οι διαδοχικές καταστάσεις καθώς το Μ επεξεργάζεται την s, η ακολουθία των καταστάσεων έχει μήκος μεγαλύτερο του p άρα δύο από τις p+1 πρώτες καταστάσεις είναι ίδιες (με διαφορετικό δείκτη). Ο αριθμός των καταστάσεων είναι n+1. Αν sk και sm είναι οι δύο ίδιες καταστάσεις και k < m , ισχύει k, m < p+1, τότε η συμβολοσειρά s γράφεται σαν x y z με Θεωρία Υπολογισμού
Λήμμα άντλησης Αφού το αυτόματο Μ από την κατάσταση s1 μεταβαίνει sm-1 στην sm στην sm+1 και τελικά στην sn και δέχεται την s δέχεται και τις συμβολοσειρές της μορφής Aφού οι δείκτες m, k είναι διαφορετικοί το μήκος της y δεν είναι μηδέν, και από την σχέση k, m < p+1 έχουμε ότι το μήκος της x y είναι μικρότερο από p. Διαφορετικά για να αλλάξουμε p+1 καταστάσεις έχουμε διαβάσει p σύμβολα από την συμβολοσειρά. Δηλ. το μήκος του τμήματος της συμβολοσειράς που έχουμε την πρώτη επανάληψη κατάστασης είναι το πολύ p. Στις εφαρμογές για να δείξουμε ότι μία γλώσσα δεν είναι κανονική υποθέτουμε ότι είναι (απόδειξη με απαγωγή σε άτοπο, αντιστροφοαντίθετη πρόταση). Χρησιμοποιούμε το λήμμα άντλησης με το κατάλληλο μήκος )τον αριθμό των καταστάσεων του αυτόματου) ώστε για συμβολοσειρές με μηκος μεγαλύτερο από τον αριθμό αυτό να έχουμε την επιθυμητή μορφή. Θεωρία Υπολογισμού
Λήμμα άντλησης Κατόπιν χρησιμοποιούμε κατάλληλη συμβολοσειρά ώστε κάποιο από τα στοιχεία του συνόλου xyiz αν μην ανήκει στην γλώσσα. Παρ. Οι συμβολοσειρές της μορφής 0n1n δεν αποτελούν κανονική γλώσσα. Η ιδέα είναι ότι πρέπει να θυμόμαστε όλα τα 0, αλλά δεν έχουμε πολλές καταστάσεις και οι καταστάσεις είναι η μνήμη του αυτόματου. Υποθέτουμε ότι είναι κανονική γλώσσα. Αν το αυτόματο που αναγνωρίζει την γλώσσα έχει m καταστάσεις τότε οι συμβολοσειρές της μορφής αυτής με μήκος n > m μπορούν να παρασταθούν στην μορφή Αν η συμβολοσειρά y αποτελείται από 0 μόνο τότε για i > 1 δεν έχουμε ισότητα ο και 1. Αν η y αποτελείται από 0 και 1 τότε θα έχουμε να εμφανίζονται κάποια 1 πριν από κάποια 0. Αν η y αποτελείται από 1 μόνο δεν έχουμε ισότητα ο και 1. Δεν χρειαστήκαμε την υπόθεση για το μήκος της x y . Θεωρία Υπολογισμού
Λήμμα άντλησης ΟΙ συμβολοσειρές w με ίσο αριθμό 0 και 1 δεν αποτελούν κανονική γλώσσα Υποθέτουμε ότι είναι κανονική γλώσσα. Αν το αυτόματο που αναγνωρίζει την γλώσσα έχει m καταστάσεις τότε οι συμβολοσειρές της μορφής αυτής με μήκος n > m μπορούν να παρασταθούν στην μορφή Επιλέγουμε την συμβολοσειρά s=0m+11m+1. Αφού η s έχει μήκος μεγαλύτερο από το μήκος άντλησης έχουμε ότι έχει την κατάλληλη μορφή όπως στην έκφραση και όλες οι συμβολοσειρές ανήκουν στην γλώσσα. Είναι δυνατόν όμως οι x, z να είναι οι κενές συμβολοσειρές και η y = 0m+11m+1. Η περίπτωση αυτή δεν μπορεί να ισχύει αφού η τρίτη συνθήκη στο λήμμα άντλησης εγγυάται ότι το μήκος της x y είναι μικρότερο είτε ίσο από m, και η y αποτελείται από 0 μόνο. Οι συμβολοσειρές της μορφής (προδιαγραφής) του λήμματος άντλησης Θεωρία Υπολογισμού
Λήμμα άντλησης για ι >0 θα έχουν περισσότερα ο από 1 και δεν ανήκουν στην γλώσσα. Για την περίπτωση αυτή χρειαστήκαμε και την υπόθεση για το μήκος στο λήμμα άντλησης. Η γλώσσα δεν είναι κανονική αφού θα πρέπει να θυμόμαστε τον αριθμό των 0 και των 1 γεγονός που απαιτεί μη φραγμένο αριθμό καταστάσεων. Θεωρία Υπολογισμού
Λήμμα άντλησης Στα προηγούμενα η εφαρμογή του λήμματος άντλησης είναι να επαναλάβουμε τμήμα της συμβολοσειράς και να μεγαλώσουμε την συμβολοσειρά. Παρ. Η γλώσσα που αποτελείται από συμβολοσειρές της μορφής s=0i1j με i> j δεν είναι κανονική. Αν είναι κανονική αναγνωρίζεται από ΠΑ με κ καταστάσεις. Για συμβολοσειρές s με μήκος μεγαλύτερο του κ έχουμε ότι η οι συμβολοσειρές της μορφής xymz με m μη αρνητικό ανήκουν στην γλώσσα. Οι συμβολοσειρές της μορφής xyiz θα έχουν περισσότερα 0 από 1 αν i>0. Επιλέγοντας i ίσο με το ελάχιστο μήκος συμβολοσειράς και την συμβολοσειρά 0i+11iπου απαιτεί το λήμμα άντλησης και i=0 έχουμε ότι ελαττώνεται κατά τουλάχιστον ένα ο αριθμός των 0 και η συμβολοσειρά δεν ανήκει στην γλώσσα. Θεωρία Υπολογισμού