1) Κλειστότητα των Κανονικών Γλωσσών
1.1) Κλειστότητα στην Ένωση
1.2) Κλειστότηα στην Παράθεση
1.3) Κλειστότητα στο Αστέρι Kleene
1.4) Κλειστότητα στο Συμπλήρωμα
1.5) Κλειστότητα στην Τομή
1.5.1) Απλοποίηση ΝΠΑ
2) Επιπλέον Κατασκευές
2.1) Κατασκευή ΝΠΑ για την Ένωση
2.2) Κατασκευή ΝΠΑ για την Διαφορά
1) Ισοδυναμία Γραμματικής Χ.Σ. με Αυτόματο Στοίβας
1.1) Μετατροπή Γραμματικής Χ.Σ. σε Αυτόματο Στοίβας
1.2) Μετατροπή Αυτομάτου Στοίβας σε Γραμματική Χ.Σ.
2) Κλειστότητα στις Γλώσσες Χωρίς Συμφραζόμενα
2.1) Κλειστότητα στην Ένωση
2.2) Κλειστότητα στην Παράθεση
2.3) Κλειστότητα στο Αστέρι Kleene
2.4) ΌΧΙ κλειστότητα στο συμπλήρωμα
2.5) ΌΧΙ κλειστότητα στην τομή
Ασκήσεις
1) Κλειστότητα των Κανονικών Γλωσσών
1.1) Κλειστότητα στην Ένωση
1.2) Κλειστότηα στην Παράθεση
1.3) Κλειστότητα στο Αστέρι Kleene
1.4) Κλειστότητα στο Συμπλήρωμα
1.5) Κλειστότητα στην Τομή
1.5.1) Απλοποίηση ΝΠΑ
2) Επιπλέον Κατασκευές
2.1) Κατασκευή ΝΠΑ για την Ένωση
2.2) Κατασκευή ΝΠΑ για την Διαφορά
1) Ισοδυναμία Γραμματικής Χ.Σ. με Αυτόματο Στοίβας
1.1) Μετατροπή Γραμματικής Χ.Σ. σε Αυτόματο Στοίβας
1.2) Μετατροπή Αυτομάτου Στοίβας σε Γραμματική Χ.Σ.
2) Κλειστότητα στις Γλώσσες Χωρίς Συμφραζόμενα
2.1) Κλειστότητα στην Ένωση
2.2) Κλειστότητα στην Παράθεση
2.3) Κλειστότητα στο Αστέρι Kleene
2.4) ΌΧΙ κλειστότητα στο συμπλήρωμα
2.5) ΌΧΙ κλειστότητα στην τομή
Ασκήσεις
1) Διαίρει και Βασίλευε
1.1) Ο αλγόριθμος MergeSort (Ταξινόμηση με Συγχώνευση)
1.2) Ο αλγόριθμος QuickSort (Γρήγορη Ταξινόμηση)
1.3) Ο αλγόριθμος QuickSelect (Γρήγορη Επιλογή)
1.4) Ο αλγόριθμος Strassen για τον πολλαπλασιασμό πινάκων
Ασκήσεις
1) Εισαγωγή
1.1) Είδη Προβλημάτων
1.2) Μοντέλα Υπολογισμού
2) Το πρόβλημα της ικανοποιησιμότητας - SAT
2.1) Διατυπωση του προβλήματος
2.2) To SAT λύνεται σε ντετερμιιστικό εκθετικό χρόνο.
2.3) To SAT λύνεται σε ντετερμινιστικό πολυωνυμικό χρόνο?
2.4) Το SAT λύνεται σε μη ντετερμινιστικό πολυωνυμικό χρόνο.
2.5) Σύνοψη για το πρόβλημα SAT
3) Θεωρία Πολυπλοκότητας
3.1) Η κλάση P
3.2) Η κλάση NP
3.3) Η κλάση EXP
3.4) P ⊆푵NP푷⊆퐄EXP퐗퐏
3.5) NP-πληρότητα
4) NP-πληρότητα
4.1) Αποδείξεις NP-πληρότητας
4.2) Ιδιότητες NP-Complete προβλημάτων
4.3) Το ανοικτό πρόβλημα P=NP
4.4) Η κλάση NP-Complete
4.5) Ιεραρχία κλάσεων αν P ≠ NP푷
4.6) Ιεραρχία κλάσεων αν P = NP푷
Ασκήσεις
1.1) Ιεραρχία Συναρτήσεων
1.2) Αναδρομικές Σχέσεις (Θεώρημα Κυριαρχίας, Μέθοδος Επανάληψης)
2) Άπληστος Αλγόριθμος (Αντιπαράδειγμα ε μη ορθό αλγόριθμο υπολογισμού συντομότερου μονοπατιού)
3.1) 0*1*11*: ΚΕ σε ΜΠΑε σε ΜΠΑ σε ΝΠΑ και Κανονική Γραμματική
3.2) Διακριση Κανονικών και μη Κανονικών Γλωσσών
4) Διάκριση Γλωσσών Χωρίς Συμφραζόμενα και Γλωσσών Όχι Χωρίς Συμφραζόμενα (Γραμματική Χωρίς Συμφραζόμενα, Αυτόματο Στοίβας) και (Λήμμα Άντλησης για Γλώσσες Χωρίς Συμφραζόμενα.
5.1) Μηχανή Turing για συμπλήρωμα ισότητας
5.2) Αναγωγές μη Επιλυσιμότητας
6) NP-πληρότητα (το πρόβλημα της κομβικής επικάλυψης και το πρόβλημα του ανεξαρτήτου συνόλου)
1) Η αποδεικτική διαδικασία της αναγωγής
1.1) Σκεπτικό: Η γλώσσα Halting
1.2) Το Θεώρημα Αναγωγής
1.3) Σχήμα Απόδειξης Αναγωγής
2) Παραδείγματα Αναγωγών
2.1) Ο πιο συχνά χρησιμοποιούμενος μετασχημαισμός
2.2) Τερματίζει ένα πρόγραμμα με οποιαδήποτε είσοδο;
2.3) Τερματίζει ένα πρόγραμμα με είσοδο την κενή συμβολοσειρά;
2.4) Τερματίζει ένα πρόγραμμα με είσοδο έστω μία συμβολοσειρά;
2.5) Είναι δύο προγράμματα ισοδύναμα;
2.6) Το πρόγραμμα δεν τερματίζει για καμία είσοδο
3) Άλλες Μη Επιλύσιμες Γλώσσες
3.1) Αναγνώριση συνόλου γλώσσας
3.2) Ασκ.Αυτ.2.2 και Δραστ.2.2
3.3) Μη Επιλύσιμες Γλώσσες για Γλώσσες Χωρίς Συμφραζόμενα
1) ΑΣΥΜΠΤΩΤΙΚΟΙ ΣΥΜΒΟΛΙΣΜΟΙ
1.1) Ο ασυμπτωτικός συμβολισμός ο
1.2) Ο ασυμπτωτικός συμβολισμός Ο
1.3) Ο ασυμπτωτικός συμβολισμός Θ
1.4) Ο ασυμπτωτικός συμβολισμός Ω
1.5) Ο ασυμπτωτικός συμβολισμός ω
2) ΧΡΗΣΗ ΟΡΙΩΝ ΓΙΑ ΤΗΝ ΑΠΟΔΕΙΞΗ ΑΣΥΜΠΤΩΤΙΚΩΝ ΣΥΜΒΟΛΙΣΜΩΝ
3) ΛΗΜΜΑΤΑ ΣΤΟΥΣ ΑΣΥΜΠΤΩΤΙΚΟΥΣ ΣΥΜΒΟΛΙΣΜΟΥΣ
Ασκήσεις
1) Ορισμός Συνδετικού Δένδρου
1.1) Διάσχιση Πρώτα Κατά Πλάτος
1.2) Διάσχιση Πρώτα Κατά Βάθος
2) Ελάχιστο Συνδετικό Δένδρο
2.1) Ορισμός Ελάχιστου Συνδετικού Δένδρου
2.2) Ο αλγόριθμος του Prim
3) Σύνοψη για τους Αλγόριθμους
3.1) Συντομότερα Μονοπάτια
3.2) Συνδετικό Δένδρο
3.3) Ελάχιστο Συνδετικό Δένδρο
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) Το πρόβλημα 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) Η αναδρομή Τ(n)=aT(n-b)+c
1.1) Επίλυση με την Μέθοδο της Επανάληψης
2) Η αναδρομή Τ(n)=T(n-1)+f(n)
2.1) Επίλυση με την Μέθοδο της Επανάληψης
3) Η αναδρομή T(n)=T(n/a)+T(n/b)+f(n)
3.1) Επίλυση με τη Μέθοδο των Φραγμάτων
3.2) Επίλυση με το Δένδρο Αναδρομής
3.3) Επίλυση με τη Δραστηριότητα 3.6
Ασκήσεις
1) Διαίρει και Βασίλευε
1.1) Ο αλγόριθμος MergeSort (Ταξινόμηση με Συγχώνευση)
1.2) Ο αλγόριθμος QuickSort (Γρήγορη Ταξινόμηση)
1.3) Ο αλγόριθμος QuickSelect (Γρήγορη Επιλογή)
1.4) Ο αλγόριθμος Strassen για τον πολλαπλασιασμό πινάκων
Ασκήσεις
1) Εισαγωγή
1.1) Είδη Προβλημάτων
1.2) Μοντέλα Υπολογισμού
2) Το πρόβλημα της ικανοποιησιμότητας - SAT
2.1) Διατυπωση του προβλήματος
2.2) To SAT λύνεται σε ντετερμιιστικό εκθετικό χρόνο.
2.3) To SAT λύνεται σε ντετερμινιστικό πολυωνυμικό χρόνο?
2.4) Το SAT λύνεται σε μη ντετερμινιστικό πολυωνυμικό χρόνο.
2.5) Σύνοψη για το πρόβλημα SAT
3) Θεωρία Πολυπλοκότητας
3.1) Η κλάση P
3.2) Η κλάση NP
3.3) Η κλάση EXP
3.4) P ⊆푵NP푷⊆퐄EXP퐗퐏
3.5) NP-πληρότητα
4) NP-πληρότητα
4.1) Αποδείξεις NP-πληρότητας
4.2) Ιδιότητες NP-Complete προβλημάτων
4.3) Το ανοικτό πρόβλημα P=NP
4.4) Η κλάση NP-Complete
4.5) Ιεραρχία κλάσεων αν P ≠ NP푷
4.6) Ιεραρχία κλάσεων αν P = NP푷
Ασκήσεις
1.1) Ιεραρχία Συναρτήσεων
1.2) Αναδρομικές Σχέσεις (Θεώρημα Κυριαρχίας, Μέθοδος Επανάληψης)
2) Άπληστος Αλγόριθμος (Αντιπαράδειγμα ε μη ορθό αλγόριθμο υπολογισμού συντομότερου μονοπατιού)
3.1) 0*1*11*: ΚΕ σε ΜΠΑε σε ΜΠΑ σε ΝΠΑ και Κανονική Γραμματική
3.2) Διακριση Κανονικών και μη Κανονικών Γλωσσών
4) Διάκριση Γλωσσών Χωρίς Συμφραζόμενα και Γλωσσών Όχι Χωρίς Συμφραζόμενα (Γραμματική Χωρίς Συμφραζόμενα, Αυτόματο Στοίβας) και (Λήμμα Άντλησης για Γλώσσες Χωρίς Συμφραζόμενα.
5.1) Μηχανή Turing για συμπλήρωμα ισότητας
5.2) Αναγωγές μη Επιλυσιμότητας
6) NP-πληρότητα (το πρόβλημα της κομβικής επικάλυψης και το πρόβλημα του ανεξαρτήτου συνόλου)
1) Η αποδεικτική διαδικασία της αναγωγής
1.1) Σκεπτικό: Η γλώσσα Halting
1.2) Το Θεώρημα Αναγωγής
1.3) Σχήμα Απόδειξης Αναγωγής
2) Παραδείγματα Αναγωγών
2.1) Ο πιο συχνά χρησιμοποιούμενος μετασχημαισμός
2.2) Τερματίζει ένα πρόγραμμα με οποιαδήποτε είσοδο;
2.3) Τερματίζει ένα πρόγραμμα με είσοδο την κενή συμβολοσειρά;
2.4) Τερματίζει ένα πρόγραμμα με είσοδο έστω μία συμβολοσειρά;
2.5) Είναι δύο προγράμματα ισοδύναμα;
2.6) Το πρόγραμμα δεν τερματίζει για καμία είσοδο
3) Άλλες Μη Επιλύσιμες Γλώσσες
3.1) Αναγνώριση συνόλου γλώσσας
3.2) Ασκ.Αυτ.2.2 και Δραστ.2.2
3.3) Μη Επιλύσιμες Γλώσσες για Γλώσσες Χωρίς Συμφραζόμενα
1) ΑΣΥΜΠΤΩΤΙΚΟΙ ΣΥΜΒΟΛΙΣΜΟΙ
1.1) Ο ασυμπτωτικός συμβολισμός ο
1.2) Ο ασυμπτωτικός συμβολισμός Ο
1.3) Ο ασυμπτωτικός συμβολισμός Θ
1.4) Ο ασυμπτωτικός συμβολισμός Ω
1.5) Ο ασυμπτωτικός συμβολισμός ω
2) ΧΡΗΣΗ ΟΡΙΩΝ ΓΙΑ ΤΗΝ ΑΠΟΔΕΙΞΗ ΑΣΥΜΠΤΩΤΙΚΩΝ ΣΥΜΒΟΛΙΣΜΩΝ
3) ΛΗΜΜΑΤΑ ΣΤΟΥΣ ΑΣΥΜΠΤΩΤΙΚΟΥΣ ΣΥΜΒΟΛΙΣΜΟΥΣ
Ασκήσεις
1) Ορισμός Συνδετικού Δένδρου
1.1) Διάσχιση Πρώτα Κατά Πλάτος
1.2) Διάσχιση Πρώτα Κατά Βάθος
2) Ελάχιστο Συνδετικό Δένδρο
2.1) Ορισμός Ελάχιστου Συνδετικού Δένδρου
2.2) Ο αλγόριθμος του Prim
3) Σύνοψη για τους Αλγόριθμους
3.1) Συντομότερα Μονοπάτια
3.2) Συνδετικό Δένδρο
3.3) Ελάχιστο Συνδετικό Δένδρο
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) Το πρόβλημα 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) Η αναδρομή Τ(n)=aT(n-b)+c
1.1) Επίλυση με την Μέθοδο της Επανάληψης
2) Η αναδρομή Τ(n)=T(n-1)+f(n)
2.1) Επίλυση με την Μέθοδο της Επανάληψης
3) Η αναδρομή T(n)=T(n/a)+T(n/b)+f(n)
3.1) Επίλυση με τη Μέθοδο των Φραγμάτων
3.2) Επίλυση με το Δένδρο Αναδρομής
3.3) Επίλυση με τη Δραστηριότητα 3.6
Ασκήσεις
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.1.1) Ο αλγόριθμος του Dijkstra
1.2) Ελάχιστο Συνδετικό Δένδρο
1.2.1) Ο αλγόριθμος του Prim
1.2.2) Ο αλγόριθμος του Kruskal
1.3) Ελαχιστοποίηση Νομισμάτων με Ρέστα
Εφαρμογές
1) Επιστροφή χρηματικού ποσού για ρέστα
2) Άπληστος Αλγόριθμος για Χρωματισμό Γραφήματος
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) Μονοπάτια
1.3) Κύκλοι
1.4) Έσω και Έξω Βαθμός Κορυφής
1.5) Απομονωμένη Κορυφή
1.6) Πλήρες Γράφημα
2) Η Γλώσσα των Κατευθυνόμενων Γραφημάτων
2.1) Η Γλώσσα των Κατευθυνόμενων Γραφημάτων
2.2) Ερμηνείες στην Γλώσσα των Κατευθυνόμενων Γραφημάτων
3) Ασκήσεις στην Γλώσσα των Κατευθυνόμενων Γραφημάτων
3.1) Μετάφραση στα Ελληνικά
3.2) Μετάφραση στα Κατηγορηματικά
3.3) Εύρεση Αλήθειας Προτάσεων
3.4) Εύρεση Ερμηνείας που ικανοποιεί δεδομένη πρόταση
3.5) Συντομογραφίες στην Γλώσσα των Κατευθυνόμενων Γραφημάτων
Ασκήσεις
1) Η γλώσσα της Θεωρίας Συνόλων
1.1) Εισαγωγή
2) Υπενθυμίσεις από ΜΑΘ0.1
2.1) Δυναμοσύνολο
2.2) Σχέση Υποσυνόλου
2.3) Σχέση Γνησίου Υποσυνόλου
3) Ασκήσεις
3.1) Στοιχειώδεις προτάσεις με ποσοδείκτες
3.2) Μετάφραση στα ελληνικά
3.3) Περαιτέρω ασκήσεις
Ασκήσεις
1.1) Ιεραρχία Συναρτήσεων
1.2) Αναδρομικές Σχέσεις (Θεώρημα Κυριαρχίας)
3.1) Κανονική Έκφραση σε ΜΠΑ
3.2) (01*11)*: Κανονική Έκφρασε σε ΜΠΑ σε ΝΠΑ
3.3) Διάκριση Κανονικών Γλωσσών και Μη Κανονικών Γλωσσών
4.1) Γραμματικές Χωρίς Συμφραζόμενα
4.2) Αυτόματα Στοίβας
4.3) Διάκριση Γλωσσών Χωρίς Συμφραζόμενα και Γλωσσών που δεν είναι Χωρίς Συμφραζόμενα
5.1) Μηχανή Turing για έλεγχο ανισότητας
1.1) Ιεραρχία Συναρτήσεων
1.2) Αναδρομικές Σχέσεις (Θεώρημα Κυριαρχίας)
3.1) Κανονικές Εκφράσεις
3.2) Διάκριση Κανονικών Γλωσσών και Μη Κανονικών Γλωσσών
4.1) Γραμματικές Χωρίς Συμφραζόμενα
4.2) Αυτόματα Στοίβας
4.3) Διάκριση Γλωσσών Χωρίς Συμφραζόμενα και Γλωσσών που δεν είναι Χωρίς Συμφραζόμενα
5.1) Μηχανή Turing για έλεγχο ανισότητας
1.1) Ιεραρχία Συναρτήσεων
1.2) Αναδρομικές Σχέσεις (Θεώρημα Κυριαρχίας, Μέθοδος Επανάληψης)
3.1) Κανονική Έκφραση σε ΜΠΑ
3.2) ΚΕ[10(0+1)* +01(0+1)* ] σε ΜΠΑε σε ΜΠΑ σε ΝΠΑ
3.3) Γλώσσα ww: Διάκριση Κανονικών Γλωσσών και Γλωσσών Χωρίς Συμφραζόμενα
4.1) Γραμματικές Χωρίς Συμφραζόμενα
4.2) Αναλογία (Λήμμα Αντλήσης, Γραμματική Χωρίς Συμφραζόμενα, Μη Ντετερμινιστικό Αυτόματο Στοίβας, Ντετερμινιστικό Αυτόματο Στοιβας)
5.1) Μηχανή Turing για αναλογία.
1) Απαριθμησιμότητα
1.1) Σκεπτικό: Η Μηχανή Turing ως απαριθμητής
1.2) Λεξικογραφικά Turing Απαριθμήσιμες Γλώσσες
1.3) Θεώρημα: Αποφασίσιμες=Λεξικογραφικά Απαριθμήσιμες
1.4) Turing-Απαριθμήσιμες Γλώσσες
1.5) Θεώρημα: Αποδεκτές=Απαριθμήσιμες
2) Διαγωνοποίηση
2.1) Τα δύο άπειρα
2.2) Απόδειξη ότι ένα σύνολο είναι μετρήσιμα άπειρο
2.3) Απόδειξη ότι ένα σύνολο δεν είναι μετρήσιμα άπειρο
Ασκήσεις
ΓΛΩΣΣΑ 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
3. Α. Σκοπός του Μαθήµατος
Οι στόχοι του µαθήµατος είναι:
Επίπεδο Α
Κατασκευή Κανονικών Εκφράσεων
Ορισµός Κανονικής Έκφρασης και Κανονικής Γλώσσας
Ορισµός Πράξεων Γλωσσών
3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
Ορισµός Πράξεων Γλωσσών
Επίπεδο Β
Τυπικός Ορισµός Κανονικής Γλώσσας
Επίπεδο Γ
(-)
4. B. Θεωρία
1.Εισαγωγικοί Ορισµοί
1.Αλφάβητο
4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
Ορισµός:
Αλφάβητο είναι οποιοδήποτε πεπερασµένο σύνολο συµβόλων. Συµβολίζεται µε Σ
Παραδείγµατα:
• Σ={0,1} το δυαδικό αλφάβητο
• Σ={a,b}
• Σ={A,B,Γ,…,Ω} το αλφαβητο των ελληνικών κεφαλαίων γραµµάτων
Ορισµός:
Έστω Σ ένα αλφάβητο. Το σύνολο όλων των συµβολοσειρών που µπορούµε να
παράγουµε από σύµβολα του Σ, συµβολίζεται µε Σ*.
Το σύνολο Σ* καλείται αστέρι Kleene του Σ και συµβολίζει την διάταξη 0 ή
περισσότερων συµβόλων του Σ
Παράδειγµα
Έστω Σ={0,1} το δυαδικό αλφάβητο
Τότε Σ*={ε,0,1,00,01,10,11,000,001,010,011,100,101,110,111,…}
Ορισµός: Το ε είναι η συµβολοσειρά µήκους 0 και καλείται κενή συµβολοσειρά
5. B. Θεωρία
1.Εισαγωγικοί Ορισµοί
2.Γλώσσα
5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
Ορισµός:
Γλώσσα ενός αλφαβήτου Σ είναι οποιοδήποτε υποσύνολο του Σ*. Συνήθως
συµβολίζεται µε L.
Παραδείγµατα γλωσσών του Σ={0,1}:
• L1={ w | w αρχίζει µε 00}
Μπορούµε να κατασκευάσουµε άπειρες γλώσσες ενός αλφαβήτου.
1
• L2={ w | w περιέχει το 11}
• L3={ w | w τελειώνει µε 01}
• L4={ w | w έχει µήκος τουλάχιστον 2}
• L5={ w | w έχει άρτιο πλήθος 1}
• L6={ w | Η w είναι παλινδροµική}
• L7={ w | Ο δυαδικός αριθµός που αντιστοιχεί στην w είναι πρώτος αριθµός}
• ….
7. B. Θεωρία
2.Κανονικές Εκφράσεις
1. Συντακτικό Κανονικών Εκφράσεων
7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
Μια κανονική έκφραση είναι ένας εύκολος τρόπος περιγραφής των
συµβολοσειρών που ανήκουν σε µία κανονική γλώσσα.
Οι κανονικές γλώσσες είναι οι απλούστερες γλώσσες που µπορούν να
κατασκευασθούν.
Παράδειγµα: Ποια η κανονική έκφραση της γλώσσας L={w∈{0,1}*|w αρχίζει µε 1};
Η κανονική έκφραση είναι 1(0+1)*Η κανονική έκφραση είναι 1(0+1)*
Η κανονική έκφραση είναι µια συµβολοσειρά που διαβάζεται από
αριστερά προς τα δεξιά.
Ο πρώτος 1 σηµαίνει ότι ξεκινά µε 1.
Ο όρος (0+1)* διαβάζεται 0 ή 1 (λόγω του 0+1) επαναλαµβάνεται 0 ή
περισσότερες φορές.
Αν εφαρµόσουµε το αστέρι Kleene διαδοχικά 0,1,2,… φορές παίρνουµε:
1
1(0+1)=10 ή 11
1(0+1)(0+1)=100 ή 101 ή 110 ή 111
….
8. B. Θεωρία
2.Κανονικές Εκφράσεις
1. Συντακτικό Κανονικών Εκφράσεων
8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
Πρακτικά:
Μια κανονική έκφραση κατασκευάζεται µε τα εξής στοιχεία:
1. Τα σύµβολα του αλφαβήτου
2. Το + που διαβάζεται «ή διαζευκτικό»
3. Το * που είναι το αστέρι Kleene. ∆ιαβάζεται «0 ή περισσότερες φορές».
4. Παρενθέσεις που υποδεικνύουν την προτεραιότητα των πράξεων
Π.χ. η κανονική έκφραση 11*+(00)* ορίζει την γλώσσα που περιέχει
συµβολοσειρές που:
• Ή έχουν τουλάχιστον έναν άσσο (και κανένα µηδενικό)
• Ή συµβολοσειρές που έχουν άρτια µηδενικά (και κανέναν άσσο)
4. Παρενθέσεις που υποδεικνύουν την προτεραιότητα των πράξεων
5. Υπονοείται και η πράξη της παράθεσης που είναι όταν έχουµε δύο διαδοχικές παραστάσεις και
σηµαίνει ότι παραθέτουµε (βάζουµε διαδοχικά) την πρώτη και την δεύτερη παράσταση.
Η προτεραιότητα των συµβόλων είναι πρώτα το αστέρι Kleene, έπειτα η παράθεση και έπειτα το +,
εφόσον αυτή δεν καθορίζεται µε παρενθέσεις.
9. B. Θεωρία
2.Κανονικές Εκφράσεις
2. Παραδείγµατα Κανονικών Εκφράσεων
ΑΣΚΗΣΗ: Κατασκευάστε Κανονικές Εκφράσεις για τις Γλώσσες του {0,1}:
9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
L1={ w | w τελειώνει µε 1 }
L2={ w | w αρχίζει µε 00 }
L3={ w | w περιέχει το 01 }
L4={ w | w έχει µήκος 2 }
L5={ w | w έχει µήκος τουλάχιστον 2 }
L6={ w | w έχει µήκος το πολύ 2 }
L7={ w | w έχει άρτιο µήκος }
L8={ w | w έχει περιττό µήκος }
L9={ w | w έχει άρτιο µήκος ή αρχίζει µε 00}
L10={ w | w δεν αρχίζει µε 01}
L11={ w | w δεν περιέχει το 01}
L12={ w | w περιέχει άρτια 0}
10. B. Θεωρία
2.Κανονικές Εκφράσεις
3. Τυπικός Ορισµός Κανονικής Έκφρασης
Κάθε κανονική έκφραση αντιστοιχεί σε µία γλώσσα. Η κατασκευή της
γλώσσας που αντιστοιχεί στην έκφραση µπορεί να γίνει µε τον τυπικό ορισµό:
10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
*
rL
11. B. Θεωρία
2.Κανονικές Εκφράσεις
4. Ορισµός Κανονικής Γλώσσας
Συνεπώς όλες οι γλώσσες της προηγούµενης άσκησης είναι κανονικές.
Υπάρχουν και άλλοι τύποι γλωσσών που θα δούµε σε επόµενες ενότητες:
Γλώσσες Ανεξάρτητες συµφραζοµένων
11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
Ορισµός:
Μία γλώσσα θα λέγεται κανονική γλώσσα αν και µόνο αν
Υπάρχει κανονική έκφραση που την περιγράφει.
Γλώσσες Ανεξάρτητες συµφραζοµένων
Αποφασίσιµες Γλώσσες
Αποδεκτές Γλώσσες
Κάθε οικογένεια γλωσσών σχετίζεται µε το πόσο δύσκολο είναι να
υπολογιστούν τα µέλη της. Έτσι κάθε µία συµβολίζει και ένα επίπεδο
δυσκολίας του υπολογισµού.
Οι καν. γλώσσες υπολογίζονται από Πεπερασµένο Αυτόµατο (Ενοτ.3)
Οι γλώσσες χωρίς συµφραζόµενα από Αυτόµατο Στοίβας (Ενότητα 4)
Οι αποφασίσιµες γλώσσες από Μηχανή Turing (Ενότητα 5)
Οι αποδεκτές γλώσσες ∆ΕΝ υπολογίζονται (Ενότητα 5)
12. B. Θεωρία
2.Κανονικές Εκφράσεις
4. Ορισµός Κανονικής Γλώσσας
ΑΣΚΗΣΗ: Ορίστε µε περιγραφικό τρόπο τις γλώσσες των κανονικών
εκφράσεων:
12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
1. (0+1)*11(0+1)*
2. 0(0+1)*10
3. 00(0+1)*11(0+1)*11
4. 0(0+1)*0 + 1(0+1)*1
5. 1(0+1)*0 + 0(0+1)*1
6. 0*(10*10*)*
7. 0(0+1)*+(0+1)*1
8. 1(00+01+10+11)*
9. (0+10*1)*
10. 0*(10*10*10*)*
13. B. Θεωρία
2.Κανονικές Εκφράσεις
5. Κάθε Πεπερασµένη Γλώσσα είναι Κανονική
φ
13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
Θεώρηµα:
Κάθε πεπερασµένη γλωσσα είναι κανονική
Απόδειξη: Πράγµατι περιγράφεται από την κανονική έκφραση που µε + θα ενώνει
όλες τις συµβολοσειρές της γλώσσας
Παράδειγµα:
Έστω L={ε,0,1,00,01,10,11}
Η L είναι κανονική γιατί περιγράφεται από την κανονική έκφραση:
ε+0+1+00+01+10+11
15. Γ. Ασκήσεις
Εφαρµογή 1
Κατασκευάστε κανονικές εκφράσεις για τις γλώσσες:
L1={w∈{0,1}*| η w ξεκινά µε το 00 και τελειώνει µε 10}
L2={w∈{0,1}*| η w ξεκινά µε το 11, περιέχει το 00 και τελειώνει µε 10}
L ={w∈{a,b}*| η w περιέχει το aabb}
15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
L3={w∈{a,b}*| η w περιέχει το aabb}
L4={w∈{a,b}*| η w περιέχει τρία συνεχόµενα a}
L5={w∈{a,b}*| η w περιέχει άρτια a ή περιττά b}
16. Γ. Ασκήσεις
Εφαρµογή 2
Κατασκευάστε κανονικές εκφράσεις για τις γλώσσες:
L1={w∈{0,1}*| η w ξεκινά µε 01}
L2={w∈{0,1}*| η w περιέχει το 01}
L ={w∈{0,1}*| η w τελειώνει µε 01}
16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
L3={w∈{0,1}*| η w τελειώνει µε 01}
L4={w∈{0,1}*| η w δεν ξεκινά µε 01}
L5={w∈{0,1}*| η w δεν περιέχει το 01}
L6={w∈{0,1}*| η w δεν τελειώνει µε 01}
17. Γ. Ασκήσεις
Εφαρµογή 3
∆ώστε τις γλώσσες µε αλφάβητο {0,1} που αντιστοιχούν στις παρακάτω κανονικές
εκφράσεις:
1. L = 0*1(0*10*1)*0*
2. L = 1* + 1*01* + 1*01*01*
17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
2. L = 1* + 1*01* + 1*01*01*
3. L = (0 + 1)* 11 + (0 + 1)* 10 + (0 + 1)* 01 + 0 + 1 + ε
4. L = 1(0 + 1)* + 0(0 + 1)*
5. L = 1*(01*01*01*)*
18. Γ. Ασκήσεις
Εφαρµογή 4
1. ∆ώστε κανονική έκφραση για τη γλώσσα µε όλες τις λέξεις του Σ= {a,b} που δεν
τελειώνουν σε ab ή ba.
2. Περιγράψτε µε λόγια την γλώσσα µε κανονική έκφραση b*a(b*ab*a)*b*.
3. Είναι κανονική στο Σ= {a,b} γλώσσα η L={aibi |0 ≤i≤3}
18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.1: Κανονικές Εκφράσεις
3. Είναι κανονική στο Σ= {a,b} γλώσσα η L={ab |0 ≤i≤3}
4. Είναι κανονική στο Σ= {0,1} η γλώσσα L’ = {(00111)n | n ≥0} όπου n οποιοσδήποτε
φυσικός αριθµός;
5. Είναι κανονική γλώσσα στο Σ= {a,b} η Ν={(a+b)i |i>2}