1.1) Ιεραρχία Συναρτήσεων
1.2) Αναδρομικές Σχέσεις (Θεώρημα Κυριαρχίας, Μέθοδος Επανάληψης)
2) Δυναμικός Προγραμματισμός (Ψευδοκώδικας για αναδρομική σχέση δυναμικού προγραμματισμού)
3.1) 1*10*1*: ΚΕ σε ΜΠΑε σε ΜΠΑ σε ΝΠΑ σε Κανονική Γραμματική
3.2) Διάκριση Κανονικών και μη Κανονικών Γλωσσών
4.1) Ανισότητα 2 πραγμάτων: Γραμματική Χωρίς Συμφραζόμενα και Αυτόματο Στοίβας
4.2) Ανισότητα 3 πραγμάτων (όχι ΓΧΣ με 2ο λήμμα άντλησης)
5.1) Ισότητα 2 πραγμάτων (Μηχανή Turing)
5.2) Αναγωγή μη επιλυσιμότητας
6) Το At Least 7 SAT είναι NP-complete
1. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 1
ΠΛΗ30 - ∆ΙΑΓΩΝΙΣΜΑ 2
ΘΕΜΑ 1: (Μονάδες 20/20)
(Α) Να ταξινοµηθούν οι ακόλουθες συναρτήσεις κατά αύξουσα τάξη µεγέθους:
310 3
4
logloglog
3
3
2
22
1
)(
)(log)(
2)(
2log)(
2
nnnf
nnnf
nnf
nnf
nn
n
n
+=
+=
+=
+=
Ο συµβολισµός log παριστάνει λογάριθµο µε βάση το 2. . Η συνάρτηση f έχει την ίδια τάξη µεγέθους (ίδιο ρυθµό αύξησης) µε την g (f
≡ g), αν f = Θ(g) (ισοδύναµα Θ(f) = Θ(g)). Η συνάρτηση f έχει µικρότερη τάξη µεγέθους (µικρότερο ρυθµό αύξησης) από την g (f <
g), αν f = o(g).
2. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 2
(Β) Για την επίλυση ενός προβλήµατο έχουµε στη διάθεσή µας τρεις αλγόριθµους:
Ο αλγόριθµος Α για να επιλύσει ένα πρόβληµα µεγέθους n, επιλύει αναδροµικά δύο υποπροβλήµατα µεγέθους
2n/3 το καθένα και συνδυάζει τις λύσεις τους σε χρόνο n.
Ο αλγόριθµος Β για να επιλύσει ένα πρόβληµα µεγέθους n, επιλύει αναδροµικά δέκα υποπροβλήµατα µεγέθους
4n/10 το καθένα και συνδυάζει τις λύσεις τους σε χρόνο n2
.
Ο αλγόριθµος Γ για να επιλύσει ένα πρόβληµα µεγέθους n, επιλύει αναδροµικά ένα υποπρόβληµα µεγέθους n-1
το καθένα και εξάγει την τελική λύση µε 5 πράξεις.
Να βρεθούν οι ασυµπτωτικοί χρόνοι επίλυσης του προβλήµατος για κάθε αλγόριθµο και να επιλέξετε τον
ταχύτερο αλγόριθµο για την επίλυση του προβλήµατος.
Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση T(n) = aT(n/b) + f(n), όπου a≥1, b>1 είναι σταθερές, και
f(n) είναι µια ασυµπτωτικά θετική συνάρτηση. Τότε διακρίνονται οι ακόλουθες τρεις περιπτώσεις:
log log
( ) ( ), ( )b ba a
(1) αν f n O n για κάποια σταθερά ε>0, τότε T(n) = nεεεε−−−−
= Θ= Θ= Θ= Θ
log log
( ) ( ), ( log )b ba a
(2) αν f n n τότε T(n) = n n= Θ Θ= Θ Θ= Θ Θ= Θ Θ
log
( ) ( ), ,
( ( )).
b a
0
0
(3) αν f n n για κάποια σταθερά ε>0, και αν υπάρχει σταθερά n τέτοια
n
ώστε, για κάθε n n , af cf(n) για κάποια σταθερά c<1, τότε T(n) = f n
b
εεεε++++
= Ω= Ω= Ω= Ω
≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ
3. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 3
ΘΕΜΑ 2: (Μονάδες 20/20)
∆ίδεται η ακολουθία 2 3 µε 0 και 1
1. Υπολογίστε τα , ,
2. Προτείνετε έναν αλγόριθµο δυναµικού προγραµµατισµού που υπολογίζει τον n-οστό όρο της ακολουθίας
3. Υπολογίστε την πολυπλοκότητα του αλγόριθµου που προτείνατε στο (2)
4. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 4
ΘΕΜΑ 3: (Μονάδες 20/20)
1. ∆ίδεται η κανονική έκφραση: 1*10*1*
(Α) ∆ώστε ένα Μη Ντετερµινιστικό ΠΑ που αναγνωρίζει τις συµβολοσειρές που παράγονται από την παραπάνω
κανονική έκφραση.
(Β) ∆ώστε το ισοδύναµο Ντετερµινιστικό Πεπερασµένο Αυτόµατο του ερωτήµατος Α
(Γ) ∆ώστε Κανονική Γραµµατική για το ντετερµινιστικό ΠΑ του ερωτήµατος Β
5. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 5
2. Ποια από τις παρακάτω γλώσσες είναι κανονική και ποια όχι; Για να αποδείξετε ότι κάποια
από τις γλώσσες δεν είναι κανονική χρησιµοποιέιστε το λήµµα της άντλησης. Για να αποδείξετε
ότι είναι κανονική δώστε την αντίστοιχη κανονική έκφραση.
A = {an
bm
ak
| n ≥ 0, m ≥ 0, k ≥ 0}
B = {an
bm
ak
| n<2, m ≥ 0, k=0}
Γ = {an
bm
ak
| n ≥m, k ≥ 2}
∆ = {an
bm
ak
| n ≥ 2, m ≥ 2, k ≥ 2}
E = {an
bm
ak
| n<m<k}
Το Λήµµα Άντλησης για Κανονικές Γλώσσες:
Έστω µια άπειρη κανονική γλώσσα. Τότε υπάρχει ένας αριθµός (µήκος άντλησης) τέτοιος ώστε κάθε ∈ µε | | να
µπορεί να γραφεί στην µορφή όπου για τις συµβολοσειρές , και ισχύει:
| |
∈ για κάθε φυσικό
6. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 6
ΘΕΜΑ 4: (Μονάδες 20/20)
Ποια από τις παρακάτω γλώσσες είναι χωρίς συµφραζόµενα και ποια δεν είναι;
L1 = {an
bk
cm
| n+m<k}.
L2 = {an
bk
cm
| n<m<k}.
(A) Για την γλώσσα που είναι χωρίς συµφραζόµενα:
(1) ∆ώστε Γραµµατική Χωρίς Συµφραζόµενα που παράγει τις συµβολοσειρές της.
(2) ∆ώστε ντετερµινιστικό αυτόµατο στοίβας που αναγνωρίζει τις συµβολοσειρές της:
a. Περιγράψτε άτυπα τη λειτουργία του Μ.
b. ∆ώστε την πλήρη περιγραφή του Μ (σύνολο καταστάσεων, αλφάβητα εισόδου και στοίβας,
αρχική κατάσταση, αρχικό σύµβολο στοίβας, συνάρτηση µετάβασης και σύνολο τελικών
καταστάσεων). Για την περιγραφή της συνάρτησης µετάβασης µπορείτε να χρησιµοποιήσετε
πίνακα.
7. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 7
(Β) Για την γλώσσα που δεν είναι χωρίς συµφραζόµενα,δώστε τυπική απόδειξη µε το 2ο
λήµµα άντλησης:
Το Λήµµα Άντλησης για Γλώσσες Ανεξάρτητες Συµφραζοµένων
Έστω µια άπειρη γλώσσα ανεξάρτητη συµφραζοµένων. Τότε υπάρχει ένας αριθµός (µήκος άντλησης)
τέτοιος ώστε κάθε s ∈ µε |s| να µπορεί να γραφεί στην µορφή " #$%&' όπου για τις συµβολοσειρές
#, $, %, & και ' ισχύει:
|$%&|
|$&| ( 0
#$)
%&)
' ∈ για κάθε φυσικό * 0
8. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 8
ΘΕΜΑ 5: (Μονάδες 20/20)
Α: Κατασκευάστε Μ.Τ. που αποφασίζει την γλώσσα L={(01)n
(20)n
| n≥0} του αλφαβήτου {0,1,2} µε αλφάβητο
ταινίας το {#,$,0,1,2}
Β: ∆εδοµένου ότι η γλώσσα L={M,w | H M τερµατίζει µε είσοδο w} δεν είναι επιλύσιµη δείξτε ότι η γλώσσα
L’={M,w,q1,q2 | H M µε είσοδο w µεταβαίνει από την κατάσταση q1 στην κατάσταση q2} δεν είναι επιλύσιµη.
9. ∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 2 9
ΘΕΜΑ 6: (Μονάδες 20/20)
Α. Στο πρόβληµα της ΕΠΤΑΠΛΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ δίνεται µια φόρµουλα φ σε κανονική συζευκτική
µορφή και ερωτάται αν υπάρχουν τουλάχιστον 7 αποτιµήσεις που την ικανοποιούν. Εξετάστε αν η ΕΠΤΑΠΛΗ
ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ ανήκει στην NP.
B. ∆ώστε πολυωνυµική αναγωγή του προβλήµατος της ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ στο πρόβληµα της
ΕΠΤΑΠΛΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ.