Teoria informacji/TI Ćwiczenia 13: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Niwinski (dyskusja | edycje)
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 24 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
== Ćwiczenia ==
== Ćwiczenia ==


{{cwiczenie|1 [Liczby pierwsze]|Ćwiczenie 1|W tym ćwiczeniu <math> K_U (n) </math> oznacza [[Teoria informacji/TI Wykład 13#Kołmogorow|złożoność Kołmogorowa]] binarnego zapisu liczby utożsamiamy liczby <math> n </math>.
{{cwiczenie|1 [Oszacowanie]|Ćwiczenie 1|Jak zauważyliśmy, dla złożoności bezprefiksowej nie ma tak dobrego oszacowania jak we  [[Teoria informacji/TI Wykład 13#wniosek_identycznosc|Wniosku]]. Dowieść, że zachodzi słabsze oszacowanie
Przyjmujemy więc <math> |n| = \lfloor \log_2 n \rfloor + 1 </math>. Mamy więc zawsze [[Teoria informacji/TI Wykład 13#wniosek_identycznosc|szacowanie]] <math> K_U (n) \leq  \log_2 n + C, </math> dla pewnej stałej <math> C</math>.


: Dowiedź, że liczby pierwsze nie są losowe (poza co najwyżej skończoną ilością). Dokładniej, <math> K_U (p) \leq \log_2 p - \alpha (p), </math> gdzie <math>\alpha </math> jest pewną funkcją, taką że <math>\alpha (n) \to \infty </math>.
<center><math>K_U (x) \leq 2 \log |x| + |x| + c_U
</math></center>
dla pewnej stałej <math>c_U</math>.
}}
 
 
{{cwiczenie|2 [Liczby pierwsze]|Ćwiczenie 2|Niech <math> \mbox{bin } (n)</math> oznacza zapis binarny liczby naturalnej <math>n</math>. Powiemy, że liczba <math>n</math> jest losowa, jeśli ciąg <math> \mbox{bin } (n)</math> jest [[Teoria informacji/TI Wykład 13#random|losowy]].
 
: Dowiedź, że liczby pierwsze nie są losowe (poza co najwyżej skończoną ilością). }}
<div class="mw-collapsible mw-made=collapsible mw-collapsed">  
<div class="mw-collapsible mw-made=collapsible mw-collapsed">  
<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
Wykorzystaj twierdzenie, że gęstość liczb pierwszych jest  
Wykorzystaj twierdzenie, że gęstość liczb pierwszych jest  
<math> \approx \frac{n}{\log n} </math>. Dla naszych celów istotne jest, że
<math>\approx \frac{\log n}{n}</math>. Dla naszych celów istotne jest, że
ta gęstość szacuje się przez funkcję <math> f</math>, taką że
ta gęstość szacuje się przez funkcję <math>f</math>, taką że
<math> \frac{f(n)}{n} \to 0.</math>
<math>\frac{f(n)}{n} \to 0</math>
</div>
</div>
</div>
</div>


: Dowiedź, że liczby postaci <math> p^k </math>, gdzie <math> p </math> jest liczbą pierwszą, nie są losowe (poza co najwyżej skończoną ilością).
: Dowiedź, że liczby postaci <math>p^k</math>, gdzie <math>p</math> jest liczbą pierwszą, nie są losowe (poza co najwyżej skończoną ilością).
 
:Dowiedź, że liczby postaci <math>n^k</math>, gdzie <math>k \geq 2</math>, nie są losowe (poza co najwyżej skończoną ilością).
 
Oszacuj z góry bezprefiksową złożoność liczb pierwszych tzn. <math>K_U (\mbox{bin } (p))</math>.
 
'''Problem'''. Spróbuj określić, jakie własności muszą mieć liczby losowe - np. przez podanie dalszych warunków, które wykluczają losowość.
 


: Dowiedź, że liczby złożone posiadające czynnik postaci <math> p^k </math>, gdzie <math> p </math> jest pierwsze a <math> k \geq 1 </math>, nie są losowe (poza co najwyżej skończoną ilością).


}}


{{cwiczenie|3 [Generowanie funkcji]|Ćwiczenie 3|Przyjmujemy, że ''parą'' słów <math>x, y</math>, jest
<center><math>\langle x,y \rangle = x_1 0 x_2 0 \ldots x_{m-1} 0 x_m 1 y
</math></center>
Przypuśćmy, że zbiór wartości obliczanych przez maszynę Turinga <math>M</math>, tzn. <math>R_M = \{ M(w) : w \in \{ 0,1\}^* \}</math>, jest zbiorem par, przy czym


(i) <math>\langle x,y \rangle \in R_M \, \Longrightarrow \, |x| = |y|</math>,


{{cwiczenie|2 [Liczby losowe]|Ćwiczenie 2|Wyjaśnij następujący pozorny paradoks.  
(ii)  <math>\langle x,y \rangle , \langle x,y' \rangle\in R_M \, \Longrightarrow \,  y = y'</math>
(tzn. <math>R_M</math> jest grafem funkcji częściowej).


Z poprzedniego ćwiczenia wiemy, że prawie wszystkie liczby postaci <math> n = p^k </math> (gdzie <math> p </math> jest pierwsze) nie są losowe. Stąd łatwo dalej wydedukować, że spełniają <math> K_U (n) < \log_2 n</math>. (Dlaczego ?)
Dowiedź, że nie jest możliwe, by dla nieskończenie wielu <math> \langle x,y \rangle \in R_M</math>,
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
zachodziło
<div class="mw-collapsible-content" style="display:none">
<center><math>
Z nielosowości wynika <math> K_U (n) \leq \log_2 n</math>. Równość mogłaby ewentualnie zachodzić dla <math>n</math> będących potęgami dwójki, ale łatwo widzieć, że
( K(y) \geq |y|) \; \wedge \; ( K(x) \leq f (|x|) )
<center><math> K_U (2^k) \leq K_U (k) + C \leq \lfloor \log_2 k \rfloor + 1 + C < k,
</math></center>
</math></center>
dla prawie wszystkich <math> k</math>.
gdzie jest funkcją taką, że <math>(n - f(n)) \to \infty </math>
</div>
</div>
Z kolei każdą liczbę złożoną można przedstawić <math> n = a_1 \cdot \ldots \cdot a_m, </math> gdzie każde <math> a_i </math> jest postaci <math> {p_i}^{k_i} </math>.
}}
}}

Aktualna wersja na dzień 22:14, 11 wrz 2023

Ćwiczenia

Ćwiczenie 1 [Oszacowanie]

Jak zauważyliśmy, dla złożoności bezprefiksowej nie ma tak dobrego oszacowania jak we Wniosku. Dowieść, że zachodzi słabsze oszacowanie
KU(x)2log|x|+|x|+cU

dla pewnej stałej cU.


Ćwiczenie 2 [Liczby pierwsze]

Niech bin (n) oznacza zapis binarny liczby naturalnej n. Powiemy, że liczba n jest losowa, jeśli ciąg bin (n) jest losowy.
Dowiedź, że liczby pierwsze nie są losowe (poza co najwyżej skończoną ilością).
Dowiedź, że liczby postaci pk, gdzie p jest liczbą pierwszą, nie są losowe (poza co najwyżej skończoną ilością).
Dowiedź, że liczby postaci nk, gdzie k2, nie są losowe (poza co najwyżej skończoną ilością).

Oszacuj z góry bezprefiksową złożoność liczb pierwszych tzn. KU(bin (p)).

Problem. Spróbuj określić, jakie własności muszą mieć liczby losowe - np. przez podanie dalszych warunków, które wykluczają losowość.



Ćwiczenie 3 [Generowanie funkcji]

Przyjmujemy, że parą słów x,y, jest
x,y=x10x20xm10xm1y

Przypuśćmy, że zbiór wartości obliczanych przez maszynę Turinga M, tzn. RM={M(w):w{0,1}*}, jest zbiorem par, przy czym

(i) x,yRM|x|=|y|,

(ii) x,y,x,yRMy=y (tzn. RM jest grafem funkcji częściowej).

Dowiedź, że nie jest możliwe, by dla nieskończenie wielu x,yRM, zachodziło

(K(y)|y|)(K(x)f(|x|))

gdzie jest funkcją taką, że (nf(n))