1. ∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ 19 1
ΠΛΗ30 – ΤΕΣΤ19
ΘΕΜΑ 1: ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
(Άσκηση 1) Ιεραρχήστε τις παρακάτω συναρτήσεις σε αύξουσα σειρά ασυµπτωτικής
πολυπλοκότητας:
n
nnnf
log
1 log)( += ,
n
nnf log
2 )( = ,
n
nf log
3 2)( =
2. ∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ 19 2
(Ασκηση 2) Να λύσετε τις αναδροµές:
3 2
8
4)()1( n
n
TnT +
=
( )
0,
0,
0
log1
)()2(
2
=
>
+−
=
n
nnnT
nT
Στη συνέχεια, να διαταχθούν οι λύσεις τους κατά αύξουσα τάξη µεγέθους.
Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση 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
εεεε++++
= Ω= Ω= Ω= Ω
≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ
4. ∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ 19 4
Ορισµός (∆ιακρινόµενες συµβολοσειρές)
Άσκηση 2:
(A) Βρείτε µια κανονική έκφραση για τη γλώσσα που αναγνωρίζει το αυτόµατο του παρακάτω σχήµατος.
(B) Μετατρέψτε το παραπάνω µη ντετερµινιστικό (µη αιτιοκρατικό) αυτόµατο µε ε κινήσεις σε µη
ντετερµινιστικό αυτόµατο χωρίς ε κινήσεις.
(Γ) Μετατρέψτε το µη ντετερµινιστικό αυτόµατο του ερωτήµατος Β σε ντετερµινιστικό.
(∆) Ελαχιστοποιήστε τις καταστάσεις του αυτοµάτου του ερωτήµατος Γ και δείξτε ότι δεν υπάρχει άλλο
ντετερµινιστικό πεπερασµένο αυτόµατο µε λιγότερες καταστάσεις που να δέχεται την ίδια γλώσσα, βρίσκοντας
ένα κατάλληλο πλήθος συµβολοσειρών ανά δύο διακρινόµενων.
5. ∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ 19 5
ΘΕΜΑ 4: ΓΛΩΣΣΕΣ ΑΝΕΞΑΡΤΗΤΕΣ ΣΥΜΦΡΑΖΟΜΕΝΩΝ
Άσκηση 1: ∆ώστε γραµµατικές χωρίς συµφραζόµενα για τις γλώσσες:
L = | ≥ 0}
L = | , ≥ 0}
L = | ≥ 2}
L = 010 | ∈ 0,1}∗
}
L = , , ≥ 0}
L! = > , ≥ 0}
L# = | = 2 + 1 ή = 3 + 3}
6. ∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ 19 6
Άσκηση 2
∆ίδονται οι γλώσσες του αλφαβήτου {a,b}:
εκ των οποίων η µία είναι κανονική και η άλλη δεν είναι κανονική.
(A) Επιλέξτε την γλώσσα που είναι κανονική και αποδείξτε το, δίνοντας ΝΠΑ που αναγνωρίζει
τις συµβολοσειρές της.
(Β) Για την γλώσσα που δεν είναι κανονική: (1) Αποδείξτε µε το λήµµα άντλησης ότι δεν είναι
κανονική. (2) ∆ωστε Γραµµατική Χωρίς Συµφραζόµενα που παράγει τις συµβολοσειρές της
(3) ∆ώστε Ντετερµινιστικό Αυτόµατο Στοίβας που αναγνωρίζει τις συµβολοσειρές της
Το Λήµµα Άντλησης για Κανονικές Γλώσσες:
Έστω ' µια άπειρη κανονική γλώσσα. Τότε υπάρχει ένας αριθµός ( (µήκος άντλησης) τέτοιος ώστε κάθε ) ∈ ' µε |*| ≥ ( να
µπορεί να γραφεί στην µορφή ) = +,- όπου για τις συµβολοσειρές +, , και - ισχύει:
|+,| ≤ (
, ≠ 0
+,1
- ∈ ' για κάθε φυσικό 1 ≥ 2
}1|{},1|{ 21 ≤=≥= nbaLnbaL nnnn