(Weighted Deterministic Finite Automaton).

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "(Weighted Deterministic Finite Automaton)."

Transcript

1 ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΚΑΙ ΥΠΕΡΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΑΥΤΟΜΑΤΩΝ ΜΕ ΒΑΡΗ ΚΑΙ ΧΩΡΙΣ ΒΑΡΗ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΑΛΕΞΑΝΔΡΑ Π. ΚΟΚΚΑΛΕΝΙΟΥ Επιβλέπων:Γεώργιος Ραχώνης Αναπλ. Καθηγητής Α.Π.Θ. Θεσσαλονίκη, Νοέμβριος 2016

2 ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΚΑΙ ΥΠΕΡΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΑΥΤΟΜΑΤΩΝ ΜΕ ΒΑΡΗ ΚΑΙ ΧΩΡΙΣ ΒΑΡΗ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΑΛΕΞΑΝΔΡΑ Π. ΚΟΚΚΑΛΕΝΙΟΥ Επιβλέπων:Γεώργιος Ραχώνης Αναπλ. Καθηγητής Α.Π.Θ. Εγκρίθηκε από την τριμελή επιτροπή την Α. Πάπιστας Δ. Πουλάκης Γ. Ραχώνης Καθηγητής Α.Π.Θ. Καθηγητής Α.Π.Θ. Αναπλ. Καθηγητής Α.Π.Θ. Θεσσαλονίκη, Νοέμβριος 2016

3 Αλεξάνδρα Π. Κοκκαλένιου Πτυχιούχος Μαθηματικός Α.Π.Θ. Copyright c Αλεξάνδρα Π. Κοκκαλένιου, 2016 Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα. Ερωτήματα που αφορούν τη χρήση της εργασίας για κερδοσκοπικό σκοπό πρέπει να απευθύνονται προς τον συγγραφέα. Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν τον συγγραφέα και δεν πρέπει να ερμηνευτεί ότι εκφράζουν τις επίσημες θέσεις του Α.Π.Θ.

4 Στους γονείς μου και τον αδερφό μου

5 ΠΕΡΙΛΗΨΗ Παρουσιάζουμε τον αλγόριθμο ελαχιστοποίησης ενός DFA (Deterministic Finite Automaton). Το νέο αυτόματο είναι μοναδικό και ισοδύναμο με το αρχικό. Στη συνέχεια παρουσιάζουμε τον αλγόριθμο υπερελαχιστοποίησης ενός DFA. Το νέο αυτόματο είναι σχεδόν ισοδύναμο με το αρχικό και διαφέρει στην αναγνώριση πεπερασμένου αριθμού λέξεων. Το υπερελαχιστοποιμένο αυτόματο δεν είναι απαραίτητα μοναδικό. Τέλος γενικεύουμε την υπερελαχιστοποίηση στα αυτόματα με βάρη. Παρουσιάζουμε τον αλγόριθμο υπερελαχιστοποίησης ενός ήδη ελαχιστοποιημένου WDFA (Weighted Deterministic Finite Automaton). ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ DFA, WDFA, ελαχιστοποίηση, υπερελαχιστοποίηση, ισοδύναμες καταστάσεις, σχεδόν ισοδύναμες καταστάσεις. 3

6 ABSTRACT We present the minimization algorithm of a DFA(Deterministic Finite Automaton). The new automaton is unique and equivalent to the original. Then we present the hyperminimization algorithm of a DFA. The new automaton is almost equivalent to the original and differs in recognizing finite number of words. The hyperminimized automaton is not necessarily unique. Finally we generalize the hyperminimization to the weighted setting. We present the hyperminimization algorithm of an already minimized WDFA (Weighted Deterministic Finite Automaton). KEY WORDS DFA, WDFA, minimization, hyperminimization, equivalent states, almost equivalent states. 4

7 Περιεχόμενα 1 Εισαγωγή 6 2 Βασικές έννοιες και ορισμοί Εφαρμογές των DFA Ελαχιστοποίηση ενός DFA Αφαίρεση Άχρηστων Καταστάσεων Συγχώνευση ισοδύναμων καταστάσεων Table filling algorithm Αλγόριθμος ελαχιστοποίησης ενός DFA Υπερελαχιστοποίηση ενός DFA Συγχώνευση σχεδόν ισοδύναμων καταστάσεων Χαρακτηρισμός των υπερελαχιστοποιημένων αυτομάτων Δομικές ομοιότητες Αλγόριθμος υπερελαχιστοποίησης ενός DFA Υπερελαχιστοποίηση ενός WDFA Ελαχιστοποίηση ενός WDFA στο μονοειδές (Σ,, ε) Υπερελαχιστοποίηση ένος ήδη ελαχιστοποιημένου WDFA Αλγόριθμος υπερελαχιστοποίησης ενός WDFA Επίλογος 71 5

8 Κεφάλαιο 1 Εισαγωγή Η θεωρία αυτομάτων είναι η μελέτη εικονικών μηχανών που αυτο-λειτουργούν και συμβάλλουν στην λογική κατανόηση της διαδικασίας εισόδου - εξόδου με ή χωρίς ενδιάμεσα στάδια του υπολογισμού. Είναι η μελέτη των αφηρημένων μηχανών, καθώς και των υπολογιστικών προβλήματων που μπορούν να λυθούν με την χρήση τους. Στην εργασία θα ασχοληθούμε με τα πεπερασμένα προσδιοριστά αυτόματα DFA (Deterministic Finite Automaton) που είναι τα θεμελειώδη πρότυπα μοντέλα για τις αναγνωρίσιμες γλώσσες. Τα DFA έχουν σχετικά απλή δομή και ταυτόχρονα αποτελούν ένα από τα πιο χρήσιμα εργαλεία της Επιστήμης των Υπολογιστών (Computer Science). Η απλότητά τους τα καθιστά ελκυστικά σε πολλούς τομείς, όπως: επεξεργασία του λόγου (speech processing), συμπίεση εικόνας (image compression), μορφολογία (morphology), γλωσσική ανάλυση (linguistic analysis), φυσική γλωσσική σημασιολογία (natural language semantics) και μοτίβο αντιστοίχισης (pattern matching). Πολύ συχνά όμως στις εφαρμογές χρειάζονται αυτόματα με εκατομμύρια καταστάσεις με αποτέλεσμα οι υπολογισμοί να είναι αρκετά δύσκολοι. Το πρόβλημα αυτό ξεπεράστηκε πριν από περίπου 60 χρόνια όταν βρέθηκε ο αλγόριθμος ελαχιστοποίησης ενός DFA. Ενα DFA μπορεί να είναι ισοδύναμο, δηλαδή να αναγνωρίζει την ίδια γλώσσα, με ένα άλλο που αποτελείται από λιγότερες καταστάσεις από το αρχικό. Το αυτόματο που παράγεται από τον αλγόριθμο αυτό έχει όσο το δυνατόν λιγότερες καταστάσεις, ονομάζεται ελαχιστοποιημένο και είναι μοναδικό λόγω του ισομορφισμού. Κάθε αυτόματο A με λιγότερες καταστάσεις από το αντίστοιχο ελαχιστοποιμένο παρουσιάζει πρόβλημα στην αναγνώριση τουλάχιστον μίας λέξης. 6

9 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ 7 Αργότερα, παρατηρήθηκε οτι αν επιτρεπόταν μια αλλαγή στη γλώσσα που αναγνωρίζει το αυτόματο αλλά μόνο για πεπερασμένο αριθμό λέξεων, τότε μπορούσε να γίνει επιπλέον μείωση των καταστάσεων του αυτομάτου πέρα από τη συνηθισμένη έννοια της ελαχιστοποίησης. Η υλοποίηση αυτού γίνεται με τη βοήθεια του αλγόριθμου υπερελαχιστοποίησης (πολυωνυμικού χρόνου), ο οποίος μειώνει επιπλέον τον αριθμό των καταστάσεων ενός ήδη ελαχιστοποιημένου αυτομάτου. Το αυτόματο που προκύπτει α- πό αυτή τη διαδικασία είναι υπερελαχιστοποιημένο και σχεδόν ισοδύναμο με το αρχικό, διαφέρει στην αναγνώριση συγκεκριμένων λέξεων και δεν είναι απαραίτητα μοναδικό. Υπάρχουν δηλαδή περιπτώσεις όπου το ελαχιστοποιημένο αυτόματο (n καταστάσεων) μπορεί να αντικατασταθεί από διαφορετικά υπερελαχιστοποιημένα αυτόματα, όπου όλα έχουν τον ίδιο αριθμό καταστάσεων (λιγότερες του n) αλλά κάθε ένα από αυτά αναγνωρίζει μία διαφορετική εκδοχή της αρχικής γλώσσας. Ειδική περίπτωση συναντάμε όταν το αυτόματο χρησιμοποιεί σαν αλφάβητο εισόδου ένα μόνο γράμμα, τότε μόνο το υπερελαχιστοποιημένο αυτόματο είναι μοναδικό. Στην παρούσα διπλωματική θα ασχοληθούμε με την ελαχιστοποίηση και την υπερελαχιστοποίηση των DFA αλλά και των WDFA (DFA με βάρη). Τα αυτόματα με βάρη είναι κλασσικά πεπερασμένα αυτόματα όπου η μετάβαση από τη μία κατάσταση στην άλλη γίνεται με κάποιο βάρος. Τα βάρη αυτά μπορούν να προσομοιώσουν ποσοτικές ιδιότητες όπως το πλήθος των μέσων που απαιτούνται για την εκτέλεση μιας μετάβασης από μία κατάσταση σε μία άλλη, την πιθανότητα ή ακόμα και την αξιοπιστία της επιτυχούς εκτέλεσης της μετάβασης. Επίσης με τη χρήση των WDFA μπορούμε να υ- πολογίσουμε τον αριθμό των διαδρομών που οδηγούν από αρχική σε τελική κατάσταση χρησιμοποιώντας μία συγκεκριμένη λέξη. Στο δεύτερο κεφάλαιο παρουσιάζουμε βασικές έννοιες και ορισμούς που θα μας χρειαστούν στην πορεία. Στο τρίτο κεφάλαιο, περιγράφουμε την διαδικασία ελαχιστοποίησης ενός DFA. Συγκεκριμένα, θα δείξουμε τον τρόπο με τον οποίο βρίσκουμε τις άχρηστες καταστάσεις, δηλαδή αυτές που δεν συνεισφέρουν στον υπολογισμό της γλώσσας του αυτομάτου, καθώς και τον τρόπο με τον οποίο τις απομακρύνουμε χωρίς να αλλάζει η συμπεριφορά του αυτομάτου μας. Επειτα, θα δούμε πως αναγνωρίζουμε τις ισοδύναμες καταστάσεις, καθώς και τον τρόπο σύμφωνα με τον οποίο γίνεται η συγχώνευσή τους για να πάρουμε την τελική μορφή του ελαχιστοποιημένου αυτομάτου. Στο τέταρτο κεφάλαιο ασχολούμαστε με την υπερελαχιστοποίηση ενός ήδη ελαχιστοποιημένου

10 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ 8 DFA. Εντοπίζουμε τις σχεδόν ισοδύναμες καταστάσεις και τις συγχωνεύουμε σύμφωνα με τον αλγόριθμο υπερελαχιστοποίησης ενός WDFA ο οποίος μας δίνει και το υπερελαχιστοποιημένο αυτόματο. Μελετάμε επίσης τις σχέσεις που προκύπτουν μεταξύ των αυτομάτων. Τέλος στο πέμπτο κεφάλαιο βλέπουμε πως λειτουργούν οι παραπάνω διαδικασίες στην περίπτωση των WDFA. Μελετάμε την ελαχιστοποίηση με βάρη με τη βοήθεια ενός παραδείγματος και περνάμε στην υπερελαχιστοποίηση με βάρη εισάγωντας νέες βοηθητικές έννοιες που θα μας χρειαστούν στον αλγόριθμο υπερελαχιστοποίησης ενός WDFA με τον οποίο και κλείνουμε την εργασία μας.

11 Κεφάλαιο 2 Βασικές έννοιες και ορισμοί Συμβολίζουμε με N το σύνολο όλων των μη αρνητικών ακεραίων αριθμών. Ορισμός 2.1. Εστω S ένα μη κενό σύνολο. Αν το S είναι εφοδιασμένο με μία προσεταιριστική πράξη ( ), δηλαδή αν (a b) c = a (b c), a, b, c S, τότε αποτελεί μία ημιομάδα. Εστω S μία ημιομάδα. Αν η S έχει ουδέτερο στοιχείο, δηλαδή αν e S τέτοιο ώστε e a = a = a e τότε η S ονομάζεται μονοειδές. Αν επιπλέον η πράξη μας είναι αντιμεταθετική, δηλαδή a b = b a, a, b S τότε λέμε ότι το S είναι αντιμεταθετικό μονοειδές και συμβολίζεται με (S,, 1). Ορισμός 2.2. Εστω S ένα μη κενό σύνολο εφοδιασμένο με δύο πράξεις (θα συμβολίζουμε την πρώτη με + και τη δεύτερη με ). Η δομή (S, +, 0,, 1) ονομάζεται ημιδακτύλιος όταν: 1. Το (S, +, 0) είναι αντιμεταθετικό μονοειδές με ουδέτερο στοιχείο το Το (S,, 1) είναι μονοειδές με ουδέτερο στοιχείο το Η δεύτερη πράξη είναι επιμεριστική ως προς την πρώτη πράξη a (b + c) = a b + a c και (a + b) c = a c + b c, a, b, c S. 4. Ισχύει 0 x = 0 = x 0, x S. Αν και η δεύτερη πράξη είναι αντιμεταθετική τότε έχουμε έναν αντιμεταθετικό ημιδακτύλιο. 9

12 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 10 Ορισμός 2.3. Εστω S ένας ημιδακτύλιος. Ενα μη μηδενικό στοιχείο του S, a S, ονομάζεται αντιστρέψιμο αν υπάρχει μη μηδενικό στοιχείο b S, τέτοιο ώστε να ισχύει: ab = 1 = ba. Το στοιχείο b συμβολίζεται και ως a 1 και ονομάζεται αντίστροφο στοιχείο του a. Ορισμός 2.4. Αν σε έναν ημιδακτύλιο S κάθε μη μηδενικό στοιχείο του είναι αντιστρέψιμο, τότε ο S ονομάζεται ημισώμα. Ορισμός 2.5. Εστω A ένα μη κενό σύνολο. Κάθε μη κενό υποσύνολο του A A, R A A λέγεται σχέση του A. Συνήθως αντικαθιστούμε τον συμβολισμό (a, b) R, με τον συμβολισμό arb. Αν η σχέση R έχει τις παρακάτω ιδιότητες: 1. ανακλαστική: ara, a A 2. συμμετρική: arb bra, a, b A 3. μεταβατική: αν arb και brc arc, a, b, c A τότε ονομάζεται σχέση ισοδυναμίας και αντί για R συμβολίζεται με. Ορισμός 2.6. Εστω ότι έχουμε ένα μη κενό σύνολο A και μία σχέση ισοδυναμίας πάνω σε αυτό. Ονομάζουμε κλάση ισοδυναμίας ενός στοιχείου x A και τη συμβολίζουμε με x το σύνολο όλων των στοιχείων του A που είναι ισοδύναμα με το x, δηλαδή: x = {y A/y x}. Ονομάζουμε αλφάβητο Σ ένα μη κενό πεπερασμένο σύνολο και τα στοιχεία του γράμματα. Μια λέξη (ή συμβολοσειρά) από το αλφάβητο Σ είναι μια πεπερασμένη ακολουθία γραμμάτων. Το Σ είναι το σύνολο όλων των λέξεων από το αλφάβητο Σ, συμπεριλαμβανομένης της κένης λέξης ε. Σ = {ε} {σ 1... σ l /l 1, σ 1,..., σ l Σ}.

13 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 11 Θεωρούμε δύο λέξεις s 1 = σ 1... σ l, s 2 = β 1... β k Σ. Θα ονομάζονται ίσες, και θα γράφουμε s 1 = s 2 αν l = k και σ i = β i για κάθε 1 i l. Η παράθεση s 1 s 2 της s 1 και s 2 ορίζεται ως s 1 s 2 = σ 1... σ l β 1... β k. Η παράθεση της s 1 με την s 2 είναι προσεταιριστική, δηλαδή για κάθε s 1, s 2, s 3 Σ ισχύει s 1 (s 2 s 3 ) = (s 1 s 2 )s 3 και s 1 ε = s 1 = εs 1 για κάθε s 1 Σ. Για κάθε λέξη s Σ, ορίζουμε τη n-οστή δύναμη s n Σ για κάθε n 0 επαγωγικά ως εξής: s 0 = ε s n+1 = s n s. Το μήκος s της λέξης s = σ 1... σ l με σ 1,..., σ l Σ είναι το πλήθος των γραμμάτων της, δηλαδή s = l. Τα σύνολα Σ l και Σ l περιέχουν όλες τις λέξεις από το αλφάβητο Σ μήκους το πολύ l ή τουλάχιστον l αντίστοιχα. Μια τυπική γλώσσα ή απλά γλώσσα L από το αλφάβητο Σ είναι ένα υποσύνολο L Σ. Η συμμετρική διαφορά S T δύο συνόλων S και T είναι S T = (S T ) (T S). Ορισμός 2.7 (DFA). Ενα πεπερασμένο προσδιοριστό αυτόματο είναι μια πεντάδα της μορφής A = (Q, Σ, δ, q 0, F ), όπου: Q είναι το πεπερασμένο σύνολο των καταστάσεων, Σ είναι το αλφάβητο εισόδου, δ : Q Σ Q είναι η συνάρτηση μεταφοράς, δηλαδή μία απεικόνιση που περιγράφει την λειτουργία του αυτομάτου, q 0 Q είναι η αρχική κατάσταση και F Q είναι το σύνολο των τελικών καταστάσεων.

14 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 12 Η δ επεκτείνεται σε μία συνάρτηση δ : Q Σ Q επαγωγικά στο μήκος των λέξεων ως εξής: δ(q, s 1 s 2 ) = δ(δ(q, s 1 ), s 2 ) και δ(q, ε) = q, για κάθε q Q και s 1, s 2 Σ. Μια λέξη εισόδου s Σ αναγνωρίζεται από το αυτόματο αν: δ(q 0, s) F. Η γλώσσα όλων των λέξεων που αναγνωρίζονται από το A ονομάζεται γλώσσα (ή συμπεριφορά) του A και συμβολίζεται με L(A), δηλαδή: L(A) = {s Σ δ(q 0, s) F }. Ορισμός 2.8. Εστω αλφάβητο Σ. Μία γλώσσα L Σ ονομάζεται αναγνωρίσιμη, αν υπάρχει αυτόματο A = (Q, Σ, δ, q 0, F ) του οποίου η γλώσσα να είναι η L, δηλαδή L = L(A). Συμβολίζουμε με Rec(Σ) την κλάση όλων των αναγνωρίσιμων γλωσσών από το αλφάβητο Σ. Ορισμός 2.9. Θεωρούμε A = (Q, Σ, δ, q 0, F ) ένα πεπερασμένο προσδιοριστό αυτόματο. Μια κατάσταση q Q ονομάζεται απρόσιτη (unreachable), αν δεν υπάρχει καμία λέξη εισόδου s Σ τέτοια ώστε δ(q 0, s) = q. Η κατάσταση q Q βρίσκεται στο προοίμιο (preamble), αν υπάρχει τουλάχιστον μία λέξη εισόδου s Σ με δ(q 0, s) = q, αλλά ο αριθμός των λέξεων αυτών είναι πεπερασμένος. Η κατάσταση q Q βρίσκεται στον πυρήνα (kernel), αν υπάρχουν απείρως πολλές (διαφορετικές μεταξύ τους) λέξεις εισόδου s Σ με δ(q 0, s) = q. Τα σύνολα των παραπάνω καταστάσεων θα ορίζονται με U, P, K αντίστοιχα. Λήμμα 2.1. Για κάθε αυτόματο A = (Q, Σ, δ, q 0, F ), μία κατάσταση q Q ανήκει στον πυρήνα αν και μόνο αν είναι προσιτή από την αρχική κατάσταση μέσω ενός μονοπατιού που περνάει από μία κατάσταση q τέτοια ώστε να υπάρχει ένας κύκλος ο οποίος αρχίζει και τελειώνει στην q. Απόδειξη. Προφανώς, αν η q είναι προσιτή από ένα μονοπάτι που περνάει από κάποια κατάσταση q, για την οποία υπάρχει ένος κύκλος που ξεκινάει και τελειώνει σε αυτήν,

15 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 13 τότε η q είναι προσιτή από απείρως πολλές εισόδους, με την επανάληψη του κύκλου αυθαίρετα πολλές φορές. Για αυτό το λόγο, η q ανήκει στον πυρήνα. Αντίθετα τώρα, q K, άρα είναι προσιτή από την αρχική κατάσταση q 0 με απείρως πολλές εισόδους, έχουμε δηλαδή q = δ(q 0, s) για s Σ μήκους s card(q). Τότε όμως κάποια κατάσταση q θα πρέπει να επαναλαμβάνεται ενώ διαβάζουμε το s, το οποίο μας δίνει έναν κύκλο που περιέχει την κατάσταση q. Λήμμα 2.2. Θεωρούμε A = (Q, Σ, δ, q 0, F ) ένα DFA χωρίς απρόσιτες καταστάσεις. Τότε, για κάθε q A, q B Q, η πρόταση τουλάχιστον μία από τις καταστάσεις q A, q B βρίσκεται στο προοίμιο είναι ισοδύναμη με τα ακόλουθα: 1. είτε q A P και q A δεν είναι προσβάσιμη από την q B, 2. είτε q B P και q B δεν είναι προσβάσιμη από την q A. Απόδειξη. Το επιχείρημα για την φορά είναι προφανές. Ας υποθέσουμε λοιπόν ότι τουλάχιστον μία από τις καταστάσεις q A, q B P. Αν q A K, τότε q B P. Επιπλέον η q B δεν είναι προσβάσιμη από την q A με κανένα μονοπάτι, διαφορετικά q B K, μιας και θα ήταν προσβάσιμη από την q 0 με απείρως πολλές εισόδους μέσω της q A, το οποίο μας οδηγεί σε αντίφαση. Οπότε καταλήγουμε στο (ii). Ομοίως, αν q B K, τότε q A P. Επιπλέον η q A δεν είναι προσβάσιμη από την q B, διαφορετικά q A K, το οποίο μας οδηγεί πάλι σε αντίφαση. Οπότε καταλήγουμε στο (i). Τελικά, αν q A, q B / K, τότε και οι δύο βρίσκονται στο προοίμιο. Επιπλέον, είτε η q B δεν είναι προσβάσιμη από την q A, είτε η q A δεν είναι προσβάσιμη από την q B. Σε περίπτωση που υποθέσουμε το αντίθετο, θα πάρουμε έναν κύκλο που περιέχει τις q A, q B. Αυτές όμως είναι προσβάσιμες από την αρχική κατάσταση q 0, μιας και έχουμε ήδη υποθέσει ότι δεν υπάρχουν απρόσιτες καταστάσεις στο αυτόματό μας. Τότε όμως θα πρέπει q A, q B K, πράγμα άτοπο. Καταλήγουμε λοιπόν στα (i) και (ii).

16 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 14 Η δομή των βαρών μας είναι το αντιμεταθετικό ημισώμα (αντιμεταθετικός ημιδακτύλιος με πολλαπλασιαστικό αντίστροφο) K, +,, 0, 1, δηλαδή: K, +, 0 και K,, 1 είναι αντιμεταθετικά μονοειδή, ο πολλαπλασιασμός ( ) επιμερίζεται ως προς το άθροισμα (+) και k K {0}, υπάρχει ένα k 1 K τέτοιο ώστε k k 1 = 1. Για το ημισώμα K, +,, 0, 1 θα ισχύει ότι 0 1, K = K {0} και κάποιες φορές θα γράφουμε k 1 k 2 αντί για k 1 k 1 2. Μία τυπική σειρά (ή σειρά) είναι μία απεικόνιση ϕ : Σ K, της οποίας το support είναι η γλώσσα, supp(ϕ) = ϕ 1 (K). Αν έχουμε k K, τότε (k ϕ) : Σ K είναι μία σειρά τέτοια ώστε (k ϕ)(s) = k ϕ(s), για κάθε s Σ. Ορισμός (WDFA) Ενα πεπερασμένο προσδιοριστό αυτόματο με βάρη είναι μία πλειάδα της μορφής A = (Q, Σ, q 0, k 0, δ, wt, F ) όπου: Q είναι το πεπερασμένο σύνολο καταστάσεων, Σ είναι το αλφάβητο εισόδου, q 0 Q είναι η αρχική κατάσταση, k 0 K είναι το αρχικό βάρος, δ : Q Σ Q είναι η συνάρτηση μεταφοράς, wt : Q Σ K είναι η συνάρτηση μεταφοράς των βαρών και F Q είναι το σύνολο των τελικών καταστάσεων. Η δ επεκτείνεται σε μία συνάρτηση δ : Q Σ Q επαγωγικά στο μήκος των λέξεων ως εξής: δ(q, σs) = δ(δ(q, σ), s) και δ(q, ε) = q, για κάθε q Q, σ Σ και s Σ. Αντίστοιχα, η wt επεκτείνεται σε μία συνάρτηση wt : Q Σ K επαγωγικά στο μήκος των λέξεων ως εξής: wt(q, σs) = wt(q, σ) wt(δ(q, σ), s) και wt(q, ε) = 1, για

17 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 15 κάθε q Q, σ Σ και s Σ. Θα γράφουμε δ(s) και wt(s) για δ(q 0, s) και wt(q 0, s) αντίστοιχα. Ορισμός 2.11 (q-semantics). Για κάθε q Q ορίζουμε την απεικόνιση [[q]] A : Σ K, από τη σχέση: wt(q, s), αν δ(q, s) F [[q]] A (s) = 0, διαφορετικά. για κάθε s Σ. Διαισθητικά [[q]] A είναι μία σειρά η οποία αναγνωρίζεται από το αυτόματο ξεκινώντας από την κατάσταση q με αρχικό βάρος 1. Η συμπεριφορά ενός αυτομάτου με βάρη A είναι η σειρά [[A]] = k 0 [[q 0 ]] A. Παράδειγμα 2.1. Θεωρούμε το παρακάτω WDFA A από το αντιμεταθετικό ημισώμα N, +,, 0, 1 και τη συμπεριφορά του με τη λέξη baa. Σχήμα 2.1: WDFA A. ( Οπου δεν εμφανίζεται βάρος, θεωρείται ο αριθμός 1.) [[A]](baa) = k 0 [[q 0 ]] A (baa) = k 0 wt(q 0, baa) αφού δ(q 0, baa) F. [[A]](baa) = = 8.

18 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ Εφαρμογές των DFA Τα DFA συνδέονται με διάφορους κλάδους της επιστήμης και έχουν πάρα πολλές ε- φαρμογές στην καθημερινότητά μας όπως: Software και Hardware applications Virtual reality Αυτόματος Πωλητής Βιντεοπαιχίδια Ανάλυση Κειμένου Φωτεινοί Σηματοδότες Επεξεργασία Φυσικής Γλώσσας Σχήμα 2.2: Εφαρμογές των DFA σε διάφορους κλάδους της επιστήμης. Θα δούμε τη χρησιμότητά του με την βοήθεια των παρακάτω παραδειγμάτων:

19 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 17 Αυτόματος Πωλητής Δέχεται νομίσματα των 0.50, 2.00 και χρεώνει 2.50 για ένα προιόν. Μόλις λάβει τουλάχιστον 2.50 (μπλέ χρωματισμένες καταστάσεις) τότε ο χρήστης μπορεί να παραλάβει το προιόν. Τα self-loops αναπαριστούν τις εισόδους που αγνοούμε: Ο Αυτόματος πωλητής δεν θα δώσει το προιόν μέχρι να λάβει τουλάχιστον Ο Αυτόματος πωλητής δεν θα δεχτεί παραπάνω χρήματα σε περίπτωση που έχει ήδη λάβει ποσό μεγαλύτερο ή ίσο των Σχήμα 2.3: Αυτόματος Πωλητής

20 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 18 DFA που περιγράφει την συμπεριφορά του Αυτόματου πωλητή: A = (Q, Σ, δ, q 0, F ), όπου: Q = {0.00, 0.50, 1.00, 1.50, 2.00, 2.50, 3.00, 3.50, 4.00}, Σ = {0.50, 2.00, επελεξε}, δ είναι η συνάρτηση μεταφοράς όπως ήδη περιγράψαμε, q 0 = 0.00, F =. Pac-Man s Ghosts Κανόνες παιχνιδιού: 1. Ο παίκτης περιηγείται μέσα στον λαβύρινθο. 2. Τρώει τα σφαιρίδια. 3. Αποφεύγει τα φαντάσματα που τον κηνυγάνε. 4. Σε περίπτωση που φάει μαγικό σφαιρίδιο, για λίγη ώρα μπορεί να τρώει φαντάσματα.

21 ΚΕΦΑΛΑΙΟ 2. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ 19 Τα φαντάσματα έχουν 4 πιθανές συμπεριφορές. Αυτές αντιστοιχούν σε ένα DFA με τέσσερις καταστάσεις.: Τυχαία περιήγηση μέσα στον λαβύρινθο. Κυνηγάνε τον Pac-Man σε περίπτωση που τον εντοπίσουν. Αποφεύγουν τον Pac-Man σε περίπτωση που έχει φάει μαγικό σφαιρίδιο. Επιστρέφουν στη βάση για να αναγεννηθούν. Σχήμα 2.4: Συμπεριφορά Φαντασμάτων

22 Κεφάλαιο 3 Ελαχιστοποίηση ενός DFA Σε αυτό το κεφάλαιο, περιγράφουμε την διαδικασία ελαχιστοποίησης ενός DFA (Deterministic Finite Automaton). Αν έχουμε ένα πεπερασμένο προσδιοριστό αυτόματο μπορούμε να βρούμε, σύμφωνα με τον αλγόριθμο ελαχιστοποίησης ένα ισοδύναμο προσδιοριστό αυτόματο, με την έννοια του να αναγνωρίζει την ίδια γλώσσα. Το αυτόματο αυτό έχει τον ελάχιστο αριθμό καταστάσεων και είναι μοναδικό. 3.1 Αφαίρεση Άχρηστων Καταστάσεων Ας είναι λοιπόν A = (Q, Σ, δ, q 0, F ) ένα πεπερασμένο προσδιοριστό αυτόματο (DFA): Μια κατάσταση q Q ονομάζεται προσιτή αν υπάρχει λέξη s Σ έτσι ώστε q = δ(q 0, s). Η q ονομάζεται συμπροσιτή αν υπάρχει λέξη t Σ έτσι ώστε δ(q, t) F. Η q ονομάζεται χρήσιμη αν είναι προσιτή και συμπροσιτή. Θα συμβολίζουμε με Q ac (αντίστοιχα Q coac, Q t ) το σύνολο των προσιτών (αντίστοιχα συμπροσιτών, χρήσιμων) καταστάσεων του A. Πρόταση 3.1. Θεωρούμε A = (Q, Σ, δ, q 0, F ) ένα DFA. Το σύνολο των Q ac υπολογίζεται σε πεπερασμένου πλήθους βήματα. Απόδειξη. Θεωρούμε την ακολουθία υποσυνόλων (I n ) n 0 του Q η οποία ορίζεται ως εξής: 20

23 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 21 I 0 = {q 0 } I 1 = {q q Q, υπάρχουν σ Σ έτσι ώστε q δ(q 0, σ)} \q 0, I 2 = {q q Q, υπάρχουν q 1 I 1, σ Σ έτσι ώστε q δ(q 1, σ)} \(q 0 I 1 ),... I n+1 = {q q Q, υπάρχουν q n I n, σ Σ έτσι ώστε q δ(q n, σ)} \(q 0... I n ), για κάθε n 0. Τα σύνολα I n, n 0, είναι ανά δύο ξένα μεταξύ τους, συνεπώς υπάρχει δείκτης m < card(q) έτσι ώστε I m και I i = για κάθε i > m. Από τον τρόπο ορισμού της ακολουθίας (I n ) n 0 είναι φανερό ότι Q ac = I k. 0 k m Πρόταση 3.2. Από κάθε πεπερασμένο προσδιοριστό αυτόματο A = (Q, Σ, δ, q 0, F ) μπορούμε να κατασκευάσουμε ένα ισοδύναμο πεπερασμένο προσδιοριστό αυτόματο A ac του οποίου όλες οι καταστάσεις να είναι προσιτές. Με τη βοήθεια της Πρότασης 3.1 υπολογίζουμε το σύνολο Q ac των προσιτών καταστάσεων του A. Το αυτόματο A ac = (Q ac, Σ, δ ac, q 0, F ac ), όπου δ ac είναι ο περιορισμός της δ στο Q ac Σ και F ac = F Q ac, έχει όλες του τις καταστάσεις προσιτές και είναι ισοδύναμο με το A. Πρόταση 3.3. Θεωρούμε A = (Q, Σ, δ, q 0, F ) ένα DFA. Το σύνολο των Q coac υπολογίζεται σε πεπερασμένου πλήθους βήματα. Απόδειξη. Θεωρούμε την ακολουθία υποσυνόλων (F n ) n 0 του Q η οποία ορίζεται ως εξής: F 0 = F F 1 = {p p Q, υπάρχουν p 0 F 0, σ Σ έτσι ώστε p 0 δ(p, σ)} \F 0, F 2 = {p p Q, υπάρχουν p 1 F 1, σ Σ έτσι ώστε p 1 δ(p, σ)} \(F 0 F 1 ),... F n+1 = {p p Q, υπάρχουν p n F n, σ Σ έτσι ώστε p n δ(p, σ)} \(F 0... F n ), για κάθε n 0. Τα σύνολα F n, n 0, είναι ανά δύο ξένα μεταξύ τους, συνεπώς υπάρχει δείκτης l < card(q) έτσι ώστε F l και F i = για κάθε i > l. Από τον τρόπο ορισμού της

24 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 22 ακολουθίας (F n ) n 0 είναι φανερό ότι Q coac = F k. 0 k l Πρόταση 3.4. Από κάθε πεπερασμένο προσδιοριστό αυτόματο A = (Q, Σ, δ, q 0, F ) μπορούμε να κατασκευάσουμε ένα ισοδύναμο πεπερασμένο προσδιοριστό αυτόματο A coac του οποίου όλες οι καταστάσεις να είναι συμπροσιτές. Με τη βοήθεια της Πρότασης 3.3 υπολογίζουμε το σύνολο Q coac των συμπροσιτών καταστάσεων του A. Το αυτόματο A coac = (Q coac, Σ, δ coac, q 0, F ), όπου δ coac είναι ο περιορισμός της δ στο Q coac Σ, έχει όλες του τις καταστάσεις συμπροσιτές και είναι ισοδύναμο με το A. Πρόταση 3.5. Θεωρούμε A = (Q, Σ, δ, q 0, F ) ένα DFA. Το σύνολο των Q t υπολογίζεται σε πεπερασμένου πλήθους βήματα. Απόδειξη. Εφαρμόζουμε διαδοχικά τον αλγόριθμο που περιγράψαμε στην Πρόταση 3.1 και τον αλγόριθμο που περιγράψαμε στην Πρόταση 3.3. Θεώρημα 3.1. Από κάθε πεπερασμένο προσδιοριστό αυτόματο A = (Q, Σ, δ, q 0, F ) μπορούμε να κατασκευάσουμε ένα ισοδύναμο πεπερασμένο προσδιοριστό αυτόματο του οποίου όλες οι καταστάσεις να είναι χρήσιμες. Από το A κατασκευάζουμε το αυτόματο A ac και στη συνέχεια το (A ac ) coac. Το (A ac ) coac είναι ισοδύναμο με το A και έχει όλες τις καταστάσεις του χρήσιμες. Στη συνέχεια δίνουμε ένα παράδειγμα για να γίνουν όλα αυτά πιο κατανοητά. Παράδειγμα 3.1. Δίνεται το παρακάτω πεπερασμένο προσδιοριστό αυτόματο: A = ({A, B, C, D, E, F }, {a, b}, δ, A, {B, C}). Μπορούμε εύκολα να παρατηρήσουμε ότι δεν υπάρχει επιτυχής διαδρομή του αυτομάτου (δηλαδή διαδρομή που ξεκινά από την αρχική κατάσταση και τελειώνει σε τελική κατάσταση) που να περνάει από τις καταστάσεις F, E, D. Επομένως, αν αφαιρέσουμε αυτές τις καταστάσεις, το διάγραμμα του αυτομάτου που θα προκύψει θα έχει την ίδια γλώσσα με το A.

25 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 23 Σχήμα 3.1: DFA με άχρηστες καταστάσεις Αρχικά, χρησιμοποιούμε την Πρόταση 3.1 για να βρούμε το A ac. Προκύπτει: I 0 = {A} I 1 = {B} I 2 = {C} I 3 = {D} I 4 =, και συνεπώς I i = για κάθε i 4. Ετσι: Q ac = I 0 I 1 I 2 I 3 = {A, B, C, D}. Το πεπερασμένο προσδιοριστό αυτόματο A ac δίνεται από το επόμενο διάγραμμα: Χρησιμοποιούμε τώρα την Πρόταση 3.3 για να βρούμε το A coac που προκύπτει από το αυτόματο A ac. Εχουμε: F 0 = F = {B, C} F 1 = {A} F 2 =, και συνεπώς F i = για κάθε i 2.

26 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 24 Ετσι: Q coac = F 0 F 1 = {A, B, C}. Το πεπερασμένο προσδιοριστό αυτόματο (A ac ) coac που δίνεται από το επόμενο διάγραμμα είναι ισοδύναμο με το αρχικό και έχει όλες του τις καταστάσεις χρήσιμες: Σχήμα 3.2: DFA με όλες του τις καταστάσεις χρήσιμες 3.2 Συγχώνευση ισοδύναμων καταστάσεων Στην ενότητα αυτή θα δείξουμε ότι ένα DFA του οποίου όλες οι καταστάσεις είναι χρήσιμες, ενδεχομένως να επιδέχεται περαιτέρω ελαχιστοποίηση. Ορισμός 3.1. Δύο καταστάσεις q A και q B είναι ισοδύναμες, το οποίο θα δηλώνεται ως q A q B, αν για κάθε s Σ, ισχύει δ(q A, s) F αν και μόνο αν δ(q B, s) F. Δηλαδή, για τις ισοδύναμες καταστάσεις q A, q B δεν υπάρχει κάποια λέξη εισόδου s για την οποία η δ(q A, s) F ενώ η δ(q B, s) / F. Ο παραπάνω ορισμός μπορεί να επεκταθεί σε ζεύγη καταστάσεων τα οποία ανήκουν σε διαφορετικά αυτόματα αλλά χρησιμοποιούν το ίδιο αλφάβητο εισόδου. Λήμμα 3.1. είναι μια σχέση ισοδυναμίας. Απόδειξη. Η είναι μια σχέση ισοδυναμίας αφού πληρεί τις παρακάτω ιδιότητες: 1. ανακλαστική: q A q A, αφού για κάθε s Σ ισχύει δ(q A, s) F αν και μόνο αν δ(q A, s) F 2. συμμετρική: q A q B, δηλαδή για κάθε s Σ ισχύει δ(q A, s) F αν και μόνο αν δ(q B, s) F q B q A 3. μεταβατική: q A q B και q B q C q A q C Υποθέτουμε ότι q A q B και q B q C ενώ q A q C. Τότε υπάρχει κάποια λέξη

27 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 25 s τέτοια ώστε ακριβώς ένα από τα δ(q A, s) και δ(q C, s) F. Ας υποθέσουμε, χωρίς βλάβη της γενικότητας, ότι δ(q A, s) F. Αν δ(q B, s) F τότε q B q C μιας και δ(q B, s) F ενώ δ(q C, s) / F. Αν τώρα δ(q B, s) / F τότε q A q B για τον ίδιο λόγο. Αφού καταλήξαμε σε άτοπο ισχύει q A q C. Λήμμα 3.2. Αν q A q B, τότε για κάθε s Σ, δ(q A, s) δ(q B, s). Απόδειξη. Υποθέτουμε ότι για κάποιο s Σ, q A = δ(q A, s) δ(q B, s) = q B. Αφού q A q B υπάρχει μία τουλάχιστον λέξη s τέτοια ώστε δ(q A, s ) F, αν και μόνο αν δ(q B, s ) F (χωρίς βλάβη της γενικότητας). Τότε όμως αν πάρουμε την παράθεση ss προκύπτει ότι δ(q A, ss ) F, αν και μόνο αν δ(q B, ss ) F q A q B. Άτοπο. Τελικά αν q A q B, τότε s Σ, δ(q A, s) δ(q B, s). Λήμμα 3.3. Ισχύει q A q B αν και μόνο αν για κάθε σ Σ, δ(q A, σ) δ(q B, σ). Απόδειξη. Η φορά είναι το Λήμμα 3.2 με s = 1. Για την φορά θεωρούμε το Σ = {σ 1, σ 2,..., σ m } και υποθέτουμε ότι σ i Σ, με i = 1, 2,..., m, δ(q A, σ i ) δ(q B, σ i ). Αφού δ(q A, σ i ) δ(q B, σ i ), τότε δ(δ(q A, σ i ), s) F αν και μόνο αν δ(δ(q B, σ i ), s) F, s Σ. Τελικά, s Σ μήκους s 1, δ(q A, s ) F αν και μόνο αν δ(q B, s ) F q A q B. Ορισμός 3.2. Δύο αυτόματα A 1 = (Q 1, Σ, δ 1, q 0,1, F 1 ) και A 2 = (Q 2, Σ, δ 2, q 0,2, F 2 ) είναι ισοδύναμα, το οποίο θα δηλώνεται ως A 1 A 2, αν οι αρχικές τους καταστάσεις q 0,1 και q 0,2 είναι ισοδύναμες, δηλαδή q 0,1 q 0,2. Τα ισοδύναμα αυτόματα συμφωνούν στην αναγνώριση όλων των εισόδων, αναγνωρίζουν δηλαδή την ίδια γλώσσα, L(A 1 ) = L(A 2 ). Ορισμός 3.3. Το αυτόματο A = (Q, Σ, δ, q 0, F ) είναι ελαχιστοποιημένο, αν δεν υπάρχει αυτόματο A = (Q, Σ, δ, q 0, F ) με λιγότερες καταστάσεις το οποίο να είναι

28 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 26 ισοδύναμο με το A. Δηλαδή, ένα ελαχιστοποιημένο αυτόματο A δεν μπορεί να αντικατασταθεί από κάποιο A, το οποίο χρησιμοποιεί μικρότερο αριθμό καταστάσεων γιατί αλλιώς A και A θα διαφέρουν στην αναγνώριση μιας τουλάχιστον λέξης εισόδου s Σ. Η ελαχιστοποίηση ενός αυτόματου γίνεται με την συγχώνευση ισοδύναμων καταστάσεων, σύμφωνα με συγκεκριμένα κριτήρια. Ο καθορισμός των καταστάσεων που θα συγχωνευθούν, δεν γίνεται με επιλογή αυτών, αλλά με αποκλεισμό των διαχωρίσιμων μεταξύ τους καταστάσεων. Τα κριτήρια σύμφωνα με τα οποία δύο καταστάσεις είναι διαχωρίσιμες είναι: 1. αν q A F και q B / F τότε οι καταστάσεις q A, q B είναι διαχωρίσιμες, 2. αν για τις καταστάσεις q A και q B ισχύει ότι για κάποια είσοδο s, οι r = δ(q A, s) και t = δ(q B, s) είναι ζεύγος διαχωρίσιμων καταστάσεων, τότε και οι καταστάσεις q A, q B είναι διαχωρίσιμες. Δηλαδή υπάρχει κάποια λέξη w για την οποία μία από τις δ(r, w), δ(t, w) είναι τελική κατάσταση, ενώ η άλλη δεν είναι. Συνεπώς η λέξη sw διαχωρίζει την καταστάση q A από την q B αφού δ(q A, sw) = δ(r, w) και δ(q B, sw) = δ(t, w). Στην περίπτωση της απλής ελαχιστοποίησης όπως στην παράγραφό μας όταν δύο καταστάσεις βρεθούν ισοδύναμες και πρέπει να συγχωνευθούν δεν έχει σημασία ποιά κατάσταση από τις δύο θα κρατήσουμε. Τα αποτελέσματα είναι συμμετρικά είτε επιλέξουμε τη μία είτε την άλλη. 3.3 Table filling algorithm Στην ενότητα αυτή παρουσιάζουμε τον Table filling algorithm, έναν αλγόριθμο αναδρομικής ανακάλυψης διαχωρίσιμων ζευγών που μας βοηθάει στη διαδικασία ελαχιστοποίησης του αυτομάτου.

29 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 27 Δημιουργούμε έναν τετραγωνικό n n πίνακα, όπου n είναι οι χρήσιμες καταστάσεις του αυτομάτου. Ο πίνακας αυτός έχει στην αριστερή στήλη και την κάτω γραμμή τις χρήσιμες καταστάσεις του αυτομάτου. Τελικός σκοπός του πίνακα είναι να μας δώσει τα ζεύγη των διαχωρίσιμων καταστάσεων. Σε κάθε μία από τις περιπτώσεις που αναφέρονται παρακάτω βάζουμε x σε συγκεκριμένες θέσεις του πίνακα. Οι καταστάσεις στις οποίες αντιστοιχεί το x είναι διαχωρίσιμες. Τα τετραγωνάκια που θα μείνουν τελικά κενά, υποδεικνύουν τα ζεύγη των καταστάσεων που βρέθηκαν τελικά ισοδύναμα. Περιπτώσεις: Διαχωρίζουμε τις τελικές από τις μη τελικές καταστάσεις. Το ζεύγος (p, q) είναι διαχωρίσιμο αν p F και q / F. Σε αυτή την περίπτωση βάζουμε x στις θέσεις (p, q) και (q, p). Εάν για κάποια λέξη s Σ, το ζεύγος (δ(p, s), δ(q, s)) είναι διαχωρίσιμο, τότε και το ζεύγος (p, q) είναι επίσης διαχωρίσιμο. Προσθέτουμε λοιπόν x στις αντίστοιχες θέσεις. Θεώρημα 3.2 (Εγκυρότητα του Table filling algorithm). Αν δύο καταστάσεις δεν είναι διαχωρίσιμες σύμφωνα με τον table fillling algorithm, τότε οι καταστάσεις αυτές είναι ισοδύναμες. Απόδειξη. Θεωρούμε το αυτόματο A = (Q, Σ, δ, q 0, F ) και ας υποθέσουμε ότι ο ι- σχυρισμός μας δεν ισχύει, δηλαδή ότι υπάρχει ένα τουλάχιστον ζεύγος καταστάσεων q A, q B τέτοιο ώστε : 1. q A q B, με την έννοια ότι υπάρχει μια λέξη s τέτοια ώστε ακρίβως ένα από τα δ(q A, s) και δ(q B, s) F. 2. Ο table fillling algorithm δεν βρίσκει διαχωρίσιμες τις καταστάσεις q A και q B. Ενα τέτοιο ζεύγος καταστάσεων θα θεωρείται κακό ζεύγος. Αν υπάρχουν κακά ζεύγη, τότε υπάρχουν κάποια από αυτά τα οποία διαχωρίζονται από την μικρότερη λέξη ανάμεσα από πολλές λέξεις που διαχωρίζουν κακά ζεύγη.

30 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 28 Ας είναι q A, q B ένα τέτοιο κακό ζεύγος καταστάσεων, και s = σ 1 σ 2... σ n μια λέξη τόσο μικρή όσο εκείνη που διαχωρίζει την καταστάση q A από την κατάσταση q B. Τότε ακριβώς μία από τις δ(q A, s) και δ(q B, s) F. Παρατηρούμε ότι η s δεν μπορεί να είναι η κενή λέξη, γιατί αυτό θα φαινόταν από τον table fillling algorithm. Οπότε n 1. Θεωρούμε r = δ(q A, σ 1 ) και t = δ(q B, σ 1 ). Οι καταστάσεις r, t είναι διαχωρίσιμες από την λέξη s = σ 2 σ 3... σ n, μιας και δ(r, s ) = δ(q A, s) και δ(t, s ) = δ(q B, s). Ομως η s είναι μικρότερη από κάθε λέξη που διαχωρίζει ένα κακό ζεύγος. Για αυτό το λόγο r, t δεν μπορεί να είναι ένα κακό ζεύγος. Αλλιώς, ο table fillling algorithm θα έπρεπε να είχε ανακαλύψει ότι αυτές είναι διαχωρίσιμες. Το επαγωγικό μέρος του table fillling algorithm δεν θα σταματήσει μέχρι να συμπεράνει ότι οι q A και q B είναι διαχωρίσιμες, μέχρι που να βρεί ότι r = δ(q A, σ 1 ) t = δ(q B, σ 1 ). Εχουμε αντικρούσει την υπόθεσή μας πως υπάρχει ένα κακό ζεύγος. Παράδειγμα 3.2. Δίνεται το παρακάτω πεπερασμένο προσδιοριστό αυτόματο: A = ({q 0, q 1, q 2, q 3, q 4, q 5 }, {a, b}, δ, q 0, {q 2, q 5 }). Θα εφαρμόσουμε τον table filling algorithm στο αυτόματό μας. Στο τέλος της διαδικασίας θα έχουμε διακρίνει ποιες καταστάσεις είναι διαχωρίσιμες και ποιες είναι ισοδύναμες. Σχήμα 3.3: DFA πριν την εφαρμογή του table filling algorithm

31 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 29 Οι καταστάσεις q 2 και q 5 F η κενή λέξη τις διαχωρίζει από τις υπόλοιπες. Τοποθετούμε λοιπόν x στις αντίστοιχες θέσεις. Σχήμα 3.4: Διαχωρισμός τελικών και μη τελικών καταστάσεων Για τις καταστάσεις q 0 και q 1 : Η κενή λέξη δεν τις διαχωρίζει, μιας και οι δυο είναι μη τελικές καταστάσεις. Με είσοδο το a, θα πάρουμε τις καταστάσεις q 1 και q 2 αντίστοιχα οι οποίες είναι διαχωρίσιμες, δηλαδή: q 0 q 1. Κατά τον ίδιο τρόπο διαχωρίζονται: q 0 q 4, q 4 q 3, q 3 q 1. Για τις καταστάσεις q 0 και q 3 : Η κενή λέξη δεν τις διαχωρίζει, μιας και οι δυο είναι μη τελικές καταστάσεις. Με είσοδο το a, θα πάρουμε τις καταστάσεις q 1 και q 3 οπότε οι καταστάσεις q 0 και q 3 δεν διαχωρίζονται. Με είσοδο το b, δεν υπάρχει πάλι διαχωρισμός αφού θα πάρουμε τις καταστάσεις q 4 και q 3 αντίστοιχα, οι οποίες δεν είναι τελικές. Ωστόσο, η είσοδος aa τις διαχωρίζει, γιατί δ(q 0, aa) = q 2 F, ενώ δ(q 3, aa) = q 3 / F.

32 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 30 Σχήμα 3.5: Επιπλέον καταστάσεις που είναι διαχωρίσιμες Για τις καταστάσεις q 1 και q 4 : Η κενή λέξη δεν τις διαχωρίζει, μιας και οι δυο είναι μη τελικές καταστάσεις. Με είσοδο το a, πηγαίνουν στις καταστάσεις q 2 και q 5 αντίστοιχα, που είναι και οι δύο τελικές. Παρατηρούμε λοιπόν ότι, καμία είσοδος που ξεκινάει με a δεν μπορεί να τις διαχωρίσει μιας και για κάθε είσοδο s, δ(q 1, as) F και δ(q 4, as) F. Με είσοδο το b, και οι δύο πηγαίνουν στην κατάσταση q 3. Οπότε, καμία είσοδος που ξεκινάει με b δεν μπορεί να τις διαχωρίσει μιας και για κάθε είσοδο s, δ(q 1, bs) = δ(q 4, bs) = q 3. Αντίστοιχα δουλεύουμε και για τις q 2, q 5. Τελικά, μετά την εφαρμογή του αλγορίθμου προκύπτει ότι: q 1 q 4 και q 2 q Αλγόριθμος ελαχιστοποίησης ενός DFA Θεώρημα 3.3 (Χαρακτηρισμός των ελαχιστοποιημένων αυτομάτων). Εστω ένα DFA A = (Q, Σ, δ, q 0, F ). Θεωρείται ελαχιστοποιημένο, δηλαδή δεν μπορεί να αντικατασταθεί από κάποιο άλλο ισοδύναμο A με λιγότερες καταστάσεις, αν και μόνο αν, στο A:

33 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA δεν υπάρχει άχρηστη κατάσταση q A και 2. δεν υπάρχει ζεύγος διαφορετικών αλλά ισοδύναμων καταστάσεων q A q B. Κάθε ελαχιστοποιημένο αυτόματο είναι μοναδικό λόγω του ισομορφισμού, για κάθε αναγνωρίσιμη γλώσσα. Διατηρεί ακριβώς την συμπεριφορά του αυτομάτου. Θεώρημα 3.4. Αν δύο ελαχιστοποιημένα αυτόματα A = (Q, Σ, δ, q 0, F ) και A = (Q, Σ, δ, q 0, F ) είναι ισοδύναμα, τότε είναι ισόμορφα, δηλαδή υπάρχει μία συνάρτηση h : Q Q με τις ακόλουθες ιδιότητες: 1. Η συνάρτηση είναι αμφίεση, δηλαδή: αν q A q B, τότε h(q A ) h(q B ) για κάθε q A, q B Q, για κάθε q Q υπάρχει ένα q Q τέτοιο ώστε h(q) = q. 2. Η συνάρτηση διατηρεί την συμπεριφορά του αυτομάτου, δηλαδή: h(q 0 ) = q 0, h(δ(q, σ)) = δ (h(q), σ), για κάθε q Q και σ Σ, h(q) F αν και μόνο αν q F, για κάθε q Q. Το αντίστροφο του Θεωρήματος (3.4) ισχύει επίσης: Δύο ισόμορφα αυτόματα είναι ισοδύναμα. Αλγόριθμος 3.1. Είμαστε πλέον έτοιμοι να δώσουμε την τελική μορφή του αλγορίθμου ελαχιστοποίησης ενός πεπερασμένου προσδιοριστού αυτομάτου (DFA), A = (Q, Σ, δ, q 0, F ) : 1. Αρχικά, αφαιρούμε κάθε άχρηστη κατάσταση. 2. Χρησιμοποιούμε τον table fillling algorithm για να βρούμε όλα τα ζεύγη ισοδύναμων καταστάσεων. 3. Τοποθετούμε τις καταστάσεις του συνόλου Q στις κλάσεις ισοδυναμίας που δημιουργήσαμε.

34 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA Κατασκευάζουμε το ελαχιστοποιημένο αυτόματο A = (Q, Σ, δ, q 0, F ) όπου: Q είναι οι κλάσεις ισοδυναμίας, Σ είναι το αλφάβητο εισόδου, δ είναι η συνάρτηση μεταφοράς, q 0 είναι η κλάση ισοδυναμίας που αποτελείται από την αρχική κατάσταση του A, και F είναι το σύνολο των κλάσεων ισοδυναμίας των τελικών καταστάσεων του A. Η δ ορίζεται ως εξής: Ας είναι D ένα σύνολο ισοδύναμων καταστάσεων του A και σ 1 Σ. Τότε πρέπει να υπάρχει μία κλάση ισοδυναμίας T τέτοια ώστε q A D, δ (q A, σ 1 ) T. Διαφορετικά, η σ 1 πηγαίνει τις q A, q B D σε καταστάσεις που βρίσκονται σε διαφορετικές κλάσεις ισοδυναμίας. Συνεπώς, q A q B και δεν θα ανήκουν στο ίδιο σύνολο ισοδύναμων καταστάσεων, D πράγμα άτοπο. Τελικά δ (D, σ 1 ) = T. Παράδειγμα 3.3. Θα χρησιμοποιήσουμε τον αλγόριθμου ελαχιστοποίησης ενός DFA 3.1 για να ελαχιστοποιήσουμε το παρακάτω αυτόματο A = ({A, B, C, D, E, F, G, H}, {0, 1}, δ, A, {C}). Σχήμα 3.6: Μη ελαχιστοποιημένο DFA

35 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 33 Σύμφωνα με τον αλγόριθμο ελαχιστοποίησης το πρώτο πράγμα που πρέπει να κάνουμε είναι να ελέγξουμε αν υπάρχουν άχρηστες καταστάσεις στο αυτόματό μας. Αρχικά, χρησιμοποιούμε την Πρόταση 3.1 για να βρούμε το A ac. Προκύπτει: I 0 = {A} I 1 = {B, F } I 2 = {C, G} I 3 = {E} I 4 = {H} I 5 =, και συνεπώς I i = για κάθε i 5. Ετσι: Q ac = I 0 I 1 I 2 I 3 I 4 = {A, B, C, E, F, G, H}. Χρησιμοποιούμε τώρα την Πρόταση 3.3 για να βρούμε το A coac που προκύπτει από το αυτόματο A ac. Εχουμε: F 0 = F = {C} F 1 = {B, F, H} F 2 = {A, E} F 3 = {G} F 4 =, και συνεπώς F i = για κάθε i 4. Ετσι: Q coac = F 0 F 1 F 2 F 3 = {A, B, C, E, F, G, H}. Το πεπερασμένο προσδιοριστό αυτόματο (A ac ) coac που δίνεται από το επόμενο διάγραμμα είναι ισοδύναμο με το αρχικό και έχει όλες του τις καταστάσεις χρήσιμες: Σχήμα 3.7: DFA με όλες του τις καταστάσεις χρήσιμες

36 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 34 Στη συνέχεια χρησιμοποιούμε τον Table filling algorithm για να βρούμε τα ζεύγη των ισοδύναμων καταστάσεων. Προκύπτουν οι παρακάτω πίνακες: Σχήμα 3.8: Πίνακας καταστάσεων με εφαρμογή του πρώτου κριτήριου: Αρχικά δεν υπάρχουν x στον πίνακα. Εφαρμόζοντας το πρώτο κριτήριο, διαχωρίζονται οι τελικές από τις μη τελικές καταστάσεις. Η κατάσταση C λοιπόν είναι η μόνη τελική κατάσταση, οπότε βάζουμε x σε κάθε ζεύγος που περιλαμβάνει την C. Για παράδειγμα, C G, αφού διαχωρίζονται από την κενή λέξη. Τώρα που ξέρουμε κάποια διαχωρίσιμα ζεύγη μπορούμε να ανακαλύψουμε και τα υπόλοιπα. Ας παρατηρήσουμε τι θα συμβεί εφαρμόζοντας το δεύτερο κριτήριο: Για τις καταστάσεις B και F : Η κενή λέξη δεν τις διαχωρίζει, μιας και οι δυο είναι μη τελικές καταστάσεις. Με είσοδο το 0, θα πάρουμε τις καταστάσεις G και C οι οποίες είναι διαχωρίσιμες, οπότε οι καταστάσεις B και F είναι διαχωρίσιμες. Για τις καταστάσεις A και G: Η κενή λέξη δεν τις διαχωρίζει, μιας και οι δυο είναι μη τελικές καταστάσεις. Με είσοδο το 1, θα πάρουμε τις καταστάσεις F και E οπότε οι καταστάσεις A και G δεν διαχωρίζονται.

37 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 35 Με είσοδο το 0, δεν υπάρχει πάλι διαχωρισμός αφού θα πάρουμε τις καταστάσεις B και G αντίστοιχα, οι οποίες δεν είναι τελικές. Ωστόσο, η είσοδος 01 διαχωρίζει την κατάσταση A από την κατάσταση G, γιατί δ(a, 01) = C F, ενώ δ(g, 01) = E / F. Για τις καταστάσεις A και E: Η κενή λέξη δεν τις διαχωρίζει, μιας και οι δυο είναι μη τελικές καταστάσεις. Με είσοδο το 1, και οι δύο πάνε στην κατάσταση F. Οπότε, καμία είσοδος που ξεκινάει με 1 δεν μπορεί να τις διαχωρίσει μιας και για κάθε είσοδο s, δ(a, 1s) = δ(e, 1s). Με είσοδο το 0, πηγαίνουν στις καταστάσεις B, H αντίστοιχα και καμία από αυτές δεν είναι τελική. Ωστόσο οι καταστάσεις B και H δεν μας βοηθούν μιας και με είσοδο το 1 και οι δύο πηγαίνουν στην κατάσταση C και με είσοδο το 0 πηγαίνουν στην κατάσταση G. Οπότε A E. Την ίδια διαδικασία ακολουθούμε και για τα υπόλοιπα ζεύγη μέχρι που προκύπτει ο τελικός πίνακας.

38 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 36 Σχήμα 3.9: Τελικός πίνακας ισοδύναμων καταστάσεων με εφαρμογή και του δεύτερου κριτήριου: Δημιουργούμε τις κλάσεις ισοδυναμίας σύμφωνα με τα αποτελέσματα που μας έδωσε ο table filling algorithm : ({A, E}, {B, H}, {C}, {F }, {G}). Είμαστε έτοιμοι να δώσουμε την τελική, ελαχιστοποιημένη μορφή του αυτομάτου μας. Σχήμα 3.10: Ελαχίστοποιημένο DFA Οι πέντε καταστάσεις του αντιστοιχούν στις πέντε κλάσεις των ισοδύναμων καταστάσεων.

39 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 37 Η αρχική κατάσταση είναι η {A, E}, μιας και η A ήταν η αρχική κατάσταση του αρχικού αυτομάτου. Η τελική κατάσταση είναι η C, μιας και ήταν η μόνη τελική κατάσταση του αρχικού αυτομάτου. Μπορούμε επίσης να δούμε ότι οι μεταβάσεις του Σχήματος 3.10 αντικατοπτρίζουν κατάλληλα τις μεταβάσεις του Σχήματος 3.6.

40 Κεφάλαιο 4 Υπερελαχιστοποίηση ενός DFA Σε αυτό το κεφάλαιο, παρουσιάζουμε τον αλγόριθμο (πολυωνυμικού-χρόνου) υπερελαχιστοποίησης ενός DFA (Deterministin Finite Automaton). Η γλώσσα που αναγνωρίζεται από το υπερελαχιστοποιημένο αυτόματο διαφέρει από την αρχική για συγκεκριμένες εισόδους. Το αυτόματο αυτό είναι σχεδόν ισοδύναμο με το αρχικό, έχει λιγότερες καταστάσεις από το αντίστοιχο ελαχιστοποιημένο και δεν είναι απαραίτητα μοναδικό. 4.1 Συγχώνευση σχεδόν ισοδύναμων καταστάσεων Ορισμός 4.1. Δύο καταστάσεις q A και q B είναι σχεδόν ισοδύναμες, το οποίο θα δηλώνεται ως q A q B, αν υπάρχει ένα k 0 τέτοιο ώστε για κάθε s Σ μήκους s k, ισχύει δ(q A, s) F αν και μόνο αν δ(q B, s) F. Για τις σχεδόν ισοδύναμες καταστάσεις q A, q B, ισχύει ότι η δ(q A, s) F ενώ η δ(q B, s) / F μόνο για συγκεκριμένες λέξεις s. Λήμμα 4.1. είναι μια σχέση ισοδυναμίας. Απόδειξη. Η είναι μια σχέση ισοδυναμίας αφού πληρεί τις παρακάτω ιδιότητες: 1. ανακλαστική: q A q A αν υπάρχει ένα k 0 τέτοιο ώστε για κάθε s Σ μήκους s k, ισχύει δ(q A, s) F αν και μόνο αν δ(q A, s) F 38

41 ΚΕΦΑΛΑΙΟ 4. ΥΠΕΡΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA συμμετρική: q A q B αν υπάρχει ένα k 0 τέτοιο ώστε για κάθε s Σ μήκους s k, ισχύει δ(q A, s) F αν και μόνο αν δ(q B, s) F q B q A 3. μεταβατική: Αν q A q B, τότε έχουμε κάποιο k 1 0 τέτοιο ώστε, για κάθε s Σ μήκους s k 1, οι καταστάσεις δ(q A, s) και δ(q B, s) είναι και οι δύο τελικές ή και οι δύο μη τελικές. Ομοίως, αν q B q C, τότε έχουμε κάποιο k 2 0 τέτοιο ώστε, για κάθε s Σ μήκους s k 2, οι καταστάσεις δ(q B, s) και δ(q C, s) είναι και οι δύο τελικές ή και οι δύο μη τελικές. Από αυτό προκύπτει ότι δ(q A, s) F αν και μόνο αν δ(q C, s) F, για κάθε s Σ μήκους s max {k 1, k 2 }. Τελικά, αν q A q B και q B q C τότε q A q C. Λήμμα 4.2. Αν q A q B, τότε για κάθε s Σ, δ(q A, s) δ(q B, s). Απόδειξη. Υποθέτουμε ότι για κάποιο s Σ, s k, q A = δ(q A, s) q B = δ(q B, s). Αφού q A q B υπάρχει τουλάχιστον μια λέξη s τέτοια ώστε δ(q A, s ) F, αν και μόνο αν δ(q B, s ) / F (χωρίς βλάβη της γενικότητας). Παίρνοντας όμως την παράθεση ss, προκύπτει ότι δ(q A, ss ) F αν και μόνο αν δ(q B, ss ) / F, ss k +1 q A q B. Άτοπο. Οπότε, αν δ(q A, s) δ(q B, s), για κάποιο s Σ, τότε q A q B. Λήμμα 4.3. q A q B αν και μόνο αν για κάθε σ Σ, δ(q A, σ) δ(q B, σ). Απόδειξη. Το επιχείρημα για την φορά, είναι μία ειδική περίπτωση του Λήμματος 4.2, χρησιμοποιώντας s = 1. Για την φορά, χρησιμοποιούμε το αλφάβητο εισόδου Σ = {σ 1, σ 2,..., σ m } και υποθέτουμε ότι για κάθε σύμβολο σ i Σ, δ(q A, σ i ) δ(q B, σ i ). Συνεπώς, υπάρχουν k i 0 τέτοια ώστε για κάθε s Σ μήκους s k i, οι καταστάσεις δ(δ(q A, σ i ), s) και δ(δ(q B, σ i ), s) είναι και οι δύο τελικές ή και οι δύο μη τελικές. Προκύπτει λοιπόν, ότι για κάθε s Σ μήκους s 1 + max {k 1, k 2,..., k m }, η δ(q A, s ) F αν και μόνο αν δ(q B, s ) F, οπότε q A q B.

42 ΚΕΦΑΛΑΙΟ 4. ΥΠΕΡΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 40 Ορισμός 4.2. Δύο αυτόματα A 1 = (Q 1, Σ, δ 1, q 0,1, F 1 ) και A 2 = (Q 2, Σ, δ 2, q 0,2, F 2 ) είναι σχεδόν ισοδύναμα, το οποίο θα δηλώνεται ως A 1 A 2, αν q 0,1 q 0,2. Δύο γλώσσες L 1 και L 2 είναι πεπερασμένα διαφορετικές, αν η συμμετρική τους διαφορά είναι πεπερασμένη, το οποίο θα δηλώνεται ως L 1 L 2. Δηλαδή τα σχεδόν ισοδύναμα αυτόματα συμφωνούν στην αναγνώριση όλων εκτός από πεπερασμένου πλήθους λέξεις, δηλαδή L(A 1 ) L(A 2 ). Ορισμός 4.3. Το αυτόματο A = (Q, Σ, δ, q 0, F ) είναι υπερελαχιστοποιημένο, αν δεν υπάρχει αυτόματο A = (Q, Σ, δ, q 0, F ) με λιγότερες καταστάσεις το οποίο να είναι σχεδόν ισοδύναμο με το A. Αν το A είναι υπερελαχιστοποιημένο, τότε κάθε A με λιγότερες καταστάσεις πρέπει να διαφέρει στην αναγνώριση όχι μόνο μιας λέξης εισόδου, αλλά για απείρως πολλές λέξεις εισόδου. Το παρακάτω λήμμα είναι χρήσιμο για την απλοποίηση του αλγορίθμου υπερελαχιστοποίησης. Λήμμα 4.4. Εστω A = (Q, Σ, δ, q 0, F ) ένα DFA χωρίς απρόσιτες καταστάσεις. Τότε, για κάθε ζεύγος διαφορετικών αλλά σχεδόν ισοδύναμων καταστάσεων q A q B ισχύει, q A, q B P, και καμία από τις δύο δεν είναι προσβάσιμη από την άλλη μέσω οποιουδήποτε μονοπατιού, ή υπάρχει μία κατάσταση q C K, τέτοια ώστε q C q A και q C q B (συμπεριλαμβανομένου του γεγονότος q C = q A ή q C = q B ). Απόδειξη. Αν τουλάχιστον μία από τις καταστάσεις ανήκει στο K, τότε η κατάσταση αυτή μπορεί να χρησιμοποιηθεί σαν την q C οπότε έχουμε τελειώσει. Τώρα υποθέτουμε ότι q A, q B P. Αν καμία από αυτές δεν είναι προσβάσιμη από την άλλη με κανένα μονοπάτι έχουμε τελειώσει και πάλι. Χωρίς βλάβη της γενικότητας, υποθέτουμε ότι q A, q B P, αλλά υπάρχει ένα μονοπάτι που συνδέει την q A με την q B. Δηλαδή, δ(q A, s) = q B, για κάποια λέξη s Σ, s ε.

43 ΚΕΦΑΛΑΙΟ 4. ΥΠΕΡΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 41 Τώρα, ας είναι q 0 = q A και q k+1 = δ(q k, s) για κάθε k 1. Μπορούμε εύκολα να δούμε πως αυτό μας δίνει μία ακολουθία καταστάσεων q 1, q 2, q 3,... τέτοιες ώστε η q k+1 να είναι προσβάσιμη από την q k. Προφανώς, μία τέτοια ακολουθία καταστάσεων πρέπει να περιέχει μία κατάσταση του πυρήνα, μιας και κάποιες καταστάσεις θα πρέπει να επαναλαμβάνονται, δηλαδή θα πρέπει να έχουμε q i = q i για κάποιο i < i. Τότε όμως q i,..., q i K και βρίσκονται κατά μήκος ενός κύκλου. Αφού ισχύει q 0 = q A, αρκεί να δείξουμε ότι q 0 q 1 q Αρχικά, q 0 = q A q B = δ(q A, s) = δ(q 0, s) = q 1. Για αυτό το λόγο q 0 q 1. Σύμφωνα με το Λήμμα 4.2 και χρησιμοποιώντας επαγωγικά q k q k+1, παίρνουμε ότι δ(q k, s) δ(q k+1, s), που με την σειρά του δίνει q k+1 q k+2. Ετσι, παίρνοντας q C = q i, παίρνουμε μία κατάσταση του πυρήνα σχεδόν ισοδύναμη με την q A = q 0. Θεώρημα 4.1. Θεωρούμε ένα DFA A = (Q, Σ, δ, q 0, F ). Αν q A q B, τότε, για κάθε s Σ μήκους s card(q) 2, ισχύει ότι δ(q A, s) δ(q B, s). Απόδειξη. Θεωρούμε q A q B και για κάποιο s Σ μήκους s card(q) 2 ισχύει ότι q A = δ(q A, s ) δ(q B, s ) = q B. Τότε υπάρχει τουλάχιστον μία λέξη a Σ τέτοια ώστε (χωρίς βλάβη της γενικότητας) δ(q A, a) F ενώ δ(q B, a) F. Συνεπώς, δ(q A, s a) F, ενώ δ(q B, s a) / F. Η λέξη s Σ είναι αρκτετά μεγάλη ώστε να μπορεί να γραφεί στη μορφή s = σ 1 σ 2... σ l, για κάποια σύμβολα σ 1, σ 2,..., σ l Σ, με l card(q) 2 αφού s card(q) 2. Θεωρούμε λοιπόν τα παρακάτω ζεύγη καταστάσεων q (0) A, q(0) B, q (1) A, q(1) B, q (2) A, q(2) B,..., q (l) A, q(l) B, όπου q (i) A = δ(q A, σ 1... σ i ) και q (i) B = δ(q B, σ 1... σ i ), για i = 0, 1, 2,..., l. Θεωρούμε επίσης q (0) A, q(0) B = q A, q B και q (l) A, q(l) B = q A, q B. Εύκολα παρατηρούμε ότι τα ζεύγη καταστάσεων είναι περισσότερα από card(q) 2 αλλά κάθε q (i) A, q(i) B Q Q. Αναγκαστικά λοιπόν ισχύει ότι q (i ) A, ) q(i B = q (i ) A, ) q(i B, για κάποια i και i που ικανοποιούν το 0 i i l. Χωρίζουμε λοιπόν την s ως εξής: s = s 1 s 2 s 3, όπου s 1 = σ 1... σ i, s 2 = σ i σ i, και s 3 = σ i σ l (υπάρχει και η περίπτωση s 1 = ε ή s 3 = ε, όμως s 2 ε ), έτσι ώστε:

44 ΚΕΦΑΛΑΙΟ 4. ΥΠΕΡΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA 42 δ(q A, s 1 ) = q (i ) A, δ(q(i ) A, s 2) = q (i ) A = q(i ) A, δ(q(i ) A, s 3) = q A, και δ(q A, a) F, δ(q B, s 1 ) = q (i ) B, ) δ(q(i B, s 2) = q (i ) B = ) q(i B, ) δ(q(i B, s 3) = q B, και δ(q B, a) / F. Με την επανάληψη της λέξης s 2 άπειρες φορές, παίρνουμε άπειρες λέξεις : s 1 s 2 s 3 a, s 1 s 2 s 2 s 3 a, s 1 s 2 s 2 s 2 s 3 a,..., για τις οποίες, ξεκινώντας από την q A και q B οι καταστάσεις που θα προκύψουν αντίστοιχα θα είναι η μία τελική και η άλλη μη τελική. Ως εκ τούτου, αν δ(q A, s ) δ(q B, s ) για κάποιο s Σ μήκους s card(q) 2, τότε q A q B. Άτοπο. Δηλαδή αν δώσουμε στο αυτόματό μας μία λέξη με αρκετά μεγάλο μήκος και την τρέξουμε στο αυτόματο ξεκινώντας από δύο σχεδόν ισοδύναμες καταστάσεις q A, q B τότε οι καταστάσεις που θα προκύψουν δεν θα είναι σχεδόν ισοδύναμες όπως θα περιμέναμε αλλά θα είναι ισοδύναμες. 4.2 Χαρακτηρισμός των υπερελαχιστοποιημένων αυτομάτων Θεώρημα 4.2. Θεωρούμε ένα DFA A = (Q, Σ, δ, q 0, F ). Αν στο A, (α) υπάρχει μία απρόσιτη κατάσταση q A, ή (β) (γ) υπάρχει ένα ζεύγος διαφορετικών αλλά ισοδύναμων καταστάσεων q A q B, ή υπάρχει ένα ζεύγος διαφορετικών αλλά σχεδόν ισοδύναμων καταστάσεων q A q B, τέτοιο ώστε τουλάχιστον μία από αυτές να βρίσκεται στο προοίμιο, τότε το A μπορεί να αντικατασταθεί από ένα σχεδόν ισοδύναμο DFA A = (Q, Σ, δ, q 0, F ) που χρησιμοποιεί λιγότερες καταστάσεις. Απόδειξη. Σε περίπτωση που ισχύουν τα (α),(β), τότε όπως ήδη γνωρίζουμε μπορούμε να αντικαταστήσουμε το A με ένα ισοδύναμο A (άρα και σχεδόν ισοδύναμο) που χρησιμοποιεί λιγότερες καταστάσεις. Θεωρούμε λοιπόν ότι ισχύει το (γ), αλλά δεν ισχύει το (α). Σύμφωνα με το Λήμμα 2.2:

45 ΚΕΦΑΛΑΙΟ 4. ΥΠΕΡΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ DFA είτε q A P και q A δεν είναι προσβάσιμη από την q B, 2. είτε q B P και q B δεν είναι προσβάσιμη από την q A. Εστω ότι ισχύει το (i). Το A θα προκύψει απλά ανακατευθύνοντας όλα τα μονοπάτια που τελειώνουν στην q A, από την q A στην q B. Δηλαδή, A = (Q \ {q A }, Σ, δ, q 0, F \ {q A }), όπου δ(q, s), αν δ(q, s) q δ A (q, s) = q B, αν δ(q, s) = q A για κάθε q Q \ {q A } και s Σ. Ομοίως, q q 0, αν q 0 q A 0 = q B, αν q 0 = q A Το A χρησιμοποιεί μικρότερο αριθμό καταστάσεων από το A. Το μόνο που μένει να αποδείξουμε είναι πως A A. Η q A P υπάρχει μία σταθερά k 1 0 τέτοια ώστε q A = δ(q 0, β) για κάποιες λέξεις β Σ, με β k 1. Επίσης q A q B υπάρχει μία σταθερά k 2 0 τέτοια ώστε β Σ, μήκους β k 2, ισχύει ότι δ(q A, β) F αν και μόνο αν δ(q B, β) F. Θεωρούμε τη λέξη s Σ, μήκους s k 1 + k 2 : Αν εισάγουμε την s στο A και στο μονοπάτι που θα δημιουργηθεί δεν υπάρχει η q A, τότε το ίδιο μονοπάτι θα δημιουργηθεί και στο A. Σε αυτή την περίπτωση λοιπόν τα A, A αναγνωρίζουν τις ίδιες λέξεις. Αν εισάγουμε την s στο A και εμφανιστεί η q A τότε τα πράγματα αλλάζουν. (Η q A δεν θα μπορούσε να εμφανιστεί πάνω από μία φορά αφού q A P ). Γνωρίζουμε ότι s k 1 + k 2 s = s 1 s 2 έτσι ώστε δ(q 0, s 1 ) = q A s 1 k 1 και s 2 k 2. s L(A) αν και μόνο αν : δ(q 0, s) F δ(q 0, s 1 s 2 ) F δ(δ(q 0, s 1 ), s 2 ) F δ(q A, s 2 ) F. s L(A ) αν και μόνο αν : δ (q 0, s) F δ (q 0, s 1 s 2 ) F δ (δ (q 0, s 1 ), s 2 ) F δ (q B, s 2 ) F δ(q B, s 2 ) F.

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

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

Διαβάστε περισσότερα

f(t) = (1 t)a + tb. f(n) =

f(t) = (1 t)a + tb. f(n) = Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία

Διαβάστε περισσότερα

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

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 8: Σχέσεις - Πράξεις Δομές Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

, για κάθε n N. και P είναι αριθμήσιμα.

, για κάθε n N. και P είναι αριθμήσιμα. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ Διδάσκοντες: Δ.Φωτάκης Θ. Σούλιου η Γραπτή Εργασία Ημ/νια παράδοσης 5/4/8 Θέμα (Διαδικασίες Απαρίθμησης.

Διαβάστε περισσότερα

p (R 1 (R 2 R 3 )) q pr 1 r 1, r 1 R 2 r 2, r 2 R 3 q p (R 1 R 2 ) r 2 και r 2 R 3 q p ((R 1 R 2 ) R 3 ) q άρα R 1 (R 2 R 3 ) (R 1 R 2 ) R 3

p (R 1 (R 2 R 3 )) q pr 1 r 1, r 1 R 2 r 2, r 2 R 3 q p (R 1 R 2 ) r 2 και r 2 R 3 q p ((R 1 R 2 ) R 3 ) q άρα R 1 (R 2 R 3 ) (R 1 R 2 ) R 3 Τμήμα Μαθηματικών Σχολή Θετικών Επιστημών Α.Π.Θ. Το Συντακτικό Μονοειδές Μιας Γλώσσας Ελένη Ζαβρακλή Σημειώσεις από το βιβλιο: Αυτόματα, Γλώσσες, Γραμματικές Σ.Μποζαπαλίδη Θεσσαλονίκη 2016 Βασικές Εννοιες

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:

Διαβάστε περισσότερα

a = a a Z n. a = a mod n.

a = a a Z n. a = a mod n. Αλγεβρα Ι Χειμερινο Εξαμηνο 2017 18 Διάλεξη 1 Ενότητα 1. Πράξεις: Πράξεις στο σύνολο S, ο πίνακας της πράξης, αντιμεταθετικές πράξεις. Προσεταιριστικές πράξεις, το στοιχείο a 1 a 2 a n. Η πράξη «σύνθεση

Διαβάστε περισσότερα

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

Διαβάστε περισσότερα

Θεωρία παιγνίων Δημήτρης Χριστοφίδης Εκδοση 1η: Παρασκευή 3 Απριλίου 2015. Παραδείγματα Παράδειγμα 1. Δυο άτομα παίζουν μια παραλλαγή του σκακιού όπου σε κάθε βήμα ο κάθε παίκτης κάνει δύο κανονικές κινήσεις.

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων Λύσεις Άσκηση Ορίζουμε τη συναρμογή δύο γλωσσών Α και Β ως ΑΒ = { uv u A, v B }. (α) Έστω Α = {α,β,γ} και Β =. Να περιγράψετε τη γλώσσα ΑΒ. (β) Θεωρήστε τις γλώσσες L, M και N. Να δείξετε

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

Διαβάστε περισσότερα

Μεταθέσεις και πίνακες μεταθέσεων

Μεταθέσεις και πίνακες μεταθέσεων Παράρτημα Α Μεταθέσεις και πίνακες μεταθέσεων Το παρόν παράρτημα βασίζεται στις σελίδες 671 8 του βιβλίου: Γ. Χ. Ψαλτάκης, Κβαντικά Συστήματα Πολλών Σωματιδίων (Πανεπιστημιακές Εκδόσεις Κρήτης, Ηράκλειο,

Διαβάστε περισσότερα

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών Συμβολισμοί Σε αναλογία με τους ορισμούς συμβολίζουμε μια ακολουθία: 1 είτε μέσω του διανυσματικού ορισμού, παραθέτοντας αναγκαστικά

Διαβάστε περισσότερα

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

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α. Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α. Δύο Π.Α. Μ 1 και Μ 2 είναι ισοδύναμα ανν L(M 1 ) = L(M 2 ). Έστω Μ = (Q, Σ, q 0, Δ, F) μη Αιτ. Π.Α. Για κάθε κατάσταση q Q, ορίζουμε ως Ε(q) Q το σύνολο των καταστάσεων

Διαβάστε περισσότερα

HEAD INPUT. q0 q1 CONTROL UNIT

HEAD INPUT. q0 q1 CONTROL UNIT Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες

Διαβάστε περισσότερα

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Πρότυπα. x y x z για κάθε x, y, R με την ιδιότητα 1R. x για κάθε x R, iii) υπάρχει στοιχείο 1 R. ii) ( x y) z x ( y z)

ΚΕΦΑΛΑΙΟ 1: Πρότυπα. x y x z για κάθε x, y, R με την ιδιότητα 1R. x για κάθε x R, iii) υπάρχει στοιχείο 1 R. ii) ( x y) z x ( y z) ΚΕΦΑΛΑΙΟ 1: Πρότυπα Στο κεφάλαιο αυτό θα υπενθυμίσουμε τις βασικές έννοιες που αφορούν πρότυπα πάνω από ένα δακτύλιο Θα περιοριστούμε στα πλέον απαραίτητα για αυτά που ακολουθούν στα άλλα κεφάλαια Η κατευθυντήρια

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του

Διαβάστε περισσότερα

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων Μελετάμε εδώ τη συνθήκη της αύξουσας αλυσίδας υποπροτύπων και τη συνθήκη της φθίνουσας αλυσίδας υποπροτύπων Αυτές συνδέονται μεταξύ τους με την έννοια της συνθετικής σειράς

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι ΚΕΦΑΛΑΙΟ : Ημιαπλοί Δακτύλιοι Είδαμε στο κύριο θεώρημα του προηγούμενου κεφαλαίου ότι κάθε δακτύλιος διαίρεσης έχει την ιδιότητα κάθε πρότυπο είναι ευθύ άθροισμα απλών προτύπων Εδώ θα χαρακτηρίσουμε όλους

Διαβάστε περισσότερα

2 ) d i = 2e 28, i=1. a b c

2 ) d i = 2e 28, i=1. a b c ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΓΡΑΦΩΝ (1) Εστω G απλός γράφος, που έχει 9 κορυφές και άθροισμα βαθμών κορυφών μεγαλύτερο του 7. Αποδείξτε ότι υπάρχει μια κορυφή του G με βαθμό μεγαλύτερο ή ίσο του 4. () Αποδείξτε ότι

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a k b m c n k < m ή m > 2n, όπου k,m,n 0 } Μια γραμματική για τη γλώσσα έχει ως εξής:

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 5: Κανονικές Εκφράσεις Τι θα κάνουμε σήμερα Κλειστότητα Κανονικών Πράξεων (1.2.3) Εισαγωγή στις Κανονικές Εκφράσεις Τυπικός ορισμός της κανονικής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1 Κεφάλαιο 2: Στοιχεία Λογικής - Μέθοδοι Απόδειξης 1. Να αποδειχθεί ότι οι λογικοί τύποι: (p ( (( p) q))) (p q) και p είναι λογικά ισοδύναμοι. Θέλουμε να αποδείξουμε ότι: (p ( (( p) q))) (p q) p, ή με άλλα

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 2: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Συναρτήσεις & Σχέσεις (0.2.3) Γράφοι (Γραφήματα) (0.2.4) Λέξεις και Γλώσσες (0.2.5) Αποδείξεις (0.3) 1

Διαβάστε περισσότερα

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης Σημειώσεις Λογικής I Εαρινό Εξάμηνο 2011-2012 Καθηγητής: Λ. Κυρούσης 2 Τελευταία ενημέρωση 28/3/2012, στις 01:37. Περιεχόμενα 1 Εισαγωγή 5 2 Προτασιακή Λογική 7 2.1 Αναδρομικοί Ορισμοί - Επαγωγικές Αποδείξεις...................

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων 1 Λύσεις Άσκηση 1 Έστω αλφάβητο Σ και γλώσσες Λ 1, Λ 2 επί του αλφάβητου αυτού. Να διερευνήσετε κατά πόσο ισχύει κάθε μια από τις πιο κάτω σχέσεις. Σε περίπτωση που μια σχέση ισχύει να

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) {0 n 1 n n > 0} {0 n 1 2n n > 0} (β) {w {a,b} * η w ξεκινά και τελειώνει με το ίδιο σύμβολο

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

Η έννοια του συνόλου. Εισαγωγικό κεφάλαιο 27

Η έννοια του συνόλου. Εισαγωγικό κεφάλαιο 27 Εισαγωγικό κεφάλαιο 27 Η έννοια του συνόλου Σύνολο είναι κάθε συλλογή αντικειμένων, που προέρχονται από την εμπειρία μας ή τη διανόησή μας, είναι καλά ορισμένα και διακρίνονται το ένα από το άλλο. Αυτός

Διαβάστε περισσότερα

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος 3

Περιεχόμενα. Πρόλογος 3 Πρόλογος Τα πρώτα μαθήματα, σχεδόν σε όλους τους κλάδους των μαθηματικών, περιέχουν, ή θεωρούν γνωστές, εισαγωγικές έννοιες που αφορούν σύνολα, συναρτήσεις, σχέσεις ισοδυναμίας, αλγεβρικές δομές, κλπ.

Διαβάστε περισσότερα

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης; 10. Τι ονομάζουμε Ευκλείδεια διαίρεση και τέλεια διαίρεση; Όταν δοθούν δύο φυσικοί αριθμοί Δ και δ, τότε υπάρχουν δύο άλλοι φυσικοί αριθμοί π και υ, έτσι ώστε να ισχύει: Δ = δ π + υ. Ο αριθμός Δ λέγεται

Διαβάστε περισσότερα

9 Πολυώνυμα Διαίρεση πολυωνύμων

9 Πολυώνυμα Διαίρεση πολυωνύμων 4ο Κεφάλαιο 9 Πολυώνυμα Διαίρεση πολυωνύμων Α ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ Ορισμοί Μονώνυμο του x ονομάζουμε κάθε παράσταση της μορφής ν αx όπου α R, * ν N και x μια μεταβλητή που μπορεί να πάρει οποιαδήποτε

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: ΟΡΙΖΟΥΣΕΣ

ΚΕΦΑΛΑΙΟ 2: ΟΡΙΖΟΥΣΕΣ ΚΕΦΑΛΑΙΟ ΚΕΦΑΛΑΙΟ :. ΕΙΣΑΓΩΓΗ Σε κάθε τετραγωνικό πίνακα ) τάξης n θα αντιστοιχίσουμε έναν πραγματικό ( ij αριθμό, τον οποίο θα ονομάσουμε ορίζουσα του πίνακα. Η ορίζουσα θα συμβολίζεται det ή Α ή n n

Διαβάστε περισσότερα

ΠΛΗ 12- Σχέση ισοδυναμίας, γραμμικά συστήματα και απαλοιφή Gauss

ΠΛΗ 12- Σχέση ισοδυναμίας, γραμμικά συστήματα και απαλοιφή Gauss .4 Σχέση ισοδυναμίας, γραμμικά συστήματα και απαλοιφή Gauss Σχέση ισοδυναμίας. Έστω το σύνολο των ρητών αριθμών Q και η σχέση της ισότητας σε αυτό που ορίζεται ως εξής: Δύο στοιχεία α, γ Q είναι ίσα αν

Διαβάστε περισσότερα

1 Η εναλλάσσουσα ομάδα

1 Η εναλλάσσουσα ομάδα Η εναλλάσσουσα ομάδα Η εναλλάσσουσα ομάδα Όπως είδαμε η συνάρτηση g : S { } είναι ένας επιμορφισμός ομάδων. Ο πυρήνας Ke g {σ S / g σ } του επιμορφισμού συμβολίζεται με A περιέχει όλες τις άρτιες μεταθέσεις

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε

Διαβάστε περισσότερα

Παράδειγμα δομικής επαγωγής Ορισμός δομικής επαγωγής Συμβολοσειρές Γλώσσες Δυαδικά δένδρα Μαθηματικά Πληροφορικής 3ο Μάθημα Αρχικός συγγραφέας: Ηλίας

Παράδειγμα δομικής επαγωγής Ορισμός δομικής επαγωγής Συμβολοσειρές Γλώσσες Δυαδικά δένδρα Μαθηματικά Πληροφορικής 3ο Μάθημα Αρχικός συγγραφέας: Ηλίας Μαθηματικά Πληροφορικής 3ο Μάθημα Αρχικός συγγραφέας: Ηλίας Κουτσουπιάς Τροποποιήσεις: Σταύρος Κολλιόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Δομική επαγωγή Η ιδέα της μαθηματικής

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 2ο μέρος σημειώσεων: Συστήματα Αποδείξεων για τον ΠΛ, Μορφολογική Παραγωγή, Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης

Διαβάστε περισσότερα

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ Πίνακας περιεχομένων Κεφάλαιο 1 - ΟΙ ΦΥΣΙΚΟΙ ΑΡΙΘΜΟΙ... 2 Κεφάλαιο 2 ο - ΤΑ ΚΛΑΣΜΑΤΑ... 6 Κεφάλαιο 3 ο - ΔΕΚΑΔΙΚΟΙ ΑΡΙΘΜΟΙ... 10 ΣΩΤΗΡΟΠΟΥΛΟΣ ΝΙΚΟΣ 1 Κεφάλαιο 1 - ΟΙ ΦΥΣΙΚΟΙ ΑΡΙΘΜΟΙ

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1),

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1), Κεφάλαιο 6 Συμπάγεια 6.1 Ορισμός της συμπάγειας Οπως θα φανεί στην αμέσως επόμενη παράγραφο, υπάρχουν διάφοροι τρόποι με τους οποίους μπορεί κανείς να εισάγει την έννοια του συμπαγούς μετρικού χώρου. Ο

Διαβάστε περισσότερα

Ε Μέχρι 18 Μαΐου 2015.

Ε Μέχρι 18 Μαΐου 2015. Ε Μέχρι 18 Μαΐου 2015. 1 Αντικείμενα: δακτύλιοι Fraleigh, 4.1. Ορισμός έννοιας «δακτυλίου». Χαρακτηρισμοί δακτυλίων και στοιχείων αυτών: Δακτύλιος R Στοιχεία δακτυλίου R / (= δεν έχει μηδενοδιαιρέτες άρα

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 1. Μαθηματικό Υπόβαθρο 23, 26 Ιανουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 1.1. Σύνολα Ορισμός : Σύνολο μια συλλογή από αντικείμενα Στοιχεία: Μέλη συνόλου Τα στοιχεία

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 13: Ελαχιστοποίηση αυτομάτων Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που

Διαβάστε περισσότερα

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4 Διακριτά Μαθηματικά Ι Επαναληπτικό Μάθημα 1 Συνδυαστική 2 Μεταξύ 2n αντικειμένων, τα n είναι ίδια. Βρείτε τον αριθμό των επιλογών n αντικειμένων από αυτά τα 2n αντικείμενα. Μεταξύ 3n + 1 αντικειμένων τα

Διαβάστε περισσότερα

Kleene s theorem implies Schützenberger s theorem: A proof by Dietrich Kuske

Kleene s theorem implies Schützenberger s theorem: A proof by Dietrich Kuske Kleene s theorem implies Schützenberger s theorem: A proof by Dietrich Kuske Kleene (1956) Ας είναι Σ ένα αλφάβητο. Τότε, Rec (Σ) = Rat (Σ). Schützenberger (1961) Ας είναι ένας ημιδακτύλιος Κ και ένα αλφάβητο

Διαβάστε περισσότερα

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Αριθμητική Παραγώγιση Εισαγωγή Ορισμός 7. Αν y f x είναι μια συνάρτηση ορισμένη σε ένα διάστημα

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 4. Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα 9,19 Φεβρουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μοντέλα Υπολογισμού Μη Ντετερμινιστικό Πεπερασμένα Αυτόματα: Διαφορά

Διαβάστε περισσότερα

(a + b) + c = a + (b + c), (ab)c = a(bc) a + b = b + a, ab = ba. a(b + c) = ab + ac

(a + b) + c = a + (b + c), (ab)c = a(bc) a + b = b + a, ab = ba. a(b + c) = ab + ac Σημειώσεις μαθήματος Μ1212 Γραμμική Άλγεβρα ΙΙ Χρήστος Κουρουνιώτης ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 2014 Κεφάλαιο 1 Διανυσματικοί Χώροι Στο εισαγωγικό μάθημα Γραμμικής Άλγεβρας ξεκινήσαμε μελετώντας

Διαβάστε περισσότερα

Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών

Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών Τίτλος Μαθήματος: Γραμμική Άλγεβρα Ι Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης Τμήμα: Μαθηματικών Κεφάλαιο 1 Εισαγωγη : Πραξεις επι Συνολων και Σωµατα Αριθµων

Διαβάστε περισσότερα

0 + a = a + 0 = a, a k, a + ( a) = ( a) + a = 0, 1 a = a 1 = a, a k, a a 1 = a 1 a = 1,

0 + a = a + 0 = a, a k, a + ( a) = ( a) + a = 0, 1 a = a 1 = a, a k, a a 1 = a 1 a = 1, I ΠΙΝΑΚΕΣ 11 Σώμα 111 Ορισμός: Ενα σύνολο k εφοδιασμένο με δύο πράξεις + και ονομάζεται σώμα αν ικανοποιούνται οι παρακάτω ιδιότητες: (Α (α (Προσεταιριστική ιδιότητα της πρόσθεσης (a + b + c = a + (b +

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

Διαβάστε περισσότερα

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο ΓΕΝΙΚΑ ΠΕΡΙ ΑΝΙΣΩΣΕΩΝ Έστω f σύνολο Α, g Α ΒΑΘΜΟΥ είναι δύο παραστάσεις μιας μεταβλητής πού παίρνει τιμές στο Ανίσωση με έναν άγνωστο λέγεται κάθε σχέση της μορφής f f g g ή, η οποία αληθεύει για ορισμένες

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ Εισαγωγή Οι αριθμοί που εκφράζουν το πλήθος των στοιχείων ανά αποτελούν ίσως τους πιο σημαντικούς αριθμούς της Συνδυαστικής και καλούνται διωνυμικοί συντελεστές διότι εμφανίζονται

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { R η R είναι μια κανονική έκφραση η οποία παράγει μια μη πεπερασμένη γλώσσα} (β) { G η G είναι μια CFG η οποία

Διαβάστε περισσότερα

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

Φροντιστήριο 10 Λύσεις Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

Διαβάστε περισσότερα

Δύο λόγια από τη συγγραφέα

Δύο λόγια από τη συγγραφέα Δύο λόγια από τη συγγραφέα Τα μαθηματικά ή τα λατρεύεις ή τα μισείς! Για να λατρέψεις κάτι πρέπει να το κατανοήσεις, για τη δεύτερη περίπτωση τα πράγματα μάλλον είναι λίγο πιο απλά. Στόχος αυτού του βιβλίου

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΜΜΙΚΗΣ ΑΛΓΕΒΡΑΣ. ρ Χρήστου Νικολαϊδη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΜΜΙΚΗΣ ΑΛΓΕΒΡΑΣ. ρ Χρήστου Νικολαϊδη ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΜΜΙΚΗΣ ΑΛΓΕΒΡΑΣ ρ Χρήστου Νικολαϊδη Δεκέμβριος Περιεχόμενα Κεφάλαιο : σελ. Τι είναι ένας πίνακας. Απλές πράξεις πινάκων. Πολλαπλασιασμός πινάκων.

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων Λύσεις Άσκηση Έστω αλφάβητο Σ και γλώσσες Λ, Λ επί του αλφάβητου αυτού. Να διερευνήσετε κατά πόσο ισχύει κάθε μια από τις πιο κάτω σχέσεις. Σε περίπτωση που μια σχέση ισχύει να το αποδείξετε,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ε Μέχρι 31 Μαρτίου 2015.

Ε Μέχρι 31 Μαρτίου 2015. Ε Μέχρι 31 Μαρτίου 2015. 1 Αντικείμενα: δακτύλιοι Fraleigh, 4.1. Ορισμός έννοιας «δακτυλίου». Χαρακτηρισμοί δακτυλίων και στοιχείων αυτών: Δακτύλιος R Στοιχεία δακτυλίου R / (= δεν έχει μηδενοδιαιρέτες

Διαβάστε περισσότερα

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014 ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014 Περιεχόμενα 1 Εισαγωγή 2 2 Μεγιστικός τελέστης στην μπάλα 2 2.1 Βασικό θεώρημα........................ 2 2.2 Γενική περίπτωση μπάλας.................. 6 2.2.1 Στο

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1 4. ΑΛΓΕΒΡΑ BOOLE ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΜΕΡΟΣ Α 2 Άλγεβρα

Διαβάστε περισσότερα

ΑΝΑΛΥΣΗ 1 ΔΕΥΤΕΡΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

ΑΝΑΛΥΣΗ 1 ΔΕΥΤΕΡΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης. ΑΝΑΛΥΣΗ 1 ΔΕΥΤΕΡΟ ΜΑΘΗΜΑ, 10-10-13 Μ. Παπαδημητράκης. 1 Τώρα θα δούμε την συμμετρική ιδιότητα της Ιδιότητας Supremum. Η ΙΔΙΟΤΗΤΑ INFIMUM. Κάθε μη-κενό και κάτω φραγμένο σύνολο έχει μέγιστο κάτω φράγμα.

Διαβάστε περισσότερα

Τίτλος Μαθήματος: Θεωρία Ομάδων. Ενότητα: Ευθέα Γινόμενα Ομάδων. Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης. Τμήμα: Μαθηματικών

Τίτλος Μαθήματος: Θεωρία Ομάδων. Ενότητα: Ευθέα Γινόμενα Ομάδων. Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης. Τμήμα: Μαθηματικών Τίτλος Μαθήματος: Θεωρία Ομάδων Ενότητα: Ευθέα Γινόμενα Ομάδων Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης Τμήμα: Μαθηματικών Κεφάλαιο 3 Ευθέα Γινόμενα Ομάδων Για την περαιτέρω ανάπτυξη τής θεωρίας θα χρειαστούμε

Διαβάστε περισσότερα

Σημειώσεις Ανάλυσης Ι. Θεωρούμε γνωστούς τους φυσικούς αριθμούς

Σημειώσεις Ανάλυσης Ι. Θεωρούμε γνωστούς τους φυσικούς αριθμούς Σημειώσεις Ανάλυσης Ι 1. Οι ρητοί αριθμοί Θεωρούμε γνωστούς τους φυσικούς αριθμούς 1, 2, 3, και τις πράξεις (πρόσθεση - πολλαπλασιασμό)μεταξύ αυτών. Οι φυσικοί αριθμοί είναι επίσης διατεταγμένοι με κάποια

Διαβάστε περισσότερα

Εισαγωγικά Παραδείγματα: Παρατηρήσεις:

Εισαγωγικά Παραδείγματα: Παρατηρήσεις: 1 Εισαγωγικά Η έννοια του συνόλου είναι πρωταρχική στα Μαθηματικά, δεν μπορεί δηλ. να οριστεί από άλλες έννοιες. Γενικά, μπορούμε να πούμε ότι σύνολο είναι μια συλλογή αντικειμένων. υτά λέμε ότι περιέχονται

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA) ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA) Τι θα κάνουμε σήμερα Εισαγωγή στα Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα Τυπικός

Διαβάστε περισσότερα

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

Διαβάστε περισσότερα

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

Διαβάστε περισσότερα

Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ

Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ 1 Συναρτήσεις Όταν αναφερόμαστε σε μια συνάρτηση, ουσιαστικά αναφερόμαστε σε μια σχέση ή εξάρτηση. Στα μαθηματικά που θα μας απασχολήσουν, με απλά λόγια, η σχέση

Διαβάστε περισσότερα

Αριθμοθεωρητικοί Αλγόριθμοι

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

Διαβάστε περισσότερα

8. Πολλαπλές μερικές παράγωγοι

8. Πολλαπλές μερικές παράγωγοι 94 8 Πολλαπλές μερικές παράγωγοι Οι μερικές παράγωγοι,,, αν υπάρχουν, μιας συνάρτησης : U R R ( U ανοικτό ) είναι αυτές συναρτήσεις από το U στο R, επομένως μπορεί να ορισθεί για αυτές η έννοια της μερικής

Διαβάστε περισσότερα

2. Να γράψετε έναν αριθμό που είναι μεγαλύτερος από το 3,456 και μικρότερος από το 3,457.

2. Να γράψετε έναν αριθμό που είναι μεγαλύτερος από το 3,456 και μικρότερος από το 3,457. 1. Ένα κεφάλαιο ενός βιβλίου ξεκινάει από τη σελίδα 32 και τελειώνει στη σελίδα 75. Από πόσες σελίδες αποτελείται το κεφάλαιο; Αν το κεφάλαιο ξεκινάει από τη σελίδα κ και τελειώνει στη σελίδα λ, από πόσες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Φ(s(n)) = s (Φ(n)). (i) Φ(1) = a.

Φ(s(n)) = s (Φ(n)). (i) Φ(1) = a. 1. Τα θεμελιώδη αριθμητικά συστήματα Με τον όρο θεμελιώδη αριθμητικά συστήματα εννοούμε τα σύνολα N των φυσικών αριθμών, Z των ακεραίων, Q των ρητών και R των πραγματικών. Από αυτά, το σύνολο N είναι πρωτογενές

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 14: Γραμματικές Χωρίς Συμφραζόμενα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

a b b < a > < b > < a >.

a b b < a > < b > < a >. Θεωρια Δακτυλιων και Modules Εαρινο Εξαμηνο 2016 17 Διάλεξη 1 Ενότητα 1. Επανάληψη: Προσθετικές ομάδες, δακτύλιοι, αντιμεταθετικοί δακτύλιοι, δακτύλιοι με μοναδιαίο στοιχείο, παραδείγματα. Συμφωνήσαμε

Διαβάστε περισσότερα

Κεφάλαιο 1 Πρότυπα. Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο.

Κεφάλαιο 1 Πρότυπα. Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο. Κεφάλαιο Πρότυπα Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο Ορισμοί και Παραδείγματα Παραδοχές Στo βιβλίο αυτό θα κάνουμε τις εξής παραδοχές Χρησιμοποιούμε προσθετικό συμβολισμό

Διαβάστε περισσότερα

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

Φροντιστήριο 9 Λύσεις Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

Διαβάστε περισσότερα

Νικος Χαλιδιας Μαθηματικό Τμήμα κατεύθυνση Στατιστικής και Αναλογιστικών-Χρηματοοικονομικών Μαθηματικών Πανεπιστημιο Αιγαιου

Νικος Χαλιδιας Μαθηματικό Τμήμα κατεύθυνση Στατιστικής και Αναλογιστικών-Χρηματοοικονομικών Μαθηματικών Πανεπιστημιο Αιγαιου Νικος Χαλιδιας Μαθηματικό Τμήμα κατεύθυνση Στατιστικής και Αναλογιστικών-Χρηματοοικονομικών Μαθηματικών Πανεπιστημιο Αιγαιου Λημμα Εστω A ένα σύνολο άπειρου πλήθους θετικών ακέραιων αριθμών των οποίων

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ. a β a β.

ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ. a β a β. ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ Ε.1 ΤΟ ΛΕΞΙΛΟΓΙΟ ΤΗΣ ΛΟΓΙΚΗΣ Στη παράγραφο αυτή θα γνωρίσουμε μερικές βασικές έννοιες της Λογικής, τις οποίες θα χρησιμοποιήσουμε στη συνέχεια, όπου αυτό κρίνεται αναγκαίο, για τη σαφέστερη

Διαβάστε περισσότερα

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο Σύνοψη Στο κεφάλαιο αυτό παρουσιάζεται η ιδέα του συμπτωτικού πολυωνύμου, του πολυωνύμου, δηλαδή, που είναι του μικρότερου δυνατού βαθμού και που, για συγκεκριμένες,

Διαβάστε περισσότερα

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2 ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι Τµηµα Β Ασκησεις - Φυλλαδιο 2 ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/algebraicstructuresi/asi2016/asi2016.html Πέµπτη 3 Μαρτίου 2016 Αν (G, ) είναι

Διαβάστε περισσότερα