∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 1
ΠΛΗ30 - ∆ΙΑΓΩΝΙΣΜΑ 8
ΘΕΜΑ 1: (Μονάδες 20/20)
(Α) Να ταξινοµηθούν οι ακόλουθες συναρτήσεις κατά αύξουσα τάξη µεγέθους καθώς το n τείνει στο άπειρο:
1)log(
4
)(loglog
3
2
2
1
1
2)(
2log)(
2)(
)(
−+
−
−
=
+=
=
=
nn
nn
n
nf
nnf
nf
nnf
n
∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 2
(Β) Για την επίλυση ενός προβλήµατος έχουµε στη διάθεσή µας τέσσερις αλγόριθµους:
Ο αλγόριθµος Α για να επιλύσει ένα πρόβληµα µεγέθους n, επιλύει αναδροµικά δύο υποπροβλήµατα µεγέθους
n/7 το καθένα και συνδυάζει τις λύσεις τους σε χρόνο n2
Ο αλγόριθµος Β για να επιλύσει ένα πρόβληµα µεγέθους n, επιλύει αναδροµικά εκατό υποπροβλήµατα
µεγέθους n/10 το καθένα και συνδυάζει τις λύσεις τους σε χρόνο n1/2
.
Ο αλγόριθµος Γ για να επιλύσει ένα πρόβληµα µεγέθους n, επιλύει ένα υποπρόβληµα µεγέθους n-1 και βρίσκει
την λύση του αρχικού προβλήµατος σε χρόνο logn.
Να βρεθούν οι ασυµπτωτικοί χρόνοι επίλυσης του προβλήµατος για κάθε αλγόριθµο και να επιλέξετε τον
ταχύτερο αλγόριθµο.
Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση 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
εεεε++++
= Ω= Ω= Ω= Ω
≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ
∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 3
ΘΕΜΑ 2: (Μονάδες 20/20)
(1) Εξετάστε αν:
)5(ω2.
)(log.Α log
nn
n
nOnn
=Β
=
(2) Μας δίνουν µια σειρά από αντικείµενα 1, 2, 3, … , n, µε αντίστοιχες αξίες a[1], a[2], a[3], …, a[n], αντίστοιχα,
οι οποίες είναι όλες θετικές. Πρέπει να επιλέξουµε υποσύνολο αντικειµένων µε το µέγιστο δυνατό άθροισµα
αξιών. Η λύση όµως πρέπει να ικανοποιεί τον εξής περιορισµό: αν επιλεγεί το αντικείµενο i τότε µένει εκτός το
αµέσως προηγούµενό του αντικείµενο, i-1.
(Α) Περιγράψτε αναδροµικό αλγόριθµο που επιστρέφει το µέγιστο άθροισµα αξιών.
(Β) Γράψτε την αναδροµική εξίσωση χρονικής πολυπλοκότητας του αλγορίθµου.
(Γ) Περιγράψτε αλγόριθµο ∆υναµικού Προγραµµατισµού που επιστρέφει το µέγιστο άθροισµα αξιών (σχεδιασµό
της αναδροµικής εξίσωσης και χρήση της για αποµνηµόνευση επιµέρους λύσεων σε πίνακα).
∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 4
ΘΕΜΑ 3: (Μονάδες 20/20)
(A) Βρείτε µια κανονική έκφραση για τη γλώσσα που αναγνωρίζει το αυτόµατο του παρακάτω σχήµατος.
(B) Μετατρέψτε το παραπάνω µη ντετερµινιστικό (µη αιτιοκρατικό) αυτόµατο µε ε κινήσεις σε µη ντετερµινιστικό αυτόµατο χωρίς ε
κινήσεις.
(Γ) Μετατρέψτε το µη ντετερµινιστικό αυτόµατο του ερωτήµατος Β σε ντετερµινιστικό.
(∆) Ελαχιστοποιήστε τις καταστάσεις του αυτοµάτου του ερωτήµατος Γ και δείξτε ότι δεν υπάρχει άλλο ντετερµινιστικό πεπερασµένο
αυτόµατο µε λιγότερες καταστάσεις που να δέχεται την ίδια γλώσσα, βρίσκοντας ένα κατάλληλο πλήθος συµβολοσειρών ανά δύο
διακρινόµενων.
∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 5
2. Ποια από τις παρακάτω γλώσσες είναι κανονική και ποια όχι; Για να αποδείξετε ότι κάποια
από τις γλώσσες δεν είναι κανονική χρησιµοποιέιστε το λήµµα της άντλησης. Για να αποδείξετε
ότι είναι κανονική δώστε την αντίστοιχη κανονική έκφραση.
A = { | w ∈ 0,1 ∗
, | | 1 }
Β = { 0 1 | 1 2
Γ = { 0 1 | 2
∆ = { 1 0 1 | 2 }
Το Λήµµα Άντλησης για Κανονικές Γλώσσες:
Έστω µια άπειρη κανονική γλώσσα. Τότε υπάρχει ένας αριθµός (µήκος άντλησης) τέτοιος ώστε κάθε ∈ µε | | να
µπορεί να γραφεί στην µορφή όπου για τις συµβολοσειρές , και ισχύει:
| |
∈ για κάθε φυσικό !
∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 6
ΘΕΜΑ 4: (Μονάδες 20/20)
Ποια από τις παρακάτω γλώσσες είναι χωρίς συµφραζόµενα και ποια δεν είναι;
L1 = { | w ∈ 0,1 ∗
}
L2 = { | w ∈ 0,1 ∗
}
(A) Για την γλώσσα που είναι χωρίς συµφραζόµενα:
(1) ∆ώστε Γραµµατική Χωρίς Συµφραζόµενα που παράγει τις συµβολοσειρές της.
(2) ∆ώστε ντετερµινιστικό αυτόµατο στοίβας που αναγνωρίζει τις συµβολοσειρές της:
a. Περιγράψτε άτυπα τη λειτουργία του Μ.
b. ∆ώστε την πλήρη περιγραφή του Μ (σύνολο καταστάσεων, αλφάβητα εισόδου και στοίβας,
αρχική κατάσταση, αρχικό σύµβολο στοίβας, συνάρτηση µετάβασης και σύνολο τελικών
καταστάσεων). Για την περιγραφή της συνάρτησης µετάβασης µπορείτε να χρησιµοποιήσετε
πίνακα.
∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 7
(Β) Για την γλώσσα που δεν είναι χωρίς συµφραζόµενα,δώστε τυπική απόδειξη µε το 2ο
λήµµα άντλησης:
Το Λήµµα Άντλησης για Γλώσσες Ανεξάρτητες Συµφραζοµένων
Έστω " µια άπειρη γλώσσα ανεξάρτητη συµφραζοµένων. Τότε υπάρχει ένας αριθµός (µήκος άντλησης)
τέτοιος ώστε κάθε s ∈ " µε |s| να µπορεί να γραφεί στην µορφή $ %& '( όπου για τις συµβολοσειρές
%, &, , ' και ( ισχύει:
|& '|
|&'| ) 0
%& ' ( ∈ " για κάθε φυσικό 0
∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 8
ΘΕΜΑ 5: (Μονάδες 20/20)
Α: Έστω αλφάβητο Σ={0,1} και η γλώσσα: " 0 1 | 0 . Να κατασκευάσετε µηχανή Turing T µε αλφάβητο
Σ0={0,1,#,$,Υ,Ν} που θα αποφασίζει την γλώσσα L. H µηχανή θα ξεκινά µε σχηµατισµό #w# για κάποιο ∈ *∗
.
(1) ∆ώστε άτυπη περιγραφή της παραπάνω µηχανής Turing
(2) ∆ώστε το γράφηµα ροής
(3) ∆ώστε το διάγραµµα καταστάσεων
Β: ∆ίνεται η γλώσσα L={M,q | η µηχανή Turing Μ µεταβαίνει στην q µε κάθε είσοδο}. ∆είξτε ότι η L δεν είναι
επιλύσιµη δεδοµένου ότι η γλώσσα L’={M,w | H M µε είσοδο w τερµατίζει} δεν είναι επιλύσιµη.
∆ηµήτρης Ψούνης – ΠΛΗ30, ∆ιαγώνισµα 8 9
ΘΕΜΑ 6: (Μονάδες 20/20)
Αποδείξτε ότι το πρόβληµα D3SAT είναι ΝΡ-πλήρες. Για την απόδειξη χρησιµοποιήστε αποκλειστικά το γνωστό
ΝΡ-πλήρες πρόβληµα 3SAT. Ακολουθούν οι ορισµοί των προβληµάτων.
3SAT: ∆ίνεται λογική έκφραση Φ σε Συζευκτική Κανονική Μορφή, που ορίζεται σε n µεταβλητές και αποτελείται
από m προτάσεις, µε κάθε πρόταση της να περιέχει ακριβώς τρεις µεταβλητές. Υπάρχει ανάθεση λογικών τιµών
που ικανοποιεί την Φ;
D3SAT: ∆ίνεται λογική έκφραση Φ σε Συζευκτική Κανονική Μορφή, που ορίζεται σε n µεταβλητές και
αποτελείται από m προτάσεις, µε κάθε πρόταση της να περιέχει ακριβώς τρεις µεταβλητές. Υπάρχουν
τουλάχιστον δύο αναθέσεις λογικών τιµών που ικανοποιούν την Φ;