1) Ισοδυναμία Γραμματικής Χ.Σ. με Αυτόματο Στοίβας
1.1) Μετατροπή Γραμματικής Χ.Σ. σε Αυτόματο Στοίβας
1.2) Μετατροπή Αυτομάτου Στοίβας σε Γραμματική Χ.Σ.
2) Κλειστότητα στις Γλώσσες Χωρίς Συμφραζόμενα
2.1) Κλειστότητα στην Ένωση
2.2) Κλειστότητα στην Παράθεση
2.3) Κλειστότητα στο Αστέρι Kleene
2.4) ΌΧΙ κλειστότητα στο συμπλήρωμα
2.5) ΌΧΙ κλειστότητα στην τομή
Ασκήσεις
1) Μη Ντετερμινιστικό Αυτόματο Στοίβας
1.1) Ορισμός Γλώσσας Ανεξάρτητης Συμφραζομένων
1.2) Ιδέα Πίσω από το Μη Ντετερνιστικό Αυτόματο Στοίβας
1.3) Παράδειγμα για την L={0^n 1^n | n≥0}
2) Μαθηματικός Ορισμός Μη Ντετερμισνιστικού Αυτομάτου Στοίβας
2.1) Ορισμός
2.2) Παράδειγμα
Ασκήσεις
1) Μηχανές Turing που αποδέχονται γλώσσες
1.1) Ορισμός Αποδεκτής Γλώσσας
1.2) Κάθε Αποφασίσιμη Γλώσσα είναι Αποδεκτή
2) Καθολική Μηχανή Turing
2.1) Ορισμός του Αλγορίθμου
2.2) Η θέση Church-Turing
2.3) Μηχανές που τρέχουν μηχανές
2.4) Καθολική Μηχανή Turing
3) Η γλώσσα Halting
3.1) Ορισμός
3.2) Απόδειξη ότι δεν είναι αποφασίσιμη
3.3) Απόδειξη ότι είναι αποδεκτή
4) Κλειστότητα στις Αποδεκτές Γλώσσες
4.1) Κλειστότητα στην Ένωση
4.2) Κλειστότητα στην Τομή
4.3) Κλειστότητα στην Παράθεση
4.4) Κλειστότητα στο Αστέρι Kleene
4.5) ΌΧΙ Κλειστότητα στο Συμπλήρωμα
Ασκήσεις
1) Ισοδυναμία Γραμματικής Χ.Σ. με Αυτόματο Στοίβας
1.1) Μετατροπή Γραμματικής Χ.Σ. σε Αυτόματο Στοίβας
1.2) Μετατροπή Αυτομάτου Στοίβας σε Γραμματική Χ.Σ.
2) Κλειστότητα στις Γλώσσες Χωρίς Συμφραζόμενα
2.1) Κλειστότητα στην Ένωση
2.2) Κλειστότητα στην Παράθεση
2.3) Κλειστότητα στο Αστέρι Kleene
2.4) ΌΧΙ κλειστότητα στο συμπλήρωμα
2.5) ΌΧΙ κλειστότητα στην τομή
Ασκήσεις
1) Μη Ντετερμινιστικό Αυτόματο Στοίβας
1.1) Ορισμός Γλώσσας Ανεξάρτητης Συμφραζομένων
1.2) Ιδέα Πίσω από το Μη Ντετερνιστικό Αυτόματο Στοίβας
1.3) Παράδειγμα για την L={0^n 1^n | n≥0}
2) Μαθηματικός Ορισμός Μη Ντετερμισνιστικού Αυτομάτου Στοίβας
2.1) Ορισμός
2.2) Παράδειγμα
Ασκήσεις
1) Μηχανές Turing που αποδέχονται γλώσσες
1.1) Ορισμός Αποδεκτής Γλώσσας
1.2) Κάθε Αποφασίσιμη Γλώσσα είναι Αποδεκτή
2) Καθολική Μηχανή Turing
2.1) Ορισμός του Αλγορίθμου
2.2) Η θέση Church-Turing
2.3) Μηχανές που τρέχουν μηχανές
2.4) Καθολική Μηχανή Turing
3) Η γλώσσα Halting
3.1) Ορισμός
3.2) Απόδειξη ότι δεν είναι αποφασίσιμη
3.3) Απόδειξη ότι είναι αποδεκτή
4) Κλειστότητα στις Αποδεκτές Γλώσσες
4.1) Κλειστότητα στην Ένωση
4.2) Κλειστότητα στην Τομή
4.3) Κλειστότητα στην Παράθεση
4.4) Κλειστότητα στο Αστέρι Kleene
4.5) ΌΧΙ Κλειστότητα στο Συμπλήρωμα
Ασκήσεις
1) Εισαγώγή
1.1) Σχήμα Απόδειξης Αναγωγής
1.2) Αναγωγές της Προτασιακής Λογικής
2) Το πρόβλημα PARTITION είναι NP-πλήρες
3) Το πρόβλημα KNAPSACK είναι NP-πλήρες
3.1) KNAPSACK ανήκει στο NP
3.2) PARTITION ανάγεται στο KNAPSACK
4) Το πρόβλημα 3PM είναι NP-πλήρες
5) Το πρόβλημα x3C είναι NP-πλήρες
5.1) X3C ανήκει στο NP
5.2) 3PM ανάγεται στο X3C
6) Το πρόβλημα EXACT-COVER είναι NP-πλήρες
7) Το πρόβλημα SET-COVER είναι NP-πλήρες
7.1) SET-COVER ανήκει στο NP
7.2) EXACT-COVER ανάγεται στο SET-COVER
1) Εισαγωγικοί Ορισμοί
1.1) Μη Κατευθυνόνομενο Γράφημα
2) Ορισμοί στα Μη Κατευθυνόμενα Γραφήματα
2.1) Η Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων
2.1) Η Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων
2.2) Ερμηνείες στην Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων
3) Ασκήσεις στην Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων
3.1) Μετάφραση στα Ελληνικά
3.2) Μετάφραση στα Κατηγορηματικά
3.3) Εύρεση Αλήθειας Προτάσεων
3.4) Εύρεση Ερμηνείας που ικανοποιεί δεδομένη πρόταση
3.5) Συντομογραφίες στην Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων.
Ασκήσεις
1) Εισαγώγή
1.1) Σχήμα Απόδειξης Αναγωγής
1.2) Αναγωγές της Προτασιακής Λογικής
2) Το πρόβλημα HAMILTON-PATH είναι NP-πλήρες
2.1) HAMILTON-PATH ανήκει στο NP
2.2) 3SAT ανάγεται στο HAMILTON-PATH
3) Το πρόβλημα HAMILTON-CYCLE είναι NP-πλήρες
3.1) HAMILTON-CYCLE ανήκει στο NP
3.2) HAMILTON-PATH ανάγεται στο HAMILTON-CYCLE
4) Το πρόβλημα 3-COLORING είναι NP-πλήρες
4.1) 3-COLORING ανήκει στο NP
4.2) 3SAT ανάγεται στο 3-COLORING
Ασκήσεις
1) To 7-COLORING είναι NP-πλήρες
2) Το TSP είναι NP-πλήρες
1) Κλειστότητα των Κανονικών Γλωσσών
1.1) Κλειστότητα στην Ένωση
1.2) Κλειστότηα στην Παράθεση
1.3) Κλειστότητα στο Αστέρι Kleene
1.4) Κλειστότητα στο Συμπλήρωμα
1.5) Κλειστότητα στην Τομή
1.5.1) Απλοποίηση ΝΠΑ
2) Επιπλέον Κατασκευές
2.1) Κατασκευή ΝΠΑ για την Ένωση
2.2) Κατασκευή ΝΠΑ για την Διαφορά
1. The document discusses a study that analyzed the brain activity of participants using functional magnetic resonance imaging (fMRI) while they performed different cognitive tasks.
2. The study found increased activity in several brain regions, including the prefrontal cortex and parietal lobe, when participants were performing tasks that required abstract reasoning compared to more concrete tasks.
3. The results suggest that different regions of the brain are activated for abstract vs. concrete thinking.
1) Ισομορφισμοί Γραφημάτων
1.1) Ισομορφικά Γραφήματα
1.2) Πως δείχνω ότι δύο γραφήματα είναι ισομορφικά
1.3) Πως δείχνω ότι δύο γραφήματα δεν είναι ισομορφικά
1.4) Αποδείξεις Αναλλοίωτων Ιδιοτήτων
2) Συμπληρωματικοί Ορισμοί
2.1) Αυτομορφισμός
2.2) Αυτοσυμπληρωματικό Γράφημα
Ασκήσεις
1) Η γλώσσα της Θεωρίας Συνόλων
1.1) Εισαγωγή
2) Υπενθυμίσεις από ΜΑΘ0.1
2.1) Δυναμοσύνολο
2.2) Σχέση Υποσυνόλου
2.3) Σχέση Γνησίου Υποσυνόλου
3) Ασκήσεις
3.1) Στοιχειώδεις προτάσεις με ποσοδείκτες
3.2) Μετάφραση στα ελληνικά
3.3) Περαιτέρω ασκήσεις
Ασκήσεις
1) Επίπεδο Γράφημα
1.1) Ορισμοί Επίπεδων Γραφημάτων
1.2) Το άθροισμα των Βαθμών των όψεων ≤ 2m
1.3) Ο τύπος του Euler
2) Το θεώρημα Kuratowski
2.1) Το Κ5 δεν είναι επίπεδο
2.2) Το Κ3,3 δεν είναι επίπεδο
2.3) Ομοιομορφικά Γραφήματα
2.4) Το θεώρημα του Kuratowski
3) Δύο ακόμη Θεωρήματα
Ασκήσεις
1) Εισαγώγή
1.1) Σχήμα Απόδειξης Αναγωγής
1.2) Αναγωγές της Προτασιακής Λογικής
2) Το πρόβλημα PARTITION είναι NP-πλήρες
3) Το πρόβλημα KNAPSACK είναι NP-πλήρες
3.1) KNAPSACK ανήκει στο NP
3.2) PARTITION ανάγεται στο KNAPSACK
4) Το πρόβλημα 3PM είναι NP-πλήρες
5) Το πρόβλημα x3C είναι NP-πλήρες
5.1) X3C ανήκει στο NP
5.2) 3PM ανάγεται στο X3C
6) Το πρόβλημα EXACT-COVER είναι NP-πλήρες
7) Το πρόβλημα SET-COVER είναι NP-πλήρες
7.1) SET-COVER ανήκει στο NP
7.2) EXACT-COVER ανάγεται στο SET-COVER
1) Εισαγωγικοί Ορισμοί
1.1) Μη Κατευθυνόνομενο Γράφημα
2) Ορισμοί στα Μη Κατευθυνόμενα Γραφήματα
2.1) Η Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων
2.1) Η Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων
2.2) Ερμηνείες στην Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων
3) Ασκήσεις στην Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων
3.1) Μετάφραση στα Ελληνικά
3.2) Μετάφραση στα Κατηγορηματικά
3.3) Εύρεση Αλήθειας Προτάσεων
3.4) Εύρεση Ερμηνείας που ικανοποιεί δεδομένη πρόταση
3.5) Συντομογραφίες στην Γλώσσα των Μη Κατευθυνόμενων Γραφημάτων.
Ασκήσεις
1) Εισαγώγή
1.1) Σχήμα Απόδειξης Αναγωγής
1.2) Αναγωγές της Προτασιακής Λογικής
2) Το πρόβλημα HAMILTON-PATH είναι NP-πλήρες
2.1) HAMILTON-PATH ανήκει στο NP
2.2) 3SAT ανάγεται στο HAMILTON-PATH
3) Το πρόβλημα HAMILTON-CYCLE είναι NP-πλήρες
3.1) HAMILTON-CYCLE ανήκει στο NP
3.2) HAMILTON-PATH ανάγεται στο HAMILTON-CYCLE
4) Το πρόβλημα 3-COLORING είναι NP-πλήρες
4.1) 3-COLORING ανήκει στο NP
4.2) 3SAT ανάγεται στο 3-COLORING
Ασκήσεις
1) To 7-COLORING είναι NP-πλήρες
2) Το TSP είναι NP-πλήρες
1) Κλειστότητα των Κανονικών Γλωσσών
1.1) Κλειστότητα στην Ένωση
1.2) Κλειστότηα στην Παράθεση
1.3) Κλειστότητα στο Αστέρι Kleene
1.4) Κλειστότητα στο Συμπλήρωμα
1.5) Κλειστότητα στην Τομή
1.5.1) Απλοποίηση ΝΠΑ
2) Επιπλέον Κατασκευές
2.1) Κατασκευή ΝΠΑ για την Ένωση
2.2) Κατασκευή ΝΠΑ για την Διαφορά
1. The document discusses a study that analyzed the brain activity of participants using functional magnetic resonance imaging (fMRI) while they performed different cognitive tasks.
2. The study found increased activity in several brain regions, including the prefrontal cortex and parietal lobe, when participants were performing tasks that required abstract reasoning compared to more concrete tasks.
3. The results suggest that different regions of the brain are activated for abstract vs. concrete thinking.
1) Ισομορφισμοί Γραφημάτων
1.1) Ισομορφικά Γραφήματα
1.2) Πως δείχνω ότι δύο γραφήματα είναι ισομορφικά
1.3) Πως δείχνω ότι δύο γραφήματα δεν είναι ισομορφικά
1.4) Αποδείξεις Αναλλοίωτων Ιδιοτήτων
2) Συμπληρωματικοί Ορισμοί
2.1) Αυτομορφισμός
2.2) Αυτοσυμπληρωματικό Γράφημα
Ασκήσεις
1) Η γλώσσα της Θεωρίας Συνόλων
1.1) Εισαγωγή
2) Υπενθυμίσεις από ΜΑΘ0.1
2.1) Δυναμοσύνολο
2.2) Σχέση Υποσυνόλου
2.3) Σχέση Γνησίου Υποσυνόλου
3) Ασκήσεις
3.1) Στοιχειώδεις προτάσεις με ποσοδείκτες
3.2) Μετάφραση στα ελληνικά
3.3) Περαιτέρω ασκήσεις
Ασκήσεις
1) Επίπεδο Γράφημα
1.1) Ορισμοί Επίπεδων Γραφημάτων
1.2) Το άθροισμα των Βαθμών των όψεων ≤ 2m
1.3) Ο τύπος του Euler
2) Το θεώρημα Kuratowski
2.1) Το Κ5 δεν είναι επίπεδο
2.2) Το Κ3,3 δεν είναι επίπεδο
2.3) Ομοιομορφικά Γραφήματα
2.4) Το θεώρημα του Kuratowski
3) Δύο ακόμη Θεωρήματα
Ασκήσεις
This document discusses the agenda for a board meeting. It lists the items to be discussed, including a financial report, discussion of new membership applications, and committee reports from the events, fundraising, and communications committees. The date, time, location, and call-in information for the virtual board meeting is also provided.
1) Εισαγώγή
1.1) Σχήμα Απόδειξης Αναγωγής
1.2) Αναγωγές της Προτασιακής Λογικής
2) Το πρόβλημα INDEPENDENT-SET είναι NP-πλήρες
2.1) INDEPENDENT-SET ανήκει στο NP
2.2) 3SAT ανάγεται στο INDEPENDENT-SET
3) Το πρόβλημα CLIQUE είναι NP-πλήρες
3.1) CLIQUE ανήκει στο NP
3.2) INDEPENDENT-SET ανάγεται στο CLIQUE
4) Το πρόβλημα VERTEX-COVER είναι NP-πλήρες
4.1) VERTEX-COVER ανήκει στο NP
4.2) INDEPENDENT-SET ανάγεται στο VERTEX-COVER
5) Το πρόβλημα SUBGRAPH-ISOMORPHISM είναι NP-πλήρες
5.1) SUBGRAPH-ISOMORPHISM ανήκει στο NP
5.2) CLIQUE ανάγεται στο SUBGRAPH-ISOMORPHISM
Ασκήσεις
1) To (n/2)-CLIQUE είναι NP-πλήρες
2) Το KITE είναι NP-πλήρες
3) Το k-DENSEST-SUBGRAPH είναι NP-πλήρες
4) Το k-LIGHTEST-SUBGRAPH είναι NP-πλήρες
1) Εισαγώγή
1.1) Σχήμα Απόδειξης Αναγωγής
1.2) Αναγωγές της Προτασιακής Λογικής
2) Το πρόβλημα 3SAT είναι NP-πλήρες
2.1) 3SAT ανήκει στο NP
2.2) SAT ανάγεται στο 3SAT
3) Το πρόβλημα 1-IN-3-SAT είναι NP-πλήρες
3.1) 1-IN-3-SAT ανήκει στο NP
3.2) 3SAT ανάγεται στο 1-IN-3-SAT
4) Το πρόβλημα NAE-3SAT είναι NP-πλήρες
4.1) NAE-3SAT ανήκει στο NP
4.2) 3SAT ανάγεται στο NAE-3SAT
Ασκήσεις
1) To NOT-ALL-ZERO-SAT είναι NP-πλήρες
2) Το 5SAT είναι NP-πλήρες
3) Το AtLeast3SAT είναι NP-πλήρες
4) To AlmostSAT είναι NP-πλήρες
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)Dimitris Psounis
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1.Διαχείριση Μνήμης
1.1.Στατική Δέσμευση Μνήμης
1.2.Στατική Δέσμευση Μνήμης για Συνήθεις Μεταβλητές
1.3.Στατική Δέσμευση Μνήμης για Αντικείμενα
2.Δυναμική Δέσμευση Μνήμης
2.1.Δείκτες (Υπενθύμιση από C)
2.2.Οι τελεστές new και delete
2.3.Δυναμική Δέσμευση για Συνήθεις Μεταβλητές
2.4.Δυναμική Δέσμευση για Αντικείμενα
2.5.Δυναμική Δέσμευση και Κατασκευαστές
3.Κλάσεις που περιέχουν δείκτες
3.1.Παράδειγμα κλάσης που περιέχει δείκτες
3.2.…και ένα πρόβλημα (χωρίς λύση για την ώρα)
4..Δυναμική Δέσμευση Μνήμης για Πίνακες
4.1.Μονοδιάστατοι πίνακες
4.2.Παράδειγμα δέσμευσης μνήμης για μονοδιάστατους πίνακες
4.3.Διδιάστατοι πίνακες
4.4.Παράδειγμα δέσμευσης μνήμης για διδιάστατους πίνακες
B. Ασκήσεις
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1.Διαχείριση Μνήμης
1.1.Στατική Δέσμευση Μνήμης
1.2.Στατική Δέσμευση Μνήμης για Συνήθεις Μεταβλητές
1.3.Στατική Δέσμευση Μνήμης για Αντικείμενα
2.Δυναμική Δέσμευση Μνήμης
2.1.Δείκτες (Υπενθύμιση από C)
2.2.Οι τελεστές new και delete
2.3.Δυναμική Δέσμευση για Συνήθεις Μεταβλητές
2.4.Δυναμική Δέσμευση για Αντικείμενα
2.5.Δυναμική Δέσμευση και Κατασκευαστές
3.Κλάσεις που περιέχουν δείκτες
3.1.Παράδειγμα κλάσης που περιέχει δείκτες
3.2.…και ένα πρόβλημα (χωρίς λύση για την ώρα)
4..Δυναμική Δέσμευση Μνήμης για Πίνακες
4.1.Μονοδιάστατοι πίνακες
4.2.Παράδειγμα δέσμευσης μνήμης για μονοδιάστατους πίνακες
4.3.Διδιάστατοι πίνακες
4.4.Παράδειγμα δέσμευσης μνήμης για διδιάστατους πίνακες
B. Ασκήσεις
Α. Θεωρία
1. Κλάσεις
1.1 Γενικά
1.2 Ορισμός Κλάσης
1.3 Δημόσια (public) στοιχεία της κλάσης
1.4 Ιδιωτικά (private) στοιχεία της κλάσης
1.5 Παράδειγμα (προδιαγραφές)
2 Περισσότερα για τις κλάσεις
2.1 Ορισμός Συναρτήσεων έξω από την Κλάση
2.2 Παρουσίαση Ιδιωτικών – Δημόσιων Μέλων μιας κλάσης
2.3 Χωρισμός σε Αρχεία
3. Ειδικές Μεθόδοι Κλάσεων
3.1 Γενικά
3.2 Κατασκευαστής (constructor)
3.3 Καταστροφέας (destructor)
3.4 Ελεγκτές Πρόσβασης (accessors)
B. Ασκήσεις
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Dimitris Psounis
Α. Θεωρία
1. Κλάσεις
1.1 Γενικά
1.2 Ορισμός Κλάσης
1.3 Δημόσια (public) στοιχεία της κλάσης
1.4 Ιδιωτικά (private) στοιχεία της κλάσης
1.5 Παράδειγμα (προδιαγραφές)
2 Περισσότερα για τις κλάσεις
2.1 Ορισμός Συναρτήσεων έξω από την Κλάση
2.2 Παρουσίαση Ιδιωτικών – Δημόσιων Μέλων μιας κλάσης
2.3 Χωρισμός σε Αρχεία
3. Ειδικές Μεθόδοι Κλάσεων
3.1 Γενικά
3.2 Κατασκευαστής (constructor)
3.3 Καταστροφέας (destructor)
3.4 Ελεγκτές Πρόσβασης (accessors)
B. Ασκήσεις
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1. Η Γλώσσα C++
1.1. Γενικά
1.2. Ιστορία – Εκδόσεις
1.3. Η αναγκαιότητα της C
1.4. Μεταγλωττιστές
2. Hello World!
2.1. Πηγαίος Κώδικας
2.2. Σχόλια
2.3. Βιβλιοθήκη iostream
2.4. main, block κώδικα, return
2.5 Είσοδος/Έξοδος
2.5.1. Έξοδος με την cout
2.5.2. Οδηγία using
2.5.3. Περισσότερα για την cout
2.5.4. Είσοδος με την cin
3. Στοιχεία της C
3.1. Μεταβλητές
3.2. Σταθερές
3.3. Τελεστές και η Δομή Ελέγχου
3.4. Δομές Επανάληψης
3.5. Συναρτήσεις
3.5.1. Πολυμορφισμός Συναρτήσεων
3.6. Πίνακες
3.7. Συμβολοσειρές
3.8. Δείκτες
B.Ασκήσεις
Εφαρμογή 1
Εφαρμογή 2
Εφαρμογή 3
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)Dimitris Psounis
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1. Η Γλώσσα C++
1.1. Γενικά
1.2. Ιστορία – Εκδόσεις
1.3. Η αναγκαιότητα της C
1.4. Μεταγλωττιστές
2. Hello World!
2.1. Πηγαίος Κώδικας
2.2. Σχόλια
2.3. Βιβλιοθήκη iostream
2.4. main, block κώδικα, return
2.5 Είσοδος/Έξοδος
2.5.1. Έξοδος με την cout
2.5.2. Οδηγία using
2.5.3. Περισσότερα για την cout
2.5.4. Είσοδος με την cin
3. Στοιχεία της C
3.1. Μεταβλητές
3.2. Σταθερές
3.3. Τελεστές και η Δομή Ελέγχου
3.4. Δομές Επανάληψης
3.5. Συναρτήσεις
3.5.1. Πολυμορφισμός Συναρτήσεων
3.6. Πίνακες
3.7. Συμβολοσειρές
3.8. Δείκτες
B.Ασκήσεις
Εφαρμογή 1
Εφαρμογή 2
Εφαρμογή 3
2. ΠΕΡΙΕΧΟΜΕΝΑ
Α. Σκοπός του Μαθήµατος
Β. Θεωρία
1. Μετατροπή ΚΕ σε ΜΠΑ (µε ε-κινήσεις)
1. Αλγόριθµος Μετατροπής ΚΕ σε ΜΠΑ (µε ε-κινήσεις)
2. Παραδείγµατα
2. Μετατροπή ΜΠΑ (µε ε-κινήσεις) σε ΜΠΑ (χωρίς ε-κινήσεις)
2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
2. Μετατροπή ΜΠΑ (µε ε-κινήσεις) σε ΜΠΑ (χωρίς ε-κινήσεις)
1. Αλγόριθµος Μετατροπής ΜΠΑ (µε ε-κινήσεις) σε ΜΠΑ (χωρίς ε-κινήσεις)
2. Παραδείγµατα
3. Εφαρµογή µε εµπειρικό τρόπο
3. Μετατροπή ΜΠΑ (χωρίς ε-κινήσεις) σε ΝΠΑ
1. Αλγόριθµος Μετατροπής ΜΠΑ (χωρίς ε-κινήσεις) σε ΝΠΑ
2. Παραδείγµατα
3. Εφαρµογή µε εµπειρικό τρόπο
4. Μετατροπή ΝΠΑ σε ΚΕ
1. Αλγόριθµος Μετατροπής ΜΠΑ (χωρίς ε-κινήσεις) σε ΝΠΑ
2. Παραδείγµατα
Γ.Ασκήσεις
3. Α. Σκοπός του Μαθήµατος
Οι στόχοι του µαθήµατος είναι:
Επίπεδο Α
Μετατροπή ΜΠΑ (µε ε-κινήσεις ) σε ΜΠΑ (χωρίς ε-κινήσεις)
Μετατροπή ΜΠΑ (χωρίς ε-κινήσεις) σε ΝΠΑ
Επίπεδο Β
3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Επίπεδο Β
Μετατροπή Κ.Ε. σε ΜΠΑ (µε ε-κινήσεις)
Επίπεδο Γ
Μετατροπή ΝΠΑ σε Κ.Ε.
4. B. Θεωρία
Μετατροπές
4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Ορισµός Κανονικής Γλώσσας:
Μία γλώσσα θα λέγεται Κανονική Γλώσσα αν και µόνο αν
Υπάρχει Κανονική Εκφραση (Κ.Ε.) που την περιγράφει.
Υπάρχει Ντετερµινιστικό Πεπερασµένο Αυτόµατο (Ν.Π.Α.) που
αναγνωρίζει τις συµβολοσειρές της.
Υπάρχει Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο (Μ.Π.Α) που
Η έννοια της ισοδυναµίας των παραπάνω κατασκευασµάτων θα αποδειχθεί
ως εξής:
Θα δούµε αλγόριθµο που µετατρέπει Κ.Ε. σε Μ.Π.Α-ε
Θα δούµε αλγόριθµο που µετατρέπει Μ.Π.Α-ε σε ΜΠΑ
Θα δούµε αλγόριθµο που µετατρέπει ΜΠΑ σε ΝΠΑ
Θα δούµε αλγόριθµο που µετατρέπει ΝΠΑ σε Κ.Ε.
Στα παραπάνω εννοούµε:
ΜΠΑ-ε: Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο µε ε-κινήσεις
ΜΠΑ: Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο χωρίς ε-κινήσεις
Υπάρχει Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο (Μ.Π.Α) που
αναγνωρίζει τις συµβολοσειρές της.
5. B. Θεωρία
1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε
1. Αλγόριθµος Μετατροπής
5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Η µετατροπή µιας Κ.Ε σε ΜΠΑ-ε γίνεται µε βάση τους εξής κανόνες:
1. Τα αυτόµατα για τις στοιχειώδεις κανονικές εκφράσεις ∅, ε, σ είναι:
σ
Επίσης το βιβλίο του ΕΑΠ µας δίνει το δικαίωµα να θεωρήσουµε ότι και το ΜΠΑ
για µια σκέτη συµβολοσειρά προκύπτει µε «ξάπλωµα» της συµβολοσειράς σε
διαδοχικές µεταβάσεις (π.χ. M(001)):
0
Μ(∅) Μ(ε)
0 1
Μ(σ)
Μ(001)
6. Έστω τώρα ότι για µια κανονική έκφραση R έχουµε την εξής αναπαράσταση για
το ΜΠΑ που την αναγνωρίζει:
B. Θεωρία
1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε
1. Αλγόριθµος Μετατροπής
6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
S
F
Έτσι αν έχουµε δύο αυτόµατα M(R1), M(R2) θα διατυπώσουµε κανόνες για την
παραγωγή των αυτοµάτων των κανονικών εκφράσεων R1+R2, R1R2 και R*
S
F
Μ(R)
7. 2. Στην R1R2 αντιστοιχούµε το αυτόµατο:
B. Θεωρία
1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε
1. Αλγόριθµος Μετατροπής
7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
S
F
S
Fε
∆ηλαδή:
• Φεύγουν ε-κινήσεις από τις τελικές του M(R1) προς την αρχική του M(R2)
• Οι τελικές του M(R1) γίνονται µη τελικές καταστάσεις.
S
F
Μ(R1)
S
F
Μ(R2)
ε
8. 3. Στην R1+R2 αντιστοιχούµε το αυτόµατο:
B. Θεωρία
1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε
1. Αλγόριθµος Μετατροπής
8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
S
F
F
Μ(R1)
ε
∆ηλαδή:
• Προσθέτουµε µία νέα αρχική κατάσταση
• Με ε-κινήσεις πηγαίνουµε από την νέα αρχική κατάσταση στις προηγούµενες αρχικές.
S
F
F
Μ(R2)
ε
ε
9. 4. Στην R* αντιστοιχούµε το αυτόµατο:
B. Θεωρία
1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε
1. Αλγόριθµος Μετατροπής
9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
S
F
Μ(R)
ε
ε
∆ηλαδή:
• Προσθέτουµε µία νέα αρχική κατάσταση (που είναι και τελική)
• Με ε-κίνηση πάµε από την νέα αρχική στην προηγούµενη αρχική.
• Με ε-κινήσεις φεύγουµε από τις προηγούµενες τελικές προς την νέα αρχική.
• Οι προηγούµενες τελικές γίνονται µη τελικές καταστάσεις.
S
F
Μ(R)
ε
10. Με χρήση των παραπάνω κανόνων µπορούµε να µετατρέψουµε οποιοδήποτε αυτόµατο στο ισοδύναµο
ΜΠΑ-ε πηγαίνοντας «από µέσα προς τα έξω», δηλαδή πρώτα τις συµβολοσειρές και έπειτα βήµα βήµα
σύνθεση της κανονικής έκφρασης:
Παράδειγµα (1+01)*:
B. Θεωρία
1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε
2. Παραδείγµατα
10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
1 0 1
Μ(1) Μ(01)
1
0 1
Μ(1+01)
ε
ε
14. Εµπειρικά θα εφαρµόζουµε τον αλγόριθµο ως εξής:
• Θα βάζουµε τις ίδιες καταστάσεις
• Θα βάζουµε την ίδια αρχική και τις ίδιες τελικές.
• Θα παρατηρούµε αν υπάρχει µονοπάτι ε-κινήσεων από την αρχική σε κάποια τελική οπότε και
οι αρχικές θα γίνονται τελικές.
• Θα κατασκευάζουµε στο πρόχειρο ένα πινακακι µετάβασης που για κάθε κατ/ση και σύµβολο θα
υπολογίζουµε το ε-σ-ε του:
• ε: που πάµε από την κατάσταση χωρίς διάβασµα συµβόλου (προσοχή ότι πάντα µένουµε και
B. Θεωρία
2. Μετατροπή Μετατροπή ΜΠΑ-ε σε ΜΠΑ
3. Εφαρµογή µε εµπειρικό τρόπο
14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
• ε: που πάµε από την κατάσταση χωρίς διάβασµα συµβόλου (προσοχή ότι πάντα µένουµε και
στην ίδια κατάσταση χωρίς διάβασµα συµβόλου)
• σ: που πηγαίνουµε από τις καταστάσεις του προηγούµενου βήµατος µε το σύµβολο που
µελετάµε.
• ε: που πάµε από τις καταστάσεις του προηγούµενου βήµατος χωρίς διάβασµα συµβόλου
• Για παράδειγµα στο αυτόµατο:
• Π.χ. για την κατ/ση Α µε 0:
• ε: Α,Β,∆
• 0:⊗,⊗,Β
• ε: Β,∆
• Τελικά στο καθαρό θα παρουσιάζουµε µόνο τον πίνακα µετάβασης και το σχήµα του αυτοµάτου
ΒΑ
Γ ∆
ε
ε 0
1
1
16. B. Θεωρία
3. Μετατροπή ΜΠΑ σε NΠΑ
1. Αλγόριθµος Μετατροπής
16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
17. B. Θεωρία
3. Μετατροπή ΜΠΑ σε ΝΠΑ
2. Παράδειγµα Χρήσης του Τυπικού Ορισµού
17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Β
Α
Γ
1
1
1
0
18. Σχηµατικά:
B. Θεωρία
3. Μετατροπή ΜΠΑ σε ΝΠΑ
2. Παράδειγµα Χρήσης του Τυπικού Ορισµού
18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
{Α,Β}
{Α,Γ}
{Β,Γ}
{Α,Β,Γ}
1
0
1
0
1
1
0
0
ΚΑΝΟΝΑΣ ΑΠΛΟΠΟΙΗΣΗΣ: Αν για κάποια κατάσταση δεν υπάρχει µονοπάτι που να ξεκινάει
από την αρχική και να καταλήγει σε αυτήν τότε αυτή µπορεί να καταργηθεί. Εφαρµογή:
Καταργούνται οι {Α,Β}, {Α,Β,Γ}, {Α,Γ}
{Α}
{Β}
{Γ}
∅
0,1
1
0
0,1
0
1
1
19. Άρα τελικά το αυτόµατο είναι:
B. Θεωρία
3. Μετατροπή ΜΠΑ σε ΝΠΑ
2. Παράδειγµα Χρήσης του Τυπικού Ορισµού
19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
{Α}
{Γ}
{Β,Γ}
1
0
1{Α}
{Β}
{Γ}
∅
0,1
0
0,1
0
1
1
20. Εµπερικά θα εφαρµόζουµε τον αλγόριθµο ως εξής:
• Θα κατασκευάζουµε τον πίνακα µετάβασης του αρχικού ΜΠΑ στο πρόχειρο.
• Θα κατασκευάζουµε τον πίνακα µετάβασης του νέου ΝΠΑ ως εξής:
• Θα βάζουµε µόνο την αρχική κατάσταση στον νέο πίνακα.
• Όποιες νέες καταστάσεις προκύπτουν θα τις θέτουµε προς µελέτη σε νέες γραµµές του πίνακα
µετάβασης του ΝΠΑ.
• Η µελέτη µίας κατάστασης Χ µε το σύµβολο εισόδου σ γίνεται ως εξής:
B. Θεωρία
3. Μετατροπή ΜΠΑ σε ΝΠΑ
3. Εφαρµογή µε εµπειρικό τρόπο
20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
• Η µελέτη µίας κατάστασης Χ µε το σύµβολο εισόδου σ γίνεται ως εξής:
• Για κάθε κατάσταση που περιέχεται στο Χ γράφουµε τον συνδυασµό των
καταστάσεων που πηγαίνουµε µε το σ από κάθε κατάσταση που περιέχεται στο Χ.
• Ο πίνακας µετάβασης θα σταµατά όταν δεν θα υπάρχουν νέες καταστάσεις προς διερευνηση.
• Θα δίνουµε την σχηµατική απεικόνιση του ΝΠΑ
• Η αρχική κατάσταση είναι η ίδια
• Οι τελικές καταστάσεις είναι όσες περιέχουν τελική του ΜΠΑ.
28. Γ. Ασκήσεις
Ασκηση Κατανόησης 4
Για την γλώσσα L={w∈{0,1}* | w αρχίζει µε 00}
(Α) ∆ώστε κανονική έκφραση που παράγει την L
(Β) ∆ώστε ΜΠΑ που αναγνωρίζει τις συµβολοσειρές της γλώσσας.
28∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
(Γ) ∆ώστε το ισοδύναµο ΝΠΑ (εφαρµόστε τον αλγόριθµο ΜΠΑ=>ΝΠΑ)
29. Γ. Ασκήσεις
Ασκηση Κατανόησης 5
Για την γλώσσα L={w∈{0,1}* | w τελειώνει µε 001}
(Α) ∆ώστε κανονική έκφραση που παράγει την L
(Β) ∆ώστε ΜΠΑ που αναγνωρίζει τις συµβολοσειρές της γλώσσας.
29∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
(Γ) ∆ώστε το ισοδύναµο ΝΠΑ (εφαρµόστε τον αλγόριθµο ΜΠΑ=>ΝΠΑ)
30. Γ. Ασκήσεις
Εφαρµογή 1
∆ίνεται η κανονική έκφραση 0*1*01
1. ∆ώστε ΜΠΑ που αναγνωρίζει τις συµβολοσειρές της γλώσσας χρησιµοποιώντας τον
αλγόριθµο µετατροπής Κ.Ε. σε ΜΠΑ
2. ∆ώστε ΜΠΑ για την γλώσσα που παράγει η κανονική έκφραση (µε ακριβώς µία ε-
30∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
2. ∆ώστε ΜΠΑ για την γλώσσα που παράγει η κανονική έκφραση (µε ακριβώς µία ε-
κίνηση)
3. Μετατρέψτε το ΜΠΑ του ερωτήµατος 2 σε ένα ισοδύναµο χωρίς ε-κινήσεις
4. Μετατρέψτε το ΜΠΑ στο ισοδύναµο ΝΠΑ.
31. Γ. Ασκήσεις
Εφαρµογή 2
∆ίνεται η κανονική έκφραση (1+00)*
1. ∆ώστε ΜΠΑ που αναγνωρίζει τις συµβολοσειρές της γλώσσας χρησιµοποιώντας τον
αλγόριθµο µετατροπής Κ.Ε. σε ΜΠΑ
2. ∆ώστε ΜΠΑ για την γλώσσα που παράγει η κανονική έκφραση (χωρίς ε-κινήσεις)
31∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
2. ∆ώστε ΜΠΑ για την γλώσσα που παράγει η κανονική έκφραση (χωρίς ε-κινήσεις)
3. Μετατρέψτε το ΜΠΑ στο ισοδύναµο ΝΠΑ.