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) Σχήμα Απόδειξης Αναγωγής
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.1.1) Ο αλγόριθμος του Dijkstra
1.2) Ελάχιστο Συνδετικό Δένδρο
1.2.1) Ο αλγόριθμος του Prim
1.2.2) Ο αλγόριθμος του Kruskal
1.3) Ελαχιστοποίηση Νομισμάτων με Ρέστα
Εφαρμογές
1) Επιστροφή χρηματικού ποσού για ρέστα
2) Άπληστος Αλγόριθμος για Χρωματισμό Γραφήματος
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) Σχήμα Απόδειξης Αναγωγής
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) Αναγωγές της Προτασιακής Λογικής
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-πλήρες
1.1) Ιεραρχία Συναρτήσεων
1.2) Αναδρομικές Σχέσεις (Θεώρημα Κυριαρχίας, Μέθοδος Επανάληψης)
2) Άπληστος Αλγόριθμος (Αντιπαράδειγμα ε μη ορθό αλγόριθμο υπολογισμού συντομότερου μονοπατιού)
3.1) 0*1*11*: ΚΕ σε ΜΠΑε σε ΜΠΑ σε ΝΠΑ και Κανονική Γραμματική
3.2) Διακριση Κανονικών και μη Κανονικών Γλωσσών
4) Διάκριση Γλωσσών Χωρίς Συμφραζόμενα και Γλωσσών Όχι Χωρίς Συμφραζόμενα (Γραμματική Χωρίς Συμφραζόμενα, Αυτόματο Στοίβας) και (Λήμμα Άντλησης για Γλώσσες Χωρίς Συμφραζόμενα.
5.1) Μηχανή Turing για συμπλήρωμα ισότητας
5.2) Αναγωγές μη Επιλυσιμότητας
6) NP-πληρότητα (το πρόβλημα της κομβικής επικάλυψης και το πρόβλημα του ανεξαρτήτου συνόλου)
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.1.1) Ο αλγόριθμος του Dijkstra
1.2) Ελάχιστο Συνδετικό Δένδρο
1.2.1) Ο αλγόριθμος του Prim
1.2.2) Ο αλγόριθμος του Kruskal
1.3) Ελαχιστοποίηση Νομισμάτων με Ρέστα
Εφαρμογές
1) Επιστροφή χρηματικού ποσού για ρέστα
2) Άπληστος Αλγόριθμος για Χρωματισμό Γραφήματος
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) Σχήμα Απόδειξης Αναγωγής
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) Αναγωγές της Προτασιακής Λογικής
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-πλήρες
1.1) Ιεραρχία Συναρτήσεων
1.2) Αναδρομικές Σχέσεις (Θεώρημα Κυριαρχίας, Μέθοδος Επανάληψης)
2) Άπληστος Αλγόριθμος (Αντιπαράδειγμα ε μη ορθό αλγόριθμο υπολογισμού συντομότερου μονοπατιού)
3.1) 0*1*11*: ΚΕ σε ΜΠΑε σε ΜΠΑ σε ΝΠΑ και Κανονική Γραμματική
3.2) Διακριση Κανονικών και μη Κανονικών Γλωσσών
4) Διάκριση Γλωσσών Χωρίς Συμφραζόμενα και Γλωσσών Όχι Χωρίς Συμφραζόμενα (Γραμματική Χωρίς Συμφραζόμενα, Αυτόματο Στοίβας) και (Λήμμα Άντλησης για Γλώσσες Χωρίς Συμφραζόμενα.
5.1) Μηχανή Turing για συμπλήρωμα ισότητας
5.2) Αναγωγές μη Επιλυσιμότητας
6) NP-πληρότητα (το πρόβλημα της κομβικής επικάλυψης και το πρόβλημα του ανεξαρτήτου συνόλου)
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) Σκεπτικό: Η Μηχανή Turing ως απαριθμητής
1.2) Λεξικογραφικά Turing Απαριθμήσιμες Γλώσσες
1.3) Θεώρημα: Αποφασίσιμες=Λεξικογραφικά Απαριθμήσιμες
1.4) Turing-Απαριθμήσιμες Γλώσσες
1.5) Θεώρημα: Αποδεκτές=Απαριθμήσιμες
2) Διαγωνοποίηση
2.1) Τα δύο άπειρα
2.2) Απόδειξη ότι ένα σύνολο είναι μετρήσιμα άπειρο
2.3) Απόδειξη ότι ένα σύνολο δεν είναι μετρήσιμα άπειρο
Ασκήσεις
1) Σύνολο Τύπων
1.1) Ικανοποιήσιμο Σύνολο Τύπων
1.2) Μη Ικανοποιήσιμο Σύνολο Τύπων
2) Ταυτολογική Συνεπαγωγή
2.1) Συμβολισμός της ταυτολογίας
3) Ταυτολογικά Ισοδύναμοι Τύποι
Ασκήσεις
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) Εισαγωγή
2) Υπενθυμίσεις από ΜΑΘ0.1
2.1) Δυναμοσύνολο
2.2) Σχέση Υποσυνόλου
2.3) Σχέση Γνησίου Υποσυνόλου
3) Ασκήσεις
3.1) Στοιχειώδεις προτάσεις με ποσοδείκτες
3.2) Μετάφραση στα ελληνικά
3.3) Περαιτέρω ασκήσεις
Ασκήσεις
1) Ισοδυναμία Γραμματικής Χ.Σ. με Αυτόματο Στοίβας
1.1) Μετατροπή Γραμματικής Χ.Σ. σε Αυτόματο Στοίβας
1.2) Μετατροπή Αυτομάτου Στοίβας σε Γραμματική Χ.Σ.
2) Κλειστότητα στις Γλώσσες Χωρίς Συμφραζόμενα
2.1) Κλειστότητα στην Ένωση
2.2) Κλειστότητα στην Παράθεση
2.3) Κλειστότητα στο Αστέρι Kleene
2.4) ΌΧΙ κλειστότητα στο συμπλήρωμα
2.5) ΌΧΙ κλειστότητα στην τομή
Ασκήσεις
1) Νόμοι Προτασιακής Λογικής
1.1) Εύρεση Ταυτολογικά ισοδύναμου τύπου με δεδομένους συνδέσμους.
2) Επαγωγή στην Πολυπλοκότητα των Τύπων
2.1) Επαγωγή στην Πολυπλοκότητα των Τύπων
2.2) Επαγωγή στην Πολυπλοκότητα vs Επαγωγή στους Φυσικούς
2.3) Πλήρη Σύνολα Συνδέσμων
Ασκήσεις
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) Ορισμός Γλώσσας Ανεξάρτητης Συμφραζομένων
1.2) Ιδέα Πίσω από το Μη Ντετερνιστικό Αυτόματο Στοίβας
1.3) Παράδειγμα για την L={0^n 1^n | n≥0}
2) Μαθηματικός Ορισμός Μη Ντετερμισνιστικού Αυτομάτου Στοίβας
2.1) Ορισμός
2.2) Παράδειγμα
Ασκήσεις
This document discusses the relationships between three concepts: ABC=;?: B?A, ABC=;?: 9D9;E, and 316/-/:,0;. It states that ABC=;?: B?A is related to ABC=;?: 9D9;E, and provides examples to illustrate their connection. It also explains how 316/-/:,0; is different from the other two concepts.
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) Σκεπτικό: Η Μηχανή Turing ως απαριθμητής
1.2) Λεξικογραφικά Turing Απαριθμήσιμες Γλώσσες
1.3) Θεώρημα: Αποφασίσιμες=Λεξικογραφικά Απαριθμήσιμες
1.4) Turing-Απαριθμήσιμες Γλώσσες
1.5) Θεώρημα: Αποδεκτές=Απαριθμήσιμες
2) Διαγωνοποίηση
2.1) Τα δύο άπειρα
2.2) Απόδειξη ότι ένα σύνολο είναι μετρήσιμα άπειρο
2.3) Απόδειξη ότι ένα σύνολο δεν είναι μετρήσιμα άπειρο
Ασκήσεις
1) Σύνολο Τύπων
1.1) Ικανοποιήσιμο Σύνολο Τύπων
1.2) Μη Ικανοποιήσιμο Σύνολο Τύπων
2) Ταυτολογική Συνεπαγωγή
2.1) Συμβολισμός της ταυτολογίας
3) Ταυτολογικά Ισοδύναμοι Τύποι
Ασκήσεις
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) Εισαγωγή
2) Υπενθυμίσεις από ΜΑΘ0.1
2.1) Δυναμοσύνολο
2.2) Σχέση Υποσυνόλου
2.3) Σχέση Γνησίου Υποσυνόλου
3) Ασκήσεις
3.1) Στοιχειώδεις προτάσεις με ποσοδείκτες
3.2) Μετάφραση στα ελληνικά
3.3) Περαιτέρω ασκήσεις
Ασκήσεις
1) Ισοδυναμία Γραμματικής Χ.Σ. με Αυτόματο Στοίβας
1.1) Μετατροπή Γραμματικής Χ.Σ. σε Αυτόματο Στοίβας
1.2) Μετατροπή Αυτομάτου Στοίβας σε Γραμματική Χ.Σ.
2) Κλειστότητα στις Γλώσσες Χωρίς Συμφραζόμενα
2.1) Κλειστότητα στην Ένωση
2.2) Κλειστότητα στην Παράθεση
2.3) Κλειστότητα στο Αστέρι Kleene
2.4) ΌΧΙ κλειστότητα στο συμπλήρωμα
2.5) ΌΧΙ κλειστότητα στην τομή
Ασκήσεις
1) Νόμοι Προτασιακής Λογικής
1.1) Εύρεση Ταυτολογικά ισοδύναμου τύπου με δεδομένους συνδέσμους.
2) Επαγωγή στην Πολυπλοκότητα των Τύπων
2.1) Επαγωγή στην Πολυπλοκότητα των Τύπων
2.2) Επαγωγή στην Πολυπλοκότητα vs Επαγωγή στους Φυσικούς
2.3) Πλήρη Σύνολα Συνδέσμων
Ασκήσεις
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) Ορισμός Γλώσσας Ανεξάρτητης Συμφραζομένων
1.2) Ιδέα Πίσω από το Μη Ντετερνιστικό Αυτόματο Στοίβας
1.3) Παράδειγμα για την L={0^n 1^n | n≥0}
2) Μαθηματικός Ορισμός Μη Ντετερμισνιστικού Αυτομάτου Στοίβας
2.1) Ορισμός
2.2) Παράδειγμα
Ασκήσεις
This document discusses the relationships between three concepts: ABC=;?: B?A, ABC=;?: 9D9;E, and 316/-/:,0;. It states that ABC=;?: B?A is related to ABC=;?: 9D9;E, and provides examples to illustrate their connection. It also explains how 316/-/:,0; is different from the other two concepts.
El documento describe un resumen de tres oraciones de un documento sobre la gestión de proyectos. La primera oración explica que el documento proporciona un resumen de un proyecto de gestión. La segunda oración resume que el proyecto involucraba la planificación, ejecución y control de varias tareas. La tercera oración resume que el proyecto se completó según lo programado y dentro del presupuesto.
Πανελλήνιος Διαγωνισμός Φυσικής Γ΄ Λυκείου 2014 / Β΄ Φάση / Θέματα και ΛύσειςHOME
Πανελλήνιος Διαγωνισμός Φυσικής Γ΄ Λυκείου 2014 / Β΄ Φάση / Θέματα και Λύσεις
όπως έχουν δημοσιευθεί στον ιστότοπο "micro-kosmos"
Λάμπρος Αδάμ
www.lam-lab.com
adamlscp@gmail.com
Α.Θεωρία
1) Ενοποίηση και Κανόνες Συλλογισμού
1.1) Ενοποίηση
1.2) Κανόνες Συλλογισμού
1.3) Παραδείγματα Αναγωγών
2) Αναγωγή μέσω αντίκρουσης της αντίφασης
2.1) Ορισμός
2.2) Παράδειγμα
2.3) Αλγόριθμος Αναγωγής μέσω Αντικρουσης της Αντίφασης
2.4) Ευρετικά για την εύρεση της απόδειξης
2.5) Εξαγωγή Απαντήσεων
3) Επεκτάσεις
3.1) Εξαγωγή Απαντήσεων
3.2) Συμπερασμός
3.3) Διορθώσεις σε Αντιφατική Βάση Γνώσης
Β.Ασκήσεις
Πανελλήνιος Διαγωνισμός Φυσικής B΄ Λυκείου 2015/ Θέματα και ΛύσειςHOME
Πανελλήνιος Διαγωνισμός Φυσικής B΄ Λυκείου 2015/ Θέματα και Λύσεις
όπως έχουν δημοσιευθεί στον ιστότοπο "micro-kosmos"
Λάμπρος Αδάμ
www.lam-lab.com
adamlscp@gmail.com
Πανελλήνιος Διαγωνισμός Φυσικής B΄ Λυκείου 2014/ Θέματα και ΛύσειςHOME
Πανελλήνιος Διαγωνισμός Φυσικής B΄ Λυκείου 2014/ Θέματα και Λύσεις
όπως έχουν δημοσιευθεί στον ιστότοπο "micro-kosmos"
Λάμπρος Αδάμ
www.lam-lab.com
adamlscp@gmail.com
ΓΛΩΣΣΑ 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. Το πρόβληµα PARTITION είναι NP-πλήρες
3. Το πρόβληµα KNAPSACK είναι NP-πλήρες
1. KNAPSACK ανήκει στο NP
2. PARTITION ανάγεται στο KNAPSACK
4. Το πρόβληµα 3PM είναι NP-πλήρες
5. Το πρόβληµα x3C είναι NP-πλήρες
1. X3C ανήκει στο NP
2. 3PM ανάγεται στο X3C
6. Το πρόβληµα EXACT-COVER είναι NP-πλήρες
7. Το πρόβληµα SET-COVER είναι NP-πλήρες
1. SET-COVER ανήκει στο NP
2. EXACT-COVER ανάγεται στο SET-COVER
2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
3. Α. Σκοπός του Μαθήµατος
Οι στόχοι του µαθήµατος είναι:
Επίπεδο Α
(-)
Επίπεδο Β
(-)
Επίπεδο Γ
Το KNAPSACK είναι NP-πλήρες
Το X3C είναι NP-πλήρες
Το SET-COVER είναι NP-πλήρες
3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
4. B. Θεωρία
1. Εισαγωγή
1. Σχήµα Απόδειξης Αναγωγής
4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
Για να αποδείξουµε ότι ένα πρόβληµα Π είναι NP-πλήρες, ακολουθούµε την εξής
διαδικασία:
1. Αποδεικνύουµε ότι Π ∈
• Είτε δίνοντας µη ντετερµινιστική µηχανή Turing-µάντη που «µαντεύει» την λύση και έπειτα
επαληθεύει ότι είναι όντως λύση του προβλήµατος.
• Είτε δίνοντας ντετερµινιστική µηχανή Turing-επαληθευτή που δεδοµένης µιας λύσης
(πιστοποιητικό) επαληθεύει σε πολυωνυµικό ντετερµινιστικό χρόνο ότι είναι λύση του
προβλήµατος.
2. ∆ίνουµε µια πολυωνυµική αναγωγή από ένα γνωστό NP-πλήρες πρόβληµα Π’ στο
πρόβληµα Π (Η αναγωγή συµβολίζεται µε Π’≤Π)
• Όπου δίνουµε έναν κανόνα µετασχηµατισµού της εισόδου Ε’ του γνωστού προβλήµατος
Π’ σε είσοδο E του αγνώστου προβλήµατος Π έτσι ώστε για κάθε στιγµιότυπο:
Αποτέλεσµα του Π(Ε) ισοδύναµο µε αποτέλεσµα του Π’(Ε΄)
Και δείχνουµε ότι η κατασκευή θέλει πολυωνυµικό χρόνο
Θα χρησιµοποιούµε τον «µάντη» για να αποδεικνύουµε ότι ανήκει στο NP.
Αν αποδείξουµε µόνο το 2ο σκέλος, τότε το πρόβληµα είναι NP-δύσκολο
(NP-Hard)
5. B. Θεωρία
1. Εισαγωγή
2. Αναγωγές Θεωρίας Συνόλων και της Θεωρίας Αριθµών
5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
Στο σηµερινό µάθηµα βλέπουµε προβλήµατα που προέρχονται από την θεωρία
συνόλων και την θεωρία αριθµών
Οι αναγωγές που θα δούµε παρουσιάζονται στο παρακάτω δένδρο αναγωγών:
3SAT
1in3SAT
X3C
PARTITION
EXACT
COVER SET COVER
3PM
KNAPSACK
6. B. Θεωρία
1. To PARTITION είναι NP-πλήρες
6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
Η διατύπωση του προβλήµατος PARTITION έχει ως ακολούθως:
Στιγµιότυπα:
• (Η απόδειξη παραλείπεται – αναγωγή από το 1in3SAT – βλέπε βιβλιο ΕΑΠ)
.
Το πρόβληµα PARTITION:
• Είσοδος: Σύνολο n αριθµών Α={α1,α2,],αn}
• Ερώτηµα: Μπορούµε να χωρίσουµε σε δύο σύνολα τους αριθµούς, ώστε τα δύο
επιµέρους αθροίσµατα να είναι ίσα;
Στιγµιότυπο 1: Α={1,2,2,3,7,8,9}.
• Απάντηση: ΝΑΙ µε τον διαχωρισµό Α1={2,2,3,9} και Α2={1,7,8}
Στιγµιότυπο 2: Α={1,3,5,8}.
• Απάντηση: ΟΧΙ
7. B. Θεωρία
2. To KNAPSACK είναι NP-πλήρες
7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
Η διατύπωση του προβλήµατος KNAPSACK έχει ως ακολούθως:
Για να το αποδείξουµε:
1. ∆είχνουµε ότι ανήκει στο NP
2. Ανάγουµε το πρόβληµα PARTITION ανάγεται στο πρόβληµα
KNAPSACK σε πολ/κο χρόνο
Το πρόβληµα KNAPSACK:
• Είσοδος: Σύνολο από n αντικείµενα A={α1,α2,],αn} όπου το αντικείµενο αi έχει βάρος
wi και αξία vi. Σακίδιο µε βάρος W, επιθυµητή αξία V.
• Ερώτηµα: Υπάρχει υποσύνολο Α’ των αντικειµένων έτσι ώστε το άθροισµα των
βαρών των αντικειµένων να έχει βάρος το πολύ W και αξία τουλάχιστον V.
• Πιο τυπικά αναζητούµε Α΄ ⊆ Α έτσι ώστε
• ∑ ∈
• ∑ ∈
8. B. Θεωρία
2. To KNAPSACK είναι NP-πλήρες
1. To KNAPSACK ανήκει στο NP
8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
1. ∆είχνουµε ότι το KNAPSACK ανήκει στο NP
∆εδοµένου ενός συνόλου n αντικειµένων A, και των ακεραίων W,V:
• Σε µη ντετερµινιστικό χρόνο O(n) µαντεύουµε το υποσύνολο Α’ των αντικειµένων
και έπειτα
• Επαληθεύουµε ότι το άθροισµα των βαρών των αντικειµένων είναι το πολύ W σε χρόνο O(n),
το άθροισµα των αξιών είναι τουλάχιστον V σε χρόνο Ο(n).
Ο συνολικός χρόνος είναι πολυωνυµικός. Συνεπώς το πρόβληµα KNAPSACK ανήκει στο NP
9. B. Θεωρία
2. To KNAPSACK είναι NP-πλήρες
2. To PARTITION ανάγεται στο KNAPSACK σε πολ/κό χρόνο
9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
2.A) Το PARTITION ανάγεται στο KNAPSACK
∆ίνουµε αναγωγή από το PARTITION στο KNAPSACK δηλαδή δεδοµένου ενός συνόλου αριθµών
Α={α1,α2,],αn} του PARTITION κατασκευάζουµε σύνολο Α’, και επιλέγουµε ακεραίους W,V έτσι
ώστε:
Υπάρχει διαχωρισµός του Α σε δύο υποσύνολα µε ίσο άθροισµα ⟺ Υπάρχει υποσύνολο
του Α’ που το άθροισµα των βαρών είναι ≤ W και το άθροισµα των αξιών είναι ≥ V.
Η αναγωγή είναι η εξής:
• Θέτουµε Α’=Α και επιλέγουµε την αξία και το βάρος να είναι ίση µε την τιµή του αριθµού στο
αρχικό σύνολο.
• Επιλέγουµε τα W,V να είναι ίσα µε το µισό του αθροίσµατος των αριθµών.
10. B. Θεωρία
2. To KNAPSACK είναι NP-πλήρες
2. To PARTITION ανάγεται στο KNAPSACK σε πολυωνυµικό χρόνο
10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
• Ευθύ:
• Έστω ότι το Α διαµοιράζεται σε δύο σύνολα Α1, Α2 έτσι ώστε τα αθροίσµατα να είναι ίσα
µε το µισό του αθροίσµατος όλων των αριθµών του Α:
∈ ∈
1
2
∈
• Τότε επιλέγουµε οποιοδήποτε από τα σύνολα Α1, Α2 (π.χ. το Α1)
• Ισχύει ότι ∑ ∈ ∑ ∈ (άρα είναι το πολύ W)
• Ισχύει ότι ∑ ∈ ∑ ∈ (άρα είναι τουλάχιστον V)
• Αντίστροφο:
• Έστω ότι υπάρχει υποσύνολο Β του Α έτσι ώστε:
• ∑ ∈ ∑ ∈
• ∑ ∈ ∑ ∈
• Αφού όµως έχω:
• ∑ ∈ ∑ ∈
• ∑ ∈ ∑ ∈
• Συνεπώς ∑ ∈ ∑ ∈ , άρα υπάρχει διαµέριση µε το ένα σύνολο να είναι το Β και το
άλλο θα έχει τα στοιχεία του Α-Β.
11. B. Θεωρία
2. To KNAPSACK είναι NP-πλήρες
2. To PARTITION ανάγεται στο KNAPSACK σε πολυωνυµικό χρόνο
11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
2.Β) ∆είχνουµε ότι η αναγωγή είναι πολυωνυµικού χρόνου
Προφανώς ο χρόνος της αναγωγής είναι πολυωνυµικός.
( Τυπικά υπολογίζουµε το άθροισµα των στοιχείων του Α σε χρόνο O(n) και θέτουµε W και V ίσο µε
το ηµιάθροισµα των στοιχείων σε Ο(1) )
12. B. Θεωρία
3. To 3PM είναι NP-πλήρες
12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
Η διατύπωση του προβλήµατος TRIPARTITE-MATCHING(3PM) είναι:
Στιγµιότυπα:
• (Η απόδειξη παραλείπεται – αναγωγή από το 3SAT – βλέπε βιβλιο ΕΑΠ)
Το πρόβληµα 3PM:
• Είσοδος: Τρία Σύνολα , ", # µε n αντικείµενα το καθένα. Μια τριµελής σχέση
$ ⊆ % " % #
• Ερώτηµα: Μπορούν να επιλεχθούν ακριβώς n τριάδες ώστε να καλύπτονται όλα τα
στοιχεία των συνόλων;
Στιγµιότυπο 1: Α=(a1,a2), Β=(b1,b2), C=(c1,c2) και
R={(a1,b2,c1),(a2,b2,c1),(a1,b1,c2),(a2,b2,c2)}
• Απάντηση: ΝΑΙ µε την επιλογή των 2 τριάδων: (a2,b2,c1) κ’ (a1,b1,c2)
Στιγµιότυπο 2: Α=(a1,a2), Β=(b1,b2), C=(c1,c2) και
R={(a1,b1,c2),(a2,b2,c2),(a1,b2,c1),(a1,b2,c2)}
• Απάντηση: ΟΧΙ
13. B. Θεωρία
4. To X3C είναι NP-πλήρες
13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
Η διατύπωση του προβλήµατος EXACT-COVER-BY-3SETS (X3C) είναι:
Στιγµιότυπα:
Για να το αποδείξουµε:
1. ∆είχνουµε ότι ανήκει στο NP
2. Ανάγουµε το πρόβληµα 3PM ανάγεται στο πρόβληµα X3C σε
πολυωνυµικό χρόνο
Το πρόβληµα EXACT-COVER-BY-3SETS (X3C):
• Είσοδος: Σύµπαν & ' , , … , )*+, οικογένεια m υποσυνόλων του U:
F '- , - , … , -.+, κάθε υποσύνολο µε πληθικό αριθµό - 3 και - ⊆ U
• Ερώτηµα: Υπάρχει F′ ⊆ F µε F n έτσι ώστε: ⋃ -4 ∈5 &
Στιγµιότυπο 1: U={1,2,3,4,5,6}, F={{2,3,5},{1,2,4},{3,5,6},{1,5,6}}.
• Απάντηση: ΝΑΙ µε την επιλογή F’={{1,2,4},{3,5,6}}
Στιγµιότυπο 2: U={1,2,3,4,5,6}, F={{1,3,5},{1,2,4},{1,2,6},{1,5,6}}.
• Απάντηση: ΟΧΙ
14. B. Θεωρία
4. To Χ3C είναι NP-πλήρες
1. To X3C ανήκει στο NP
14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
1. ∆είχνουµε ότι το X3C ανήκει στο NP
∆εδοµένου ενός συνόλου n αντικειµένων U, και µιας οικογένειας m υποσυνόλων F:
• Σε µη ντετερµινιστικό χρόνο O(n) µαντεύουµε το υποσύνολο F’ της οικογένειας F
και έπειτα
• Επαληθεύουµε ότι τα σύνολα καλύπτουν όλα τα στοιχεία του U (π.χ. σαρώνοντας τα στοιχεία
του F’ και µαρκάροντας σε έναν πίνακα 3n θέσεων) σε χρόνο O(n)
Ο συνολικός χρόνος είναι πολυωνυµικός. Συνεπώς το πρόβληµα X3C ανήκει στο NP
15. B. Θεωρία
4. To X3C είναι NP-πλήρες
2. To 3PM ανάγεται στο X3C σε πολ/κό χρόνο
15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
2.A) Το 3PM ανάγεται στο X3C
∆ίνουµε αναγωγή από το 3PM στο X3C δηλαδή δεδοµένων τριών συνόλων Α={α1,α2,],αn},
Β={b1,b2,],bn}, C={c1,c2,],cn} και µίας σχέσης $ ⊆ % " % # του 3PM κατασκευάζουµε συµπαν
U και οικογένεια υποσυνόλων F '- , - , … , -.+, (µε κάθε υποσύνολο - 3 και - ⊆ U )
Υπάρχει 6′ ⊆ 6 µε 6 7 που καλύπτει όλα τα στοιχεία των A,B,C ⟺
Υπάρχει 8′ ⊆ 8 µε 9 : που να καλύπτει όλα τα στοιχεία του U
Η αναγωγή είναι η εξής:
• Θέτουµε & ∪ " ∪ C άρα & 3=
• Θέτουµε F R
16. B. Θεωρία
4. To Χ3C είναι NP-πλήρες
2. To 3PM ανάγεται στο X3C σε πολυωνυµικό χρόνο
16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
• Ευθύ:
• Έστω ότι υπάρχει R′ ⊆ $ µε R n που καλύπτει όλα τα στοιχεία των A,B,C
• Τότε αφού F=R επιλέγω F’=R’ το οποίο καλύπτει όλα τα στοιχεία του & ∪ " ∪ C
• Άρα το F’ καλύπτει όλα τα στοιχεία του U
• Αντίστροφο:
• Έστω ότι υπάρχει F′ ⊆ ? µε ?′ U /3 που καλύπτει όλα τα στοιχεία του U
• Αφού & ∪ " ∪ C και κάθε σύνολο ? περιέχει ακριβώς ένα στοιχείο από κάθε ένα από
τα σύνολα A,B,C επιλέγω R’=F’ που καλύπτει όλα τα στοιχεία των A,B,C
• Άρα το R’ καλύπτει είναι ένα τριµερές ταίριασµα των στοιχείων των Α,B,C.
17. B. Θεωρία
4. To Χ3C είναι NP-πλήρες
2. To 3PM ανάγεται στο X3C σε πολυωνυµικό χρόνο
17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
2.Β) ∆είχνουµε ότι η αναγωγή είναι πολυωνυµικού χρόνου
Προφανώς ο χρόνος της αναγωγής είναι πολυωνυµικός.
( Τυπικά κατασκευάζουµε το σύµπαν U σε χρόνο Ο(n) και έπειτα κατασκευάζουµε τις τριάδες απλά
µεταµορφώνοντας τις τριάδες σε σύνολα σε χρόνο O(m) )
18. B. Θεωρία
5. To EXACT-COVER είναι NP-πλήρες
18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
Η διατύπωση του προβλήµατος EXACT-COVER είναι:
Στιγµιότυπα:
Η απόδειξη αυτή είναι τετριµµένη, αφού µπορούµε να ανάγουµε το X3C σε αυτό
(αφού είναι µια ειδική περίπτωση του EXACT COVER όπου τα υποσύνολα
έχουν αυστηρά πληθικό αριθµό 3)
Το πρόβληµα EXACT-COVER:
• Είσοδος: Σύµπαν & ' , , … , *+, οικογένεια m υποσυνόλων του U:
F '- , - , … , -.+, όπου - ⊆ U
• Ερώτηµα: Υπάρχει F′ ⊆ F µε ξένα µεταξύ τους υποσύνολα έτσι ώστε: ⋃ -4 ∈5 &
Στιγµιότυπο 1: U={1,2,3,4,5,6}, F={{1,2,3,4},{4,6},{2,5},{1,3,5},{1,2,4},{1,3}}.
• Απάντηση: ΝΑΙ µε την επιλογή F’={{4,6},{2,5},{1,3}}
Στιγµιότυπο 2: U={1,2,3,4,5,6}, F={{1,3,5,6},{1,2,3,4},{1,6},{1,5,6}}.
• Απάντηση: ΟΧΙ
19. B. Θεωρία
6. To SET-COVER είναι NP-πλήρες
19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
Η διατύπωση του προβλήµατος SET-COVER είναι:
Στιγµιότυπα:
Για να το αποδείξουµε:
1. ∆είχνουµε ότι ανήκει στο NP
2. Ανάγουµε το πρόβληµα Χ3C ανάγεται στο πρόβληµα SET-COVER σε
πολυωνυµικό χρόνο
Το πρόβληµα SET-COVER:
• Είσοδος: Σύµπαν & ' , , … , *+, Οικογένεια m υποσυνόλων του U:
F '- , - , … , -.+, - ⊆ U και ακέραιος k.
• Ερώτηµα: Υπάρχει F′ ⊆ F µε F k έτσι ώστε: ⋃ -4 ∈5 &
Στιγµιότυπο 1: U={1,2,3,4,5,6}, F={{2,3,5},{1,2,4},{3,5,6},{1,5,6}}, k=3.
• Απάντηση: ΝΑΙ µε την επιλογή F’={{2,3,5},{1,2,4},{3,5,6}}
20. B. Θεωρία
6. To SET-COVER είναι NP-πλήρες
1. To SET-COVER ανήκει στο NP
20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
1. ∆είχνουµε ότι το SET-COVER ανήκει στο NP
∆εδοµένου ενός συνόλου n αντικειµένων U, και µιας οικογένειας m υποσυνόλων F και ενός
ακεραίου k:
• Σε µη ντετερµινιστικό χρόνο O(k) µαντεύουµε τα k υποσύνολα της οικογένειας F
και έπειτα
• Επαληθεύουµε ότι τα σύνολα καλύπτουν όλα τα στοιχεία του U (π.χ. σαρώνοντας τα στοιχεία
του F’ και µαρκάροντας σε έναν πίνακα n θέσεων) σε χρόνο O(n)
Ο συνολικός χρόνος είναι πολυωνυµικός. Συνεπώς το πρόβληµα SET-COVER ανήκει στο NP
21. B. Θεωρία
6. To SET-COVER είναι NP-πλήρες
2. To X3C ανάγεται στο SET-COVER σε πολ/κό χρόνο
21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 6.5: Αναγωγές σε Προβλήµατα Συνόλων και Αριθµών
2.A) Το X3C ανάγεται στο SET-COVER
∆ίνουµε αναγωγή από το X3C στο SET-COVER δηλαδή δεδοµένου ενός σύµπαντος U και
οικογένεια υποσυνόλων F '- , - , … , -.+, (µε κάθε υποσύνολο - 3 και - ⊆ U )
κατασκευάζουµε σύµπαν U2 , οικογένεια υποσυνόλων F2 και επιλέγουµε ακέραιο k έτσι ώστε
Υπάρχει 8′ ⊆ 8 µε 9 B /C που να καλύπτει όλα τα στοιχεία του U ⟺
Υπάρχει 9D ⊆ 9D µε 9D E που καλύπτει όλα τα στοιχεία του FD
Η αναγωγή είναι η εξής:
• Θέτουµε & &, ? ? και θέτουµε k=|U|/3. Προφανς µε την παραπάνω επιλογή η διατύπωση
των δύο προβληµάτω είναι όµοια.
2.Β) ∆είχνουµε ότι η αναγωγή είναι πολυωνυµικού χρόνου
Προφανώς ο χρόνος της αναγωγής είναι πολυωνυµικός (αφού απλά υπολογίζουµε την τιµή του k
και ενσωµατώνουµε την πληροφορία στην είσοδο).