Teoria informacji/TI Ćwiczenia 14: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 36: | Linia 36: | ||
{{cwiczenie|2 [Uniwersalny test Martina-Lofa]|Ćwiczenie 2| | {{cwiczenie|2 [Uniwersalny test Martina-Lofa]|Ćwiczenie 2| | ||
{{definicja|[Test]|test|Funkcję <math>\delta : \{ 0,1 \}^* \to N </math> nazwiemy '''testem''', jesli dla każdych <math>m,n, </math> | {{definicja|[Test]|test|Funkcję <math>\delta : \{ 0,1 \}^* \to N </math> nazwiemy '''testem''', jesli dla każdych <math>m,n, </math> | ||
<center><math> | <center><math> | ||
\frac{|\{ w \in \{ 0,1 \}^n : \delta (w) \geq m \} |}{2^n} \leq \frac{1}{2^m} | \frac{|\{ w \in \{ 0,1 \}^n : \delta (w) \geq m \} |}{2^n} \leq \frac{1}{2^m} | ||
</math></center>}} | |||
Zauważmy, że dla każdego <math>w,</math> istnieje co najwyżej skończenie wiele <math>m, </math> takich że <math> \delta (w) \geq m </math>. Intuicyjnie, funkcja <math> \delta (w)</math> wskazuje, jak bardzo słowo <math>w</math> ,,odbiega od normy". Warunek stwierdza, że takich ciągów nie może być zbyt wiele (w przeciwnym razie stanowiłyby normę). | |||
: Niech <math>Z = \{ \delta_0 , \delta_1 , \ldots \} </math> będzie przeliczalną rodziną testów. Dowiedź, że funkcja określona wzorem | |||
<center><math> | |||
\delta^Z (w) = \max \{ \delta_n (w) - n : n \geq 0 \} | |||
</math></center> | </math></center> | ||
jest testem. | |||
Interesujący jest przypadek, kiedy funkcja <math>\delta^Z </math> sama należy do rodziny <math>Z </math>. | |||
: Test <math> \delta</math> nazwiemy '''efektywnym''', jeśli istnieje maszyna Turinga <math>M_{\delta }</math>, która przyjmując na wejściu parę <math>\langle w,m \rangle, </math> | |||
jeśli <math> \delta (w) \geq m, </math> zatrzymuje się i daje odpowiedź '''TAK'''; | |||
jesli <math> \delta (w) < m, </math> daje odpowiedź '''NIE''', lub się zapętla. | |||
: Dowiedź, że istnieje | Innymi słowy, zbiór <math> \{ \langle w,m \rangle : \delta (w) \geq m \} </math> jest rekurencyjnie przeliczalny, chociaż funkcja <math>\delta </math> nie musi być rekurencyjna. Zauważmy, że testów efektywnych jest przeliczalnie wiele. (Dlaczego ?) | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<div class="mw-collapsible-content" style="display:none"> | |||
Maszyna <math>M_{\delta }</math> jednoznacznie wyznacza test <math>\delta </math> (jak ?) | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<div class="mw-collapsible-content" style="display:none"> | |||
<math> \delta (w) = \max \{ m: \delta (w) \geq m \}.</math> | |||
</div> | |||
a maszyn Turinga jest oczywiście przeliczalnie wiele. | |||
</div> | |||
</div> | |||
</div> | |||
Zauważmy, że dla każdego <math>w,</math> istnieje co najwyżej skończenie wiele <math>m, </math> takich że <math> \delta (w) \geq m </math>. | |||
: Dowiedź, że istnieje rekurencyjna numeracja wszystkich testów, tzn. maszyna Turinga <math> T </math>, taka że zbiór jej wartości <math>\{ T(x) : x \in \{ 0,1 \}^* \}</math> jest dokładnie zbiorem kodów <math>\{ \langle M_{\delta } \rangle : \delta \mbox{ jest testem } \}</math>. | |||
: Dowiedź, że następujaca funkcja jest testem: | |||
<center><math> | |||
\delta^U (w) = \max \{ | |||
</math></center> |
Wersja z 21:49, 25 sie 2006
Ćwiczenia
Ćwiczenie 1 [Nieobliczalność ]
{{{3}}}
{{cwiczenie|2 [Uniwersalny test Martina-Lofa]|Ćwiczenie 2| Definicja [Test]
Funkcję nazwiemy testem, jesli dla każdych
Zauważmy, że dla każdego istnieje co najwyżej skończenie wiele takich że . Intuicyjnie, funkcja wskazuje, jak bardzo słowo ,,odbiega od normy". Warunek stwierdza, że takich ciągów nie może być zbyt wiele (w przeciwnym razie stanowiłyby normę).
- Niech będzie przeliczalną rodziną testów. Dowiedź, że funkcja określona wzorem
jest testem.
Interesujący jest przypadek, kiedy funkcja sama należy do rodziny .
- Test nazwiemy efektywnym, jeśli istnieje maszyna Turinga , która przyjmując na wejściu parę
jeśli zatrzymuje się i daje odpowiedź TAK; jesli daje odpowiedź NIE, lub się zapętla.
Innymi słowy, zbiór jest rekurencyjnie przeliczalny, chociaż funkcja nie musi być rekurencyjna. Zauważmy, że testów efektywnych jest przeliczalnie wiele. (Dlaczego ?)
Zauważmy, że dla każdego istnieje co najwyżej skończenie wiele takich że .
- Dowiedź, że istnieje rekurencyjna numeracja wszystkich testów, tzn. maszyna Turinga , taka że zbiór jej wartości jest dokładnie zbiorem kodów .
- Dowiedź, że następujaca funkcja jest testem: